Developing Executable UML Components Based on fUML and Alf

Developing Executable UML Components Based on fUML and Alf

S. Motogna (Babeş-Bolyai University, Romania), I. Lazăr (Babeş-Bolyai University, Romania) and B. Pârv (Babeş-Bolyai University, Romania)
DOI: 10.4018/978-1-4666-6359-6.ch014
OnDemand PDF Download:
No Current Special Offers


Model-driven architecture frameworks provide an approach for specifying systems independently of a particular platform and for transforming such system models for a particular platform, but development processes based on MDA are not widely used today because they are in general heavy-weight processes: in most situations they cannot deliver (incrementally) partial implementations to be executed immediately. Executable UML means an execution semantics for a subset of actions sufficient for computational completeness. This chapter uses Alf as the fUML-based action language to describe the operations for iComponent: the proposed solution for a platform-independent component model for dynamic execution environments. Moreover, a UML profile for modeling components is defined and applied, following agile principles, to the development of service-oriented components for dynamic execution environments. The intended use of the proposed approach is enterprise systems.
Chapter Preview


Some service-oriented component models support the dynamic availability of components at run-time and offer the possibility to build dynamically adaptable applications. However, building service-oriented components is a complex task due to the complexity of service-oriented frameworks. In this context today frameworks try to simplify the component development by allowing developers to concentrate only on implementing the business logic of the component and then to configure declaratively the component deployment.

In this chapter, we describe our contribution to this domain, as a continuation to the ComDeValCo framework with updates regarding the Alf specification, that can be expressed in:

  • A platform-independent component model, iComponent with a corresponding UML profile for constructing components as UML models according to MDA;

  • An agile MDA approach for constructing executable models for service oriented components;

  • Mappings of iComponent to some existing service-oriented component frameworks.

Key Terms in this Chapter

Agile MDA: Applies the main agile principles into a classical MDA process;“models are linked together, rather than transformed, and they are then all mapped to a single combined model that is then translated into code according to a single system architecture” ( Mellor, 2005 ).

Execution Environment: Manages application compositions based on service availability and provides deployment and integration ( Cervantes & Hall, 2004 ).

Test-Driven Development: Is a software development technique that relies on repeatedly apply small unit testing in order to detect system behavior and write the corresponding code ( Beck, 2002 ).

Action Language: Part of executable UML, uses only elements allowed by fUML standard and should create abstract representations for all the elements the model requires ( Mellor & Balcer, 2002 ).

Component-Based Development: Software systems are developed and deployed as a set of components, providing loose coupling among the application components, third-party component selection, and increased component reuse ( Escofier & Hall, 2007 ).

Executable UML: Represents an execution semantic for a subset of actions sufficient for computational completeness. Two basic elements are required for such subsets: an action language and an operational semantics ( Mellor & Balcer, 2002 ).

Service-Oriented Component Model: Adopts the service oriented approach of late binding among components via services. Thus, the application is consists of component composition, and at run time it adapts based on availability of the services ( Cervantes & Hall, 2004 ).

Complete Chapter List

Search this Book: