Hands-On Visual Modeling of Engineering Systems with UML

TUTORIAL OBJECTIVES

The objectives of this tutorial are as follows:

  1. To explain the goals and benefits of UML.
  2. To explain role of visual modeling languages (in particular UML) in representing the mission, behavior, structure, and performance of engineering systems.
  3. After we figure out how OCL can be connected to UML, hopefully this item will also include "preliminary performance assessment" of engineering systems.

The tutorial does not cover:

  1. UML diagram notation and semantics. These details are covered in the supporting tutorial .
  2. Systems engineering development processes (e.g., models of systems engineering lifecycle development).

Understanding the capabilities and limitations of UML applied to the development of a broad range of everyday products (e.g., a portable CD player; traffic intersection) is a prerequisite to abstracting multiple discplines to properly annotated information representations, and allowing for communication among disciplines and multiple contextual views.

To this end, a medium-term goal is exploring uses of UML in systems composed of software and hardware, definitions of system requirements, logical models (i.e., models that do not commit to an implementation technology). physical models, and models amenable to reuse.

Why Hands-On? Web-based learning should be an interactive/active experience. Hence, I think that we need to create a software tool that reads XML descriptions of UML diagrams, perhaps linked in hierarchies and networks. Small examples would be encoded in web pages (or in a small number of files). Large (real-world examples) would be downloaded from a project database.

TABLE OF CONTENTS

  1. Introduction to UML
    Purpose : Explain role of visual modeling languages, particularly UML, in representing the behavior and structure of engineering systems.
    Topics : Importance, history and uses of UML; Object-Oriented Concepts; Elements of UML; Engineering System Development with UML.

  2. Representing System Functionality with Use Cases
    Purpose : Explain how use cases can describe system functionality.
    Topics : Textual use cases; Use case diagrams (describing user requirements);

  3. Simplified Modeling of System Behavior
    Purpose : Explain how UML diagrams can model system behavior.
    Topics : Sequence and Collaboration Diagrams; Elements of Real-Time Systems; Common Mistakes.

  4. Modeling the Structure of a System
    Purpose : Explain how UML diagrams can model system structure.
    Topics : Specifying Classes; Identifying Relationships among Classes; Creating Object and Class Diagrams;

  5. Modeling State-Dependent System Behavior
    Purpose : Explain how state machines can capture logical and state-dependent system behavior.
    Topics : Statechart Diagrams (Capturing state-dependent behavior); Activity Diagrams (Specifying behavioral logic).

  6. Extensions to Standard UML
    Purpose : Explain extensions to standard UML needed to assess performance of engineering systems.
    Topics : Adding Properties with Tagged Values; Extending Semantics with Constraints; Object Constraint Language (OCL).

  7. Visual Modeling Tools
    Purpose : Explain capabilities, benefits and limitations of commerial visual modeling tools.
    Topics : Development Objectives; Commercial Visual Modeling Tools.

  8. Review

  9. Questions and Exercises

  10. Acknowledgements

  11. References and Web Resources


Introduction to UML

Sorry, the content for this tutorial has been temporarily removed....


Developed in February 2001 by Mark Austin
Copyright © 2001-2002, Mark Austin, Institute for Systems Research, University of Maryland