Model & Language | Distribution & Mobility
 Distribution & Mobility  

MOTIVATION

Currently most software systems have a distributed nature. The development of distributed and mobile software is a complex task. As a result, it is important to take into account distribution and mobility from the early stages of the development process instead of delaying their considerations to the implementation stage. Our goal is to automatically generate code of distributed and mobile information systems from their software architecture specifications using the PRISMA ADL.

 

 

RESEARCH PERFORMED

 

The PRISMA metamodel and ADL incorporate distribution, mobility and replication primitives for describing software architectures of distributed systems [Ali05].  In addition, a study has been performed in order to specify when architectural element instances should move or replicate [Ali03]. These situations have been organized in patterns, specified in the ADL. In this way, aspects of architectural elements reuse the patterns specifications (see Figure 1)

Figure 1  Specification of Mobile and replicable architectural elements using patterns

ON GOING RESEARCH (AMBIENT-PRISMA)

Currently we are extending our PRISMA model and ADL in order to incorporate the concept of ambient introduced by Luca Cardelli in the process algebra Ambient Calculus [Car98]. An ambient is a bounded place where computation happens.  An ambient is an entity that has mobile capabilities to either enter, exit or open other ambients. PRISMA introduces the concept of ambient in its metamodel as an architectectural element that is responsible for modelling location herarchies and offers mobility services (ambient capabilities) to other architectural element instances of a PRISMA software architecture [Ali052]. Following the PRISMA approach the ambient architectural element has two views:  the internal view (AOSD view) and the external view (CBSD view). In the internal view, each ambient has a mobility aspect that seperates its mobility capabilities from the rest of concerns. This mobility aspect is defined in a way that is reusable in all ambients. In the external view, the ambient is seen a a black box that has a set of ports that offer and request services ( see Figure 2).

Figure 2  An Ambient as a PRISMA Architectural Element

Ambient-PRISMA allows configuring a distributed  software architecture considering ambient hierarchies and security. This is because an ambient can contain proceses and other ambients. The ambient hierarchies are represented considering an ambient as a complex component that can include other architectural elements ( see Figure 3) .  

Figure  3 A hierarchical View of a software architecture with ambients

In the near future, we are going to extend the PRISMANET middleware to incorporate the AMBIENT-PRISMA primitives in order to generate automatically the code for distributed and mobile information systems. In addition, we are going to provide the graphical notation for the AMBIENT-PRISMA ADL using DSL toools (see Microsoft Project Tab).

BIBLIOGRAPHY

  • [Ali03]N. Ali, J. Silva, J. Jaen, I. Ramos, J.A. Carsi, J. Perez. "Mobility and Replicability Patterns in Aspect-Oriented Component-Based Software Architectures". Proceedings of 15th IASTED , Parallel and Distributed Systems, Acta Press(Marina del Rey, C.A.,USA, November 2003), p 820-826.
  • [Ali05] N. Ali, I. Ramos, J. A. Carsi, “A Conceptual Model for Distributed Aspect Oriented Software Architectures”, International Conference on Information Technology (ITCC 2005), IEEE Computer Society, ISBN 0-7695-2315-3, April 2005, pp 422-427.
  • [Ali052] N. Ali, J. Perez, I. Ramos, J.A. Carsi. "Introducing Ambient Calculus in Mobile Aspect-Oriented Software Architectures", Proceedings of the Fifth Working IEEE/IFIP Conference on Software Architecture (WICSA), IEEE Computer Society, Pittsburgh, Pennsylvania, USA, 6-9 November 2005 (position paper)
  • [Car98] L. Cardelli, A. D. Gordon, “Mobile Ambients”, Foundations of Software Science and Computational Structures: First International Conference, FOSSACS '98, LNCS 1378, Springer, 1998, pp. 140-155.