共查询到20条相似文献,搜索用时 15 毫秒
1.
研究了UML模型到B形式化规约的转换。提出了一套从OCL数据类型及定义在这些数据类型上的操作到BAMN的转换规则。OCL的Boolean类型和Integer类型分别对应于B中的BOOL类型和Z类型;OCL中的String类型需用B抽象机器重新定义新的数据类型Char_TYPE和String_TYPE来进行规约;OCL中的REAL类型采用B中的记录表达式进行近似模拟;OCL中的Collection类型(包括Set,Orderedset,Bag,Sequence)用B语言中的set,sequence,tree等进行近似模拟。 相似文献
2.
3.
UML作为一种通用的可视化建模语言已被广泛应用,但UML模型的一致性问题一直限制着在软件开发中更有效地应用UML。本文阐述了UML模型一致性的相关概念,介绍了一种以OCL表示模型的一致性规则、并基于这些对模型进行一致性检查的方法。将此方法实现为一致性检查工具,提供了模型分析、语法检查和模型一致性检查等功能。 相似文献
4.
带OCL约束条件的类图到Object-Z规格说明的转换 总被引:1,自引:0,他引:1
如何提高软件的可靠性是目前软件研究领域的一个热点。将形式化方法和主流的软件开发方法相结合是一个可行的方法。本文研究UML语言和Object-Z语言相结合的方法,为主流的软件开发人员所使用的图形化规格说明技术与形式方法提供的精确的分析和验证技术架起了一座桥梁。本文定义如何将带0CL约束条件的类图转换到Object-Z规格说明的方法。这样不仅可以通过支持Object-Z语言的工具采对UML语言描述的系统性质进行验证和确认,而且能够帮助规格说明人员方便地构造Object-Z规格说明。 相似文献
5.
该文介绍了形式化方法中B语言和UML/OCL语言,从软件开发生命周期的角度对B语言和OCL语言进行了比较,归纳了这两种形式化语言的异同和各自的适用范围。 相似文献
6.
该文介绍了形式化方法中B语言和UML/OCL语言,从软件开发生命周期的角度对B语言和OCL语言进行了比较,归纳了这两种形式化语言的异同和各自的适用范围。 相似文献
7.
8.
UML is currently the most widely used modeling language for the specification of the conceptual schema (CS) of an information system (IS). However, UML falls short when it comes to allow business people to define in their own language (e.g. using their own terms in natural language) the policies and rules by which they run their business. To this purpose, the semantics of business vocabulary and business rules (SBVR) metamodel specification was proposed. SBVR is conceptualized optimally for business people and it is designed to be used for business purposes, independently of information systems designs. 相似文献
9.
Model Driven Engineering promotes the use of models as the main artifacts in software and system development. Verification and validation of models are key activities to ensure the quality of the system under development. This paper presents a framework to reason about the satisfiability of class models described using the Unified Modeling Language (UML). The proposed framework allows us to identify possible design flaws as early as possible in the software development cycle. More specifically, we focus on UML Class Diagrams annotated with Object Constraint Language (OCL) invariants, which are considered to be the main artifacts in Object-Oriented analysis and design for representing the static structure of a system. We use the Constraint Logic programming (CLP) paradigm to reason about UML Class Diagrams modeling foundations. In particular, we use Formula as a model-finding and design space exploration tool. We also present an experimental Eclipse plug-in, which implements our UML model to Formula translation proposal following a Model Driven Architecture (MDA) approach. The proposed framework can be used to reason, validate, and verify UML Class Diagram software designs by checking correctness properties and generating model instances using the model exploration tool Formula. 相似文献
10.
11.
Assessment of the correctness of software models is a key issue to ensure the quality of the final application. To this end, this paper presents an automatic method for the verification of UML class diagrams extended with OCL constraints. Our method checks compliance of the diagram with respect to several correctness properties including weak and strong satisfiability or absence of constraint redundancies among others. The method works by translating the UML/OCL model into a Constraint Satisfaction Problem (CSP) that is evaluated using state-of-the-art constraint solvers to determine the correctness of the initial model. Our approach is particularly relevant to current MDA and MDD methods where software models are the primary artifacts of the development process and the basis for the (semi-)automatic code-generation of the final application. 相似文献
12.
In Model‐Driven Development (MDD), detection of model defects is necessary for correct model transformations. Formal verification tools and techniques can to some extent verify models. However, scalability is a serious issue in relation to verification of complex UML/OCL class diagrams. We have proposed a model slicing technique that slices the original model into submodels to address the scalability issue. A submodel can be detected as unsatisfiable if there are no valid values for one or more attributes of an object in the diagram or if the submodel provides inconsistent conditions on the number of objects of a given type. In this paper, we propose a novel feedback technique through model slicing that detects unsatisfiable submodels and their integrity constraints among the complex hierarchy of an entire UML/OCL class diagram. The software developers can therefore focus their revision efforts on the incorrect submodels while ignoring the rest of the model. Copyright © 2013 John Wiley & Sons, Ltd. 相似文献
13.
Integrity constraints play a key role in the specification and development of software systems since they state conditions that must always be satisfied by the system at runtime. Therefore, software systems must include some kind of integrity checking component that ensures that all constraints still hold after the execution of any operation that modifies the system state. Integrity checking must be as efficient as possible not to seriously slow down the system performance at runtime. In this sense, this paper proposes a set of techniques to facilitate the efficient integrity checking of UML-based software specifications, usually complemented with a set of integrity constraints defined in Object Constraint Language (OCL) to express all rules that cannot be graphically defined. In particular, our techniques are able to determine, at design-time, when and how each constraint must be checked at runtime to avoid irrelevant verifications. We refer to these techniques as incremental because they minimize the subset of the system state that needs to be checked after each change by assuming that the system was initially in a consistent state and just reevaluating the elements that may have been affected by that change. We also show how the techniques can be integrated in a model-driven development framework to automatically generate a final implementation that automatically checks all constraints in an incremental way. 相似文献
14.
Live Sequence Charts (LSC) extend Message Sequence Charts (MSC), mainly by distinguishing possible from necessary behavior.
They thus enable the specification of rich multi-modal scenario-based properties, such as mandatory, possible and forbidden
scenarios. The sequence diagrams of UML 2.0 enrich those of previous versions of UML by two new operators, assert and negate, for specifying required and forbidden behaviors, which appear to have been inspired by LSC. The UML 2.0 semantics of sequence
diagrams, however, being based on pairs of valid and invalid sets of traces, is inadequate, and prevents the new operators
from being used effectively.
We propose an extension of, and a different semantics for this UML language—Modal Sequence Diagrams (MSD)—based on the universal/existential modal semantics of LSC. In particular, in MSD assert and negate are really modalities, not operators. We define MSD as a UML 2.0 profile, thus paving the way to apply formal verification,
synthesis, and scenario-based execution techniques from LSC to the mainstream UML standard.
Preliminary version appeared in SCESM '06: Proc. of the 2006 Int.
workshop on Scenarios and State Machines, Shanghai, China (May 2006) [15]. This research was supported by the Israel Science
Foundation (grant No.287/02-1), and by The John von Neumann Minerva Center for the Development of
Reactive Systems at the Weizmann Institute of Science. 相似文献
15.
In this article we present a method for describing the language of UML statecharts. Statecharts are syntactically defined as attributed graphs, with well-formedness rules specified by a set of first-order predicates over the abstract syntax of the graphs. The dynamic semantics of statecharts is defined by Abstract State Machines parameterized with syntactically-correct attributed graphs. The presented approach covers many important constructs of UML statecharts, including internal, completion, interlevel and compound transitions as well as history pseudostates. It also contains strategies to handle state entry/exit actions, state activities, synch states and choice pseudostates. 相似文献
16.
基于进程代数的UML序列图的形式语义 总被引:3,自引:1,他引:3
UML序列图用于建模实例间动态交互过程.但UML规范并没有给出其形式化的动态语义,这不利于对模型进行形式化验证和证明。本文把序列图中的事件动作及其执行序列映射为进程代数中的进程表达式,利用进程代数语义框架来构建UML序列图的形式语义。首先,建立了序列图到进程代数的语义映射规则;然后用Plotkin风格的结构化操作语义给出并证明务件组合算子演绎规则;最后,归纳定义了算子次序约束条件并证明了其可终止性。 相似文献
17.
UML的形式化及其应用 总被引:5,自引:1,他引:5
本文介绍一个面向度量的UML的代数表达框架。这个框架可以作为设计模型检测的基础,并为设计人员提供一个在软件设计进化过程中检测一些设计错误和提出可能的优化方案的理论基础。本文给出了UML类图、序列图和状态图的代数表达并用例子说明了这个UML的代数表达框架的应用及它是如何检测设计错误和提供可能的优化建议的。 相似文献
18.
介绍一个搜索引擎系统的开发。运用UML用例图做系统的需求分析,运用UML类图、状态图、包图进行系统设计。以OCL表达式丰富状态图。使用C#语言和ASP.NET编程,SQL Server存储信息,系统运行在微软.NET环境上。遵循面向对象方法,如逐步求精和模块化,建立UML/OCL模型、组织程序,将系统逐层分解成具有特定功能的模块。系统由收集器、索引器、检索器三大部分组成,分别负责数据收集、数据分析和索引构建、用户检索接口。论文报告系统分析、设计和实现的思想和过程。 相似文献
19.
This paper presents a formal symbolic trajectory evaluation (STE) theory based on a structural netlist circuit model, instead of an abstract next state function. We introduce an inductive definition for netlists, which gives an accurate and formal definition for netlist structures. A closure state function of netlists is formally introduced in terms of the formal netlist model. We refine the definition of the defining trajectory and the STE implementation to deal with the closure state function. The close correspondence between netlist structures and properties is discussed. We present a set of novel algebraic laws to characterize the relation between the structures and properties of netlists. Finally, the application of the new laws is demonstrated by parameterized verification of the properties of content-addressable memories. 相似文献