模組化/MDA/MDD的基本概念
模組化
- 模組化是對現實世界的一個簡化
- 因為不能完整地了解一個複雜的系統,是以要對它模組化
- 模組化是為了更好的了解我們正在開發的系統
- UML(Unified Modeling Language)
- AADL(Architecture Analysis & Design Language)
- MARTE(Modeling and Analysis of Real-Time Embedded system)
1. 模組化的目的
模型按照實際情況後按照所需的樣式對系統進行可視化
模型允許詳細說明系統的結構和行為
2. MDA(模型驅動架構)
-
計算獨立模型(Computation-Independent Model,CIM)
描述系統的需求和将在其中使用系統的業務上下文。此模型通常描述系統将用于做什麼,而不描述如何實作系統。CIM 通常用業務語言或領域特定語言來表示。
-
平台獨立模型(Platform-Independent Model,PIM)
描述如何構造系統,而不涉及到用于實作模型的技術。此模型不描述用于為特定平台建構解決方案的機制。PIM 在由特定平台實作時可能是适當的,或者可能适合于多種平台上的實作。
-
平台特定模型(Platform-Specific Model,PSM)
從特定平台的角度描述解決方案。其中包括如何實作 CIM 和如何在特定平台上完成該實作的細節。
3. MDD
UML
1. 行為類型
-
Simple
一個外部的角度來看,每一個動作都是原子性的和完整的。
被看作一個功能行為(數學函數式)。
對于輸入的操作一樣,不考慮曆史資訊。
用活動圖來模組化。
-
Stateful
将對象看成是特定類型的機器,有限狀态機或狀态機。
表示有限個狀态以及在這些狀态之間的轉移和動作等行為的數學模型。
狀态機的一些狀态(無效,使能,準備,采樣,保持)。
sample-and-hold A/D converter
-
Continuous
連續行為的對象,其目前的行為是依賴于過去的行為和輸入,但依賴是一個連續的,而不是離散的性質。
Fuzzy systems, PID control loops, and digital filters are examples of objects exhibiting continuous behavior. Their current behavior depends on past history but in a quantitative not qualitative way.
-
Use case diagrams
Describe the functional behavior of the system as seen by the user
-
Class diagrams
Describe the static structure of the system: Objects, attributes, associations
- There are three primary diagrammatic forms in the UML for depicting interaction scenarios—
- communication diagrams通信圖,
- sequence diagrams順序圖,
- timing diagrams時序圖.
-
Sequence diagrams
序列圖(順序圖):Describe the dynamic behavior between objects of the system
- 描述對象按照時間順序的消息交換。
- 包括的模組化元素有:對象,生命線,控制焦點,消息
- Timing diagrams
-
Statechart diagrams
Describe the dynamic behavior of an individual object
- 狀态圖的兩個基本概念:狀态和轉移。
- 狀态:name,entry/exitaction,internaltransition,substate,deferred event
- 組合狀态和子狀态
- 曆史狀态:記住從組合狀态中退出時所處的子狀态,當再次進入組合狀态時,可直接進入該子狀态,而不是從組合狀态的初态開始。如果到達終态則會丢失曆史狀态中的資訊。
- 轉移:表示對象将在第一個狀态中執行一定的動作,并在某個特定事件發生且警戒條件滿足時進入第二個狀态。
- 事件:調用事件,變化事件,時間事件,信号事件
exit-transition-entry:
1、IncomingRinging exit actions
2、On Hook exit actions
3、Pick up transition actions
4、Off Hook entry actions
5、Connected entry actions
-
Activity Diagrams
Model the dynamic behavior of a system, in particular the workflow
表示某流程中的任務的執行,可以表示某算法過程中語句的執行。
- 動作狀态和活動狀态
- 泳道(swimlane):區域劃分,根據每個活動的職責對所有活動進行劃分,每個泳道代表一個責任區。
- 分支(branch)
- 分叉和彙合:表示并發行為
- 對象流:在活動圖中可出現對象,對象可以作為活動的輸入或輸出。