Rick Kazman | University of Hawaii at Manoa (original) (raw)

Papers by Rick Kazman

Research paper thumbnail of Developing Architectural Documentation for the Hadoop Distributed File System

Developing Architectural Documentation for the Hadoop Distributed File System

IFIP Advances in Information and Communication Technology, 2011

Research paper thumbnail of Edge Enabled Systems

Users of today have ever-increasing levels of technical skill with computing and communication te... more Users of today have ever-increasing levels of technical skill with computing and communication technologies. For example, on the battlefield, some soldiers are capable of creating or modifying existing systems in response to needs that were not anticipated by the designers of the original systems. In a growing number of situations this ability is crucial, because the soldier must be able to adapt rapidly to a dynamically changing operating environment; thus the software must also be adaptable. Software architectures and software development methods must be created that enable user innovation "at the edge" so that users can be as effective as possible in the face of changing missions and unanticipated needs. In this paper, we describe the characteristics of edge systems and the edge organizations in which these systems operate, and make initial recommendations about how such systems and organizations can be created to serve the needs of users at the edge.

Research paper thumbnail of A Workshop on Architecture Competence

This report summarizes a workshop on architecture competence that was held at the Carnegie Mellon... more This report summarizes a workshop on architecture competence that was held at the Carnegie Mellon(R) Software Engineering Institute (SEI) in June of 2008. The SEI invited accomplished practitioners from government, academia, and industry to discuss key issues in assessing the competence of organizations that use architecture to produce software-reliant systems. After several opening talks by individuals who recounted their experience in competence improvement efforts, workshop participants divided into working groups. Each group was tasked with working on a specific set of issues and was asked to produce a set of questions that could appear in a competence assessment instrument.

Research paper thumbnail of Automated Verification of Design Patterns with LePUS3

Automated Verification of Design Patterns with LePUS3

Specification and [visual] modelling languages are expected to combine strong abstraction mechani... more Specification and [visual] modelling languages are expected to combine strong abstraction mechanisms with rigour, scalability, and parsimony. LePUS3 is a visual, object-oriented design description language axiomatized in a decidable subset of the first-order predicate logic. We demonstrate how LePUS3 is used to formally specify a structural design pattern and prove ( verify ) whether any JavaTM 1.4 program satisfies that specification. We also show how LePUS3 specifications (charts) are composed and how they are verified fully automatically in the Two-Tier Programming Toolkit.

Research paper thumbnail of Results of SEI Independent

Results of SEI Independent

Research paper thumbnail of Introduction to the special issue on software architecture reconstruction and modeling

Introduction to the special issue on software architecture reconstruction and modeling

Automated Software Engineering, 2006

Research paper thumbnail of Results of SEI Independent Research and Development Projects and Report on Emerging Technologies and Technology Trends

Each year, the Software Engineering Institute (SEI) undertakes several Independent Research and D... more Each year, the Software Engineering Institute (SEI) undertakes several Independent Research and Development (IR&D) projects. These projects serve to (1) support feasibility studies investigating whether further work by the SEI would be of potential benefit, and (2) support further exploratory work to determine whether there is sufficient value in eventually funding the feasibility study work as an SEI initiative. Projects are chosen based on their potential to mature and/or transition software engineering practices, develop information that will help in deciding whether further work is worth funding, and set new directions for SEI work. This report describes the IR&D projects that were conducted during fiscal year 2004 (October 2003 through September 2004). In addition, this report provides information on what the SEI has learned in its role as a technology scout for developments over the past year in the field of software engineering.

Research paper thumbnail of An integrated framework for service engineering

An integrated framework for service engineering

Proceedings of the 11th International Conference on Electronic Commerce - ICEC '09, 2009

... The research team has first-hand knowledge of the initiation, planning and execution of ... i... more ... The research team has first-hand knowledge of the initiation, planning and execution of ... in each element drove second order complexity in the others, producing a multiplier effect. ... Action Research The desire to integrate these three approaches and the SOA paradigm resulted in ...

Research paper thumbnail of The metropolis model and its implications for the engineering of software ecosystems

The metropolis model and its implications for the engineering of software ecosystems

Proceedings of the FSE/SDP workshop on Future of software engineering research - FoSER '10, 2010

