UML Unified Modeling Language


UML (Unified Modeling Language) is a language (notation) used for developing software. Other than programming languages such as ANSI-C, it is referred to as modeling language.

The main difference between UML and a programming language is that the language constructs (notation elements) go far beyond the syntax of high-level languages and also facilitate, for example, modeling of software architecture.

What does software architecture mean?

In simple terms, each architecture has got the following 3 components:

  • static architecture
  • runtime architecture
  • communication architecture
In very simple embedded systems, these three components correspond to a modular set-up comprising C modules in connection with a main() loop and ISRs as the most basic way of mapping the runtime architecture as well as global variables and include relations for communication.

Based on ANSI-C, it is difficult to take in all interdependencies of increasingly complex architectures, because there aren’t any explicit language constructs to describe the architecture, and there is a need for documentation to this end.

UML provides language elements that facilitate the graphic modeling of software architecture. This fulfills most of today’s software documentation requirements. Software modeled with UML implicitly comprises better documentation, thus enhancing understandability, as well as a better encapsulation of the architecture, resulting in improved portability, reusability and changeability.

This website presents the tools and devices required to develop software with UML.

Learn more on UML.
Read technical papers on UML.

MDD and UML for Embedded Systems: Embedded UML Studio IIŽ