UNICON
是
一个架构
描述语言
,
其重点
是
支持
各种
建筑
部件和
风格
,
在现实世界中
,
从
他们
的
体系结构描述
构建
系统
发现
。
给
描述
架构
UNICON
的感觉
,
这里
是
一个简短的例子
。
在UNICON的体系结构描述由一套组件和连接器。组件是一个数据或计算的轨迹,而连接介导的组件之间的相互作用。每个组件都有一个接口,导出一组球员。这些球员使人产生在该组件可以与外界进行交互的方式。同样,一个连接的协议,出口产生的方式在该连接器可以调解互动的角色。为了说明这一点,这里是一个例子图制作,使用UNICON的图形化编辑器:
该图的特点两部分组成,标记为A和B,这是UNIX的过滤。他们每个出口三名球员,以三角形的绘制;左侧的球员代表的输入流“标准”,而右边的球员代表输出流“标准输出”和“标准的错误。”两个组件之间的连接器,它代表了UNIX管道。连接出口的两个角色:一个左晃来晃去管的源;右晃来晃去一个代表管的散热器。
在上面的图片,有没有组件和连接器之间的互动;什么是“迷上了。”要指定,应该有一个连接,一个球员必须与一定的作用。在图形编辑器,这是通过拖动球员的作用,并放弃它。拖管的散热器和B的输入,它下降的结果如下所示:
由球员和角色的关联,相互作用的部件的整体配置可以指定。
UNICON当前版本支持不仅像那些上面的管道和过滤系统,但也与过程调用和共享数据交互的模块,分布式系统的RPC调用,共享处理器根据各种实时的学科,和数据库访问的过程SQL命令。
下面举一个例子来说明一下:
1 构件的定义
<component>:==COMPONENT <identifier>
<interface>
<component_implementation>
END <identifier>
定义包括两方面的内容,即接口和实现。
2 构件接口的定义
接口定义了构件所承担的计算任务,规定了使用构件时的约束条件。还对构件的性能和行为做要求。
<interface>:==INTERFACE IS
TYPE <component_type>
<property_list>
<player_list>
构件类型: 构件所承担的功能种类
属性: 对构件整体信息进行补充说明,
以“特性-值”形式成对出现
3 构件实现的定义
<component_implementation>:==
<primitive_implementation>|<composite_implementation>
<primitive_implementation>:==IMPLEMENTATION IS
<property_list>
<variant_list>
END IMPLEMENTATION
<composite_implementation>:==IMPLEMENTATION IS
<property_list>
<composite_statement_list>
END IMPLEMENTATION
4 连接件的定义
<connector>:==CONNECTOR <identifier>
<protocol>
<connector_implementation>
END <identifier>
定义包括两方面的内容,即协议和实现
连接件协议的定义
协议定义了多个构件之间所允许的交互,并为这些交互提供保障
<protocol>:==PROTOCOL IS
TYPE <connector_type>
<property_list>
<role_list>
END PROTOCOL
协议定义包括3方面信息:连接件类型、属性和角色
连接件类型表达了连接件所承担的构件交互种类
属性: 对连接件整体信息进行补充说明,
以“特性-值”形式成对出现
角色: 通过角色在构件之间进行中介。构件和连接件 有交互时,构件的参与者和连接件的角色被关联起来。
连接件实现的定义
实现方式是UniCon语言内建的
UniCon不提供任何的机制支持用户自定义的实现
一下为例子:
UniCon Example
UniCon描述管道的例子。两个连接由构件和连接件实例分开。
USES p1 PROTOCOL Unix-pipe
USES sorter INTERFACE Sort-filter
CONNECT sorter.output TO p1.source
USES p2 PROTOCOL Unix-pipe
USES printer INTERFACE Print-filter
CONNECT printer.input TO p2.sink
假设一个实时系统采用客户/服务器体系结构。在该系统中,两个任务共享同一个计算机资源,这种共享通过远程过程调用(Romoter Procedure Call,RPC)实现。
component Real_Time_System
interface is
type General
implementation is
uses client interface rtclient
PRIORITY(10)
……
end client
uses server interface rtserver
PRIORITY(10)
……
end server
establish RTM-realtime-sched with
client.application1 as load
server.application2 as load
server.services as load
algorithe(rate_monotonic)
end RTM-realtime-sched
estalbish RTM-remote-proc-call with
client.timeget as caller
server.timeget as definer
IDLTYPE(Mach)
end RTM-remote-proc-call
end implementation end Real-Time-System
connector RTM-realtime-sched
protocol is
type RTScheduler
role load is load
end protocol
implementation is
builtin
end implementation end RTM-realtime-sched
今天的文章UNICON是一个架构描述语言 翻译 BY Lychee「建议收藏」分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/88949.html