In this paper, we claim that existing models of software engineering and software development lif... more In this paper, we claim that existing models of software engineering and software development lifecycles are seriously out of touch with some of the most important systems in the world---those that are created as a result of commons-based peer production (sometimes known as "crowdsourcing"). To be relevant, software engineering needs a new model of how such software is to be

Research paper thumbnail of Second international workshop on ultra-large-scale software-intensive systems (ULSSIS 2008)

Second international workshop on ultra-large-scale software-intensive systems (ULSSIS 2008)

Companion of the 13th international conference on Software engineering - ICSE Companion '08, 2008

Software-intensive systems now being envisioned and in some cases developed will surpass complexi... more Software-intensive systems now being envisioned and in some cases developed will surpass complexity thresholds beyond which established software engineering concepts, methods and tools no longer work well. ULSSIS provides a forum in which researchers from industry, academia and governments come together to understand these issues and to discuss research and development activities to address them.

Research paper thumbnail of Software Architecture and Quality

Software Architecture and Quality

Software Engineering, 2007

Research paper thumbnail of DiscoTect: a system for discovering architectures from running systems

Proceedings. 26th International Conference on Software Engineering, 2004

One of the challenging problems for software developers is guaranteeing that a system as built is... more One of the challenging problems for software developers is guaranteeing that a system as built is consistent with its architectural design. In this paper we describe a technique that uses run time observations about an executing system to construct an architectural view of the system. With this technique we develop mappings that exploit regularities in system implementation and architectural style. These mappings describe how low-level system events can be interpreted as more abstract architectural operations. We describe the current implementation of a tool that uses these mappings, and show that it can highlight inconsistencies between implementation and architecture.

Research paper thumbnail of Designing and analyzing software architectures using ABASs (tutorial session)

Designing and analyzing software architectures using ABASs (tutorial session)

Proceedings of the 22nd international conference on Software engineering - ICSE '00, 2000

ABSTRACT

Research paper thumbnail of View extraction and view fusion in architectural understanding

Proceedings. Fifth International Conference on Software Reuse (Cat. No.98TB100203), 1998

When performing architectural analysis on legacy systems, it is frequently necessary to extract t... more When performing architectural analysis on legacy systems, it is frequently necessary to extract the architecture of the system, because it has not been documented, or because its documentation is out of date. However, architectural information does not exist directly in the artifacts that we can extract. The architecture exists in abstractions; compositions of extracted information. Thus extracted artifacts must be able to be flexibly aggregated and combined. We call this process view refinement and fusion. This paper presents a workbench for architectural extraction called Dali, and shows how Dali supports flexible extraction and fusion of architectural information. Its use is described through two extended examples of architectural reconstruction.

Research paper thumbnail of Requirements for integrating software architecture and reengineering models: CORUM II

Proceedings Fifth Working Conference on Reverse Engineering (Cat. No.98TB100261), 1998

This paper discusses the requirements and a generic framework for the integration of architectura... more This paper discusses the requirements and a generic framework for the integration of architectural and codebased reengineering tools. This framework is needed because there is a large number of stand-alone reengineering tools that operate at different levels of abstraction ranging from "code-level" to software architecture. For the purposes of reengineering a complete system however, these tools need to be able to share information so that not only can the code be updated or corrected, but also so the system's software architecture can be simultaneously rationalized or modernized. To this end, we have built upon the CORUM model of reengineering tool interoperation to include software architecture concepts and tools. This extended frameworkcalled CORUM II-is organized around the metaphor of a "horseshoe", where the left-hand side of the horseshoe consists of fact extraction from an existing system, the right hand side consists of development activities, and the bridge between the sides consists of a set of transformations from the old to the new.

Research paper thumbnail of Assessing and maintaining architectural quality

Assessing and maintaining architectural quality

Proceedings of the Third European Conference on Software Maintenance and Reengineering (Cat. No. PR00090), 1999

Page 1. 1 Abstract: Software architecture analysis is a cost-effective means of controlling risk ... more Page 1. 1 Abstract: Software architecture analysis is a cost-effective means of controlling risk and maintaining system quality throughout the processes of soft-ware design, development and maintenance. This paper presents ...

Research paper thumbnail of Quantifying the costs and benefits of architectural decisions

Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001, 2001

Research paper thumbnail of SAAM: a method for analyzing the properties of software architectures

Proceedings of 16th International Conference on Software Engineering, 1994

While software architecture has become an increasingly important research topic in recent years, ... more While software architecture has become an increasingly important research topic in recent years, insufficient attention has been paid to methods for evaluation of these architectures. Evaluating architectures is dijjicultfor two main reasons. First, there is no common language used 10 describe different architectures. Second, there is no clear way of understanding an architecture with respect to an organization's ll~e cycle concerns-software quality concerns such as maintainability, portability, modularity, reusability, and so forth. This paper addresses these shortcomings by describing three perspectives by which we can understand the description of a soflware architecture and then proposing ajve-step method for analyzing software architectures called SAAM (Software Architecture Analysis Method). We illustrate the method by analyzing three separate user interface architectures with respect to the qualiiy of modifiability.

Research paper thumbnail of Analyzing differences between Internet information system software architectures

Proceedings of ICC/SUPERCOMM '96 - International Conference on Communications, 1996

The history of software development is a steady progression of complexity. In response to increas... more The history of software development is a steady progression of complexity. In response to increasingly complex software, software engineers have provided ever higher levels of abstraction with which to design, code, and analyze systems. The next logical step in this progression is to consider systems at the level of their architecture. We present a scenario-based method for analyzing systems based on their software architecture. We demonstrate this method, the Software Architecture Analysis Method (SAAM), by applying it to three well-known Internet information systems-World-Wide Web (WWW), Wide Area Information Server (WAIS) and Harvest. We note that the greatest benefits of such an analysis are people and process-oriented: it encourages communication both within a development team and between the team and customers, and it promotes a common understanding of design goals and mechanisms. Because this analysis can be done at low cost and very early in the software life cycle, its potential benefits are enormous.

Research paper thumbnail of Bridging the gaps between software engineering and human-computer interaction

Bridging the gaps between software engineering and human-computer interaction

25th International Conference on Software Engineering, 2003. Proceedings., 2003

... Engineering and Human-Computer Interaction was held on May 3-4, 2003 as part of the 2003 Inte... more ... Engineering and Human-Computer Interaction was held on May 3-4, 2003 as part of the 2003 International Conference on ... of issues discussed, con-clusions reached, disagreements identified, topics to be researched further, and an agenda for both research and advocacy. ...

Research paper thumbnail of Developing Architectural Documentation for the Hadoop Distributed File System

Developing Architectural Documentation for the Hadoop Distributed File System

IFIP Advances in Information and Communication Technology, 2011

Research paper thumbnail of Edge Enabled Systems

Users of today have ever-increasing levels of technical skill with computing and communication te... more Users of today have ever-increasing levels of technical skill with computing and communication technologies. For example, on the battlefield, some soldiers are capable of creating or modifying existing systems in response to needs that were not anticipated by the designers of the original systems. In a growing number of situations this ability is crucial, because the soldier must be able to adapt rapidly to a dynamically changing operating environment; thus the software must also be adaptable. Software architectures and software development methods must be created that enable user innovation "at the edge" so that users can be as effective as possible in the face of changing missions and unanticipated needs. In this paper, we describe the characteristics of edge systems and the edge organizations in which these systems operate, and make initial recommendations about how such systems and organizations can be created to serve the needs of users at the edge.

Research paper thumbnail of A Workshop on Architecture Competence

This report summarizes a workshop on architecture competence that was held at the Carnegie Mellon... more This report summarizes a workshop on architecture competence that was held at the Carnegie Mellon(R) Software Engineering Institute (SEI) in June of 2008. The SEI invited accomplished practitioners from government, academia, and industry to discuss key issues in assessing the competence of organizations that use architecture to produce software-reliant systems. After several opening talks by individuals who recounted their experience in competence improvement efforts, workshop participants divided into working groups. Each group was tasked with working on a specific set of issues and was asked to produce a set of questions that could appear in a competence assessment instrument.

Research paper thumbnail of Automated Verification of Design Patterns with LePUS3

Automated Verification of Design Patterns with LePUS3

Specification and [visual] modelling languages are expected to combine strong abstraction mechani... more Specification and [visual] modelling languages are expected to combine strong abstraction mechanisms with rigour, scalability, and parsimony. LePUS3 is a visual, object-oriented design description language axiomatized in a decidable subset of the first-order predicate logic. We demonstrate how LePUS3 is used to formally specify a structural design pattern and prove ( verify ) whether any JavaTM 1.4 program satisfies that specification. We also show how LePUS3 specifications (charts) are composed and how they are verified fully automatically in the Two-Tier Programming Toolkit.

