Software architecture built from behavior models

This paper suggests an approach to formal software 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 schema framework is amenable to stepwise architecture refinement, reuse, composition, visualization, and application of automated tools for consistency checks. The concept of event attribute supports a continuous architecture refinement up to executable design and implementation models.

[1]  Paola Inverardi,et al.  Formal Specification and Analysis of Software Architectures Using the Chemical Abstract Machine Model , 1995, IEEE Trans. Software Eng..

[2]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[3]  Grzegorz Rozenberg,et al.  Handbook of Graph Grammars and Computing by Graph Transformations, Volume 1: Foundations , 1997 .

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

[5]  Boris A. Trakhtenbrot,et al.  Finite automata : behavior and synthesis , 1973 .

[6]  Clinton Jeffery,et al.  A Monitoring Language for Run Time and Post-Mortem Behavior Analysis and Visualization , 2003, ArXiv.

[7]  Clinton Jeffery,et al.  Some axioms and issues in the UFO dynamic analysis framework , 2003 .

[8]  Paola Inverardi,et al.  Static checking of system behaviors using derived component assumptions , 2000, TSEM.

[9]  Mikhail Auguston FORMAN-Program formal annotation language , 1991, [1991] Proceedings the Fifth Israel Conference on Computer Systems and Software Engineering.

[10]  Peter Fritzson,et al.  Parforman - an Assertion Language for Specifying Behavior when Debugging Parallel Applications , 1996, Int. J. Softw. Eng. Knowl. Eng..

[11]  David Garlan,et al.  Analyzing architectural styles , 2010, J. Syst. Softw..

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

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

[14]  James Bret Michael,et al.  Environment behavior models for scenario generation and testing automation , 2005, A-MOST.

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

[16]  Peter H. Feiler,et al.  The Architecture Analysis & Design Language (AADL): An Introduction , 2006 .

[17]  PaakkiJukka Attribute grammar paradigmsa high-level methodology in language implementation , 1995 .

[18]  Leslie Lamport,et al.  Time, clocks, and the ordering of events in a distributed system , 1978, CACM.

[19]  Clinton Jeffery,et al.  Towards Fully Automatic Execution Monitoring , 2002, RISSEF.

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

[21]  Andrew William Roscoe,et al.  The Theory and Practice of Concurrency , 1997 .

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

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

[24]  C LuckhamDavid,et al.  Specification and Analysis of System Architecture Using Rapide , 1995 .

[25]  Mary Shaw,et al.  The golden age of software architecture , 2006, IEEE Software.

[26]  Daniel Le Métayer,et al.  Programming by multiset transformation , 1993, CACM.

[27]  James Bret Michael,et al.  Environment behavior models for scenario generation and testing automation , 2005, ACM SIGSOFT Softw. Eng. Notes.

[28]  Mikhail Auguston A language for debugging automation , 1994, SEKE.

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

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

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

[32]  Mary Shaw,et al.  A field guide to boxology: preliminary classification of architectural styles for software systems , 1997, Proceedings Twenty-First Annual International Computer Software and Applications Conference (COMPSAC'97).

[33]  Mary Shaw,et al.  "The Golden Age of Software Architecture" Revisited , 2009, IEEE Software.

[34]  Alfred V. Aho,et al.  Compilers: Principles, Techniques, and Tools , 1986, Addison-Wesley series in computer science / World student series edition.

[35]  David Harel,et al.  Come, let's play - scenario-based programming using LSCs and the play-engine , 2003 .

[36]  David Lorge Parnas,et al.  Simulating the behaviour of software modules by trace rewriting , 1993, ICSE '93.

[37]  Donald E. Knuth,et al.  Literate Programming , 1984, Comput. J..

[38]  David C. Luckham,et al.  An Event-Based Architecture Definition Language , 1995, IEEE Trans. Software Eng..

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

[40]  D. Jackson Who could fault an approach that offers greater credibility at reduced cost ? , 2009 .

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

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

[43]  Peter Hibbard,et al.  Generalized path expressions: a high level debugging mechanism , 1983, SIGSOFT '83.

[44]  Walter Mann,et al.  Correction to "Specification and Analysis of System Architecture Using Rapide" , 1995, IEEE Trans. Software Eng..

[45]  David Garlan,et al.  Activity-Oriented Computing , 2008 .

[46]  Gregor Kiczales,et al.  Aspect-oriented programming , 2001, ESEC/FSE-9.

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

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

[49]  Zakaria Maamar,et al.  Advances in Ubiquitous Computing: Future Paradigms and Directions , 2008 .

[50]  Jukka Paakki,et al.  Attribute grammar paradigms—a high-level methodology in language implementation , 1995, CSUR.

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

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

[53]  Philippe Kruchten,et al.  The 4+1 View Model of Architecture , 1995, IEEE Softw..

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

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

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