当“断言”(Assertion)一词成为IT术语时,语义的混沌性和二义性也随之而生。那么,何为断言?断言何为?实际上,只需分析四种典型场景,确切答案和准确描述就将自然显现。
在SAML(Security Assertion Markup Language,安全断言标记语言)一词中,含有Assertion一词。
在SOA的服务质量(QoS)的策略中,有Policy Assertions(策略断言)这一专业术语。
当使用Visual Studio写C/C++代码时,在编译过程中,有时会遇到Assertion Failed对话框弹出的情况。
在SCCM服务器的日志中,有时会出现“SQL Server Assertion”的警告信息。
那么,断言(Assertion)在IT技术中的确切含义是什么?
简言之,断言(Assertion),或者是系统中实体的自我描述(声明),或者是对系统中实体的符合性检验(要求),或者是两者兼而有之。具体而言,如果系统中实体的自我描述通过了符合性型检验(即,声明符合要求),那么,就允许提供服务或者允许系统继续运行,反之,就拒绝提供服务或者使得系统中断运行。
应将“断言”(Assertion)理解为关键的因而是“强烈的”陈述,因为,与条件(condition)、要求(requirement)、准则(criteria)等词相比,断言(Assertion)具有更为强烈的强制性含义。
以下,基于Merriam-Webster字典中动词Assert和名词Assertion的原意,对上述四类场景作简要分析。
一、在字典中的原意
(1)Assert
① 强烈的陈述或声明
to state or declare positively and often forcefully or aggressively(积极主动地、通常是强有力的或带有侵略性的陈述或声