System Architecture Specification Based on Behavior Models

Abstract : This paper suggests an approach to formal software and system architecture specification based on behavior models. The behavior of the system is defined as a set of events (event trace) with two basic relations: precedence and inclusion. The structure of event trace is specified using event grammars and other constraints organized into schemas. The framework provides high level abstractions for analyzing system behavior properties expressed as computations over event traces. The automated tools can support extracting of different views from the model, and verification of behavior properties within a given scope. Advantages of this approach compared with the common simulation tools are as follows. Means to write assertions about the system behavior and tools to verify those assertions. Exhaustive search through all possible scenarios (up to the scope limit). The small scope hypothesis states that most of errors can be demonstrated on small examples. The support for verifiable refinement of the architecture model, up to design and implementation models. Integration of the architecture models with environment models for defining typical scenarios (use cases) and verifying system's behavior for those scenarios.

[1]  Gregory D. Abowd,et al.  Formalizing style to understand descriptions of software architecture , 1995, TSEM.

[2]  James Bret Michael,et al.  Environment behavior models for automation of testing and assessment of system safety , 2006, Inf. Softw. Technol..

[3]  Mikhail Auguston Program Behavior Model Based on Event Grammar and its Application for Debugging Automation , 1995, AADEBUG.

[4]  Cynthia E. Irvine,et al.  A Security Domain Model for Implementing Trusted Subject Behaviors , 2008, MODSEC@MoDELS.

[5]  Mikhail Auguston,et al.  Monterey Phoenix, or how to make software architecture executable , 2009, OOPSLA Companion.

[6]  Jan Madey,et al.  The Z notation: A reference manual , 1990 .

[7]  Clinton Jeffery,et al.  A framework for automatic debugging , 2002, Proceedings 17th IEEE International Conference on Automated Software Engineering,.

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

[9]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[10]  Alexander L. Wolf,et al.  Acm Sigsoft Software Engineering Notes Vol 17 No 4 Foundations for the Study of Software Architecture , 2022 .

[11]  Cynthia E. Irvine,et al.  A security domain model to assess software for exploitable covert channels , 2008, PLAS '08.

[12]  Brian J. Sauser,et al.  System of Systems - the meaning of of , 2006, 2006 IEEE/SMC International Conference on System of Systems Engineering.

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

[14]  David Garlan,et al.  A formal basis for architectural connection , 1997, TSEM.

[15]  Daniel Jackson,et al.  A direct path to dependable software , 2009, CACM.

[16]  Mikhail Auguston,et al.  Software architecture built from behavior models , 2009, SOEN.

[17]  Henry Muccini,et al.  CHARMY: A Framework for Designing and Verifying Architectural Specifications , 2009, IEEE Transactions on Software Engineering.

[18]  Gerard J. Holzmann,et al.  The SPIN Model Checker , 2003 .

[19]  Philippe Kruchten,et al.  Architecture blueprints—the “4+1” view model of software architecture , 1995, TRI-Ada '95.

[20]  Paul Clements,et al.  Software Architecture in Practice (Second Edition) , 2011 .

[21]  Philippe Krutchen,et al.  Architectural blueprints--the '4+1' view model of software architecture , 1995 .

[22]  David Garlan,et al.  Formal Modeling and Analysis of Software Architecture: Components, Connectors, and Events , 2003, SFM.

[23]  Daniel Jackson,et al.  Software Abstractions - Logic, Language, and Analysis , 2006 .