深入解析SDL与UML的融合及UML行为在面向对象语言中的实现
1. SDL与UML的融合
在电信和计算领域,SDL和UML是两种占主导地位的建模语言。ITU Z.109定义的SDL UML Profile是推动这两种语言融合的首次尝试。
1.1 融合的背景与意义
电信和计算领域的融合已提上日程。SDL主要用于实时电信应用建模,而UML则用于通用计算应用。将这两种语言融合,能产生一种兼具两者优势的语言。UML旨在适用于广泛的应用领域,因此未对所有语言概念(如并发语义)进行详细定义,以涵盖不同应用领域的差异;而SDL为其所有概念提供了精确、形式化的语义,并且可以独立于实现语言来指定可执行模型。
1.2 SDL UML Profile的作用
UML出现后,常见的使用场景是在分析建模阶段用UML描述系统实体及其关系,在详细设计阶段使用SDL。用户对这种使用场景更好支持的需求促使了SDL UML Profile的产生。该Profile允许用户将SDL模型视为通用UML模型的特化,使应用领域中的实体(如块、进程、服务、门、通道等)具有更具体的含义,从而让用户能够从更抽象的UML分析模型平滑过渡到明确且可执行的SDL设计模型。
1.3 SDL支持融合的特性
SDL引入了一些直接支持与UML融合的特性:
- UML风格的类符号:提供部分类型规范以及对包含该类型定义的类型图的引用。
- UML风格的图形:用于表示SDL概念,如类型、包、继承和依赖关系。
- 组合状态:结合了状态图的层次结构和SDL有限状态机的面向转换视图。
- 接口:定义了活动对象的封装边界。