在TTool设计面板上右键,有选择New xxx Methodology
,其中包括:
DIPLODOCUS
,用来做嵌入式系统的划分AVATAR
,用来设计嵌入式软件SysML-Sec
,用来设计安全的(safe and secure)嵌入式系统这篇了解一下其中的AVATAR建模方法中,和分析相关的一些图。
最开始要创建一个New AVATAR Methodology
大面板,即AVATAR方法论的面板,这个面板可以整合其它的一些建模面板。
这里能清楚的看到整个流程思路,先是要给出假设,然后建立需求,从需求上又能得到性质和分析,然后是设计,最后是得到原型。
所有的面板都可以改名,用户后面创建各种类型的其它面板时,可以添加到这个方法论中对应于此类型的的块来,比如Assumption
大面板就可以添加到上图中的Assumptions
块里面。
感觉TTool对用户操作的一致性做的比较粗糙,如果添加进去的面板后面被改名了,这里不会自动改名,反倒是打开了之后自动被移除了。
添加New Modeling Assumption Diagram
可以建立一个Assumption的大面板,在它下面再New AVATAR Modeling Assumption Diagram
可以创建一个AVATAR相关的的子面板,用来画和AVATAR Assumption相关的的图。
添加建模元素和连线的操作都可以在子工具栏上进行,每种图都可以用Add a comment
添加评注,然后用Comment connector
把评注连接到块上,就起到一个注解的作用。
最主要的的是Assumption
块,用来添加假设块,编辑它可以进行如下定制:
Type
,假设的类型,分为系统假设(System Assumption
)和环境假设(Environment Assumption
),一般可以单独创建放这两种假设块的面板,而不用绘制在一张图里Name
,这个块的名称Durability
:持久性,分为永久的(Permanent
)和临时的(Temporary
)Source
:源,分为直接用户(End-user
),参与方(Stakeholder
),建模方(Model creator
)Status
,地位,分为Applied
和Alleviated
Scope
,作用域,分为语言(Language
),工具(Tool
),建模活动(Modeling activity
),验证(Verification
)另外可以添加Diagram reference
和Element reference
,分别用于引用其它的面板(或者说是Diagram)和AVATAR建模元素。
连线的类型有:
Composite
,合成,将一个复合命题分解成几个基本命题Versioning
,版本化,阐明对原始模型的更改Impact
,影响,这个是有向的连线,用来表达一方对另一方有影响Composition connector
,组合连接,用来连接Diagram reference
和Element reference
需求图从New Requirement Diagram
->New AVATAR Requirement Diagram
创建,需求表达的是系统要达到的能力,或者要满足的条件,可以是功能方面的,也可以是性能方面的。
ID
,需求块的编号Type
,需求的类型,分为功能性的(Functional
),非功能性的(Non-functional
),性能(Performance
),隐私(Privacy
),保密(Confidentiality
),不可抵赖(Non-repudiation
),访问控制(Controlled access
)或者叫授权(Authorization
),可用性(Availability
),完整性(Integrity
),数据源认证(Data origin authentication
)或者叫数据源鉴别,新鲜度(Freshness
),商务(Business
),参与方需求(Stakeholder need
),其它(Other
)Risk
,风险级别,分为低中高References
,引用的建模元素功能性需求通常可以通过用例图来表达,非功能性的需求可以用需求块中的自然语言来描述。
除了需求块,还可以添加Property
块,但是它只能设置名字。另外还有通用的Comment
块和Element Reference
块,用来加注解和引用其它建模元素。
连线的类型有:
-Composition
,组合,将需求块层次组合
DeriveReqt
,不同抽象层面的同层次需求Copy
,连接主从需求Refine
,连接的需求块一个是另一个的精化Verify
,用来连接一个建模元素到需求,表示它验证了这个需求Satisfy
,从建模元素的Element Reference
块连向需求块的,表达概念满足需求用例图从New Analysis
->New Use Case Diagram
创建,用例图用参与者、用例等建模元素来建模系统的使用场景。
用例图比较熟悉,可以点Add a border
添加边界,Actor
添加参与者(人形的),Actor (box format)
添加矩形的参与者,Add use case
添加用例。
连线的类型有:
Actor <-> use case
,连接参与者和用例<> relationship
,包含关系,连接功能和被它包含的子功能,即"has a"<> relationship
,扩展关系,是"is a",一般是扩展功能specification
,泛化关系,是"is a",要有继承关系活动图从New Analysis
->New Activity Diagram
创建,本质上就是一个流程图,表达系统执行的每一步。
这个基本可以当成一个带通信的状态机来用,它有单独的选择(Choice
)建模元素,也有输入信号(Accept signal
)和输出信号(Send signal
)。一个Choice
元素上可以支持三条分支,分支上要书写Guard条件。
序列图从New Analysis
->New Sequence Diagram
创建,表达流程关系。最基本的可以创建实体(Instance
),同步消息(Synchronize message
),异步消息(Asynchronous message
)。实体上可以设定为是一个参与者实体,这样上面就会出现一个小人。连线上的消息可以编辑,但是仅仅是一个字符串。
还有一个重要的建模元素就是共区(coregion
),它绘制一个能沿着实体上下滑动的白框,共区内的事件语义上是无序的,即便绘制的时候有上下关系。
序列图支持单独添加Action state
和Guard
,以及一些和时间相关的建模元素,这些时间相关的元素也可以在序列图实体上沿着轴线滑动,主要包括:
Timer setting
,可以设置计时器的时刻和持续时间Timer cancellation
,表示取消计时器Timer expiration
,表示计时器到期了Timer interval
,计时器间隔,可以设置最小最大延时Absolute time constraint
,绝对时间间隔,可以设置最小最大时间间隔