Overview

1 Day Training

2 Day Training
Executable UML for Developers - 5 days

Learn how to build Executable UML models for real-time and embedded systems. Students develop a complete set of models for a working elevator system. Numerous exercises demonstrate the skills and thinking it takes to build fully executable and translatable models.


Audience

This course is intended for systems engineers, software developers, application analysts, project leaders and managers intensively involved in the analysis and development of systems. Software development experience at some level is essential. Prior experience in object-oriented development or modeling languages is helpful but not necessary.


Format

Lecture, Exercises, Hands-on Case Study Development


Topics Covered

UML and Executable UML


Unique needs of Real-Time Embedded Software

Functional vs. Control vs. Object

Orientation

Evolution of UML

Functional Diagram Categories

UML and Real-Time

Benefits of Goals Executable UML

System Organization


Organizing Principles of Complex Real-Time Systems

Consequences of Good and Bad Partitioning Schemes

Domains and Bridges

Requirements and Assumptions

UML Package Diagrams

Partitioning Criteria for Implementation Independence

Allocation vs. Deployment

Analysis


Requirements Specification vs. Implementation

Essential analysis tasks

Class Models


Concepts and Goals

Class, Association and Relationship Abstraction

Formal Data Semantics

Classes

Class Diagram Notation

Common Types of Classes

Attributes

Attribute Types

Uniqueness Constraints

Dependency Rules and Normalization

Computational Dependency

Data Types

Relationships

Association and Relationship Types

Unconditional Binary Associations

Conditional Binary Associations

Reflexive Associations

Association Classes

Generalization Relationships

Generalizing Attributes and Associations

Mutual Exclusion

Overlapping Generalization

State Models


Lifecycles of Classes

State Chart Notation

Executable Synchronization Rules

Executable Event Transmission Rules

State Tables

Error Behavior

Behavior Patterns

Resource Contention

Collaboration

Control Layering

Communication Patterns

Scenario Execution

Timing Processes, Failure and Repetition

Procedure Models


Actions and Procedures in UML

Executable UML Extensions

Primitive Actions

Action Execution Rules

Example Procedures

System Integration


Subsystems

Client and Service Domain Roles

Bridge Interactions

Configuration of Service Domains

Counterpart Model Elements

Engineering Process


Characteristics of a Good Process

Productive Model Sequence and Deliverables

How to Review Models

How to Schedule Development Steps

Maximizing Parallel Development

Implementation by Translation


Benefits

Hand vs. Automated Coding

Model Compiler Theory and Practice

Summary