Design-time performance analysis of component-based real-time systems

In current real-time systems, performance metrics are one of the most challenging properties to specify, predict and measure. Performance properties depend on various factors, like environmental context, load profile, middleware, operating system, hardware platform and sharing of internal resources. Performance failures and not satisfying related requirements cause delays, cost overruns, and even abandonment of projects. In order to avoid these performancerelated project failures, the performance properties should be obtained and analyzed already at the early design phase of a project. In this thesis we employ principles of component-based software engineering (CBSE), which enable building software systems from individual components. The advantage of CBSE is that individual components can be modeled, reused and traded. The main objective of this thesis is to develop a method that enables to predict the performance properties of a system, based on the performance properties of the involved individual components. The prediction method serves rapid prototyping and performance analysis of the architecture or related alternatives, without performing the usual testing and implementation stages. The involved research questions are as follows. How should the behaviour and performance properties of individual components be specified in order to enable automated composition of these properties into an analyzable model of a complete system? How to synthesize the models of individual components into a model of a complete system in an automated way, such that the resulting system model can be analyzed against the performance properties? The thesis presents a new framework called DeepCompass, which realizes the concept of predictable assembly throughout all phases of the system design. The cornerstones of the framework are the composable models of individual software components and hardware blocks. The models are specified at the component development time and shipped in a component package. At the component composition phase, the models of the constituent components are synthesized into an executable system model. Since the thesis focuses on performance properties, we introduce performance-related types of component models, such as behaviour, performance and resource models. The dynamics of the system execution are captured in scenario models. The essential advantage of the introduced models is that, through the behaviour of individual components and scenario models, the behaviour of the complete system is synthesized in the executable system model. Further simulation-based analysis of the obtained executable system model provides application-specific and system-specific performance property values. To support the performance analysis, we have developed a CARAT software toolkit that provides and automates the algorithms for model synthesis and simulation. Besides this, the toolkit provides graphical tools for designing alternative architectures and visualization of obtained performance properties. We have conducted an empirical case study on the use of scenarios in the industry to analyze the system performance at the early design phase. It was found that industrial architects make extensive use of scenarios for performance evaluation. Based on the inputs of the architects, we have provided a set of guidelines for identification and use of performance-critical scenarios. At the end of this thesis, we have validated the DeepCompass framework by performing three case studies on performance prediction of real-time systems: an MPEG-4 video decoder, a Car Radio Navigation system and a JPEG application. For each case study, we have constructed models of the individual components, defined the SW/HW architecture, and used the CARAT toolkit to synthesize and simulate the executable system model. The simulation provided the predicted performance properties, which we later compared with the actual performance properties of the realized systems. With respect to resource usage properties and average task latencies, the variation of the prediction error showed to be within 30% of the actual performance. Concerning the pick loads on the processor nodes, the actual values were sometimes three times larger than the predicted values. As a conclusion, the framework has proven to be effective in rapid architecture prototyping and performance analysis of a complete system. This is valid, as in the case studies we have spent not more than 4-5 days on the average for the complete iteration cycle, including the design of several architecture alternatives. The framework can handle different architectural styles, which makes it widely applicable. A conceptual limitation of the framework is that it assumes that the models of individual components are already available at the design phase.

[1]  Zonghua Gu,et al.  Real-Time Component Composition Using Hierarchical Timed Automata , 2007, Seventh International Conference on Quality Software (QSIC 2007).

[2]  P ? ? ? ? ? ? ? % ? ? ? ? , 1991 .

[3]  Farhad Arbab,et al.  Abstract Behavior Types: a foundation model for components and their composition , 2002, Sci. Comput. Program..

[4]  David E. Goldberg,et al.  A niched Pareto genetic algorithm for multiobjective optimization , 1994, Proceedings of the First IEEE Conference on Evolutionary Computation. IEEE World Congress on Computational Intelligence.

[5]  Rick Kazman Tool support for architecture analysis and design , 1996, ISAW '96.

[6]  Natasha Sharygina,et al.  Overview of ComFoRT: A Model Checking Reasoning Framework , 2004 .

[7]  Peter H. N. de With,et al.  Qos concept for scalable MPEG-4 video object decoding on multimedia (NoC) chips , 2006, IEEE Transactions on Consumer Electronics.

[8]  Swapna S. Gokhale,et al.  Architecture-Based Software Reliability Analysis: Overview and Limitations , 2007, IEEE Transactions on Dependable and Secure Computing.

[9]  Yiannis Papadopoulos,et al.  Evolving car designs using model-based automated safety analysis and optimisation techniques , 2005, J. Syst. Softw..

[10]  Khaled M. Khan,et al.  Deriving systems level security properties of component based composite systems , 2005, 2005 Australian Software Engineering Conference.

[11]  Bruce P. Douglass,et al.  Doing hard time: developing real-time systems with uml , 1999 .

[12]  David Frankel,et al.  Model Driven Architecture: Applying MDA to Enterprise Computing , 2003 .

[13]  Andy D. Pimentel,et al.  A systematic approach to exploring embedded system architectures at multiple abstraction levels , 2006, IEEE Transactions on Computers.

[14]  Marcel Verhoef,et al.  Timed automata based analysis of embedded system architectures , 2006, IPDPS.

[15]  Jing Xu,et al.  Performance Analysis of a Software Design Using the UML Profile for Schedulability, Performance, and Time , 2003, Computer Performance Evaluation / TOOLS.

[16]  David Wallace,et al.  Pareto optimization using the struggle genetic crowding algorithm , 2002 .

[17]  Mark Klein,et al.  Predictable Assembly of Substation Automation Systems: An Experiment Report, Second Edition , 2002 .

[18]  Suriayati Chuprat,et al.  A deadline-based algorithm for dynamic task scheduling with precedence constraints , 2007, Parallel and Distributed Computing and Networks.

[19]  Peter H. N. de With,et al.  Modelling of input-parameter dependency for performance predictions of component-based embedded systems , 2005, 31st EUROMICRO Conference on Software Engineering and Advanced Applications.

[20]  Johan J. Lukkien,et al.  Predicting real-time properties of component assemblies: a scenario-simulation approach , 2004, Proceedings. 30th Euromicro Conference, 2004..

[21]  C. Murray Woodside,et al.  Performance modeling from software components , 2004, WOSP '04.

[22]  SilvanoCristina,et al.  Multi-objective design space exploration of embedded systems , 2005 .

[23]  Raffaela Mirandola,et al.  Software performance engineering of component-based systems , 2004, WOSP '04.

[24]  Peter H. N. de With,et al.  Compositional Performance Analysis of Component-Based Systems on Heterogeneous Multiprocessor Platforms , 2006, 32nd EUROMICRO Conference on Software Engineering and Advanced Applications (EUROMICRO'06).

[25]  William H. Sanders,et al.  Model-based evaluation: from dependability to security , 2004, IEEE Transactions on Dependable and Secure Computing.

[26]  Giovanni Chiola,et al.  GreatSPN 1.7: Graphical Editor and Analyzer for Timed and Stochastic Petri Nets , 1995, Perform. Evaluation.

[27]  Erwin A. de Kock,et al.  YAPI: application modeling for signal processing systems , 2000, Proceedings 37th Design Automation Conference.

[28]  Marco Laumanns,et al.  SPEA2: Improving the strength pareto evolutionary algorithm , 2001 .

[29]  Peter H. N. de With,et al.  A Process for Resolving Performance Trade-Offs in Component-Based Architectures , 2006, CBSE.

[30]  Lothar Thiele,et al.  Real-time calculus for scheduling hard real-time systems , 2000, 2000 IEEE International Symposium on Circuits and Systems. Emerging Technologies for the 21st Century. Proceedings (IEEE Cat No.00CH36353).

[31]  James W. Layland,et al.  Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment , 1989, JACM.

[32]  Leonard J. Bass,et al.  SAAM: a method for analyzing the properties of software architectures , 1994, Proceedings of 16th International Conference on Software Engineering.

[33]  Giorgio C. Buttazzo,et al.  Rate Monotonic Analysis: The Hyperbolic Bound , 2003, IEEE Trans. Computers.

[34]  Paola Inverardi,et al.  Integrating Performance and Reliability Analysis in a Non-Functional MDA Framework , 2007, FASE.

[35]  Rick Kazman,et al.  The architecture tradeoff analysis method , 1998, Proceedings. Fourth IEEE International Conference on Engineering of Complex Computer Systems (Cat. No.98EX193).

[36]  Lothar Thiele,et al.  Modular design space exploration framework for embedded systems , 2005 .

[37]  Clemens A. Szyperski,et al.  Component software - beyond object-oriented programming , 2002 .

[38]  Katerina Goseva-Popstojanova,et al.  Architecture-based approach to reliability assessment of software systems , 2001, Perform. Evaluation.

[39]  Kishor S. Trivedi,et al.  Architecture based analysis of performance, reliability and security of software systems , 2005, WOSP '05.

[40]  S. Hensley,et al.  Using COTS Components for Real-Time Processing of SAR Systems , 1998 .

[41]  G. Scott Graham,et al.  Guest Editor's Overview… Queuing Network Models of Computer System Performance , 1978, CSUR.

[42]  Daniel Amyot,et al.  Scenario-Based Performance Engineering with UCMNAV , 2003, SDL Forum.

[43]  Christopher A. Mattson,et al.  Pareto Frontier Based Concept Selection Under Uncertainty, with Visualization , 2005 .

[44]  Marcel Verhoef,et al.  System architecture evaluation using modular performance analysis: a case study , 2006, International Journal on Software Tools for Technology Transfer.

[45]  Douglas Niehaus,et al.  Performance Patterns: Automated Scenario-Based ORB Performance Evaluation , 1999, COOTS.

[46]  David W. Corne,et al.  Approximating the Nondominated Front Using the Pareto Archived Evolution Strategy , 2000, Evolutionary Computation.

[47]  Alan Fekete,et al.  Design-level performance prediction of component-based applications , 2005, IEEE Transactions on Software Engineering.

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

[49]  Rogério de Lemos,et al.  Integrating COTS software components into dependable software architectures , 2003, Sixth IEEE International Symposium on Object-Oriented Real-Time Distributed Computing, 2003..

[50]  John Leaney,et al.  Guided architecture-based design optimisation of CBSs , 2006, 13th Annual IEEE International Symposium and Workshop on Engineering of Computer-Based Systems (ECBS'06).

[51]  Peter A. Lindsay,et al.  An Outline of an Architecture-Based Method for Optimizing Dependability Attributes of Software-Intensive Systems , 2006, WADS.

[52]  Stefan Van Baelen,et al.  A tool for component based design of embedded software , 2002 .

[53]  Rajarshi Das,et al.  Utility-Function-Driven Resource Allocation in Autonomic Systems , 2005, Second International Conference on Autonomic Computing (ICAC'05).

[54]  Lars Grunske,et al.  Specification and Evaluation of Safety Properties in a Component-Based Software Engineering Process , 2005, Component-Based Software Development for Embedded Systems.

[55]  Jeff Magee,et al.  The Koala Component Model for Consumer Electronics Software , 2000, Computer.

[56]  Peter H. N. de With,et al.  Predictable component-based software design of real-time MPEG-4 video applications , 2005, Visual Communications and Image Processing.

[57]  John Håkansson,et al.  The SAVE approach to component-based development of vehicular systems , 2007, J. Syst. Softw..

[58]  D Nam,et al.  Multiobjective simulated annealing: a comparative study to evolutionary algorithms , 2000 .

[59]  Seongsoo Hong,et al.  Scenario-based multitasking for real-time object-oriented models , 2006, Inf. Softw. Technol..

[60]  Mohammad Zulkernine,et al.  Intrusion detection aware component-based systems: A specification-based framework , 2007, J. Syst. Softw..

[62]  Lars Grunske Transformational patterns for the improvement of safety properties in architectural specification , 2003 .

[63]  Vincenzo Grassi,et al.  Filling the gap between design and performance/reliability models of component-based systems: A model-driven approach , 2007, J. Syst. Softw..

[64]  Gabriel A. Moreno,et al.  Enabling predictable assembly , 2003, J. Syst. Softw..

[65]  David W. Coit,et al.  Reliability optimization of series-parallel systems using a genetic algorithm , 1996, IEEE Trans. Reliab..

[66]  Frantisek Plasil Enhancing component specification by behavior description: the SOFA experience , 2005 .

[67]  Peter H. N. de With,et al.  Towards predicting real-time properties of a component assembly , 2004, Proceedings. 30th Euromicro Conference, 2004..

[68]  Ralf H. Reussner,et al.  Reliability prediction for component-based software architectures , 2003, J. Syst. Softw..

[69]  Michael Winter,et al.  Components for embedded software: the PECOS approach , 2002, CASES '02.

[70]  Maurizio Palesi,et al.  Multi-objective design space exploration using genetic algorithms , 2002, Proceedings of the Tenth International Symposium on Hardware/Software Codesign. CODES 2002 (IEEE Cat. No.02TH8627).

[71]  Marsha Chechik,et al.  Synthesis of Partial Behavior Models from Properties and Scenarios , 2009, IEEE Transactions on Software Engineering.

[72]  Ivica Crnkovic,et al.  SaveCCM - a component model for safety-critical real-time systems , 2004, Proceedings. 30th Euromicro Conference, 2004..

[73]  Peter H. N. de With,et al.  A Toolkit for Design and Performance Analysis of Real-Time Component-Based Software Systems , 2006, 2006 International Conference on Software Engineering Advances (ICSEA'06).

[74]  Peter H. N. de With,et al.  CARAT: a Toolkit for Design and Performance Analysis of Component-Based Embedded Systems , 2007, 2007 Design, Automation & Test in Europe Conference & Exhibition.

[75]  Johan Fredriksson,et al.  Optimizing resource usage in component-based real-time systems , 2005, CBSE'05.

[76]  Nick Donnelly,et al.  Describing a Product Opportunity: A Method of Understanding the User's Environment , 1987, BCS HCI.

[77]  Steffen Becker,et al.  Model-Based performance prediction with the palladio component model , 2007, WOSP '07.

[78]  Paul E. Black,et al.  Dictionary of Algorithms and Data Structures | NIST , 1998 .

[79]  Mark Nicholson,et al.  Selecting a Topology for Safety-Critical Real-Time Control Systems , 1999 .

[80]  Andy D. Pimentel,et al.  A software framework for efficient system-level performance evaluation of embedded systems , 2003, SAC '03.

[81]  Jerry R. Hobbs,et al.  DAML-S: Semantic Markup for Web Services , 2001, SWWS.

[82]  Lars Grunske,et al.  Identifying "good" architectural design alternatives with multi-objective optimization strategies , 2006, ICSE.

[83]  Rolf Ernst,et al.  System level performance analysis - the SymTA/S approach , 2005 .

[84]  Daniel Zappala,et al.  A scenario-based performance evaluation of multicast routing protocols for ad hoc networks , 2005, Sixth IEEE International Symposium on a World of Wireless Mobile and Multimedia Networks.

[85]  Erwin A. de Kock,et al.  Exploring performance trade-offs of a JPEG decoder using the deepcompass framework , 2007, WOSP '07.