Dynamica | Microsoft

DYNAMICA – DYNamic and Aspect-Oriented Modeling
for Integrated Component-based Architectures

DYNAMICA is a project funded by the Department of Science and Technology (Spain) under the National Program for Research. This project is composed by five subprojects that belongs to five Spanish Universities. They are the following:



PRISMA - Plataforma OASIS para Modelos Arquitectónicos

ISSI - Polytechnic University of Valencia

ANCLA - Arquitecturas Dinámicas para Sistemas de Teleoperación

DSIE - Polytecnic University of Cartagena

CALIPO - Calidad en Portales

ALARCOS - University of Castilla-La Mancha

CARATE - Controlador de Arquitectura Reconfigurable para Aplicaciones de Teleoperación

ISL - University of Carlos III

PRESSURE -Precise Software Models and Requirements Reuse

GIS - University of Murcia

PRISMA - OASIS Platform for Architectectonical Models

Developing Information Systems is becoming a difficult task due to their inherent complexity and the dynamism and competitiveness of the business arena with constant evolving requirements. Consequently, next generation development environments must support not only the management of user requirements in a agile and productive way but also the construction of applications with complex, distributed, evolving and reusable architectures. The Object Oriented approach itself may not cope with the requirements of existing complex information systems. As a result, two new tendencies in the field of software systems development have arisen, the Component Based Software Development (CBSD) and the Aspect Oriented Software Development (AOSD).

This project will develop a variety of models, languages and CASE tools for the construction of architectural models based on aspects and components as the ones proposed in PRISMA taking also into account quality and security requirements. The metalevel of PRISMA and the reflexive properties of the designed languages will support the evolution of every architectural element, the dynamic reconfiguration of the topology and the adaptation of existing instances to the new structure of a given system.

PRISMA is based on algebraic specifications and formal languages (OASIS) that allow compilation and automatic generation code schemas to be implemented. PRISMA will provide a platform for modelling software architectures using visual languages hiding the underlying formalisms that are used when automatically generating code. PRISMA will allow the design of a great variety of information systems that have in common their dynamic nature. More concretely the project will solve the problem of designing reusable and adaptive software architectures.

In summary, the crucial point is that the detected problems have to do with the interaction patterns among components rather than with the functional decomposition that defines a given architecture. As a result, it can be deduced that the proposed solution must incorporate two capabilities:

  • Mechanisms and rules to incorporate and eliminate aspects in components
  • Mechanisms and rules to define varying interaction patterns (even at run-time)

This is the main reason to design architectures at a higher level of abstraction, so that it is possible to both reuse those designs in other architectural contexts and adapt them at compilation and run time preserving the quality requirements of the system. Robot teleoperation systems are a very interesting field in which these ideas can be put into pratice in industrial environments. The peculiarities of these systems make feasible to consider the incorporation of dynamic aspects into the software architecture of the system. The above approach will be used in order to obtain an unique architectonic framework in which all the shared features can be integrated and where the dynamic adaptation of the requirements can be achieved, depending on the environment variations. In order to fulfill these objectives it will be needed the identification of those system aspects capable of change and to determine the required modifications on the used architectural model. In addition, it will be crucial to analyze the existing dynamism between distributed components and the capability of change in an industrial environment. After identifying those dynamic aspects we will get a formal specification of the system architecture by using the component language definition (developed inside this coordinated project).