本书采用规范说明和描述语言SDL(Specification and Description Language)记号来描述状态和状态间的转换。这种方法经常使用在通信协议和智能卡领域,以描述面向状态的机制,SDL意即规范说明和描述语言,并在CCrIT建议Z.100中有详细的说明。
SDI-记号和那些用于标准流程图中的符号相似。但其描述的不是程序的流程而是从状态到状态的转换。SDI,框图是用相互间由线条连接的标准化的各个符号构成的,其流程总是从左上方到右下方,所连接各个符号的线不需要用箭头来标识其起点和终点①
从简单的图形看来,这种记号被认为是对具有某些过程的系统的描述。而每一过程则是
智能卡技术领域中,规范说明和描述语言SDL(Specification and Description Language)是一种重要的工具,用于详细阐述系统状态和状态间的转换。SDL作为一种形式化的建模语言,尤其适用于描述通信协议和智能卡系统中的状态机行为。它在CCITT(现为ITU-T)的建议Z.100中被详细定义,提供了标准化的方式来描述复杂系统的行为。
SDL记号系统,即SDI(Specification and Description Diagram),其符号设计与传统的流程图类似,但重点在于描绘状态之间的转换,而非程序执行的顺序。SDI框图通过线条连接的标准化符号展示流程,通常从左上角向右下角展开,线条的起点和终点无需用箭头标示。这种记号方法能够直观地展示系统如何根据外部输入或内部事件在不同状态间转换。
1. **开始符号**(1):代表一个过程的起始点,大多数SDI框图以此为开头,表明了一个新流程的开始。
2. **作业符号**(2):用于表示一个特定的操作,其内部的文字描述了该操作的具体内容,替代了额外的辅助程序说明。
3. **决策符号**(3):允许在状态转换中进行条件判断,通常有“是”和“否”两种分支,根据条件的结果引导流程走向不同的状态。
4. **链接符号**(4):用于连接到其他SDL框图,有助于将大型的流程图分解为多个更小、更易于管理的部分。
5. **输入符号**(5)和**输出符号**(6):表示与外部环境的交互,清晰地定义了系统的输入和输出参数。
6. **状态符号**(7):用于标记系统在某一时刻所处的状态,是理解状态机动态的关键元素。
这些符号的组合使用,能够构建出一套完整的智能卡系统模型,清楚地展现出系统如何响应不同输入和事件,以及如何在各种状态间切换。通过这样的建模,设计者和开发者能够更好地理解和分析系统的行为,从而优化设计,提高智能卡的安全性和效率。
例如,在智能卡应用中,当卡片接收到读卡器的命令时,可能会经历一个从接收命令(输入符号)到解析命令(作业符号)、执行操作(可能涉及决策符号)再到返回响应(输出符号)的过程。在这一过程中,卡片的状态可能从等待状态转变为处理状态,然后再回到等待新的命令状态(状态符号)。
在实际应用中,SDL不仅帮助设计者捕捉系统的动态行为,还支持进行错误检测、性能评估和协议一致性测试。通过SDL描述的状态机模型,可以生成自动化的测试用例,确保系统在各种情况下的正确性。
智能卡记号的规范说明和描述是智能卡技术领域中不可或缺的一部分,它提供了一种强大的工具,使我们能够系统化地理解和设计智能卡系统的复杂行为。通过SDL的使用,我们可以更有效地开发、验证和维护智能卡应用,保证其在安全性、可靠性和性能上的高标准。
1