Learn More
This article presents a formal semantics for UML based on algebraic abstract types. Currently we only consider class diagrams and object diagrams. These diagrams include class structure, association, car-dinality expression, constraint, instance as well as specialization relationship. We give a formal semantics for each of these elements by interpreting the(More)
Explicit behavioural interfaces are now accepted as a mandatory feature of components to address architectural analysis. Behavioural interface description languages should be able to deal with data types and with rich communication means. Symbolic Transition Systems (STS) support the definition of component models which take into account control,(More)
Software product line (SPL) engineering is a recent approach to software development where a set of software products are derived for a well defined target application domain, from a common set of core assets using analogous means of production(for instance, through Model Driven Engineering). Therefore, such family of products are built from reuse, instead(More)
An efficient mechanism for method lookup is cs-scntial in any reasonable implementation of a cluss-based object-oriented language. One tcchniquc, static caches, provide constant time lookup, but consumes cx-cessive memory. To alleviate the memory consumption problem many systems USC a coloring schcmc that allows cache rows to be shared and thus reduces the(More)
Component-Based Software Engineering (CBSE) has now emerged as a discipline for system development. Important issues in CBSE such as composition incompatibility detection and (dynamic) adaptation can only be addressed with the help of formal component models with Behavioural Interface Description Languages (BIDLs) and explicit protocols. The issue is then(More)
Methods are needed to help using formal speciications in a practical way. We herein present a method for the development of mixed systems, i.e. systems with both a static and a dynamic part. Our method helps the speciier providing means to structure the system in terms of communicating subcomponents and to give the sequential components using a(More)
Components, connectors and architectures have now made a breakthrough in software industry, leading to Component-Based Software Engineering (CBSE). In this paper, we argue for the pragmatic use of formal methods to design and reason on CBSE systems at an abstract level and to solve CBSE issues. We give some possible benefits of such an approach and list(More)
We present the current state of our STSLib project. This project aims at defining an environment to formally specify and execute software components. One important feature is that our components are equipped with a protocol description, namely a Symbolic Transition System. These descriptions glue together a protocol with guards and input/output notations(More)
Methods are needed to help using formal speciications in a practical way. We present a speciication method that takes into account both the speciication of concurrent activity and the speciication of the data types involved. It is applied here to LOTOS speciication, but it may be used for other formalisms. Our method is both constraint oriented (for the(More)