CORC  > 软件研究所  > 基础软件国家工程研究中心  > 学位论文
题名具有严格操作语义的图形化软件过程建模研究
作者杨秋松
学位类别博士
答辩日期2008-06-05
授予单位中国科学院软件研究所
授予地点软件研究所
关键词软件过程 软件过程建模 软件过程建模语言 软件过程验证 软件过程移动性 TRISO/ML TRISO Model
其他题名The Research on Graphical Software Process Modeling Method with Rigorous Operational Semantics
中文摘要``软件危机'',这一始于上世纪~60~年代的概念,始终伴随着软件业的整个历史发展进程。 为了解决该问题,人们逐渐开始借鉴一些传统领域内的管理理论、方法和工具,以期解决软件开发中所面临的问题。其中,更多的是作为一种管理哲学,而不是具体管理方法的全面质量管理(Total Quality Management,TQM),在软件工程领域得到了广泛应用。全面质量管理对于软件工程的影响,一个很重要的方面是促进了软件过程和软件过程改 进的研究、实践。 作为软件过程研究的重要内容,软件过程建模是通过特定的方法对软件过程进行抽象、表示和分析以增加对软件过程的理解,并通过直接或者间接的方式指导实际软件开发活动。为了对软件过程管理活动提供方法和工具支持,人们提出了多种以过程为中心的软件过程工程环境(Process-centered Software Engineering Environment, PSEE),其最终目的是使得实际软件开发活动受软件过程模型的支配。但由于过程模型本身的正确性得不到保证、PSEE中执行的软件过程模型和实际开发过程之间的信息反馈缺乏客观性以及过程模型和实际开发过程之间的抽象层次不同和描述粒度不一致,导致PSEE中执行的软件过程模型和实际开发过程之间经常产生严重的偏差,以至于PSEE对实际开发活动逐渐地失去了支持和指导作用,进而使得投入大量成本所开发的软件过程模型无法发挥其应有的作用。 针对这些问题,本文提出了一种具有严格操作语义的图形化软件过程建模方法。由于在具有图形化表示方式的同时,又具备严格的操作语义,因此基于该方法所描述的软件过程比较易于分析。特别是,通过模型检测技术验证软件过程模型本身的正确性,可以减少由模型错误所导致的不一致;通过比较预定义的过程模型和实际开发过程,可以发现两者间的不一致并及时地消除。同时,具有严格操作语义的软件过程建模方法,可以为软件过程执行提供良好的支持。 首先,本文提出了一种具有严格操作语义的图形化建模语言——TRISO/ML。该语言具有图形化的表示方式,可以更容易地为软件工程人员所接受,以及更好地满足过程表示对易用性和可理解性的需求。该语言同时具有严格的操作语义,可以映射到多元PI演算,从而能够更准确地描述软件过程,避免歧义的产生。更为重要的是,该语言从行为角度出发,能够以一致的方式描述软件过程中的各种实体及其相互间的并发、同步和通信。 其次,在TRISO/ML语言的基础之上,提出了一系列的软件过程分析方法。主要研究如何利用多元PI演算的理论、方法和工具以及软件验证技术,对软件过程进行分析和验证。软件过程分析的研究主要集中在如下两个方面:a)软件过 程模型本身正确性的验证,以确保该模型准确地描述了所希望表达的内容。b)比较两个过程模型是否等价。 然后,基于软件过程移动性概念,研究了如何通过软件过程结构的变化支持过程的动态执行。软件过程移动性概念反映了软件过程执行时,由于软件过程实体的动态交互,导致构成软件过程的实体及其相互间的关系不断地发生变化。 软件过程移动性这一概念的提出,使得软件过程实体之间的关系可以在软件过程执行时动态地确立和调整,软件过程的定义随着过程信息的不断丰富而逐步地细化和明确,从而能够以更灵活的方式支持软件过程的表示和执行。 最后,描述了支持TRISO/ML的原型工具,包括基于TRISO/ML的过程表示、多元PI演算语义描述的自动生成,以及进一步的分析和验证。
英文摘要The concept ``software crisis'' was coined in the 1960s and it has been plaguing the software development industry in the passed several decades. To address the crisis, the theories, methods and tools used for management in some traditional domains, such as the manufacture industry, are leveraged to solve the problems facing the software development community. Total Quality Management (TQM), as a philosophy rather than specific management methods, has been introduced and widely used in the software engineering literature. In particular, there has been significant progress in the research on software processes as a result of the TQM's introduction. As part of the research on software processes, software process modeling is to provide effective means to represent and analyze a process and, by doing so, to enhance the understanding of the modeled process. In addition, an enactable process model can provide direct guidance on how an actual development process should proceed. A lot of Process-centered Software Engineering Environments (PSEE) have been developed to support the management of software process activities. The ultimate goal of PSEE is to ensure that an actual development process is governed by the process model executed in PSEE's virtual environment. However, the actual development process tends to deviate from the process model executed in PSEE because of possible errors in the process model definitions, the subjectivity of the feedback from the actual development process to PSEE and a different level of abstraction and granularity used by process models to describe process entities. The deviation is often so obvious that PSEE can not provide guidance and concrete support to the performance of actual development processes and they are rejected by users. Furthermore, the process models that have been developed with a substantial investment do not play the role as they are intended to be. To address these problems, a graphical software process modeling method, but with rigorous operational semantics, is proposed in this paper. The rigorous operational semantics enables a process to be more amenable to analysis. In particular, model checking techniques can be employed to check the correctness of process models and, thus, the deviations resulted from errors in process models will be partially avoided. The equivalence checking between a process model and the underlying model reflecting how the actual development process proceeds is very helpful to detect and locate the deviations between the actual development process and the process model executed in PSEE and to reconcile them in a timely fashion. In addition, substantial support can be provided to the execution of processes when rigorous operational semantics is available. Firstly, TRISO/ML, a graphical process modeling language but with rigorous operational semantics, is proposed. With comprehensible visual notations, it is more likely to be accepted by software engineers and better serve the requirements of process representation. On the other hand, the rigorous operational semantics in polyadic PI-calculus is greatly helpful to precisely describe software processes and reduce ambiguities in process definitions. Another predominant characteristic of TRISO/ML is that all process entities and the concurrency, synchronization, and communication among them are coherently described from the behavior point of view. Secondly, several methods are proposed for verifying and analyzing software processes in TRISO/ML. They are centered on how to apply those theories, methods and tools of polyadic PI-calculus and software verification techniques to verifying and analyzing software processes. The research can be classified into two categories: a) the correctness checking of process models to ensure that a process model will behave as expected. b) to decide if two process models are equivalent. Thirdly, based on the novel concept of software process mobility, the research on how to support the dynamic execution of a process by adjusting its running-time structure is presented. The concept ``software process mobility'' reflects the intrinsic feature of software processes that process entities and relationships among them are always changing as a result of interactions among entities. The introduction of software process mobility enables the relationships among process entities to be dynamically created and adapted during the execution of a process and a process to be incrementally refined and clarified when more and more information about the process is available. Thus, the flexibility in the representation and execution of processes is substantially increased. Finally, a prototype for TRISO/ML is presented, which supports the modeling of processes with visual notations of TRISO/ML, the automatic generation of polyadic PI-calculus descriptions from a graphical TRISO/ML process, and the verification and analysis of software processes.
语种中文
公开日期2011-03-17
页码134
内容类型学位论文
源URL[http://124.16.136.157/handle/311060/7380]  
专题软件研究所_基础软件国家工程研究中心_学位论文
推荐引用方式
GB/T 7714
杨秋松. 具有严格操作语义的图形化软件过程建模研究[D]. 软件研究所. 中国科学院软件研究所. 2008.
个性服务
查看访问统计
相关权益政策
暂无数据
收藏/分享
所有评论 (0)
暂无评论
 

除非特别说明,本系统中所有内容都受版权保护,并保留所有权利。


©版权所有 ©2017 CSpace - Powered by CSpace