Checking architectural compliance in component-based systems

The software architecture of software systems often imposes constraints upon the design and the implementation of a system, for example upon how components are logically grouped or upon how they may interact. It is of great importance for the sake of maintainability and smooth operation of a software system that its design and implementation are compliant to its intended software architecture. Due to the complexity of today's software systems and the diversity of those constraints, guaranteeing the compliance by manual checks is impossible. Unfortunately, current tool support is not flexible enough to easily check different aspects of architectural compliance. This paper outlines a rule-based approach to architectural compliance checking for component-based systems. It is based upon a sound formalization of component-based descriptions of software systems and on the definition of architectural rules. It will be demonstrated by an exemplary industrial case study.

[1]  Cyril S. Ku,et al.  Design Patterns , 2008, Wiley Encyclopedia of Computer Science and Engineering.

[2]  Frank Buschmann,et al.  A system of patterns , 1995 .

[3]  Rick Kazman,et al.  Architecture, design, implementation , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[4]  Tom Mens,et al.  Maintaining Consistency between UML Models Using Description Logic , 2004, Obj. Logiciel Base données Réseaux.

[5]  Peter Aczel etc HANDBOOK OF MATHEMATICAL LOGIC , 1999 .

[6]  Paul Clements,et al.  Software Architecture Documentation in Practice: Documenting Architectural Layers , 2000 .

[7]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[8]  Jocelyn Simmonds,et al.  Description Logics for Consistency Checking of Architectural Features in UML 2 . 0 Models , 2004 .

[9]  Recommended Practice for Architectural Description of Software-Intensive Systems , 1999 .

[10]  Michael Hind,et al.  Which pointer analysis should I use? , 2000, ISSTA '00.

[11]  Bernhard Westfechtel,et al.  A graph-based algorithm for consistency maintenance in incremental and interactive integration tools , 2007, Software & Systems Modeling.

[12]  Volker Gruhn,et al.  Model-Driven Software Development , 2005 .

[13]  Reiko Heckel,et al.  Rule-Based Specification of Behavioral Consistency Based on the UML Meta-model , 2001, UML.

[14]  Peter Sommerlad,et al.  Pattern-Oriented Software Architecture Volume 1: A System of Patterns , 1996 .

[15]  Raffaela Mirandola,et al.  The Common Component Modeling Example: Comparing Software Component Models [result from the Dagstuhl research seminar for CoCoME, August 1-3, 2007] , 2007, CoCoME.

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

[17]  Richard N. Taylor,et al.  A Component- and Message-Based Architectural Style for GUI Software , 1995, 1995 17th International Conference on Software Engineering.

[18]  Hartmut Ehrig,et al.  Consistency analysis of UML class and se-quence diagrams using attributed graph grammars , 2000 .

[19]  Alexander Egyed Validating Consistency between Architecture and Design Descriptions , 2000 .

[20]  Martin Fowler,et al.  Patterns of Enterprise Application Architecture , 2002 .

[21]  Andrew S. Tanenbaum,et al.  Distributed systems: Principles and Paradigms , 2001 .

[22]  David Garlan,et al.  Introduction to the Special Issue on Software Architecture , 1995, IEEE Trans. Software Eng..

[23]  Flemming Nielson,et al.  Principles of Program Analysis , 1999, Springer Berlin Heidelberg.

[24]  Gregor Engels,et al.  Comprehensive Architecture Evaluation and Management in Large Software-Systems , 2008, QoSA.

[25]  Paul Clements,et al.  Software architecture in practice , 1999, SEI series in software engineering.

[26]  Maged Elaasar,et al.  An Overview of UML Consistency Management , 2004 .

[27]  Mary Shaw,et al.  An Introduction to Software Architecture , 1993, Advances in Software Engineering and Knowledge Engineering.

[28]  Christopher G. Lasater,et al.  Design Patterns , 2008, Wiley Encyclopedia of Computer Science and Engineering.

[29]  B. J. Ferro Castro,et al.  Pattern-Oriented Software Architecture: A System of Patterns , 2009 .

[30]  Patrick Dohrmann,et al.  Rule-Based Architectural Compliance Checks for Enterprise Architecture Management , 2009, 2009 IEEE International Enterprise Distributed Object Computing Conference.

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

[32]  B. F. Castro Buschmann, Frank; Meunier, Regine; Rohnert, Hans; Sommerlad, Peter; Stal, Michael. Pattern-oriented software architecture: a system of patterns, John Wiley & Sons Ltd, 1996 , 1997 .

[33]  Rick Kazman,et al.  Abstraction classes in software design , 2006, IEE Proc. Softw..