D5.1.1 Models of Real-time Applications on Service Oriented Infrastructures

The IRMOS project is developing tools and techniques for modelling, simulating, analysing, and planning real-time applications on service oriented infrastructures. These tools and techniques support the processes involved in designing, developing, deploying and executing applications where guaranteed QoS is needed. The report considers the value-chain for real-time applications hosted by third-party service providers. In the context of this value chain, we analyse who might benefit from the use of models, how and why these models might be used, and when during the application lifecycle modelling is most useful. Techniques are presented for building models of real-time applications including the use of stochastic process algebras, finite state automata, workflow models (e.g. BPEL, BPMN and YAWL) and specification languages (e.g. UML MARTE). The report discusses how these models need to be supported by estimation of application resource consumption, e.g. through benchmarking and fitting, and how mapping techniques allow models to be built for different actors in the value chain, e.g. for application providers and infrastructure providers. Tool support is also discussed e.g. PRISM for probabilistic model checking and Visual Service Composition Studio for service-oriented modelling. A detailed and specific real-time application scenario is included and modelled to allow the various techniques presented in this document to be demonstrated and quantitatively evaluated. The scenario also reveals the level of detail needed in order for meaningful modelling to be achieved in practice. The modelling scenario has been carefully engineered to be as representative as possible of the broad range of application characteristics encountered in the three reference IRMOS applications (film postproduction, eLearning, virtual and augmented reality). The modelling techniques discussed and then demonstrated in this report include identifying what resources are necessary to support an application, when those resources will be required during the application workflow, what performance is needed from them (i.e. QoS) and what will happen to the application if the required performance is not delivered. All of these are essential when developing and then agreeing service level agreements between the various entities in a service oriented infrastructure.