Automated Transformation of Distributed Software Architectural Models to Finite State Process

Software Performance Engineering (SPE) represents the collection of software engineering activities with the purpose of identification, prediction and also improvement of software performance parameters in the early stages of software development life cycle. Various models such as queuing networks, layered queues, Petri Nets and Stochastic Process Algebras are suggested for modeling distributed systems. Particular ability of a model is the prediction and estimation of non-functional characteristic of one system before it has been made. The main problem is a method by which we can easily transform architectural software models into formal simulate able models. In this paper a method for automatic transformation of UML deployment and sequence diagrams into FSP(finite state process) model is presented, so that we can analyze the resulting model through discrete event simulation tools from the performance perspective. In the proposed transformation algorithm, different aspects of a software system such as: communication model of software objects, synchronization and physical deployment of objects are considered. Keywords-performance engineering – distributed systems – finite state process – simulation – performance evaluation

[1]  Mary K. Vernon,et al.  SARA (System ARchitects Apprentice): Modeling, analysis, and simulation support for design of concurrent systems , 1986, IEEE Transactions on Software Engineering.

[2]  Vittorio Cortellessa,et al.  From UML models to software performance results: an SPE process based on XML interchange formats , 2005, WOSP '05.

[3]  Stephen Gilmore,et al.  Safety and Response-Time Analysis of an Automotive Accident Assistance Service , 2008, ISoLA.

[4]  Kishor S. Trivedi,et al.  SPNP: stochastic Petri net package , 1989, Proceedings of the Third International Workshop on Petri Nets and Performance Models, PNPM89.

[5]  Nancy G. Leveson,et al.  Safety Analysis Using Petri Nets , 1987, IEEE Transactions on Software Engineering.

[6]  Wolfgang Emmerich,et al.  Deadlock detection in distributed object systems , 2001, FSE 2001.

[7]  John F. Meyer,et al.  Performability Modeling of Distributed Real-Time Systems , 1983, Computer Performance and Reliability.

[8]  Dorina C. Petriu,et al.  The Future of Software Performance Engineering , 2007, Future of Software Engineering (FOSE '07).

[9]  Antonio Puliafito,et al.  Software Performance Analysis in UML Models , 2005, 2005 Workshop on Techniques, Methodologies and Tools for Performance Evaluation of Complex Systems (FIRB-PERF'05).

[10]  Tony Field,et al.  Experimental Evaluation of the UML Profile for Schedulability, Performance, and Time , 2004, UML.

[11]  Tony Field,et al.  Performance engineering with the UML profile for schedulability, performance and time: a case study , 2004, The IEEE Computer Society's 12th Annual International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunications Systems, 2004. (MASCOTS 2004). Proceedings..