Topological Unified Modeling Language

Topological Unified Modeling Language (Topological UML) is a combination of Unified Modeling Language (UML) and formalism of Topological Functioning Model (TFM). The main aim of improving UML is by transferring topology and mathematical formalism of TFM to UML, thus strengthening the very beginning of the software development lifecycle, while using the TFM as a tool to carefully analyze the problem domain and design the solution domain we are going from more abstract models to more specialized models, thus adding more and more development specific artifacts to design to get us to the executable software. Topological UML is developed as a profile of UML and its specification takes advantage of the package merge feature of UML to merge extensions into UML. The created profile provides a UML specific version of the metamodel that can be incorporated into standard UML modeling tools. Topological UML development is based on following two aspects: (1) at first extending UML by using profile mechanism, thus creating Topological UML profile, and (2) afterwards defining guidelines for using Topological UML in practice (thus formalizing the way the Topological UML is used). This chapter covers extending UML while next chapter—defining guidelines for applying Topological UML profile in practice. Despite that together with Topological UML is defined method on how to apply it in practice, the Topological UML language is intended to support multiple approaches and methods (e.g., structured, object-oriented, and conceptual). It is assumed that each methodology may impose additional constraints on how a Topological UML construct or diagram may be used and applied.