Model & Language | Distribution & Mobility
 PRISMA Model & Language  

PRISMA is an approach to develop complex information systems. This approach provides a model and an architecture description language (ADL). The PRISMA model defines software architectures by integrating aspect-oriented software development (AOSD) and component-based software development (CBSD).

PRISMA MODEL

The PRISMA architectural model allows the definition of architectures of complex software systems. Its main contributions are the integration of the AOSD and the CBSD and its reflexive properties. In this way, PRISMA specifies different characteristics (distribution, safety, context-awareness, coordination, etc.) of an architectural element (component, connector) using aspects, and it has a meta-level to evolve its architectural models.

A PRISMA architectural element can be seen from two different views, internal and external. The internal view shows an architectural element as a prism (see Figure 1(a)). Each side of the prism is an aspect of this architectural element. In this way, we represent that an architectural element of PRISMA is formed by a set of aspects; whereas, the external view is an architectural element that encapsulates its functionality as a black box and publishes a set of services that it offers to the rest of the architectural elements (see Figure 1(b)).

InternalView.jpg

ExternalView.jpg

Figure 1 (a). Internal View of an Architectural Element

Figure 1 (b). External Viewof an Architectural Element

A PRISMA architectural element is formed by a set of aspects, its weaving relationships and the ports that offer and request services of a specific interface(see Figure 2).

 

Internal+externalviews.jpg

Figure 2. A PRISMA Architectural Element

The PRISMA meta-level has been represented by means of a metamodel which contains one metaclass for each PRISMA concept. These metaclasses define the set of properties and evolution services for each considered concept in the model.

PRISMA ARCHITECTURE DESCRIPTION LANGUAGE (PRISMA ADL)

The PRISMA ADL defines the architectural elements at different levels of abstraction: the types definition level and the configuration level. The types definition level defines architectural types (interfaces, aspects, components and connectors) with a high abstraction level. Its main advantages are software reuse and complexity reduction by integrating components and aspects. In this way, we show both component definition and aspect description. The PRISMA types defined at this level are stored in a PRISMA library so that they can be reused by other types or specific architectures.

 

 The configuration level designs the architecture of software systems by creating and interconnecting instances of the defined architectural elements in the previous level. In other words, at this level we specify the topology of a specific software system.

PRISMA ADL