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
|