A Tool for Checking Conformance of UML Specification (original) (raw)

Developing the UML as a formal modelling notation

The Unified Modeling Language (UML) is rapidly emerging as a de-facto standard for modelling OO systems. Given this role, it is imperative that the UML have a welldefined, fully explored semantics. Such semantics is required in order to ensure that UML concepts are precisely stated and defined. In this paper we describe and motivate an approach to formalizing UML in which formal specification techniques are used to gain insight into the semantics of UML notations and diagrams. We present work carried out by the Precise UML (PUML) group on the development of a precise semantic model for UML class diagrams. The semantic model is used as the basis for a set of diagrammatical transformation rules, which enable formal deductions to be made about UML class diagrams. It is also shown how these rules can be used to verify whether one class diagram is a valid refinement (design) of another. Because these rules are presented at the diagrammatical level, it will be argued that UML can be successfully used as a formal modelling tool without the notational complexities that are commonly found in formal specification techniques.

Model Development in the UML-based Specification Environment (USE)

2007

Abstract The tool USE (UML-based Specification Environment) supports analysts, designers and developers in executing UML models and checking OCL constraints and thus enables them to employ model-driven techniques for software production. USE has been developed since 1998 at the University of Bremen. This paper will discuss to what extent and how USE relates to the questions and topics (Model quality, Modelling method, Model Effectiveness, Model Maintainability) raised for this seminar.

Semantic Rules of UML Specification

— Modeling of a system is an essential process in software development lifecycle (SDLC). It will produce a system artifact called a system model. In object– oriented based software development, a system model can be developed by using Unified Modeling Language (UML). UML is a modeling language for specifying, constructing, and documenting the artifacts of systems. It consists of 13 diagrams that can be used to describe the different views of a system. Each diagram has its own syntax and semantics. The syntax or abstract syntax is the notations for each element of the diagrams, whereas the semantics is the meaning of the notations. The huge complexity of UML specification that content multi diagrams and notations, and lack of formal semantics decrease the quality of system models produced. It will lead to wrong interpretations and inconsistency between models. Therefore, a precise meaning of UML diagrams is very important in order to have a common understanding of their meaning. Formalization of the semantics of UML specification is important in order to provide the consistency of the system models. This paper provides an overview of the semantics rules of UML specification and suggests an approach to formalize these semantics rules.

UML basics: An introduction to the Unified Modeling Language A little background

Way back in the late twentieth century-1997 to be exact-the Object Management Group (OMG) released the Unified Modeling Language (UML). One of the purposes of UML was to provide the development community with a stable and common design language that could be used to develop and build computer applications. UML brought forth a unified standard modeling notation that IT professionals had been wanting for years. Using UML, IT professionals could now read and disseminate system structure and design plans-just as construction workers have been doing for years with blueprints of buildings. It is now the twenty-first century-2003 to be precise-and UML has gained traction in our profession. On 75 percent of the resumes I see, there is a bullet point claiming knowledge of UML. However, after speaking with a majority of these job candidates, it becomes clear that they do not truly know UML. Typically, they are either using it as a buzz word, or they have had a sliver of exposure to UML. This lack of understanding inspired me to write this quick introduction to UML 1.4. When you are finished reading you will not have enough knowledge to put UML on your resume, but you will have a starting point for digging more deeply into the language.

Verification and Validation for Quality of UML 2.0 Models. By Bhuvan Unhelkar. Published by John Wiley & Sons, Inc., Hoboken, NJ, U.S.A., 2005. ISBN: 0-471-72783-0, 271 pp

Software Testing, Verification and Reliability, 2006

ISBN: 0-471-72783-0, 271 pages. Price: U.K. £42.95, Euro €62.50, U.S.A. $74.95, Hard Cover.

The UML as a formal modeling notation

Computer Standards & Interfaces, 1998

The Unified Modeling Language (UML) is rapidly emerging as a de-facto standard for modelling OO systems. Given this role, it is imperative that the UML have a welldefined, fully explored semantics. Such semantics is required in order to ensure that UML concepts are precisely stated and defined. In this paper we describe and motivate an approach to formalizing UML in which formal specification techniques are used to gain insight into the semantics of UML notations and diagrams. We present work carried out by the Precise UML (PUML) group on the development of a precise semantic model for UML class diagrams. The semantic model is used as the basis for a set of diagrammatical transformation rules, which enable formal deductions to be made about UML class diagrams. It is also shown how these rules can be used to verify whether one class diagram is a valid refinement (design) of another. Because these rules are presented at the diagrammatical level, it will be argued that UML can be successfully used as a formal modelling tool without the notational complexities that are commonly found in formal specification techniques.

Towards Unified System Modeling with the ModelicaML UML Profile

In order to support the development of complex products, modeling tools and processes need to support co-design of software and hardware in an integrated way. Modelica is the major object-oriented mathematical modeling language for component-oriented modeling of complex physical systems and UML is the dominant graphical modeling notation for software. In this paper we propose ModelicaML UML profile as an integration of Modelica and UML. The profile combines the major UML diagrams with Modelica graphic connection diagrams and is based on the System Modeling Language (SysML) profile.

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.