Integrating deployment architectures and resource consumption in timed object-oriented models

Abstract Software today is often developed for many deployment scenarios; the software may be adapted to sequential, concurrent, distributed, and even virtualized architectures. Since software performance can vary significantly depending on the target architecture, design decisions need to address which features to include and what performance to expect for different architectures. To make use of formal methods for these design decisions, system models need to range over deployment scenarios. For this purpose, it is desirable to lift aspects of low-level deployment to the abstraction level of the modeling language. This paper proposes an integration of deployment architectures in the Real-Time ABS language, with restrictions on processing resources. Real-Time ABS is a timed, abstract and behavioral specification language with a formal semantics and a Java-like syntax, that targets concurrent, distributed and object-oriented systems. A separation of concerns between execution cost at the object level and execution capacity at the deployment level makes it easy to compare the timing and performance of different deployment scenarios already during modeling. The language and associated simulation tool is demonstrated on examples and its semantics is formalized.

[1]  S. Mohan,et al.  Performance Solutions: A Practical Guide to Creating Responsive, Scalable Software [Book Review] , 2003, IEEE Software.

[2]  Sherif M. Yacoub Performance Analysis of Component-Based Applications , 2002, SPLC.

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

[4]  Benjamin C. Pierce,et al.  Types and programming languages: the next generation , 2003, 18th Annual IEEE Symposium of Logic in Computer Science, 2003. Proceedings..

[5]  Rajkumar Buyya,et al.  Building an automated and self‐configurable emulation testbed for grid applications , 2010, Softw. Pract. Exp..

[6]  Walter Vogler,et al.  Bisimulation on Speed: A Unified Approach , 2005, FoSSaCS.

[7]  Frank S. de Boer,et al.  User-defined schedulers for real-time concurrent objects , 2012, Innovations in Systems and Software Engineering.

[8]  Elvira Albert,et al.  COSTABS: a cost and termination analyzer for ABS , 2012, PEPM '12.

[9]  Mahesh Viswanathan,et al.  On Statistical Model Checking of Stochastic Systems , 2005, CAV.

[10]  Carlo Ghezzi,et al.  Model evolution by run-time parameter adaptation , 2009, 2009 IEEE 31st International Conference on Software Engineering.

[11]  Klaus Pohl,et al.  Software Product Line Engineering - Foundations, Principles, and Techniques , 2005 .

[12]  C. Murray Woodside,et al.  An intermediate metamodel with scenarios and resources for generating performance models from UML designs , 2007, Software & Systems Modeling.

[13]  Arnd Poetzsch-Heffter,et al.  JCoBox: Generalizing Active Objects to Concurrent Components , 2010, ECOOP.

[14]  Frank S. de Boer,et al.  Formal modeling and analysis of resource management for cloud architectures: an industrial case study using Real-Time ABS , 2014, Service Oriented Computing and Applications.

[15]  Gul A. Agha,et al.  ACTORS - a model of concurrent computation in distributed systems , 1985, MIT Press series in artificial intelligence.

[16]  Emilio Tuosto,et al.  A Process Calculus for QoS-Aware Applications , 2005, COORDINATION.

[17]  Ralf H. Reussner,et al.  Stateful component-based performance models , 2013, Software & Systems Modeling.

[18]  Bin Chen,et al.  Cloud testing tools , 2011, Proceedings of 2011 IEEE 6th International Symposium on Service Oriented System (SOSE).

[19]  Frank S. de Boer,et al.  Formal Modeling of Resource Management for Cloud Architectures: An Industrial Case Study , 2012, ESOCC.

[20]  Reiner Hähnle,et al.  ABS: A Core Language for Abstract Behavioral Specification , 2010, FMCO.

[21]  G. G. Stokes "J." , 1890, The New Yale Book of Quotations.

[22]  Frank S. de Boer,et al.  Dating Concurrent Objects: Real-Time Modeling and Schedulability Analysis , 2010, CONCUR.

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

[24]  Reiner Hähnle,et al.  Modeling Spatial and Temporal Variability with the HATS Abstract Behavioral Modeling Language , 2011, SFM.

[25]  Einar Broch Johnsen,et al.  Dynamic Resource Reallocation between Deployment Components , 2010, ICFEM.

[26]  Wang Yi,et al.  Task automata: Schedulability, decidability and undecidability , 2007, Inf. Comput..

[27]  Cosimo Laneve,et al.  Engineering virtualized services , 2013, NordiCloud '13.

[28]  Einar Broch Johnsen,et al.  An Asynchronous Communication Model for Distributed Concurrent Objects , 2004, Proceedings of the Second International Conference on Software Engineering and Formal Methods, 2004. SEFM 2004..

[29]  Martin Odersky,et al.  Scala Actors: Unifying thread-based and event-based programming , 2009, Theor. Comput. Sci..

[30]  Kim G. Larsen,et al.  Statistical Model Checking for Networks of Priced Timed Automata , 2011, FORMATS.

[31]  Einar Broch Johnsen,et al.  Models of Rate Restricted Communication for Concurrent Objects , 2011, Electron. Notes Theor. Comput. Sci..

[32]  Sumit Gulwani,et al.  SPEED: precise and efficient static estimation of program computational complexity , 2009, POPL '09.

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

[34]  Ray Jain,et al.  The art of computer systems performance analysis - techniques for experimental design, measurement, simulation, and modeling , 1991, Wiley professional computing.

[35]  Connie U. Smith,et al.  New Book - Performance Solutions: A Practical Guide to Creating Responsive, Scalable Software , 2001, Int. CMG Conference.

[36]  Frank S. de Boer,et al.  Schedulability of asynchronous real-time concurrent objects , 2009, J. Log. Algebraic Methods Program..

[37]  Rajkumar Buyya,et al.  EMUSIM: an integrated emulation and simulation environment for modeling, evaluation, and validation of performance of Cloud computing applications , 2013, Softw. Pract. Exp..

[38]  Matthew Hennessy A distributed Pi-calculus , 2007 .

[39]  Narciso Martí-Oliet,et al.  All About Maude - A High-Performance Logical Framework, How to Specify, Program and Verify Systems in Rewriting Logic , 2007, All About Maude.

[40]  Joe Armstrong,et al.  Programming Erlang: Software for a Concurrent World , 1993 .

[41]  Jesús Carretero,et al.  iCanCloud: A Flexible and Scalable Cloud Infrastructure Simulator , 2012, Journal of Grid Computing.

[42]  José Meseguer,et al.  PVeStA: A Parallel Statistical Model Checking and Quantitative Analysis Tool , 2011, CALCO.

[43]  Frank S. de Boer,et al.  A Complete Guide to the Future , 2007, ESOP.

[44]  Rajkumar Buyya,et al.  CloudSim: a toolkit for modeling and simulation of cloud computing environments and evaluation of resource provisioning algorithms , 2011, Softw. Pract. Exp..

[45]  Miron Livny,et al.  The cost of doing science on the cloud: The Montage example , 2008, 2008 SC - International Conference for High Performance Computing, Networking, Storage and Analysis.

[46]  Gordon D. Plotkin,et al.  A structural approach to operational semantics , 2004, J. Log. Algebraic Methods Program..

[47]  MeseguerJosé Conditional rewriting logic as a unified model of concurrency , 1992 .

[48]  Suresh Jagannathan,et al.  Safe futures for Java , 2005, OOPSLA '05.

[49]  Thomas A. Henzinger,et al.  Resource Interfaces , 2003, EMSOFT.

[50]  Einar Broch Johnsen,et al.  A Formal Model of Object Mobility in Resource-Restricted Deployment Scenarios , 2011, FACS.

[51]  Einar Broch Johnsen,et al.  A Formal Model of User-Defined Resources in Resource-Restricted Deployment Scenarios , 2011, FoVeOOS.

[52]  Einar Broch Johnsen,et al.  Modeling Resource-Aware Virtualized Applications for the Cloud in Real-Time ABS , 2012, ICFEM.

[53]  Jozef Hooman,et al.  Modeling and Validating Distributed Embedded Real-Time Systems with VDM++ , 2006, FM.

[54]  Elvira Albert,et al.  Cost Analysis of Java Bytecode , 2007, ESOP.

[55]  Denis Caromel,et al.  A Theory of Distributed Objects , 2005 .

[56]  Einar Broch Johnsen,et al.  Simulating Concurrent Behaviors with Worst-Case Cost Bounds , 2011, FM.

[57]  Einar Broch Johnsen,et al.  Validating Timed Models of Deployment Components with Parametric Concurrency , 2010, FoVeOOS.

[58]  Michele Bugliesi,et al.  Space-aware ambients and processes , 2007, Theor. Comput. Sci..

[59]  Rajkumar Buyya,et al.  GridSim: a toolkit for the modeling and simulation of distributed resource management and scheduling for Grid computing , 2002, Concurr. Comput. Pract. Exp..

[60]  Cristina Cerschi Seceleanu,et al.  Embedded Systems Resources: Views on Modeling and Analysis , 2008, 2008 32nd Annual IEEE International Computer Software and Applications Conference.

[61]  Peter Csaba Ölveczky,et al.  Semantics and pragmatics of Real-Time Maude , 2007, High. Order Symb. Comput..

[62]  Wang Yi,et al.  Uppaal in a nutshell , 1997, International Journal on Software Tools for Technology Transfer.

[63]  Klaus Pohl,et al.  Software Product Line Engineering , 2005 .

[64]  Atsushi Igarashi,et al.  Resource usage analysis , 2002, POPL '02.

[65]  Heiko Koziolek,et al.  Performance evaluation of component-based software systems: A survey , 2010, Perform. Evaluation.

[66]  Wolfgang Ahrendt,et al.  A system for compositional verification of asynchronous objects , 2012, Sci. Comput. Program..

[67]  Steffen Becker,et al.  The Palladio component model for model-driven performance prediction , 2009, J. Syst. Softw..