Research paper thumbnail of Results of SEI Independent

Results of SEI Independent

Research paper thumbnail of Introduction to the special issue on software architecture reconstruction and modeling

Introduction to the special issue on software architecture reconstruction and modeling

Automated Software Engineering, 2006

Research paper thumbnail of Results of SEI Independent Research and Development Projects and Report on Emerging Technologies and Technology Trends

Each year, the Software Engineering Institute (SEI) undertakes several Independent Research and D... more Each year, the Software Engineering Institute (SEI) undertakes several Independent Research and Development (IR&D) projects. These projects serve to (1) support feasibility studies investigating whether further work by the SEI would be of potential benefit, and (2) support further exploratory work to determine whether there is sufficient value in eventually funding the feasibility study work as an SEI initiative. Projects are chosen based on their potential to mature and/or transition software engineering practices, develop information that will help in deciding whether further work is worth funding, and set new directions for SEI work. This report describes the IR&D projects that were conducted during fiscal year 2004 (October 2003 through September 2004). In addition, this report provides information on what the SEI has learned in its role as a technology scout for developments over the past year in the field of software engineering.

Research paper thumbnail of An integrated framework for service engineering

An integrated framework for service engineering

Proceedings of the 11th International Conference on Electronic Commerce - ICEC '09, 2009

... The research team has first-hand knowledge of the initiation, planning and execution of ... i... more ... The research team has first-hand knowledge of the initiation, planning and execution of ... in each element drove second order complexity in the others, producing a multiplier effect. ... Action Research The desire to integrate these three approaches and the SOA paradigm resulted in ...

Research paper thumbnail of The metropolis model and its implications for the engineering of software ecosystems

The metropolis model and its implications for the engineering of software ecosystems

Proceedings of the FSE/SDP workshop on Future of software engineering research - FoSER '10, 2010

In this paper, we claim that existing models of software engineering and software development lif... more In this paper, we claim that existing models of software engineering and software development lifecycles are seriously out of touch with some of the most important systems in the world---those that are created as a result of commons-based peer production (sometimes known as "crowdsourcing"). To be relevant, software engineering needs a new model of how such software is to be

Research paper thumbnail of Second international workshop on ultra-large-scale software-intensive systems (ULSSIS 2008)

Second international workshop on ultra-large-scale software-intensive systems (ULSSIS 2008)

Companion of the 13th international conference on Software engineering - ICSE Companion '08, 2008

Software-intensive systems now being envisioned and in some cases developed will surpass complexi... more Software-intensive systems now being envisioned and in some cases developed will surpass complexity thresholds beyond which established software engineering concepts, methods and tools no longer work well. ULSSIS provides a forum in which researchers from industry, academia and governments come together to understand these issues and to discuss research and development activities to address them.

Research paper thumbnail of Software Architecture and Quality

Software Architecture and Quality

Software Engineering, 2007

Research paper thumbnail of DiscoTect: a system for discovering architectures from running systems

Proceedings. 26th International Conference on Software Engineering, 2004

One of the challenging problems for software developers is guaranteeing that a system as built is... more One of the challenging problems for software developers is guaranteeing that a system as built is consistent with its architectural design. In this paper we describe a technique that uses run time observations about an executing system to construct an architectural view of the system. With this technique we develop mappings that exploit regularities in system implementation and architectural style. These mappings describe how low-level system events can be interpreted as more abstract architectural operations. We describe the current implementation of a tool that uses these mappings, and show that it can highlight inconsistencies between implementation and architecture.

Research paper thumbnail of Designing and analyzing software architectures using ABASs (tutorial session)

Designing and analyzing software architectures using ABASs (tutorial session)

Proceedings of the 22nd international conference on Software engineering - ICSE '00, 2000

ABSTRACT

Research paper thumbnail of View extraction and view fusion in architectural understanding

Proceedings. Fifth International Conference on Software Reuse (Cat. No.98TB100203), 1998

