VeriAgent: an Approach to Integrating UML and Formal Verification Tools (original) (raw)
Related papers
VeriAgent: an Approach to Integrating UML and Formal Verification Tools*1
Electronic Notes in Theoretical Computer Science, 2004
The mathematical notations of Formal Verification Tools (FVTs) do not prevent us from wrongly defining the behavior of systems, any more than UML-based CASE tools do. Both technologies have their advantages: respectively, precise and well defined semantics or high-level graphical notation. Unfortunately, these technologies are not fully integrated and usable in a single tool. With software rapidly growing in size and complexity, graphical specifications in languages like UML need to be formally verified, before the implementation phase, in order to guarantee the development of more reliable systems. While the enterprise of integrating CASE and FVTs has had reasonable success with the translation of simple diagrams to model checkers' notations, integration at the level of returning verification results to users was lacking. In this work we present a protocol interface for joining both technologies as a reliable solution to bridging this gap.
UML-Checker: An Approach for Verifying UML Behavioral Diagrams
Journal of Software, 2014
UML is a visual modeling language used for specifying, visualizing, constructing, and documenting software artifacts. Despite having many features to model systems, conducting verifications and validations on UML models is not an easy task. In this paper, the problem of performing verification of UML models is discussed through a translation of UML behavioral diagrams into formal models to be verified by a symbolic model checker. An approach and tool (UML checker) is presented in order to conduct verifications on UML diagrams. The main ideas are: (a) provide an approach to perform the translation of activity, state and use case diagrams to the formal input language of the NuSMV checker; (b) automate the translation of UML diagrams to a formal language; and (c) provide a set of predefined validations that are used to check the diagrams.
UML automatic verification tool with formal methods
Electronic Notes in …, 2005
The use of the UML specification language is very widespread due to some of its features. However, the ever more complex systems of today require modeling methods that allow errors to be detected in the initial phases of development. The use of formal methods make such error detection possible but the learning cost is high. This paper presents a tool which avoids this learning cost, enabling the active behavior of a system expressed in UML to be verified in a completely automatic way by means of formal method techniques. It incorporates an assistant for the verification that acts as a user guide for writing properties so that she/he needs no knowledge of either temporal logic or the form of the specification obtained.
BON-CASE: An Extensible CASE Tool for Formal Specification and Reasoning
The Journal of Object Technology, 2002
We describe BON-CASE, an extensible tool for the BON modelling language. The tool's support for formal techniques -in particular, for formal specification of contracts and frames, as a platform for verification of Eiffel code, for lightweight integration with existing reasoning tools (such as type checkers, theorem provers, and static assertion checkers), and its extensible architectureis discussed. We present the infrastructure provided with the tool, and support being added to the tool for reverse engineering and the single model principle, as well as for checking the consistency of static and dynamic views of a system.
Automated formalisation for verification of diagrammatic models
2010
Software engineering uses models to design and analyse systems. The current state-of-the-art, various forms of model-driven development, uses diagrams with defined abstract syntax but relatively-lose translational approaches to semantics, which makes it difficult to perform rigorous analysis and verification of models. Here, we present work-in-progress on tool support for formal verification of diagrammatic models.
A MODEL CHECKING VERIFICATION ENVIRONMENT FOR UML STATECHARTS
In this paper we present the state/event-based temporal logic µUCTL which is a logic oriented towards a natural description of dynamic properties of UML models. This logic allows to specify the basic properties that a runtime system configuration should satisfy and to combine these basic predicates with logic and temporal operators which allow to take into consideration also the events performed by the system when evolving from one system configuration to another. Doubly Labelled Transition Systems are the semantic domain for µUCTL. The logic is supported by a prototypical verification environment under development at ISTI built around the "on the fly" UMC model checker. * Work partially founded by FET-IST 016004 project SENSORIA.
A toolset for supporting UML static and dynamic model checking
2002
The Unified Modeling Language has become widely accepted as a standard in software development. Several tools have been produced to support UML model validation. However, most of them support either static or dynamic model checking; and no tools support to check both static and dynamic aspects of a UML model. But a UML model should include the static and dynamic aspects of a software system. Furthermore, these UML tools translate a UML model into a validation language such as PROMELA. But they have some shortcomings: there is no proof of correctness (with respect to the UML semantics) for these tools. In order to overcome these shortcomings, we present a toolset which can validate both static and dynamic aspects of a model; and this toolset is based on the semantic model using Abstract State Machines. Since the toolset is derived from the semantic model, the toolset is correct with respect to the semantic model.
A Graphical Approach to Component-Based and Extensible Model Checking Platforms
2012
Model checking is applied for verification of concurrent systems by users having different skills and background. This ranges from researchers with detailed knowledge of the inner workings of the tools to engineers that are mostly interested in applying the technology as a black-box. This paper proposes JoSEL, a graphical language for specification of executable model checking jobs.
JoSEL: A Job Specification and Execution Language for Model Checking
2008
Abstract. Model checking tools and techniques are being applied for verification of concurrent systems by users having different skills and background. This ranges from formal methods experts with detailed knowledge of the inner workings of the tools over students learning about model checking techniques to engineers that are mostly interested in applying the technology as a black-box. This paper proposes JoSEL, a visual language for specification of executable model checking jobs.
Formal Verification of UML Profile
2011
The Unified Modeling Language (UML) is based on the Model Driven Development (MDD) approach which capturing the system functionality using the platform-independent model (PMI) and appropriate domain-specific languages. In UML base system notations, structural view is model by the class, components and object diagrams and behavioral view model by the activity, use case, state, and sequence diagram. However, UML does not provide the formal syntax, therefore its semantics is not formally definable, so for assure of correctness, we need to incorporate semantic reasoning through verification, specification, refinement, and incorporate into the development process. Our motivation of research is to make an easy structural view and suggest formal technique/method which can be best applied or used for the UML based development system. We investigate the tools and methods, which broadly used for the formal verification of UML based systems.