Modeling Platform-Independent and Platform-Specific Service Architectures with UML and the ArchiMeDeS Framework

Modeling Platform-Independent and Platform-Specific Service Architectures with UML and the ArchiMeDeS Framework

Marcos López-Sanz (Rey Juan Carlos University, Spain) and Esperanza Marcos (Rey Juan Carlos University, Spain)
DOI: 10.4018/978-1-4666-6026-7.ch011
OnDemand PDF Download:


Service-oriented architectures have, over the last decade, gradually become more important. The vast diversity of implementation and support platforms for this kind of architecture increases the complexity of the processes used to develop service-based systems. The task of specifying service architectures can be eased by following a model-driven approach and the appropriate model notations. In this chapter, the authors explore the architectural properties of the service-oriented paradigm and present part of a framework for the specification of service-oriented software architectures. The main idea is to use the separation into different abstraction levels fostered by the MDA proposal and tackle the software architecture specification progressively, stepping from conceptual to platform-specific levels. This chapter particularly concentrates upon describing UML profiles for the PIM and PSM levels of service-oriented architectural models, along with their corresponding metamodels. The use of the proposed profiles is illustrated in a case study in which the proposed profiles are implemented.
Chapter Preview


The development of systems based on services has grown in importance over the last few years. The introduction of the service orientation principles into the business field (Krafzig et al., 2004), the specification of new technological standards for services (W3C, 2011) or the usage of services as a basis in the construction of middleware systems (Foster and Kesselman, 1998) are among the main motivations. However, several problems have arisen throughout this evolution, among which are issues such as the migration of the execution platform, the design and implementation of intricate lifecycles, the increase in the complexity of the development process and the lack of a precise definition for the concepts involved in SOA (Service Oriented Architecture) solutions.

Various actions can be taken to tackle these problems. We focus on two:

  • The accomplishment of a study of the architectural principles governing the service-oriented designs. The architecture of a system reflects that system’s structure and behavior, and how it evolves as time elapses. The architecture of a service-oriented system should also include features related to business processes and organizational aspects. The integration of business models, which has led to their rapid evolution and spreading, is one of the main benefits of SOA.

  • The use of a methodological approach in order to reduce the complexity of the SOA development process. One of the current trends that is gaining most importance is the model-driven approach. The ideas behind the MDA (Model-Driven Architecture) proposal (Miller and Mukerji, 2003) can facilitate and improve the development of SOA solutions.

Service-oriented development methods based on the MDA principles and an architecture-centric method could consequently be used to solve the problems stated at the beginning. MDA conceives models as first class elements during system design and implementation, and establishes the separation of the development process into three abstraction levels, namely CIM (Computation Independent Model), PIM (Platform Independent Model) and PSM (Platform Specific Model). Its main feature, however, is the definition of mappings (model transformation rules) between the models defined at each level and between levels, which makes the automation of the development process possible (Selic, 2003). In our case, the methodological framework that we use as a basis is ArchiMeDeS, a service-oriented framework for the model-driven specification of software architectures (López-Sanz and Marcos, 2012).

In previous research works (Marcos et al., 2006), we have made an in-depth study of the convenience of extending the MDA proposal in order to support the specification of the architectural modeling aspect within an MDE (Model-Driven Engineering) process. The conclusions of the aforementioned work have been used as a basis to develop a UML profile for the PIM and PSM levels within a process for service-oriented architectural modeling, which is presented in this chapter. We shall also present the corresponding metamodel comprising the semantic meaning and relationships associated with the elements defined in the profile. This is illustrated and validated through the use of a real-world case study: an extension for a Web Information System for medical image management called GESiMED (Acuña et al., 2008).

In order to place the research presented in context, we comment on some other works related to the topic shown in this chapter. We shall analyze proposals dealing with: the definition of the SOA principles (Aiello and Dustdar, 2006; Lublinsky, 2007; Papazoglou, 2008); UML profiles for service-based developments (Amir and Zeid, 2004; Wada et al., 2006; Zdun and Dustdar, 2007), and even the MDA principles when applied to SOA (Larrucea and Benguria, 2006).

Key Terms in this Chapter

Service-Oriented Architecture (SOA): A software design, software architecture design pattern and architectural style based on structured collections of discrete software entities with clearly defined capabilities, known as services, which collectively provide the complete functionality of a large software application.

Architecture-Centric Development: Software development approach in which the description of the architecture is the heart and central concern of the process. The use of this approach permits the (abstract) architectural description to be checked, refined and designed in order to obtain more concrete descriptions that will be executed.

Model-Driven Engineering (MDE): Refers to the systematic use of models as primary engineering artifacts throughout the engineering lifecycle. According to many authors, it offers a promising approach with which to address the inability of third-generation languages to alleviate the complexity of platforms and express domain concepts effectively.

Domain-Specific Language (DSL): A language that is written to represent or describe terms and concepts within a specific domain. UML Profiles: An extension mechanism that allows standard semantics to be refined in a strictly additive manner, thus preventing them from contradicting standard semantics. These profiles provide a generic extension mechanism with which to customize UML models for particular domains and platforms.

Model-Driven Architecture (MDA): A software design approach for the development of software systems that is based on the provision of a set of guidelines for the structuring of software specifications in different abstraction levels. It uses models as first-class elements and fosters the definition of model transformation rules to progress in the software development.

Software Architecture: The fundamental concepts or properties of a system in its environment embodied in its elements, relationships, and in the principles of its design and evolution.

Complete Chapter List

Search this Book: