从M4P到M2P再到MaP:模型驱动开发的探索与实践
在软件开发领域,模型驱动开发正逐渐成为一种重要的方法。它涉及从系统构建的各个阶段,包括模型的实现、验证、编程等,并且在不同的应用场景中展现出独特的优势。下面将详细介绍模型驱动开发的相关内容。
1. 系统实现与验证
系统实现阶段以规定属性为指导进行系统构建。基于模型的工程旨在实现整个系统或部分系统的自动编译。若系统已部分构建并需扩展,编译时要在代码中预留钩子,以便在不修改其他编译代码的情况下扩展系统。
验证工作主要包含以下几个方面:
- 验证 :比较起源属性Φ(O)与模型属性Φ(M)。
- 核实 :对比模型属性Φ(M)与系统属性Φ(S)。
- 模型评估 :将模型目标Ψ(M)与模型属性Φ(M)进行对照。
- 系统评估 :把系统目标Ψ(S)与系统属性Φ(S)加以比较。
2. 模型驱动开发
模型驱动开发是模型开发与使用过程的一种特定形式。其过程并非从与计算无关的模型开始,而是始于建模初始化。计算无关模型(CIM)基于一系列领域情境模型和对应用情境的洞察,它描述系统环境、业务背景和业务需求。该模型通过系统为业务提供的服务、接口、支持手段和组件,细化为平台无关模型(PIM),而PIM再进一步细化为平台特定模型(PSM),通常会开发多个模型形成模型套件。
模型驱动开发的核心概念是模型与平台及算法设置的独立性,这使得各阶段可以分离。系统的指定独立于软件执行平台和所选算法集,转换通常是双向的。