ArticleslgStudy

computer science

Unified Modeling Language

Unified Modeling Language is a computer science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand Unified Modeling Language rather than just read about it. In short: The Unified Modeling Language (UML) is a general-purpose, object-oriented, visual modeling language that provides a way to visualize the architecture and design of a system, similar to the function of a blueprint. UML defines notation for 14 types of diagrams which focus on aspects such as behavior, interaction, and structure.

Unified Modeling Language — main illustration
Unified Modeling Language — illustration

Key takeaways

  • Unified Modeling Language belongs to computer science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect Unified Modeling Language to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of Unified Modeling Language from memory before moving on to harder problems.

Reference excerpt

The Unified Modeling Language (UML) is a general-purpose, object-oriented, visual modeling language that provides a way to visualize the architecture and design of a system, similar to the function of a blueprint. UML defines notation for 14 types of diagrams which focus on aspects such as behavior, interaction, and structure. The UML has a metamodel defined by the OMG UML specification. The metamodel defines the elements in an object-oriented model such as classes and properties. It is essentially the same thing as the metamodel in object-oriented programming (OOP), however for OOP, the metamodel is primarily used at run time to dynamically inspect and modify an application object model. The UML metamodel provides a mathematical, formal foundation for the graphic views used in the modeling language to describe an emerging system. UML was created in an attempt to define a standard language for object-oriented programming at the OOPSLA '95 Conference. Originally, Grady Booch and James Rumbaugh merged their models into a unified model. This was followed by Booch's company Rational Software purchasing Ivar Jacobson's Objectory company and merging their model into the UML. At the time Rational and Objectory were two of the dominant players in the small world of independent vendors of object-oriented tools and methods. The Object Management Group (OMG) then took ownership of UML. The creation of UML was motivated by the desire to standardize the disparate nature of notational systems and approaches to software design at the time. In 1997, UML was adopted as a standard by the Object Management Group (OMG) and has been managed by this organization ever since. In 2005, UML was also published by the International Organization for Standardization (ISO) and the International Electrotechnical Commission (IEC) as the ISO/IEC 19501 standard. Since then the standard has been periodically revised to cover the latest revision of UML. Most developers do not use UML per se, but instead produce more informal diagrams, often hand-drawn. These diagrams, however, often include elements from UML.

Use UML is primarily used for software development (in any industry or domain) but also used outside elsewhere including business processes, system functions, database schemas, workflow in the legal systems, medical electronics, Health care systems, and hardware design.. The UML is used by the OMG itself to define other OMG products such as the Unified Architecture Framework (UAF) and the Systems Modelling Language (SysML) v1. UML is designed for use with many object-oriented software development methods, both today and for the methods when it was first developed – including OMT, Booch method, Objectory, and especially RUP, which it was originally intended to be used with when work began at Rational Software. Although originally intended for object-oriented design documentation, UML has been used effectively in other contexts such as modeling business process. As UML is not inherently linked to a particular programming language, it can be used for modeling a system independent of language. Some UML tools generate source code from a UML model.

Diagrams

UML diagrams support visualizing system aspects like:

Use case diagram for specifying user interactions with systems Class diagram for specifying structures, including data structures Activity diagram for specifying business process workflows Component diagram for specifying how components interface with other components Deployment diagram for specifying how components are deployed and executed on computational nodes In addition to syntactical (notational) elements with well-defined semantics, UML diagrams also allow for free-form comments (notes) that explain aspects such as usage, constraints, and intents.

Sharing UML models can be exchanged among UML tools via the XML Metadata Interchange (XMI) format.

Cardinality notation As with database Chen, Bachman, and ISO ER diagrams, class models are specified to use "look-across" cardinalities, even though several authors (Merise, Elmasri & Navathe, amongst others) prefer same-side or "look-here" for roles and both minimum and maximum cardinalities. Recent researchers (Feinerer and Dullea et al.) have shown that the "look-across" technique used by UML and ER diagrams is less effective and less coherent when applied to n-ary relationships of order strictly greater than 2. Feinerer says: "Problems arise if we operate under the look-across semantics as used for UML associations. Hartmann investigates this situation and shows how and why different transformations fail.", and: "As we will see on the next few pages, the look-across interpretation introduces several difficulties which prevent the extension of simple mechanisms from binary to n-ary associations."

Artifacts

An artifact is the "specification of a physical piece of information that is used or produced by a software development process, or by deployment and operation of a system" including models, source code, scripts, executables, tables in database systems, development deliverables, design documents, and email messages. An artifact is the physical entity that is deployed to a node. Other UML elements such as classes and components are first manifest into artifacts and instances of these artifacts are then deployed. Artifacts can be composed of other artifacts.

Metamodeling

The OMG developed a metamodeling architecture to define UML, called the Meta-Object Facility (MOF). MOF is designed as a four-layered architecture, as shown in the image at right. It provides a meta-meta model at the top, called the M3 layer. This M3-model is the language used by Meta-Object Facility to build metamodels, called M2-models. An example of a Layer 2 Meta-Object Facility model is the UML metamodel, which describes the UML itself. These M2-models describe elements of the M1-layer, and thus M1-models. These would be, for example, models written in the UML. A software architecture description might describe runtime instances of the system.. The last layer is the M0-layer – the real world thing being described or modelled. The UML metamodel can be extended using a mechanism called stereotyping. This has been criticized as being insufficient/untenable by Brian Henderson-Sellers and Cesar Gonzalez-Perez in "Uses and Abuses of the Stereotype Mechanism in UML 1.x and 2.0".

Diagrams

UML 2 defines 14 types or kinds of diagrams – shown as a taxonomy in the image.

… excerpt ends here. Continue reading the full article.

Illustrations

Unified Modeling Language illustration
Unified Modeling Language: Description of Components in a travel reservation system
Description of Components in a travel reservation system
Unified Modeling Language: Artifact manifesting components
Artifact manifesting components
Unified Modeling Language: Illustration of the Meta-Object Facility
Illustration of the Meta-Object Facility
Unified Modeling Language: Hierarchy of UML 2.2 Diagrams, shown as a class diagram
Hierarchy of UML 2.2 Diagrams, shown as a class diagram

Worked examples

Example 1 — a first encounter with Unified Modeling Language

Start with the simplest possible case. Write down what Unified Modeling Language claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In computer science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to Unified Modeling Language before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about Unified Modeling Language ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of Unified Modeling Language

In research
Unified Modeling Language appears in computer science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses Unified Modeling Language in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
Unified Modeling Language is common in secondary-school and first-year university syllabi. It links to neighbouring topics Architecture description language, Data modeling diagrams, Data modeling languages, so understanding it makes those chapters shorter.
In everyday life
Look for Unified Modeling Language outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study Unified Modeling Language in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what Unified Modeling Language means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain Unified Modeling Language out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is Unified Modeling Language in simple terms?

The Unified Modeling Language (UML) is a general-purpose, object-oriented, visual modeling language that provides a way to visualize the architecture and design of a system, similar to the function of a blueprint. UML defines notation for 14 types of diagrams which focus on aspects such as behavior…

Why does Unified Modeling Language matter?

Because it connects several computer science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study Unified Modeling Language?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on Unified Modeling Language.

Tags

  • Architecture description language
  • Data modeling diagrams
  • Data modeling languages
  • Diagrams
  • ISO standards
  • Knowledge representation
  • Modeling languages
  • Software modeling language
  • Specification languages
  • Unified Modeling Language

Keep exploring