Preserving Architectural Choices throughout the Component-based Software Development Process

It is argued that architecture comprehension and regression testing of a software system are the most expensive maintenance activities. This is mainly due to the fact that architectural choices are either not explicit, at every stage of the software development process, or not preserved from one stage to another. In this paper, we present an Architectural Constraint Language (ACL) as a means to formally describe architectural choices at all the stages. This language is based on the UML’s Object Constraint Language and on a set of MOF-compliant metamodels. We also present a prototype which validates the proposed approach. It allows the evaluation of ACL expressions at two stages and ensures, by using a transformation mechanism, that the constraints stated at one stage are subsequently preserved.

[1]  Thierry Coupaye,et al.  An Open Component Model and Its Support in Java , 2004, CBSE.

[2]  David Garlan,et al.  A Formal Approach to Software Architectures , 1992, IFIP Congress.

[3]  Richard N. Taylor,et al.  A Classification and Comparison Framework for Software Architecture Description Languages , 2000, IEEE Trans. Software Eng..

[4]  Mikael Lindvall,et al.  Avoiding architectural degeneration: an evaluation process for software architecture , 2002, Proceedings Eighth IEEE Symposium on Software Metrics.

[5]  J. Michael Spivey,et al.  The Z notation - a reference manual , 1992, Prentice Hall International Series in Computer Science.

[6]  Robert J. Allen A formal approach to software architecture , 1997 .

[7]  Chris F. Kemerer,et al.  Towards a metrics suite for object oriented design , 2017, OOPSLA '91.

[8]  Robert T. Monroe Capturing Software Architecture Design Expertise with Armani , 2000 .

[9]  Richard N. Taylor,et al.  A comprehensive approach for the development of modular software architecture description languages , 2005, TSEM.

[10]  Bradley R. Schmerl,et al.  Understanding tradeoffs among different architectural modeling approaches , 2004, Proceedings. Fourth Working IEEE/IFIP Conference on Software Architecture (WICSA 2004).

[11]  Robert L. Nord,et al.  Proceedings of the Working IEEE/IFIP Conference on Software Architecture , 2006 .

[12]  Nenad Medvidovic,et al.  Modeling software architectures in the Unified Modeling Language , 2002, TSEM.

[13]  Massimiliano Di Penta,et al.  A controlled experiment on the impact of the object constraint language in UML-based maintenance , 2004, 20th IEEE International Conference on Software Maintenance, 2004. Proceedings..

[14]  Mary Shaw,et al.  Software architecture - perspectives on an emerging discipline , 1996 .

[15]  Jeff Magee,et al.  The Koala Component Model for Consumer Electronics Software , 2000, Computer.