AOSD Conference  
Program Overview
Technical Program
Industry Track
Student Extravaganza
Conference Venue
Chicago Photos
Chicago History
Student Volunteers
AOSD-Europe Sponsorships

D4: Developing Dynamic and Adaptable Applications with CAM/DAOP: A Virtual Office Application

Mónica Pinto Alarcón, University of Málaga
Daniel Jiménez Priego, University of Málaga
Lidia Fuentes Fernández, University of Málaga

Wednesday, March 16, 14:45
Thursday, March 17, 14:45

CAM/DAOP is a component and aspect based model and platform implemented using Java/RMI and reflective techniques. On the one hand, CAM (Component-Aspect Model) is a new model to design component and aspect based applications specified in UML, which defines the main entities of a CAM application and the relationships among them. On the other hand, the DAOP platform is a distributed component and aspect platform that implements the CAM model and provides a dynamic weaving mechanism that plugs aspects into components at runtime. Another relevant feature of this approach is the use of DAOP-ADL, an XML-based architecture description language that is used to describe the structure of CAM applications in terms of a set of components, aspects and composition constraints. The information generated with DAOP-ADL is used at runtime by the DAOP platform that consults it to obtain the composition rules that indicate how to perform the dynamic composition of components and aspects. Using CAM/DAOP we have developed several collaborative applications, where the most relevant one is a Virtual Office application, which allows dispersed users to collaborate as if they were co-located.

Attendees of the demonstration will see how to develop Dynamic and Adaptable Component and Aspect Based Applications with CAM/DAOP. The demo will go through the different phases involved in the development of the Virtual Office Application: (1) the application design using the CAM model and an UML editor; (2) the description of the application architecture using the DAOP-ADL language; (3) the reuse of pre-implemented components and aspects; (4) the execution of the application by the DAOP platform using the information provided with DAOP- ADL, and (5) the possibility to dynamically adapt the behavior of the application at runtime by modifying the application architecture described in the DAOP-ADL language.

Edited by the AOSD Conference Committee.  Send comments to: