A Systems Perspective on the Quality Description of Software Components

In this paper we present our motivations for proposing of a generic model for the description of quality attributes of software artifacts, in particular suited to software components. The conceptual ideas for our quality description model are derived from researching systems science for its value to software engineering. In this work we realized that software engineering is concerned with a number of different systems, e.g., a development project as a concrete, human activity, system, a software product in the form of programming code as a conceptual system, a software system running in its execution environment as a concrete system. Each of these systems exhibits the basic system theoretic principles and in the context of this paper is strongly related to certain types of qualities. Such qualities receive particular attention in the context of large software systems, where systems are typically a combination of in-house and third party products and are increasingly integrated by means of software component technology. Consequently, quality related information (in the form of a quality data sheet) is needed by component users to gain trust in and to evaluate the possible employment of a candidate component. Interestingly, the concept of a software component appears in most of the aforementioned different types of systems. Hence, they can be an excellent means to carry quality related information that belonged to different spheres up to now. The qualities range from those related to the development economics to those related to the execution performance.

[1]  Alain Wegmann,et al.  On the Systemic Enterprise Architecture Methodology (Seam) , 2003, ICEIS.

[2]  Carl G. Davis,et al.  A Hierarchical Model for Object-Oriented Design Quality Assessment , 2002, IEEE Trans. Software Eng..

[3]  Peter Sommerlad,et al.  Pattern-Oriented Software Architecture , 1996 .

[4]  E. Allen Emerson,et al.  Temporal and Modal Logic , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[5]  Alain Wegmann,et al.  Stakeholder discovery and classification based on systems science principles , 2001, Proceedings Second Asia-Pacific Conference on Quality Software.

[6]  Oscar Nierstrasz,et al.  Object-oriented software composition , 1995 .

[7]  Monty Newborn Automated theorem proving - theory and practice , 2000 .

[8]  J. Lopreato,et al.  General system theory : foundations, development, applications , 1970 .

[9]  Edmund M. Clarke,et al.  Model Checking , 1999, Handbook of Automated Reasoning.

[10]  Sami Zahran Software process improvement - practical guidelines for business success , 1998 .

[11]  Mary Shaw,et al.  Truth vs. knowledge: the difference between what a component does and what we know it does , 1996, Proceedings of the 8th International Workshop on Software Specification and Design.

[12]  Sue Holwell,et al.  Information, Systems and Information Systems: Making Sense of the Field , 1998 .

[13]  Mark Klein,et al.  Attribute-Based Architectural Styles , 1999 .

[14]  Pierre Wolper Temporal Logic Can Be More Expressive , 1983, Inf. Control..

[15]  Paul Clements,et al.  Coming attractions in software architecture , 1997, Proceedings of 5th International Workshop on Parallel and Distributed Real-Time Systems and 3rd Workshop on Object-Oriented Real-Time Systems.

[16]  Alain Wegmann,et al.  On quality attribute based software engineering , 2001, Proceedings 27th EUROMICRO Conference. 2001: A Net Odyssey.

[17]  Ilan Beer,et al.  Efficient Model Checking by Automated Ordering of Transition Relation Partitions , 1994, CAV.

[18]  John Mylopoulos,et al.  From object-oriented to goal-oriented requirements analysis , 1999, CACM.

[19]  J. G. Miller Living systems. , 1972, Currents in modern biology.

[20]  Donald E. Thomas,et al.  The Verilog® Hardware Description Language , 1990 .

[21]  In-Ho Moon,et al.  To split or to conjoin: the question in image computation , 2000, DAC.

[22]  M. Meehan General System Theory: Foundations, Development, Applications , 1969 .

[23]  Ivar Jacobson,et al.  Unified Modeling Language , 2020, Definitions.

[24]  Elke Hochmüller Towards the Proper Integration of Extra-Functional Requirements , 1999 .

[25]  Herbert A. Simon,et al.  The Sciences of the Artificial , 1970 .

[26]  Roy H. Campbell,et al.  The specification of process synchronization by path expressions , 1974, Symposium on Operating Systems.

[27]  Olivier Coudert,et al.  A unified framework for the formal verification of sequential circuits , 1990, ICCAD 1990.

[28]  Manfred Broy Toward a Mathematical Foundation of Software Engineering Methods , 2001, IEEE Trans. Software Eng..

[29]  하수철,et al.  [서평]「Component Software」 - Beyond Object-Oriented Programming - , 2000 .