A Methodology for Architectural Design of Concurrent and Distributed Software Systems

Concurrent and distributed software applications are complex software systems that exploit highly parallel and distributed infrastructure to improve the quality of systems in cost-effective way. In order to assist the development of affordable concurrent and distributed software systems, a more effective approach of utilizing single-based architectural description languages (ADLs) is needed. In this paper, we describe an architectural modeling framework that can be used for specifying and analyzing distributed and concurrent software applications. Our key contribution is an architectural specification framework that integrates four important concepts: (1) an architectural description language known as syntactic theory (ST), (2) a high level Petri nets modeling language known as Hierarchical Predicate Transition Nets (HPrTNs), (3) a Pattern-Based Refinement Technique (PBRT), and (4) a systematic process for deriving architectural specifications from requirement specifications. Moreover, the method is heterogeneous modeling approach that specifies software architecture of a distributed and concurrent system in a top-down manner. The immediate benefits of our heterogeneous approach include: increased system analyzability, comprehensibility, reusability, and flexibility. We describe a case study to show the applicability of our approach.

[1]  David Garlan,et al.  Architectural Mismatch or Why it's hard to build systems out of existing parts , 1995, 1995 17th International Conference on Software Engineering.

[2]  Jeff Magee,et al.  Dynamic structure in software architectures , 1996, SIGSOFT '96.

[3]  Mary Shaw,et al.  Some patterns for software architectures , 1996 .

[4]  Stafford E. Tavares,et al.  Modelling and Analyzing Cryprographic Protocols Using Petri Nets , 1992, AUSCRYPT.

[5]  Hartmut Ehrig,et al.  Fundamentals of Algebraic Specification 1: Equations and Initial Semantics , 1985 .

[6]  Neelam Soundarajan,et al.  Responsibilities and rewards: specifying design patterns , 2004, Proceedings. 26th International Conference on Software Engineering.

[7]  Xiaolei Qian,et al.  Correct Architecture Refinement , 1995, IEEE Trans. Software Eng..

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

[9]  Piet Demeester,et al.  Automatic inclusion of middleware performance attributes into architectural UML software models , 2005, IEEE Transactions on Software Engineering.

[10]  Xudong He,et al.  Object Orientation in Hierarchical Predicate Transition Nets , 2001, Concurrent Object-Oriented Programming and Petri Nets.

[11]  Robert J. K. Jacob,et al.  Improving Performance of Virtual Reality Applications Through Parallel Processing , 2005, The Journal of Supercomputing.

[12]  John A. N. Lee,et al.  Integrating predicate transition nets with first order temporal logic in the specification and verification of concurrent systems , 1990, Formal Aspects of Computing.

[13]  Nenad Medvidovic,et al.  A Formal Approach to Heterogeneous Software Modeling , 2000, FASE.

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

[15]  James R. Cordy,et al.  A Syntactic Theory of Software Architecture , 1995, IEEE Trans. Software Eng..

[16]  Hartmut Ehrig,et al.  Fundamentals of Algebraic Specification 1 , 1985, EATCS Monographs on Theoretical Computer Science.

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

[18]  Xudong He,et al.  A Formal Definition of Hierarchical Predicate Transition Nets , 1996, Application and Theory of Petri Nets.

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

[20]  Henry Muccini,et al.  Using software architecture for code testing , 2004, IEEE Transactions on Software Engineering.

[21]  Carl E. Landwehr,et al.  Formal Models for Computer Security , 1981, CSUR.

[22]  Gregory D. Abowd,et al.  Using style to understand descriptions of software architecture , 1993, SIGSOFT '93.

[23]  Iain A. MacLeod Modern Structural Analysis , 2005 .

[24]  David Harel,et al.  On visual formalisms , 1988, CACM.

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

[26]  Mary Shaw,et al.  Patterns for software architectures , 1995 .

[27]  Richard N. Taylor,et al.  Architecture-based specification-time software evolution , 1999 .

[28]  Bernd Baumgarten,et al.  On Internal and External Characterizations of PT- net Building Block Behaviors , 1988, European Workshop on Applications and Theory of Petri Nets.

[29]  Christophe Sibertin-Blanc A Client-Server Protocol for the Composition of Petri Nets , 1993, Application and Theory of Petri Nets.

[30]  Edward Yourdon,et al.  Modern structured analysis , 1989 .

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

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

[33]  James Lyle Peterson,et al.  Petri net theory and the modeling of systems , 1981 .

[34]  Marco Ajmone Marsan,et al.  A class of generalized stochastic Petri nets for the performance evaluation of multiprocessor systems , 1984, TOCS.