下表列示所有版本的 Rational Rhapsody 的所有检查。在您使用的产品版本中,并不一定会出现这里列示的所有检查。另外,您的系统可能有用户定义的外部检查。有关这些类型的检查的更多信息,请参阅创建用户定义的检查。
| 检查 | 正确 | 完整 | 域 | 备注 |
|---|---|---|---|---|
| <<CORBAInterface>>
映射到服务器代码,但配置不是 CORBA 服务器(属性
Configuration::CORBA::CORBAEnable
未设置为 CORBAServer)。服务器主线(属性
Configuration:: ORBname::ServerMainLineTemplate)被忽略。 |
W | C | ||
| COM 接口只能从单一 COM 接口继承 | E | M | ||
| COM 接口不能具有一对多关系 | E | M | ||
| COM 服务器/COM 库最多只能包含一个 COM 库包 | E | C | ||
| COM TLB 组件只能包含一个包,这个包是 COM 库 | E | C | ||
| 组合关联的反向端不能具有大于 1 的多重性。多重性被忽略 | W | M | ||
| Java™ 类只能从单一非接口类继承 | E | M | ||
| Java 接口只能从其他接口继承 | E | M | ||
| 构造型为 <<CORBAModule>> 的包不可包含函数或变量 | E | M | ||
| 检测到循环组合关系 | W | M | ||
| 单实例对象不能具有除 1 以外的多重性 | W | M | ||
| 活动图包含不支持的元素,例如事件或触发式操作。将不会生成操作! | W | C | ||
| AddressSpaceName 属性限长 32 个字符 | E | M | ||
| 未生成基本 CORBA 类型的自动生成序列 | W | M | ||
| 组合类型的关联关系端不能具有限定符。限定符已被忽略。 | W | M | ||
| 试图创建不可实例化元素的全局实例 | E | M | 任何类型的实例都只能根据可实例化元素进行创建。 | |
| 试图创建不可实例化元素的初始实例 | E | M | 任何类型的实例都只能根据可实例化元素进行创建。 | |
| 在 COM/CORBA 中不支持属性修饰符 | W | M | ||
| 属性与状态同名 | E | M | ||
| 由于属性同时缺少相应的访问器和增变器,因此不可从 Web 访问。 | W | C | ||
| 属性/类型引用了模板类作为其类型。 | E | M | ||
| 嵌套错误 | E | M | 这是对嵌套类中允许的构造型执行的 CORBA 检查。 | |
| CG::Package:: EventsBaseID 属性值超出合法的事件标识范围 |
E | M | ||
| 检查 MicroC 概要文件是否存在 | E | ABM | ||
| 检查 RIMB 属性是否与端口属性相对应 | W | ABM | ||
| COM ATL 类不能是活动类 | E | M | ||
| COM ATL 类不能从多个 COM 组件类继承 | E | M | ||
| COM 组件类只能从 COM 接口继承 | E | M | ||
| COM 接口只能从 COM 接口继承 | E | M | ||
| COM 库只能包含 COM 元素 | E | M | ||
| 规划的调度存在冲突(请查看“活动组件”的“调度”选项卡) | W | MC | ||
| CORBAException 具有操作 | E | M | ||
| CORBAException 具有外发关系 | E | M | ||
| 继承涉及 CORBAException | E | M | ||
| CORBAInterface 继承了非 CORBAInterface | E | M | ||
| 找不到模板规范的模板 | E | M | ||
| 类未实现其行为端口提供的所有接口。 | W | M | ||
| 类未使用其所有反应接口的接收和触发式操作 | W | M | ||
| 类与它的包同名 | E | M | 类与包不能同名,否则将导致无法正确地生成代码。 | |
| 类具有空状态图 | W | M | ||
| 代码生成功能不支持检测以文件为目标或源的对称关联。将不会生成关联检测。 | W | M | ||
| 代码生成功能不支持使用类型包含 C++ 引用 ('&') 的事件/触发式操作参数。 | E | M | ||
| 具有变长参数列表的操作不支持为具有活动图的操作生成代码。将不会生成操作! | W | C | ||
| 代码生成功能忽略了 C 类之间的继承。 | W | M | ||
| 代码生成作用域包含多个 SDLSystem 类。这可能会导致编译错误。 | W | M | ||
| 组件包含 CORBA 元素,但是配置既不是 CORBA 客户机也不是 CORBA 服务器(属性 Configuration::CORBA::CORBAEnable 设置为 No) | E | C | ||
| 组件文件包含传统代码生成功能不支持的片段 | W | M | ||
| 组合体包含单一组件 | W | M | ||
| Const 属性不能具有初始值。初始值已被忽略。 | W | M | ||
| 构造函数和析构函数不能导出到 Web。将不会针对它们生成 Web 检测代码。 | W | C | ||
| 跨包链接需要基于组件的初始化方案 (CG::Component:: InitializationScheme) |
W | M | ||
| 当前,在 C 中只支持快速端口(事件传递)。 | W | M | ||
| 摇摆过渡 | E | U | 摇摆过渡是未连接到另一个元素的过渡。发生这种情况的原因是,在 Rational Rhapsody 中,过渡所连接的元素被删除。在这种情况下,Rational Rhapsody 不会自动删除该过渡,因此不会丢失任何有关该过渡的数据。 | |
| 缺省名称 | W | C | 模型中的某些元素使用了由产品指定的缺省名称。 | |
| 由于找不到所依赖的组件的匹配配置,因此不会根据 <<Usage>> 依赖关系来生成组件之间的依赖关系 | W | C | ||
| 对未解析的元素的依赖关系 | E | M | Rational Rhapsody 找不到所引用的元素。 | |
| 对于不可嵌套的对象,应允许动态分配 | E | M | ||
| ESTL 不支持多重继承/虚拟继承 | W | M | ||
| 无关系的元素 | I | M | ||
| 基本操作或全局函数的主体为空 | W | M | 未定义这些操作/函数的实现。 | |
| 空描述 | W | C | ||
| 事件属性未进行排队 | E | ABM | ||
| 事件标识不唯一 | E | M | 为了避免发生冲突,事件标识必须唯一。 | |
| 类中的事件与生成的状态发生名称冲突 | E | M | 事件的实现名称与状态的实现名称不能相同。 | |
| 在包中定义了事件,但是未在这个包的类的接口中引用此事件 | W | M | 您在包中定义了事件,但没有任何类实际地使用了此事件。 | |
| 事件与类同名 | E | M | ||
| 多重性大于 1 的可执行部件 | E | MC | ||
| 文件包含同名的类型 | W | M | ||
| 文件名必须是 F8.3 格式 | E | M | 如果将 CG::Package/Class 下的 Filename 属性定义为长度超过 8 个字符的文件名,并且 <lang>_CG::<Environnent>::IsFileNameShort 属性设置为 Checked,那么检查程序将报告错误。 | |
| 流程图以及流程图中的块都必须正好到达一个最终活动 | E | U | ||
| 流端口必须具有它的类所有者的匹配属性(按名称和类型) | W | M | ||
| 通过链接相连接的流端口必须具有同一类型。并且,在原子流端口中,它们的方向应相互相反(一个为“输入”,另一个为“输出”) | W | M | ||
| 对于双重接口而言,操作和属性必须具有唯一标识(标识不能为空)。Rhapsody 已经为一个或多个操作或属性生成了唯一标识。 | W | M | ||
| 派生到非正交状态 | E | U | ||
| 已忽略模板类的友元依赖关系 | W | M | ||
| 全局函数和变量在 Java 中不合法 | E | M | ||
| 跨组合体边界的链接形式不正确,将不会生成代码 | W | M | ||
| 聚集不合法 | W | AR | ||
| 图/存根接头的连接不合法 | E | U | ||
| 依赖关系不合法 | W | AR | ||
| COM 组件类或 COM 接口不得具有嵌套类 | E | M | ||
| COM 组件类不得具有属性 | E | M | ||
| COM 组件类不得具有操作 | E | M | ||
| COM 库不得具有嵌套包 | E | M | ||
| 内部对象的初始化不合法(“配置”对话框,“初始化”选项卡) | E | M | ||
| 多重性不合法 | W | AR | ||
| COM 组件类的外发关系不合法 | E | M | ||
| 与模板的关系不合法 | E | M | ||
| 角色不合法 | W | AR | ||
| 类型不合法 | W | AR | ||
| 派生类和基类的实现状态图属性不同 | E | M | 基类和派生类的 CG::Class:: ImplementStatechart 属性必须相同。 |
|
| 传统代码生成功能不支持 ImplementActivityDiagram。 | W | M | ||
| 实现在生成的语言中不受支持。 | E | M | ||
| 隐式访问属性必须由单一活动类访问 | E | ABM | ||
| 对称关系中的多重性不一致:将不会连接实例 | W | M | ||
| 继承在模板实例化中不合法 | E | M | ||
| 初始接头未以它的状态的子状态为目标 | E | U | 每个具有多个子状态的“或”状态都必须具有初始接头。发生此错误的原因是,初始接头的指向目标并非该“或”状态的其中一个子状态。 | |
| 隔离的状态 | W | U | 在状态图中,存在一个未连接到任何其他状态的状态。 | |
| 源于非正交状态的连接 | E | U | 存在源于非正交状态的连接接头。进入接头连接符的过渡段必须源于另一正交组件中的状态。 | |
| 链接未将任何关联实例化。此链接被忽略。 | W | M | ||
| 链接基于未解析的关系。 | E | M | ||
| 通过无匹配接口的端口进行的链接。此链接被忽略。 | W | M | ||
| 不会将链接实例化 - 在相同的两端之间存在重复的链接,并且该链接基于同一关系 | W | M | ||
| 不会将链接实例化 - 跨组合体边界的链接形式不正确 | W | M | ||
| 许多 SoftwareComponent 使用同一个 ARBMT 包 | E | ABM | ||
| 双重接口和定制接口的方法必须返回 HRESULT | W | M | ||
| 实现与多重性不匹配 | E | M | Implementation 属性设置对于关系的多重性而言不正确。 | |
| MISRA98 概要文件存在 | E | MC | MicroC 概要文件包含 MISRA 一致性。因此,不需要包括 MISRA98 项目设置。 | |
| 缺少 Webify Toolkit 所需的运行时库。请检查当前环境的 GetConnectedRuntimeLibraries 属性值。 | W | M | ||
| 缺少模板实例化参数值 | W | M | ||
| 缺少模板规范参数值 | W | M | ||
| 在关系中错误地使用了嵌入的实现 | E | M | 没有为关系正确地设置嵌入的 <Fixed/Scalar> 属性。 | |
| 在 COM/CORBA 中,不支持对组合类型(枚举/Typedef)进行建模 | W | M | ||
| 不支持从反应类进行多重继承 | E | M | ||
| 存在源于同一状态的多个超时和重复触发器 | E | M | 每个状态都只具有单一超时或触发器。 | |
| 存在多个具有同一起点和目标的过渡 - 只允许一个 | E | U | ||
| 名称已被组件使用 | E | M | ||
| 名称长度超过 32 个字符 | W | AR | ||
| 由链接连接的网络端口和流端口必须具有同一类型,并且其方向应匹配 - 输入网络端口链接到“输入”流端口,反之亦然。 | E | M | ||
| 没有活动操作的返回值 | E | ABM | ||
| 节点没有传出过渡,创建了连接到最终活动的隐式过渡 | W | U | ||
| 非行为端口未连接到内部部件。假定此端口应该是行为端口。 | I | M | ||
| 具有显式接口的非行为端口未连接到内部部件。可能不传递消息。 | W | M | ||
| 不可执行的元素包含可执行的元素 | W | MC | ||
| 您指定端口提供或需要非接口类。请修订合同。 | E | M | ||
| 没有足够的值供初始化程序参数使用 | W | M | ||
| 包中的事件数超出事件标识范围(在属性 <lang>::Component:: PackageEventIdRange 中定义) |
E | M | ||
| JAVA_CG::Component::InitializationScheme 设置为 ByComponent 时,无法正确地初始化多重性大于 1 的对象。请将该属性设置为 ByPackage 或者以编程方式初始化对象。 | W | M | ||
| 只有 COM 库可包含 COM 元素 | E | M | ||
| 只有构造型为 COM DLL、COM EXE 和 COM TLB 的组件才能包含 COM 库。 | E | C | ||
| 组件作用域中只能有一个“SFunctionBlock” | E | M | ||
| 只有 RIMB 和 RIMB 操作可以处于活动状态 | E | ABM | ||
| 具有活动图的操作包含用户提供的代码,这些代码将被忽略。 | W | C | ||
| 无缺省状态的“或”状态 | E | U | 您创建了“或”状态,但未确定缺省状态。请在状态图中使用初始接头来确定缺省状态(完整性错误)。 | |
| 事件标识数超限。具有事件的包的数目超出了可以使用的事件标识数目。请修改
CG::Package:: PackageEventIdRange 属性或者减少具有事件的包的数目。 |
E | M | ||
| 触发式操作标识数目超限 | E | M | 对于一个类及其所有的基类,触发式操作的数目限制为 1,768 个。 | |
| 外发接口必须是 COM 接口。 | E | M | ||
| 源于 COM 接口的传出关系的构造型必须是连接点 | E | M | ||
| 从 CORBAInterface 到非 CORBAInterface 的传出关系 | E | M | CORBAInterface 只能具有指向其他 CORBAInterface 的传出关系。 | |
| 包在同一个实现文件中它的类之下进行了定义 | E | C | ||
| 端口连接到多个提供了同一个接口的端点。 | W | M | ||
| 端口具有空合同 - 未指定供给接口或需求接口。假定此端口用于回放事件。 | I | M | ||
| 端口具有未解析的合同。 | E | M | ||
| 端口提供并需要相同的接口 - 请修订合同详细信息。 | E | M | ||
| 具有空合同的端口由非反应类/对象拥有。此端口将不会传递消息。 | W | M | ||
| 只有在 C++ 和 C 中,才支持端口代码生成。这些端口将被忽略。 | W | M | ||
| 基本操作、触发式操作或事件与状态同名。 | E | M | 您创建了与事件同名的状态。 | |
| 已发布的对象的名称限长 32 个字符。 | E | M | ||
| 找不到限定关系的限定符。 | E | M | 未定义限定关系的限定符。 | |
| 具有反应超类的反应接口;无法生成代码。 | E | M | ||
| 具有状态图或活动图的反应接口;无法生成代码。 | E | M | ||
| 没有接收或触发式操作的反应接口。 | I | M | ||
| 反应模板和可复用状态图生成方案。 | E | M | 状态图的平面实现必须与反应模板类配合使用。 | |
| 从另一个类对模板参数类型的引用。 | E | M | ||
| 活动组件的作用域中对未解析元素的引用。 | E | M | ||
| 对未解析的事件的引用 | E | M | 在一个视图中存在对事件的引用,但该事件未在至少一个其他视图中出现。您与其他开发者进行协作时,可能会发生这种情况。 | |
| 对未解析的关系类的引用。 | E | M | 与“对未解析的事件的引用”相同,只是未解析的元素是关系类。 | |
| 对未解析的状态图的引用 | E | M | 与“对未解析的事件的引用”相同,只是未解析的元素是状态图。 | |
| 对未解析的构造型的引用 | E | M | 与“对未解析的事件的引用”相同,只是未解析的元素是构造型。 | |
| 对未解析的超类的引用。 | E | M | 与“对未解析的事件的引用”相同,只是未解析的元素是超类。 | |
| 对未解析的类型的引用 | E | M | 至少一个元素定义为具有未在模型中定义的类型。 | |
| 使用静态体系结构时,应该将关系实现为静态数组。 | W | M | 使用静态体系结构时,关系的 Implementation 属性设置为 StaticArray。 | |
| 与 CORBAException 的关系 | E | M | 不允许使用与 CORBAExceptions 的关系。 | |
| 不具有多重性的关系。 | W | M | ||
| 无法生成源于 Java 接口的关系。 | E | M | ||
| Rhapsody 代码生成功能不支持所需端口与 CORBA 接口之间的链接。将不会生成代码。 | W | M | ||
| 对于流端口,Rhapsody 不支持大于 1 的多重性。 | E | M | ||
| SoftwareComponent 中类型为 RIMB 的元素 | E | ABM | ||
| 缺少代码生成功能所需的 SDL 模型数据。请检查您在“导入/同步 SDL 模型”对话框中提供的 SDL 模型执行信息。 | W | M | ||
| 发送操作,未解析的事件或其参数。 | W | U | ||
| 发送操作,未解析的目标索引。 | E | U | ||
| 由于参数在 CORBA 域中无法接受缺省值,因此这些缺省值在 CORBA 域中将被忽略。 | W | M | ||
| 由于属性在 CORBA 域中无法接受初始值,因此这些初始值将被忽略。 | W | M | ||
| 由于枚举常量在 CORBA 域中无法接受缺省值,因此这些缺省值将被忽略。 | W | M | ||
| 由于不支持对嵌套在模板中的类创建动画,因此将不会生成检测代码。 | W | M | ||
| 由于 CORBA 域中的属性不可标有 Static 修饰符,因此标有 Static 的属性将在代码生成期间忽略该标记。 | W | M | ||
| 由于 CORBA 域中的属性不能具有引用类型,因此标有 Reference 修饰符的属性将在代码生成期间忽略该标记。 | W | M | ||
| 由于 CORBA 域中的结构属性不可标有 Constant 修饰符,因此标有 Constant 的属性将在代码生成期间忽略该标记。 | W | M | ||
| 由于 CORBA::Attribute:: ConstantAsReadOnly 属性设置为 False,因此标有 Constant 的属性将在代码生成期间忽略该标记。 |
W | M | ||
| 由于 CORBA 域中的 Typedef 不可标有 Constant 修饰符,因此标有 Constant 的属性将在代码生成期间忽略该标记。 | W | M | ||
| 由于 CORBA 域中的 Typedef 不能具有引用类型,因此标有 Reference 修饰符的 Typedef 将在代码生成期间忽略该标记。 | W | M | ||
| 已忽略单实例构造型:实例在另一个包中。 | W | M | ||
| 已忽略单实例构造型:实例多重性不为 1。 | W | M | ||
| 已忽略单实例构造型:匹配的实例并非由包拥有。 | W | M | ||
| 已忽略单实例构造型:找到多个实例。 | W | M | ||
| 已忽略单实例构造型:找不到匹配的实例。 | W | M | ||
| 已忽略单实例构造型:C_CG::Class::ObjectTypeAsSingleton 属性设置为 False。 | W | M | ||
| 类或包之下的 SourceArtifact 在类代码生成功能中不受支持。 | W | M | ||
| 状态与它自己的类、超类或相关类同名。 | E | M | ||
| 具有非平面状态图的静态内存类 | E | M | 状态图的平面实现必须与静态体系结构配合使用。 | |
| 覆盖了运算符 new 或 delete 的静态内存类 | E | M | ||
| 无法初始化静态内存元素。 | E | M | ||
| 无操作的静态反应。 | W | U | 您为状态定义了静态反应,但还没有在“特征”窗口中为其定义操作。 | |
| 无守护或触发器的静态反应。 | E | U | ||
| 非静态类成员/方法的 StaticImport | W | M | ||
| 从非异常类继承时,将忽略构造型异常。 | W | M | ||
| 规范中具有双向内联的对称关系造成不受 <language> 支持的依赖关系环;在代码生成期间,将忽略此内联。 | W | M | ||
| 模板规范不在其模板中。 | E | M | ||
| 未解析的模板的模板实例化。 | E | M | ||
| 在创建非动画 S-Function 时,活动配置必须具有“S-FunctionConfig”构造型;对于动画 S-Function,必须将“检测方式”设置为动画。 | W | M | ||
| 找不到 SDL_Suite 环境头文件。建议您返回到 SDL Suite,选中“生成 > 编译”对话框中的生成环境头文件复选框,然后重新编译。 | W | M | ||
| 过渡触发器不能是抽象触发器。 | W | M | ||
| 活动组件将“Other”定义为构建类型。 | E | C | ||
| 已忽略抽象方法的主体。 | W | M | ||
| 端口的合同不是接口。请替换此合同或者将其转换为接口。 | E | M | ||
| CG::Package::EventsBaseID 属性设置的事件基本标识与生成的基本事件标识有冲突。 | E | M | ||
| 参与者的名称不是合法的代码名称。 | E | M | ||
| 活动组件的作用域包含非外部文件。 | E | M | ||
| 过渡的边缘与引脚的方向不一致。 | W | U | ||
| 过渡不能跨流程图中的块边界。 | E | U | ||
| 过渡触发器不在其泳道所表示的类之下。 | W | U | ||
| 类型映射到文件。此映射被忽略。 | W | M | ||
| 具有 Constant 修饰符的 Typedef 基于具有 Constant 修饰符的类型。 | E | M | ||
| 无法生成链接 - 多重性不匹配、使用了 * 进行指定或者使用了一组数字进行指定 | W | M | ||
| 模板参数引用了未解析的类型。 | E | M | ||
| 未指定的关联角色 - 此关联角色未连接到“形式链接” | W | M | ||
| 未指定的分类器角色 - 此对象未连接到“形式分类器” | W | M | ||
| 未指定的消息 | W | M | ||
| 流程图中不受支持的元素 | E | U | ||
| 时间模型不受支持:“仿真” | E | MC | 在活动配置中,选择了时间模型“仿真”(在设置选项卡上)。此模型在 MicroC 中不受支持。 | |
| 当前,不会生成对 IDE 配置的使用依赖关系。有需要时,请在配置的“特征”窗口中指定构建详细信息。 | I | M | ||
| Web 支持不适用于此类型的语言变量。将不会针对其生成 Web 检测代码。 | W | C | ||
| Web 支持不适用于全局函数和全局变量。将不会针对它们生成 Web 检测代码。 | W | C | ||
| Web 支持不适用于具有多个参数的操作或事件。将不会针对它们生成 Web 检测代码。 | W | C | ||
| Web 支持不适用于模板和模板实例化。将不会针对它们生成 Web 检测代码。 | W | C | ||
| C_CG::Class::EnableDynamicAllocation 属性设置为
FALSE,但 C_CG::Configuration ::InitializeEmbeddableObjectsByValue 设置为 TRUE。 |
E | C | ||
| 使用 IDF 环境时,应使用 IDF 概要文件。 | W | M | ||
| 嵌套状态图层次结构不正确,请尝试使用“向后合并”或“删除与状态”来修正层次结构。 | E | M | ||
| 作用域中元素的语言错误。 | E | M | ||
| 初始实例的语言错误。 | E | M |