软件设计与体系结构实验指导书 下载本文

内容发布更新时间 : 2024/11/14 14:48:01星期一 下面是文章的全部内容请认真阅读。

实验1:ACME软件体系结构描述语言应用

一、实验目的

1)掌握软件体系结构描述的概念

2)掌握应用ACMESTUDIO工具描述软件体系结构的基本操作

二、实验学时

2学时。 三、实验环境

计算机及ACMESTUDIO。

四、实验内容

利用ACME语言定义软件体系结构风格,修改ACME代码,并进行风格测试。

五、实验操作步骤

一、导入Zip文档

建立的一个Acme Project,并且命名为AcmeLab2。如下图:

接着导入ZIP文档,导入完ZIP文档后显示的如

下图:

二、修改风格

在AcmeLab2项目中,打开families下的TieredFam.acme.如下图:

修改组件外观

1. 在组件类型中,双击DataNodeT; 在其右边的编辑器中,将产生预览;选择Modify

按钮,将打开外观编辑器对话框。

2. 首先改变图形:找到Basic shape section,在Stock image dropdown menu中选

择Repository类型.

3. 在Color/Line Properties section修改填充颜色为深蓝色。 4. 在颜色对话框中选择深蓝色,并单击 [OK]. 5. 修改图形的边框颜色为绿色

7. 单击Label tab,在Font Settings section, 设置字体颜色为白色,单击[OK] 产生的图形如下图:

添加新元素类型

1. 在Component Types section选择New按钮 2. 在对话框中,类型名称输入LogicNodeT . 3. 选择TierNodeT 为父类型. 4. 单击 [Finish]. 5. 按照修改外观的步骤,修改LogicNodeT的外观:填充颜色为浅绿色,边框颜色为黑色,大小为2,其他默认。 产生的图形如下图:

添加新属性类型

1. 选择Property Types

2. 选择New按钮

3. 在对话框中,类型名称为TierPropT 4. 类型选择enum

5. 值为:client, logic, data 6. 单击[OK].

添加属性

1. 激活属性视图页

2. 双击TierNodeT

3. 选择Properties tab

4. 右击空白位置,或者单击图标, 选择新建属性 5. 属性名为tier.

6. 类型为TierPropT(找不到,则直接输入TieredFam.TierPropT) 7.单击 [OK]. 添加规则

1. 单击Family editor中的TieredFam (Press to select). 2. 选择属性视图中的规则页 3. 单击

生成新规则

4. 规则名为hostCheck,选择invariant单选项

5. 在规则框中输入(直接粘贴过去)

Forall t1 : TierNodeT in self.Components |

!t1.allowShareHost -> (Forall t2 : TierNodeT in self.Components | t1 != t2 -> t1.host != t2.host)

6. 单击 [Parse Rule] 以确认无语法错误,有错误,要重新写。 7. 在标签中输入 “Tier nodes respect host assignment.”

8. 在出错标签中输入 “Two nodes that cannot share a host must not reside on

the same host.”

9. 单击[OK] 。若前面有语法错误,按钮是灰色的 10. 保存.

Acme代码编辑

1. 查看编辑器底端的区域,有3个区:Overview, Acme Source and Family –

TieredFam. 选择Source 2. 在代码中找到TierNodeT 3. 复制其中的属性内容

4. 定位至ClientNodeT,粘贴刚才复制的内容

5. 把tier属性的值赋值为client.

Component Type ClientNodeT extends TierNodeT with { Property tier : TierPropT = client; }

6. 同样把复制的内容粘贴在LogicNodeT和 DataNodeT中,前者的tier值为logic,后

者的tier值为data.

7. 单击TieredFam editor tab,若有错,将指出错误

添加可视变量

1. 编辑LogicNodeT 组件的外观 2. 选择Variants tab.

3. 单击 [New?] 创建新的变量 4. 名为:Not logic tier. 5. 选择基于条件的单选按钮

6. 下拉菜单选择allowSharedHost, 条件选择==, 值输入false 7. 设置填充颜色为深绿色 8. 单击 [OK]

测试风格

1.在Navigator的AcmeLab2中,单击右键, 在弹出式菜单中选择New Acme System. 2. 系统名为TestSystem. 4. 单击[Next].

5. 在风格类型中,选择的内容如下图所示。