Database of Research Tools Developed Using CADP

DAMASCO Model Transformation Framework for Composition and Adaptation

Organisation: University of Málaga (SPAIN)

Functionality: Composition and adaptation of Workflow Foundation (WF) components.

Tools used: WF (.NET)
Netbeans Enterprise
CADP (Construction and Analysis of Distributed Processes)

Period: 2011

Description: Reuse of software entities (software components, Web services, agents, etc.) is one of the internal factors that determines the quality of software. Thus, component-based and service-oriented systems are developed from the selection, composition and adaptation of pre-existing software entities rather than as a result of programming applications from scratch. Component-Based Software Engineering (CBSE) and Service-Oriented Architecture (SOA) promote the use of Commercial-Off-The-Shelf (COTS) components and services, respectively. However, a certain degree of adaptation is required to avoid mismatches, since the interfaces of the constituent components of a system may not be compatible. Several interoperability levels can be distinguished in interface description languages: (i) the signature level describes operation names, types of arguments and return values, (ii) the behavioural or protocol level specifies the order in which messages for operation invocation are exchanged with their environment, (iii) the quality of service level groups other sources of mismatch, usually related to non-functional properties, such as temporal requirements, resources, security, etc., and (iv) the semantic or conceptual level is concerned with service functional specifications.

This work proposes a context-aware composition and adaptation approach based on model transformation, which according to the Model-Driven Architecture (MDA), takes a source model (e.g., WF) and produces a target model (e.g., transition systems). The approach focuses on systems composed of a component repository, different kinds of users (clients requesting components), and a shared domain ontology. The process consists of a set of steps which have been implemented as a set of tools constituting a framework called DAMASCo (Discovery, Adaptation and Monitoring of Context-Aware Services and Components). When a user performs a request from either a mobile device, a personal computer or a laptop, the composition and adaptation process is executed:
  1. Abstract interface specifications (Context-Aware Symbolic Transition Systems, CA-STSs) are extracted from the WF components, which implement the client and the components.
  2. A discovery process based on semantic and compatibility mechanisms finds the WF components satisfying that request.
  3. Verification techniques are applied, mainly in two cases: (a) to identify mismatch situations that will determine whether the components involved need adaptation or not; (b) to validate a set of properties for the CA-STS client and selected components, by applying symbolic model checking (specifically, Ordered Binary Decision Diagrams, OBDD because of the use of context information and conditions over transitions).
  4. If adaptation is required, then from the discovery process, an adaptation contract is automatically obtained.
  5. Being given the CA-STSs corresponding to client and components, as well as the adaptation contract, a CA-STS adaptor specification is generated, whose resulting composition preserves the properties previously validated.
  6. The corresponding WF adaptor component is generated using the proposed model transformation process, based on state space exploration with pruning using the CADP toolbox.
  7. The whole system is deployed, allowing the WF client and components to interact via the WF adaptor.
The approach is illustrated using a real-world pervasive system for on-line booking.

Conclusions: This work aims at demonstrating that software composition and adaptation can be of real interest for widely used implementation platforms such as WF (.NET), and can help the developer when building software applications by reusing software components. Future work includes the extension to handle dynamic reconfiguration of components, and the design of the proposed model transformation process as a metamodel underlying MDA.

Publications: [Cubo-Canal-Pimentel-11] Javier Cubo, Carlos Canal, and Ernesto Pimentel. "Context-Aware Composition and Adaptation based on Model Transformation". Journal of Universal Computer Science, 17(5):777-806, 2011.
Available on-line at:

Carlos Canal
ETSI Informática
Universidad de Málaga
Campus de Teatinos
29071 Málaga
Tel: +34 952 13 33 11
Fax: +34 952 13 13 97

Further remarks: This tool, amongst others, is described on the CADP Web site:

Last modified: Fri Feb 19 09:13:01 2016.

Back to the CADP research tools page