节点文献

基于OOCPN的软件可执行模型建模方法的研究

Modeling Approach of Software Executable Models Based on OOCPN

【作者】 卢雷

【导师】 张彩明;

【作者基本信息】 山东大学 , 计算机软件与理论, 2011, 博士

【摘要】 随着软件应用领域的不断扩展和深入,软件系统的规模和复杂性也在逐渐扩大和提高,使得软件设计开发的难度和软件系统潜在的问题也日益增加。早期的设计缺陷会严重阻碍后期系统的开发、应用和维护。如果能够在早期设计阶段及时发现并避免错误,会大大减少设计开发、应用维护的成本,显著提高软件系统设计及开发的效率。软件系统建模与验证成为软件工程领域研究的热点。传统的软件系统建模方法主要包括数学建模方法、结构化建模方法、信息建模方法和面向对象的建模方法等。这些方法在软件开发历程中都发挥了一定的作用,但是也都存在着比较明显的不足。主要表现为:数学建模方法抽象程度较高,不适合系统的分析和设计建模;结构化方法容易产生问题空间与解空间不一致的问题;信息建模强调状态而非对象,对所建模型有一定的限制;面向对象方法虽然对软件系统建模有很好的支持,但是它的形式化程度不高,对模型缺乏有效的验证和分析手段。软件开发方法的每一次改进都使软件系统的抽象层次得到一次提高。抽象层次的提高使系统涉及的具体信息与限制条件就减少,系统的适应性与概括能力就提高。如何使得抽象模型能够显现地、仿真模拟实际应用系统,早期发现系统设计的缺陷,是提高软件系统生产率和质量的关键。因此,建立可视化程度高、可执行的模型也是对软件开发方法的一种改进。软件建模方法的研究已经开展了很久,也取得了一些可喜的成果,本文在已有研究成果的基础上,针对当前研究所存在的可执行性不强,仿真模拟现实系统的力度不够,不能及早地发现设计缺陷并改进等方面的不足,以可视化、可执行模型为切入点,对基于面向对象技术、方法和Petri网融合技术进行软件系统建模提出了一些方法,本文的主要工作和贡献有以下几个方面。分析总结软件系统传统建模方法的不足,提出将面向对象技术、方法和Petri网结合的方式开展软件系统可执行模型的建模:总结归纳出4种结合的方法,并分类形成面向对象技术中嵌入Petri网、Petri网中嵌入面向对象技术和相互嵌入的3种结合形式;给出面向对象Petri网OOPN的形式定义和语义解释,并深入分析了OOPN的面向对象特征。提出基于OOPN图形界面交互行为的建模方法。首先针对用户操作图形界面的习惯确定界面操作对象,并利用OOPN对其属性和行为进行形式描述,形成对象子网;其次,分析总结操作对象间的关系,确定并定义对象子网间的顺序、同步、选择、并行和互斥5种行为关联关系;第三,在系统需求分析的基础上,将对象子网和关联关系进行集成、整合,形成系统可执行的模型。最后,根据OOPN的执行语义和变迁的引发条件,检查模型的各种可能的执行过程,验证模型的适用性和正确性。提出对前述OOPN的改进方案,扩充子网间的关联关系,使其形成虚网结构,在此基础上提出对象子网的分层原则和方法以及OOPN的化简规则,并证明化简规则的适用性;提出对象子网和OOPN的死锁标识检测算法,并通过实例,对分层方法、化简规则和死锁标识检测算法进行验证。总结基于OOPN建模方法存在的不足,采用面向对象与着色Petri网相互嵌入的结合形式,提出基于面向对象着色Petri网OOCPN基本通信协议的形式描述方法。基于该方法,以一个简单的通信协议为例,利用CPNTools工具建立一个自动可执行的模型,并通过仿真执行,验证协议的正确性和模型的各种性质,同时利用可执行模型的执行结果,对协议的传输性能进行了分析和评价。本文的工作对深入开展软件系统建模方法的研究提供了一点新的思路,对早期发现软件系统设计开发中的错误,提高设计开发效率和可靠性都具有一定的理论和实践价值。但是,所研究的方法还存在一些不足,还需进一步改进和完善,结合人们广泛熟知的UML建模语言,建立一个与平台无关的模型描述机制,加强案例分析研究和模型性质分析研究,使该方法在软件系统设计开发中真正发挥作用,提高软件系统开发的效率和质量。

