| KC xUML 系统工具 |
|
|
|
KC提供完整的解决方案帮助客户使用OMG组织的MDA架构进行系统开发。KC解决方案包括一个全套的UML建模工具以及C/JAVA/C++/ADA代码生成器。
MDA定义如何基于模型开发软件的愿景。愿景的精髓是模型驱动可执行软件构架的产生。这个 愿景在目前一定程度上已经发生,但是MDA主导该过程自动化程度的成就颇少。 在MDA中,通过遵循MDA的建模工具的一系列模型转换来生产软件。抽象的、独立于计算机的 模型(Computer-Independent Model, CIM)被 用做独立于平台的模型(Platform-Independent Model, PIM)的基础。
独立于平台的模型(PIM)被转换为特定平台的模型(Platform-Specific Model,PSM),然后被转换成代码。模型的MDA记号非常普通,代码被看作是非常具体的模型。 CIM是非常高级层次的抽象模型,它以一种独立于计算机的方式捕获了系统的关键需求以及问题域的词汇。它是真正的、你想要自动化的业务模型。该模型的创建是可选的,如果你选择创建它,那么你可以把它作为产生PIM的基础。
PIM是独立于任何底层平台的(例如,EJB、.NET等等)、表达软件系统业务语义的模型。PIM 通常是与分析模型处于相同抽象层次的模型,我们将在本书稍后讨论这些抽象模型,但PIM 更加完整。因为PIM必须提供将被转换成PSM(从PSM 可以产生代码)的足够完整的基础。PIM带有特定平台的信息用以创建PSM。针对目标平台从 PSM 生成代码。从原则上讲,只要PSM 信息充分完整,就能够产生100%的代码和辅助制品,例如,文档、测试 制品、编译文件和部署描述。如果需要这些发生,UML模型必需具有计算上的完整性。换言之,所有操作的语义必须采用动作语义指定。 Kennedy Carter(www.kc.com)的 iUML 工具提供了动作说明语言(Action Specification Language,ASL),ASL 遵循UML 2 的动作语义。该动作语言比诸如Java和 C++处于更高的抽象层次上,你可以采用它创建计算上完整的UML模型。 xUML开发流程基本包括模型构建、模型仿真调试测试、代码生成
iUML Simulator – 模型执行测试与调试
iCCG Configurable Code Generator – 使用xUML构建客户自己的代码生成器
KC提供的成熟的代码生成器:
客户使用实例:
洛克西德马丁公司的软件系统需求:
洛克西德马丁公司使用xUML方法设计软件,满足了跨平台使用应用代码的要求,并且平台无关的应用代码可以直接使用在其他的系统上。 方法:使用xUML进行MDA开发 定义PIM到PSM的映射关系: 工具支持: xUML带来的好处 使用xUML的MDA开发对F-16项目总体带来的好处是减少了20%的开发时间以及提供了完全跨平台的设计. |