生成式程序设计包括两个开发周期——领域工程和应用工程。应用工程与领域工程不同,开发人员是根据用户的需求开发特定的系统,没有对领域的对象进行抽象。领域工程和应用工程并不存在先后顺序,而是两个并行的过程。生成式程序设计目标集中于特定领域,因此必须要对“领域”这个概念先有一个理解。在领域模型的基础上,设计、开发和组装可复用资源。下面详细地介绍领域工程中的三个不同阶段——领域分析、领域设计以及领域实现。......
2023-10-26
按传统软件开发方法设计与开发的软件产品,尤其是要求高可靠性的实时控制软件和军用软件(包括顺序、并行和实时软件)等大型软件系统,普遍存在着系统正确性及可靠性难以保证等问题,且难于实现软件自动化。20世纪80年代以来,形式化软件开发方法的研究及应用为解决上述问题找到了一条有效的途径,使用形式化方法开发软件可以提高软件的可读性、可靠性和可维护性以及软件的开发效率,并为实现软件开发的自动化奠定基础。
软件开发的形式化方法是以一般形式化方法为基础的。形式化方法为计算机系统的规约、实现和验证提供了合理的数学基础,首先对系统进行独立于实现的、基于一定形式化语义的抽象描述,然后经过逐步求精及变换,利用规约的数学特性检验其一致性,直至生成最终的软件系统。其优点在于它严格、精确地定义了用户需求,形式化规约的求精过程具有可推导、易证明的特性,从而有利于保证程序的正确性和实现软件自动化。尤其适宜高安全性系统的开发,这也是形式化方法目前最主要的应用领域。但是,形式化方法要求使用者具有较好的数学背景,因而不便于最终用户参与开发过程,阻碍了它的进一步发展。另外,某些形式化方法缺乏描述软件结构的强有力机制,对大型软件的开发不太理想。(www.chuimin.cn)
一个形式化的软件开发方法一般包括一套思维方法及描述方法、一种开发手段(如规范描述的原则、程序开发的一般过程、描述语言等)和支持工具,使开发者能利用数学概念和表示方法恰当合理地构造形式规范,根据开发过程的框架及设计原则进行规范描述和系统化的设计求精,并使用证明的概念对规范的性质和设计步骤进行分析和验证;方法还应该有工具的支持,使开发过程可行且高效。
有关形式化构件装配的图算法生成的文章
生成式程序设计包括两个开发周期——领域工程和应用工程。应用工程与领域工程不同,开发人员是根据用户的需求开发特定的系统,没有对领域的对象进行抽象。领域工程和应用工程并不存在先后顺序,而是两个并行的过程。生成式程序设计目标集中于特定领域,因此必须要对“领域”这个概念先有一个理解。在领域模型的基础上,设计、开发和组装可复用资源。下面详细地介绍领域工程中的三个不同阶段——领域分析、领域设计以及领域实现。......
2023-10-26
由于本书的研究是PAR方法的一个重要组成部分,故在此,将对PAR方法做较为详细的阐述。图1-1 PAR方法开发过程略图PAR方法是一种基于分划和递推的部分形式化算法程序设计方法,支持算法程序开发的全过程。它包括四个组成部分:算法程序设计方法、基于递推关系的算法设计语言Radl、抽象程序设计语言Apla及一系列转换系统。由PAR方法的理论及上述对算法的推导,我们可以看出,PAR方法在克服软件危机方面将大有作为。......
2023-10-26
下面介绍进化算法的相关定义和统一的描述框架[1]。对于各种进化计算方法,存在一个非空集合I,I称为这个进化计算的个体空间。D的值域确定了进化计算的实际搜索范围。随机函数被称为随机种群变换,其中Ω为采样空间。遗传算法是目前研究的进化算法中三种典型算法之一,其他两种分别是进化规划和进化策略。进化规划的特点在于没有使用交叉算子,采用随机选择机制,因而变异在进化过程中占据重要地位。......
2023-11-26
本节根据MSAA的特征模型和渐进式比对算法构件的交互模型,利用Apla语言的高抽象性、对泛型及ADT的良好支持以及易于正确性验证等优点,来形式化实现多序列比对算法构件。prog构件该构件为ADT类型HMSAA中的泛型子程序,根据传入不同类型的计算比对步骤进行渐进式比对。result_op构件该构件为ADT类型,泛型子程序multiAlign_op在多序列比对结果的基础上,对结果进行格式化输出。......
2023-10-25
已经存在的多序列比对算法主要有三类:精确比对算法,渐进式比对算法和迭代比对算法。Thompson和Higgins于1994年对渐进式多序列比对算法进行了实现,提出了Clustal W算法。它在数据量较大和距离较远的序列比对中更准确,且消耗时间更短,该算法还在不断改进以适应数据量剧增的多序列比对需求。......
2023-10-25
通过对目前常用的多序列比对算法进行研究,利用FODM的建模方法对MSAA进行特征建模。多序列比对操作是MSAA的核心服务,双序列比对操作、系统发生树构建操作、启发式多序列比对操作,目标函数是该领域中的主要功能,其中双序列比对操作、系统发生树构建操作为可选择的功能,目标函数和启发式多序列比对是必选的功能。此外,目标函数计算参数选择也是其行为特点,包括罚分模型和替换矩阵两个值。图5-1MSAA的特征模型......
2023-10-25
变换的开始、中间到结束、产物是一符号串,这种形式化方法称为完全形式化方法。所以,目前软件开发的形式化方法主要是以部分形式化方法为主。总体上,形式化软件开发方法大致可分为以下五类:基于模型的方法。......
2023-10-25
在实际应用中,很多算法都体现了深度优先搜索的思想。图3-2 有向图的邻接表表示2.拓扑排序深度优先搜索的另一个经典应用是对有向无环图进行拓扑排序。这两次深度优先搜索一次运行在图G上,一次运行在转置图GT上。算法计算的结果是深度优先森林,每一个强连通分量对应一棵深度优先树。......
2023-10-26
相关推荐