Abstract
A software component is a reusable, high-level software entity with provided and required interfaces. Software components can be composed together in order to build software systems. When modeling component-based software, the traditional way is to manually attach their provided and required interfaces. This way of modeling is supported by the Unified Modeling Language, which is an OMG standard for object-oriented modeling. As an alternative to this traditional approach, algebraic component composition is an approach that emphasizes the definition of atomic components and their compositions in an algebraic manner. The compositions are done via algebraic expressions. The result of an algebraic expression is a new composite component which is automatically derived from the components used in the expression. Component-based modeling in the algebraic manner is not supported by the standard UML. The result of this master s thesis is a prototype which creates UML models of components and algebraic component compositions. The prototype accepts a textual specification of the model which it type- checks and translates to the corresponding UML model. A UML profile is used to extend the UML metamodel to support algebraic component composition.