Title: An Introduction to UML
1An Introduction to UML Modeling Resources Using
UML
- Rahul Shah
- EE249 Discussion
- Sept. 25, 2001
2Talk Outline
- An introduction to UML
- Different views in UML
- Examples from PicoRadio UML documentation
- Discussion of Bran Selics paper, A generic
framework for modeling resources with UML
3The Development Process
UML
4Unified Modeling Language
- Object oriented modeling language
- Intended to model discrete systems such as
software, firmware or digital logic
Models are used to capture and precisely state
requirements and domain knowledge so that all
stakeholders may understand and agree on them.
(Rumbaugh, Jacobson Booch)
5UML Views
- Structural things in the system and their
relationship to other things - Class diagrams
- Use case diagrams
- Component diagrams
- Dynamic system behavior over time
- Statechart diagram
- Activity diagram
- Sequence diagram
- Model management, others
6Class Diagram
PicoRadio UML documentation
7Use Case Diagram
PicoRadio UML documentation
8Activity Diagram
PicoRadio UML documentation
9Sequence Diagram
PicoRadio UML documentation
10A Generic Framework for Modeling Resources With
UML
- Bran Selic
- IEEE Computer, June 2000.
11Quantitative Analysis
- Schedulability analysis
- Deterministic technique
- Good for hard real-time systems
- Performance analysis
- Probabilistic characterization
- Good for soft real-time systems
12QoS Contracts
Peer interpretation
13UML Model of QoS Contracts
14Management of Resources
15Realization Mapping
Realization relationship
16QoS Analysis
- Compare the required QoS with the offered QoS
- The offered QoS should exceed the required QoS
- Aggregated QoS characteristics can complicate the
analysis - Different characteristics combine in different
ways - Resources are often shared
17Conclusions
- Models are useful to predict and quantify
performance of software without actual
construction - Incorporating a generic QoS framework in UML
helps us in analyzing software models - UML is an industry standard, thus a common base
to develop new techniques for analysis