DYNAMICA

DYNAMICA ProjectDYNAMICA (DYNamic and Aspect-Oriented for Modeling Integrated Component-based Architectures) is a project financed by the Inter-ministerial Commission of Science and Technology of Spain (CICYT). The main investigator of the project is Dr. Isidro Ramos Salavert of the Polytechnic University of Valencia (Spain). The project is spected to last 3 years, and has begun in December of 2003. DYNAMICA is a coordinated project in which participate investigators of several Spanish universities.

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). The more complex software systems are the more relevant the non functional requirements and the consideration of quality requirements become when importing commercial off-the-shelf (COTS) components. These quality requirements will depend on the system to be developed and must be as objective as possible.

One of the techniques that may be used to control and assure the quality of a product are the software metrics that will be specifically defined for each application taking into account the most convenient quality criteria. Moreover, these metrics must be validated both formally and empirically to make sure that they are useful for achieving the established goals. Additionally, requirements related to security issues are also becoming very important and it is critical that every future development takes them into account.

The DYNAMICA 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. Additionally, mechanisms to incorporate requirements as a front-end for PRISMA will also be defined.

The evolution of software artefacts (e.g. conceptual models, databases,…), no matter its nature is intra-model (problems of maintenance, migration of instances,…) or inter-model (problems of restoration of legacy applications) by means of (formal) transformations is a very hot research field that looks for solutions at different levels of abstraction: programming (inspection, structural reflection, dynamism), design (dynamic reconfiguration), requirements (traceability) requiring models, formalisms (reflexive languages like Maude, TF logic, …), methods and tools (CASE). In our opinion, this is the only way to solve the software crisis that is still present in which 80% of the effort and investment is devoted to maintaining software artefacts (evolution). The DYNAMICA project emerges from previous experiences in the field and from real-world systems such as remotely operated systems, virtual environments for dynamic dissemination of digital information and Grid applications. These systems will serve to validate our proposed ideas.

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. Catalogues of reusable requirements will be generated for the aspects that are present in all the studied systems paying special attention to security and quality requirements using metrics and rigorous validation and verification procedures based on different formalisms (OASIS, Maude). To achieve these goals the needed software tools will be generated to give support to developers.

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.

More information at the DYNAMICA website:
http://issi.dsic.upv.es/projects/DYNAMICA
Safeguard your digital wealth with the multi-layered security features integrated into Ledger Live.