Interfaces and Binding in Component Based Development of Formal Models G. Franceschinis Universit ` a del Piemonte Orientale, Italy giuliana@unipmn.it M. Gribaudo Universit ` a di Torino, Italy marcog@di.unito.it M. Iacono Seconda Universit ` a di Napoli, Italy mauro.iacono@unina2.it S. Marrone Seconda Universit ` a di Napoli, Italy stefano.marrone@unina2.it F. Moscato Seconda Universit ` a di Napoli, Italy francesco.moscato@unina2.it V. Vittorini Universit ` a di Napoli “Federico II”, Italy vittorin@unina.it ABSTRACT Component based modeling is of great importance for build- ing and analyzing models of real systems. It is based on a well known paradigm which makes use of abstraction and composition. In this paper we focus on abstraction, by de- scribing a practical approach to the definition of very sim- ple interface models allowing the substitution of components within composed multiformalism models. The work extends the OsMoSys methodology and relies on meta-modeling. This paper does not discuss formal aspects about interface theory and components interaction, but focuses on the prob- lem of building component models in practice with the ul- timate goal of solving them by using (the existing) analysis tools. The paper formally extends the OsMoSys conceptual model in order to introduce model interfaces and to provide some rules for interface compatibility. The paper also de- scribes some steps towards the full definition of mechanisms for interface binding and their implementation. Categories and Subject Descriptors I.6 [Computing Methodologies]: Simulation and Mod- eling—Simulation Support Systems ; C.4 [Computer Sys- tems Organization]: Performance of Systems—Modeling techniques General Terms Design, Languages, Performance, Reliability Keywords Formal Models, Interface, Binding, Metamodeling, Depend- ability, Performability 1. INTRODUCTION Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. VALUETOOLS 2009 October 20-22, 2009, Pisa, Italy Copyright 2009 ICST 978-963-9799-70-7/00/0004 ...$5.00. The vision of component software engineering is to pro- vide reusable, off-the-shelf software components for design- ing large applications from existing building blocks [22], hence providing a general solution for the reuse problem. The basic idea is that a software component is a “unit of composition with contractually specified interfaces and ex- plicit context dependencies only. A software component can be deployed independently and is subject to composition by third parties” [19]. The aim of the research work (partially) described in this paper is to realize this vision into the de- velopment of formal models. More, we want to introduce the possibility of dynamically changing or choosing parts of the model during the solution steps (e.g. a similar concept is implemented by dynamic Web Service substitution and orchestration [12]). This paper does not discuss formal aspects about inter- face theory and components interaction, but focuses on the problem of building component models in practice with the ultimate goal of solving them by using (existing) analysis tools. In order to achieve these goals we extend the Os- MoSys Modeling Methodology with a notion of model in- terface, interface compatibility and binding, and then we introduce some of the mechanisms to implement them. In- deed, a powerful technique in component programming is being able to implement multiple interfaces on an object. By this technique multiple classes may implement the same interface, and a single class may implement one or more in- terfaces. By implementing interfaces, a component can pro- vide functionalities to any other component requiring that interface. This allows for the interchangeability of different versions of a component without affecting the whole system. In this paper we define the concept of interface for mod- els considered as components. Our goal, besides promoting model reuse, is to globally improve the OsMoSys modeling approach for the analysis of complex systems by allowing on- the-fly (re)definition of parts of a complex model, i.e. while solving the model. The scientific community has studied this topic from dif- ferent points of view leading to different research directions. One research direction concerns the application of formal methods and notations to object oriented and component based approaches [4]. Other approaches, as e.g. [7], for- malize the difference between interface models and behav- ior models by means of a definition of an “Interface alge- Digital Object Identifier: 10.4108/ICST.VALUETOOLS2009.7677 http://dx.doi.org/10.4108/ICST.VALUETOOLS2009.7677