UML 2.0 Components

Master thesis

Advisor: VladimÝr Mencl
Author: Matej Polák


The Unified Modeling Language - UML Version 2.0 [4][5][6] provides constructs for modeling software components.

The main goal of this thesis is to analyze the UML 2.0 component model. In order to demonstrate its possible use as well as its restrictions, we provide a mapping of UML 2.0 to the SOFA [2][7][8][9] and Fractal [11] component models. In these mappings, we elaborate various problems arising from differences between UML 2.0 modeling constructs and the SOFA and Fractal component models, respectively. In the mappings, the key aim was to utilize the available UML 2.0 constructs for designing components.

The mappings proposed in this thesis have been implemented in a plugin for the UML tool Enterprise Architect [10]. This plugin allows to generate SOFA and Fractal source code from a UML model. The selection of the UML tool was based on an analysis of available UML CASE tools, with focus on support for UML 2.0 component modeling constructs. The plugin developed for Enterprise Architect is included in the electronic appendix of the thesis and is available for download below.

Current Status

The thesis has been successfully defended on Sep 20, 2005, and is now publicly accessible and available for download.


Resources available for download:


You may also wish to access the original thesis proposal.


[1] Cifka M.: Visual Development of Software Components. Master Thesis, Charles University, Prague, Sep 2002

[2] Mencl V.: Component Definition Language. Master Thesis, Charles University, Prague, 1998

[3] Mencl V.: Specifying Component Behavior with Port State Machines. Electronic Notes in Theoretical Computer Science, vol. 101C pp. 129-153, Proceedings of the Workshop on the Compositional Verification of UML Models, Nov 2004

[4] OMG: UML 2.0 Diagram Interchange Specification. ptc/03-09-01, 2003,

[5] OMG: UML 2.0 Infrastructure Specification. ptc/03-09-15, 2003,

[6] OMG: UML 2.0 Superstructure Specification. ptc/04-10-02, 2004,

[7] Oplustil, T.: Inheritance in Architecture Description Languages. Reviewed section of Proceedings of the Week of Doctoral Students 2003 conference (WDS 2003), Charles University, Prague, 2003, pp.124-131, Jun 2003

[8] Plasil F., Balek D., Janecek R.: Architecture for Component Trading and Dynamic Updating. Proceedings of ICCDS'98, Annapolis, Maryland, USA, IEEE CS Press, May 1998

[9] Plasil F., Visnovsky S., Besta M.: Bounding Component Behavior via Protocols. Proceedings of TOOLS USA '99, CS IEEE, TOOLS 30, pp. 387-398, Aug 1999

[10] Sparx Systems: Enterprise Architect Documentation., April 2005

[11] Bruneton, E. Coupaye, T., Stefani, J.B.: The Fractal Component Model. Draft 2.0-3,, Feb 2004