【Abstract】 With software applications penetrating into more and more areas, software systems have become larger and much more complex, which has made development of software even harder and has brought about increasing potential problems embedded in systems. Defects at early stage of design would seriously hamper the following development, application and maintenance of systems. Therefore, if the errors and defects were detected in time during early stage, the efficiency of designing and developing software systems would achieve remarkable increases at much smaller expenses. Thus, modeling and validating of software systems has been a research focus in software engineering.Traditional modeling approaches for software system mainly includes mathematic modeling method, structured modeling method, information modeling method, object oriented modeling method, and so on. Those approaches played a role in software development history There, however, still exist drawbacks in those modeling methods. The abstractness of mathematic modeling approach hampers analysis, development and design of the system. Adopting structured modeling method always results in problem space inconsistent with solution space. Information modeling method concentrates on conditions rather than objects, which puts limitations on established models. Although object oriented method supports software system modeling well, it is not formalized enough to analyze and verify models. Every improvement in software developing method has enhanced the abstractness of software system. Thus, enhanced abstractness has reduced specific information the system involves and has eliminated limitations of the system, which improves the adjustability and generalization of the system. Enabling abstract models to simulate practical application system in a manifesting way and detecting drawbacks in system design at early stage can significantly enhance productivity and quality of software system. For this reason, establishing highly visualized and executable models improves software development approaches.Much work has been done in research on software modeling approach, and achievement has been obtained. There still exist several drawbacks. Current research is impeded by low performability. The simulation of the reality system should be enhanced. Adopting traditional methods, it is hard to detect defects and flaws of the design. Based on previous achievements, the paper, in view of the drawbacks of recent research, started from visualized and executable models to explore and elaborate on software system modeling based on combination of Object Oriented technology and Petri Nets, and proposed solutions. The major work and contribution of the paper unfold as follows.The paper analyzed and summarized traditional modeling methods, based on which the paper proposed four approaches of combining Object Oriented technology and Petri Nets to establish executable models for software systems, and classified the approaches into three categories. The approaches are categorized as object oriented technology embedded with Petri Net, Petri Net embedded with object oriented technology, and those two embedded into each other. Furthermore, the paper put forward formal definition and semantic explanation of OOPN and performed an in-depth analysis of object oriented feature of OOPN.The paper proposed modeling method based on OOPN interaction behaviors on graphic interface. In view of users’habitual operations on graphic interface, the paper, firstly, determined operating objects on interface, gave formal descriptions of their properties and behaviors using OOPN, and formed object sub nets. Secondly, the paper analyzed relations within objects and defined behavioral correlations and associations within object sub nets. The behavioral correlations and associations of behaviors are classified as sequence, synchronization, selection, concurrency and mutual exclusion. Thirdly, the paper based on system requirement analysis assembled and integrated subnets and their correlations, and proposed executable model of the system. Finally, the paper, in accordance with execution semantics and conditions of transition firing of OOPN, checked possible execution processes and verified correctness and applicability of the model.The paper came up with an improved OOPN, expanded correlations within sub nets and made it form a virtual net structure. Thus, the paper proposed principles of stratification and reduction rules of OOPN and verified the applicability of reduction rules. In addition, the paper suggested algorithm for deadlock marking detection of object sub nets and OOPN and applied it into practical use. By application in cases, stratification method, reduction rules and deadlock marking detection algorithm are verified and validated.Summarizing drawbacks in modeling based on OOPN, the paper put forward the formal description of fundamental communication protocol on the basis of Object Oriented Colored Petri Nets which combines object oriented technology with colored petri nets. Adopting such approach, the paper, following an example of a simple communication protocol, made use of CPNTools and established an automatic executable model. Then, the paper checked the correctness of the protocol and verified properties of the model by simulating execution. Meanwhile, the paper, making use of the results of the simulated execution of executable models analyzed and evaluated the communication performance of the protocol.The paper proposed new penetrating method for in-depth researching on software system modeling, which will, in both theoretical and practical way, help detect problems at early stage of designing and developing software system and enhance efficiency as well as reliability of design and development. Nevertheless, there still exist defects in the proposed approach. Much more is to be done to improve and optimize the method. By combination with popular modeling language, namely UML and establishment of a mechanism for describing models regardless of platform, the proposed approach will play significant role in designing and developing software systems. More case studies and property research of models are necessary to enhance the efficiency and quality of software system development and design.

  • 【网络出版投稿人】 山东大学
  • 【网络出版年期】2012年 06期
节点文献中: 

本文链接的文献网络图示:

本文的引文网络