A Profile-driven Environment for Modeling and Analyzing Context-Aware Software Services Luca Berardinelli, Vittorio Cortellessa, Antinisca Di Marco Dipartimento di Informatica Universit` a dell’Aquila, Coppito, Italy {luca.berardinelli, vittorio.cortellessa, antinisca.dimarco}@di.univaq.it Abstract Software services, in the near future, will be deployed on mobile, resource-limited devices that communicate through heterogeneous B3G (Beyond 3rd Generation) networks. They shall adapt themselves according to context and requirement changes without degrading software-related QoS. Supporting the development and maintenance of such services involves languages, methods and tools: this is the main target of the framework presented in this paper. The development process the framework refers to is a combina- tion of multiple model-based solutions that aim at address- ing these issues in a comprehensive way. In this paper, we present the development environment that we have devised to support part of such process. In particular, we show, through a case study, how to model a service-based appli- cation in the framework where each service is implemented as a collection of components and, from the obtained Ser- vice Model, how to generate and analyze a performance model in order to validate performance requirements. 1 Introduction Software services, in the near future, will be deployed on mobile, resource limited, heterogeneous devices that com- municate through networks based on heterogeneous con- nection characteristics (namely B3G networks). In this sce- nario services have to adapt themselves according to a set of available resources without sensibly degrading their Qual- ity of Service (intended as a combination of non-functional properties). The development, deployment and mainte- nance of such services claim for new approaches along the whole lifecycle because traditional approaches do not pro- vide adequate support in terms of languages, methods and tools. The main target of the PLASTIC project [37] is an inte- grated model-based solution to the development and main- tenance of services deployable over B3G networks. The leading idea of the project is to make the context, such as device and network related characteristics, emerging at the level of software services, so that services can be designed to adapt to context changes. In practice, the role of the middleware is not any more to hide the network or device characteristics, but rather of- fering an homogeneous functional interface to the services through which context data can be queried and retrieved. A new development process model has been devised [1] to achieve this goal in a comprehensive way, as illustrated in Figure 1. All the activities originate from the PLASTIC Conceptual Model [36, 2], that is the starting point of the whole development process. A Service Model is built on the basis of concepts described in the PLASTIC Conceptual Model, and it can be ideally partitioned in two sides, that are: the Service Functional Specification and the Service Non Functional Specification. The process in Figure 1 can be accordingly partitioned in two sides, each representing a set of activities that takes place concurrently with the ones in the other side. The left-hand side of the figure shows the generation of multiple analysis models [14, 15, 16, 20, 19] that sup- port the QoS validation of the service under development, whereas the right-hand side shows the generation of the ser- vice code. Both sides are based on model-to-model and model-to-code transformations supported by free Eclipse- based tools [10, 21]. All the models that feed such transfor- mations are exported in the free Eclipse UML format thanks to the seamless integration of MagicDraw [31] with the Eclipse platform. The final result of this process is a de- ployable service code [25, 26, 27] that, through the support of the analysis models generated during the development, has the capability to adapt to heterogeneous devices with heterogeneous network connections while still providing an acceptable level of QoS. In this paper we focus on the construction of a Service Model and the model-based validation of the service per- formance requirements. The service modeling is based on a 2010 36th EUROMICRO Conference on Software Engineering and Advanced Applications 978-0-7695-4170-9/10 $26.00 © 2010 IEEE DOI 10.1109/SEAA.2010.47 199