When performing architectural analysis on legacy systems, it is frequently necessary to extract t... more When performing architectural analysis on legacy systems, it is frequently necessary to extract the architecture of the system, because it has not been documented, or because its documentation is out of date. However, architectural information does not exist directly in the artifacts that we can extract. The architecture exists in abstractions; compositions of extracted information. Thus extracted artifacts must be able to be flexibly aggregated and combined. We call this process view refinement and fusion. This paper presents a workbench for architectural extraction called Dali, and shows how Dali supports flexible extraction and fusion of architectural information. Its use is described through two extended examples of architectural reconstruction.

Research paper thumbnail of Requirements for integrating software architecture and reengineering models: CORUM II

Proceedings Fifth Working Conference on Reverse Engineering (Cat. No.98TB100261), 1998

This paper discusses the requirements and a generic framework for the integration of architectura... more This paper discusses the requirements and a generic framework for the integration of architectural and codebased reengineering tools. This framework is needed because there is a large number of stand-alone reengineering tools that operate at different levels of abstraction ranging from "code-level" to software architecture. For the purposes of reengineering a complete system however, these tools need to be able to share information so that not only can the code be updated or corrected, but also so the system's software architecture can be simultaneously rationalized or modernized. To this end, we have built upon the CORUM model of reengineering tool interoperation to include software architecture concepts and tools. This extended frameworkcalled CORUM II-is organized around the metaphor of a "horseshoe", where the left-hand side of the horseshoe consists of fact extraction from an existing system, the right hand side consists of development activities, and the bridge between the sides consists of a set of transformations from the old to the new.

Research paper thumbnail of Assessing and maintaining architectural quality

Assessing and maintaining architectural quality

Proceedings of the Third European Conference on Software Maintenance and Reengineering (Cat. No. PR00090), 1999

Page 1. 1 Abstract: Software architecture analysis is a cost-effective means of controlling risk ... more Page 1. 1 Abstract: Software architecture analysis is a cost-effective means of controlling risk and maintaining system quality throughout the processes of soft-ware design, development and maintenance. This paper presents ...

Research paper thumbnail of Quantifying the costs and benefits of architectural decisions

Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001, 2001

Research paper thumbnail of SAAM: a method for analyzing the properties of software architectures

Proceedings of 16th International Conference on Software Engineering, 1994

While software architecture has become an increasingly important research topic in recent years, ... more While software architecture has become an increasingly important research topic in recent years, insufficient attention has been paid to methods for evaluation of these architectures. Evaluating architectures is dijjicultfor two main reasons. First, there is no common language used 10 describe different architectures. Second, there is no clear way of understanding an architecture with respect to an organization's ll~e cycle concerns-software quality concerns such as maintainability, portability, modularity, reusability, and so forth. This paper addresses these shortcomings by describing three perspectives by which we can understand the description of a soflware architecture and then proposing ajve-step method for analyzing software architectures called SAAM (Software Architecture Analysis Method). We illustrate the method by analyzing three separate user interface architectures with respect to the qualiiy of modifiability.

Research paper thumbnail of Analyzing differences between Internet information system software architectures

Proceedings of ICC/SUPERCOMM '96 - International Conference on Communications, 1996

The history of software development is a steady progression of complexity. In response to increas... more The history of software development is a steady progression of complexity. In response to increasingly complex software, software engineers have provided ever higher levels of abstraction with which to design, code, and analyze systems. The next logical step in this progression is to consider systems at the level of their architecture. We present a scenario-based method for analyzing systems based on their software architecture. We demonstrate this method, the Software Architecture Analysis Method (SAAM), by applying it to three well-known Internet information systems-World-Wide Web (WWW), Wide Area Information Server (WAIS) and Harvest. We note that the greatest benefits of such an analysis are people and process-oriented: it encourages communication both within a development team and between the team and customers, and it promotes a common understanding of design goals and mechanisms. Because this analysis can be done at low cost and very early in the software life cycle, its potential benefits are enormous.

Research paper thumbnail of Bridging the gaps between software engineering and human-computer interaction

Bridging the gaps between software engineering and human-computer interaction

25th International Conference on Software Engineering, 2003. Proceedings., 2003

... Engineering and Human-Computer Interaction was held on May 3-4, 2003 as part of the 2003 Inte... more ... Engineering and Human-Computer Interaction was held on May 3-4, 2003 as part of the 2003 International Conference on ... of issues discussed, con-clusions reached, disagreements identified, topics to be researched further, and an agenda for both research and advocacy. ...