Interaction tree algorithms to extract effective architecture and layered performance models from traces

Models of software architecture and software performance both depend on identifying and describing the interactions between the components, during typical responses. This work identifies the components and interactions that are active during a tracing experiment, hence the name "effective architecture" and also derives layered performance models. The System Architecture and Model Extraction Technique (SAMEtech) described here overcomes a weakness of previous work with "angio traces" in two ways. It only requires standard trace formats (rather than a custom format which captures causality) and it uses a simpler algorithm which scales up linearly for very large traces. It accepts some limitations: components must not have internal parallelism with forking and joining of the flow of execution. SAMEtech uses pattern matching based on "interaction trees" for detecting various types of interactions (asynchronous, blocking synchronous, nested synchronous, and forwarding). With this information it builds architecture and performance models.

[1]  Dominikus Herzberg,et al.  E-CARES Research Project: Utilizing Dynamic Information , 2001 .

[2]  Paola Inverardi,et al.  Model-based performance prediction in software development: a survey , 2004, IEEE Transactions on Software Engineering.

[3]  C. Murray Woodside Throughput Calculation for Basic Stochastic Rendezvous Networks , 1989, Perform. Evaluation.

[4]  Allen D. Malony,et al.  The Tau Parallel Performance System , 2006, Int. J. High Perform. Comput. Appl..

[5]  C. Murray Woodside,et al.  A Metamodel for Generating Performance Models from UML Designs , 2004, UML.

[6]  Bran Selic,et al.  Automated performance modeling of software generated by a design environment , 2001, Perform. Evaluation.

[7]  SelicBran,et al.  Automated performance modeling of softwaree genrated by a design environment , 2001 .

[8]  C. Murray Woodside,et al.  Performance analysis of distributed server systems , 2000 .

[9]  Robert W. Schwanke,et al.  An intelligent tool for re-engineering software modularity , 1991, [1991 Proceedings] 13th International Conference on Software Engineering.

[10]  Jerome A. Rolia,et al.  The Method of Layers , 1995, IEEE Trans. Software Eng..

[11]  Jerome A. Rolia,et al.  Trace-Based Load Characterization for Gernerating Performance Software Models , 1999, IEEE Trans. Software Eng..

[12]  Franz Sötz,et al.  Tools for a Model-driven Instrumentation for Monitoring , 1991 .

[13]  C. Murray Woodside,et al.  Layered analytic performance modelling of a distributed database system , 1997, Proceedings of 17th International Conference on Distributed Computing Systems.

[14]  Tauseef A. Israr A lightweight technique for extracting software architecture and performance models from traces , 2001 .

[15]  Xin Wang,et al.  From UML Descriptions of High-Level Software Architectures to LQN Performance Models , 1999, AGTIVE.

[16]  C. Murray Woodside,et al.  Automatic generation of layered queuing software performance models from commonly available traces , 2005, WOSP '05.

[17]  Raffaela Mirandola,et al.  Deriving a queueing network based performance model from UML diagrams , 2000, WOSP '00.

[18]  Hesham El-Sayed,et al.  Automated Performance Modeling from Scenarios and SDL Designs of Distributed Systems , 1998, PDSE.

[19]  Dorina C. Petriu,et al.  Software Performance Models from System Scenarios in Use Case Maps , 2002, Computer Performance Evaluation / TOOLS.

[20]  Shikharesh Majumdar,et al.  The Stochastic Rendezvous Network Model for Performance of Synchronous Client-Server-like Distributed Software , 1995, IEEE Trans. Computers.

[21]  Jerome A. Rolia,et al.  Automatic generation of a software performance model using an object-oriented prototype , 1995, MASCOTS '95. Proceedings of the Third International Workshop on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems.

[22]  John T. Stasko,et al.  Visualizing Interactions in Program Executions , 1997, Proceedings of the (19th) International Conference on Software Engineering.

[23]  Daniel A. Menascé,et al.  A Method for Design and Performance Modeling of Client/Server Systems , 2000, IEEE Trans. Software Eng..

[24]  Martin P. Robillard,et al.  Efficient mapping of software system traces to architectural views , 2000, CASCON.

[25]  C. Murray Woodside,et al.  Effectiveness of Early Replies in Client-Server Systems , 1999, Perform. Evaluation.

[26]  C. Murray Woodside,et al.  Software performance models from system scenarios , 2005, Perform. Evaluation.

[27]  D.A. Reed,et al.  Scalable performance analysis: the Pablo performance analysis environment , 1993, Proceedings of Scalable Parallel Libraries Conference.