节点文献

特征模型驱动的软件开发方法及相关技术研究

Research on Feature Model Driven Software Development Methodology and Related Technologies

【作者】 张俊

【导师】 刘淑芬;

【作者基本信息】 吉林大学 , 计算机系统结构, 2010, 博士

【摘要】 计算机软硬件技术的不断发展开拓了人类文明新的前进步伐,极大地提高了整个社会的劳动生产力和自动化水平,软件产品及其生产技术和水平在实际应用中也得到了极大的发展。然而,随着应用范围的不断扩大及应用程度的不断深入,应用领域高度的复杂性也为软件生产的进一步发展带来了极强的阻滞作用。首先,领域内产品的多样性使得软件企业因为软件具体需求的不同而重新编写整个系统;其次,新的软件理论和技术的产生一方面加快了产品开发的质量和速度,另一方面却使得企业耦合于旧技术的前期投资失去其价值;最后,领域业务逻辑的演进也会导致在线软件产品价值的流失。为了解决这些软件生产中遇到的问题,出现了一系列新的理论和方法。领域驱动技术试图通过分析领域需求的通用性和可变性为全领域相似需求产品提供一致性的需求表示和组织方式,并通过对特征模型的配置选择具体产品的特定需求解决领域产品批量化生产的问题。模型驱动技术则瞄准系统表示,通过抽象系统层次,把面向代码的系统创建过程转变为面向模型的过程,将系统描述为不同层次、不同视角的模型,使得系统构建人员以更贴近于人的思维方式描绘系统并通过定义不同转换规则自动地将人的思维模式转换为不同的机器代码。由于系统模型更自然、更直观且与具体实现技术解耦,所以模型驱动技术的提出可以从根本上解决新的编程技术和平台以及领域业务逻辑的变更对既有投资造成的损失,以更经济的方式——模型的变更实现系统的演进。本文结合领域驱动技术和模型驱动技术,对特征模型驱动的软件方法的设计和实现作了深入的研究,包括支持方法工具集的体系结构、方法应用的过程以及方法不同里程碑产生的软件制品。同时,为了支持方法的应用,本文还设计了特征模型的元模型,特征模型冲突检测算法,特征模型向模型构件及参考体系结构模型转换方法等。具体说来,本文的主要研究工作包括以下几个方面:1、对特征模型驱动软件开发方法(FDSDM)的研究。保护软件产品投资的最好方式是软件制品的复用。通过吸收领域驱动技术的思想,FDSDM使用特征模型描述领域产品的共性和可变性,为领域产品提供一致的需求描述方式,并通过配置过程选择具体产品需求,形成单独产品需求模型,从而实现模型在不同需求间的复用;通过采用模型驱动的思想,将相对稳定的模型看做是第一类的软件制品,开发过程从代码编写转变为模型创建,屏蔽了实现技术和平台的不断变化导致的投资贬值,从而实现了模型在实现技术上的复用。详细地说,本文从整体上介绍了FDSDM的特点,给出了FDSDM工具集及其组织结构,描述了FDSDM定义的软件过程以及各软件过程里程碑产生的软件制品。2、特征模型元模型的建立。为了准确无歧义地描述特征模型,方便不同层次、视角的系统模型的相互转换,本文基于OMG的MOF标准扩展出特征模型元模型。元模型形式化地给出了特征模型元素的抽象语法和具体语法,半形式化地给出了这些元素的语义。同时,形式化地定义了特征模型间导入和合并机制,给出了特征模型冲突检测算法,为特征模型的自动化操作奠定了基础。3、特征模型与模型构件转换方法的研究。为了方便特征模型向模型构件的转换,引入了角色的概念,并通过角色的中介作用将CIM特征模型转换为PIM模型构件。转换过程依次进行特征操作化、角色分析模型建立和模型转换过程。特征操作化过程是根据对特征需求规约的分析将特征分解为面向计算的角色的过程,该过程通过人的参与以特征为单位将CIM转变为计算机可以识别的模型形式;角色分析模型同样以特征为单位进行角色交互的分析,建立角色间的关联,为模型构件的创建提供基础;转换过程使用特征-角色-构件映射算法,最终生成可复用的系统构件,完成CIM到PIM的变换。4、特征模型向参考体系结构转换方法的研究。本文通过分析特征模型可变性与参考体系结构描述语言的关系,给出了参考体系结构描述可变性的层次和影响因子。并根据这些层次和因子给出了特征模型可变性向参考体系结构可变性转换的转换规则,给出了创建产品族体系结构模型的方法,从而实现了“大同构,小异构”产品族参考体系结构半自动化生成过程。本文的创新之处主要体现在以下几个方面:1、结合领域驱动技术和模型驱动技术提出了一种特征模型驱动的软件开发方法。为了实现软件开发过程的可控性,本文设计了一种特征模型驱动的软件开发方法FDSDM。FDSDM方法以特征模型作为系统开发的起点和系统族需求提取和表达方式,使用模型转换作为系统开发前进的驱动力,将不同阶段和视角的系统模型作为系统开发的里程碑,最终(半)自动化地产生最终产品。FDSDM方法充分利用领域驱动技术和模型驱动技术的理论和技术优势,使系统开发更大程度的符合人的思维模式而非计算机的表示,减少因思维转换而产生的歧义和错误;最大限度地减少人在开发过程的干预程度,实现软件开发工程化,从而提高了整个行业的生产效率以及产品质量。2、定义了一种基于MOF的形式化特征模型元模型,并实现了特征模型自动化冲突检测算法。为了准确无歧义地描述特征模型,方便不同系统模型间的相互变换,我们基于标准MOF规范形式化地定义了特征模型元模型。形式化元模型从更高的抽象层次描述了特征模型概念,保证了模型的清晰与精确,消除了模型理解中可能存在的歧义,使得相关人员可以一致性地理解系统需求。同时,基于MOF的元模型描述方便了特征模型向其它遵守MDA规范的系统模型的横向与纵向转换,也使得特征模型可以利用其它基于MOF的模型转换引擎向其它系统模型进行模型转换,大大扩展了特征模型的应用范围。另外,特征模型自动化冲突检测算法的实现及特征模型导入合并机制的定义为特征模型及FDSDM方法实际应用于大规模、高复杂度的系统提供了坚实的基础,使得企业当前在线产品(族)能够得到有效地表示和融合,因而可以平稳地过渡企业当前开发过程,最大限度地保护企业既有资产的价值。3、提出了一种从特征模型(计算无关模型)向模型构件(平台无关模型)的转换方法。目前模型转换领域的研究方向主要集中在PIM-PSM及PSM-代码间转换理论及规则定制上,对于如何实现系统需求(CIM)向系统模型(PIM)的转换却提之甚少。本文针对这种现状,结合FDSDM软件开发方法,提出了一种从产品族特征模型向模型构件的转换方法。该方法引入角色概念,并通过角色为中介者,利用特征-角色-构件模型算法将特征模型映射为模型构件,实现转换过程。在转换过程中,方法尽可能将人的活动限制在一个简单狭小的范围,最大限度地弥补人对复杂事物无法精确把握的缺陷,保证软件过程早期软件模型的正确性。本文提出的特征模型向模型构件的转换过程为CIM模型与PIM模型转换提供了一种可能的解决思路。4、提出了一种从特征模型向产品族参考体系结构映射的模型变换规则。传统的软件体系结构描语言主要针对单一产品,很少有支持整个产品族的参考体系结构表示方法。为了解决产品族体系结构“大同构、小异构”的描述方法,本文分析了产品族特征模型可变性的来源和种类,将不同种类的特征模型可变性映射为体系结构概念中端口可变性和构件可变性两级,通过不同可变性的组合描述体系结构可变性。同时,针对不同的特征模型可变性给出了其产品族参考体系结构描述转换的规则,从而实现了特征模型向产品族参考体系结构描述的转换。通过对开发方法和相关技术的研究,本文期望可以从思想和实践上为领域软件的开发寻找到一条经济、快捷的道路,有效解决领域复杂性与实现技术复杂性的高度耦合,提供软件产业的生产效率,实现软件生产的自动化,有效的保持和延长软件既有投资的价值。

【Abstract】 The increasing development of hardware and software exploits a new direction of human civilization, with the extremely higher productivity and production automation level. At the same time, software and its development skill also gain a great achievement in the process of domain application as a reward. However, with the wider application extension and deeper investigation in various domains, the complexity of application domain becomes a main block in the progress of software production. First, the variety of domain business logics makes the system to entirely rewrite just for some different requirements; Secondly, on one hand, new invited software theories and technologies accelerate the development process with higher quality in an easier way, but on the other hand, they also make the prior investment which couples with outdated technologies lose its value; Lastly, the evolution of domain business logic also results in the natural loss of online software production value. To solve these problems, a lot of theories and methods, such as domain-driven technology and model-driven technology representatively, are presented. Domain Driven technology analyzes domain requirements, try to organize and represent the common and variable requirements in a consistent way and select the specific requirements through feature model configuration, hoping to solve the generation of product family. Model Driven Technology aims at system representations; it describes system as models with different abstraction levels and perspectives, so the related persons can use these models to describe the system in more human-central way other than computer-central way. Once these system models constructed, they can be transformed to more detailed and platform-oriented models or executable code through various transformation rules. Model Driven Theory can technologically solve the problem of invested asset loss caused by the new invented programming technique, as the result of decouple of business logic and realization-oriented details. On the basis of the main idea of domain-driven technology and model-driven technology, this thesis presents a new methodology called Feature Model Driven Software Development Methodology (FDSDM) in details, with the description of the architecture of FDSDM tool set, the process of FDSDM and various software artifacts generated in the milestone of FDSDM process. In order to support the application of FDSDM, this thesis also defines MOF-based metamodel of feature model, designs the algorithm of feature model conflict detection and gives the method to transform the feature model (CIM) to model component and reference architecture (PIMs). In details, the main research contents in the thesis are listed as follows:1. Research on Feature Model Driven Software Development Methodology. Software artifact reuse is the best way to maintain the invested asset value. By adopting the core ideas of Domain Driven Technology, FDSDM represents the common and variable requirements in a consistent way called feature model and the concrete system requirement is selected through the configuration of feature model, which realize the reuse of model among different products. By absorbing the benefits of Model Driven Technology, FDSDM treats the steady model as first-class artifact and changes the traditional programming-central software process to model-central, which shield the asset depreciation caused by new platforms or techniques, which maximize the reuse of model and investment. In details, the thesis introduces the architecture of FDSDM tool set, describes the process and artifacts of FDSDM, which gives a general description of FDSDM.2. Research on the Meta-model of Feature Model. In order to describe the feature model in a consistent way and facilitate transformation between different models, this thesis define the meta-model of feature model based on OMG’s MOF standard. The meta-model describes the abstract and concrete syntax in a formal way and the semantics in a semi-formal way. At the meanwhile, this thesis introduces the import and merging mechanism of the feature model and realizes the algorithm of feature model conflict detection, which founds the basis of feature model automated operation.3. Research on transformation method from feature model to model component. To facilitate the transformation from feature model to model component, the thesis introduces the concept of role, and then uses it as an intermediary to complete the transformation process from CIM to PIM. Transformation process performs the feature operationalization, role analysis model construction and feature-role-component algorithm in turn. Feature operationalization is the process to decompose the requirement-specific features into computation-oriented roles. Role analysis model make feature as a unit to analyze the interaction between roles and build the relationships among the roles. The feature-role-component algorithm finally transforms the feature to model component and constructs the reusable model component, realizing the transformation from CIM to PIM.4. Research on reference architecture transformation method. The thesis analyzes the relationship between the feature model variability and reference architecture description language, gives levels and affects factors of reference architecture variability description, according which the rule of feature model to reference architecture transformation is presented, and also describes a method to construct product family reference architecture in general, which semi-automates the architecture construction.The creative points in the thesis include:1. Present a feature model driven software development methodology combining domain driven technology and model driven technology. The FDSDM begins with domain analysis, using feature model to represent and organize the common and variable requirements of domain product family consistently; Driven by model transformation, system milestone models in different process stage and perspective are converted to more detailed model or executable code, which realize system (semi-)automated generation. FDSDM takes the advantages of domain driven and model driven technologies, making the development process more human-central other than computer-central , which reduces the error coming from thought transformation , minimizes the human affection in development and realizes the engineering of software industry.2. Define the meta-model of feature model in a formal way and realize the algorithm of automated feature model conflict detection. In order to support FDSDM effectively and efficiently, this thesis design the meta model of feature model based on OMG’s MOF standard, define its abstract and concrete syntax in a formal way, the meta model based on MOF facilitate the horizontal and vertical transformation from feature model to other models conformed to MDA specification, and also make it possible to transform feature model to models on the basis of other standard using MOF-based transformation engine. In addition, the introduction of conflict detection algorithm and feature model import and merge mechanism make it easier for FDSDM to apply to real large-scaled project and protect the asset value.3. Present a method to transform the feature model to model component. the present model transformation research are mainly focus on the rules from PIM to PSM or PSM to executable code, there is little on how to transform the system requirements(CIM) to system model(PIM). The thesis presents a new method, which introduces role as an intermediary. The method performs feature operationalization, role model analysis and transformation algorithm in turn to accomplish the goal of semi-automated component generation. The presentation of method gives a potential way for CIM-to-PIM transformation, hoping to attract more attention to this research area.4. Present the rules of feature model to reference architecture transformation. Traditional ADL (Architecture Description Language) describes only one single product, which lack of the ability to describe the whole product family. To solve the consistent description of reference architecture, the thesis analyzes the source and type of feature model variability, maps the variability to port variability and component variability in architecture description, and describes the reference architecture by combining these variabilities. The thesis also gives the rules to transform different kinds of feature model variable points to reference architecture variable points, which realize the corresponding model transformation.By the research on FDSDM and related technologies, this thesis hopes to find a economic way in software development ideologically and practically to solve the couple of complexity between domain logic and technology, increase the productivity and automation level of software industry and maintain the invested asset value.

  • 【网络出版投稿人】 吉林大学
  • 【网络出版年期】2011年 05期
节点文献中: