Publication

Visual contracts (VCs)

Abstract

Model-Driven Engineering (MDE) harbors the promise of developing software-based systems with little or no coding. Instead of coding, it is envisioned that software engineers build models that are automatically translated into code. The modeling notation of choice for model-driven methods is the Unified Modeling Language (UML). In UML, modelers are forced to separately model structure (class diagrams), behavior (activity, sequence diagrams), state (statecharts), and integrity constraints (OCL). This separation of models makes it difficult to understand the overall behavior of the resulting system. We propose a visual modeling notation, called visual contracts, for system specifications, which incorporate the four aspects (i.e., behavioral, structural, state and constraints) in a single diagram. From a UML point of view, this is a combination of an activity diagram, a class diagram, a statechart, and OCL code. Proposing a unified, diagrammatic notation for contracts requires advances in the following three dimensions: visual, formal and system-centric. We examine the current state of research in modeling notations for system specifications, in contracts and in visual notations. We then describe the main contribution of the thesis, the concept of Visual Contracts. Visual Contracts condense the four components of the specification –i.e. behavior, structure, state, and constraints– in a compact form. Visual Contracts contain all the elements required for a specification. Visual Contracts are based on set theory. They are formalized in Alloy. As this is a complementary approach to traditional, analytic specification techniques, we are able to express features that are difficult to express using notations such as UML. We consider that visual contracts, as a complement to UML, can be one of the aspects that can help model-driven approaches to fulfill their promise.

About this result
This page is automatically generated and may contain information that is not correct, complete, up-to-date, or relevant to your search query. The same applies to every other page on this website. Please make sure to verify the information with EPFL's official sources.
Related concepts (44)
Modeling language
A modeling language is any artificial language that can be used to express data, information or knowledge or systems in a structure that is defined by a consistent set of rules. The rules are used for interpretation of the meaning of components in the structure Programing language. A modeling language can be graphical or textual. Graphical modeling languages use a diagram technique with named symbols that represent concepts and lines that connect the symbols and represent relationships and various other graphical notation to represent constraints.
Unified Modeling Language
The unified modeling language (UML) is a general-purpose visual modeling language that is intended to provide a standard way to visualize the design of a system. UML provides a standard notation for many types of diagrams which can be roughly divided into 3 main groups: behavior diagrams, interaction diagrams, and structure diagrams. The creation of UML was originally motivated by the desire to standardize the disparate notational systems and approaches to software design.
Model-driven engineering
Model-driven engineering (MDE) is a software development methodology that focuses on creating and exploiting domain models, which are conceptual models of all the topics related to a specific problem. Hence, it highlights and aims at abstract representations of the knowledge and activities that govern a particular application domain, rather than the computing (i.e. algorithmic) concepts. MDE is a subfield of a software design approach referred as round-trip engineering.
Show more
Related publications (58)

Chat2Code: A Chatbot for Model Specification and Code Generation, The Case of Smart Contracts

Shailesh Mishra

The potential of automatic code generation through Model-Driven Engineering (MDE) frameworks has yet to be realized. Beyond their ability to help software professionals write more accurate, reusable code, MDE frameworks could make programming accessible fo ...
Los Alamitos2023

Code Generation Approach Supporting Complex System Modeling based on Graph Pattern Matching

Jinzhi Lu, Yan Yan

Code generation is an effective way to drive the complex system development in model-based systems engineering. Currently, different code generators are developed for different modeling languages to deal with the development of systems with multi-domain. T ...
ELSEVIER2022

Design Ontology Supporting Model-Based Systems Engineering Formalisms

Jinzhi Lu, Xiaochen Zheng, Han Li

Model-based systems engineering (MBSE) provides an important capability for managing the complexities of system development. MBSE empowers the formalism of system architectures for supporting model-based requirement elicitation, specification, design, deve ...
IEEE-INST ELECTRICAL ELECTRONICS ENGINEERS INC2021
Show more
Related MOOCs (2)
Geographical Information Systems 1
Organisé en deux parties, ce cours présente les bases théoriques et pratiques des systèmes d’information géographique, ne nécessitant pas de connaissances préalables en informatique. En suivant cette
Geographical Information Systems 1
Organisé en deux parties, ce cours présente les bases théoriques et pratiques des systèmes d’information géographique, ne nécessitant pas de connaissances préalables en informatique. En suivant cette

Graph Chatbot

Chat with Graph Search

Ask any question about EPFL courses, lectures, exercises, research, news, etc. or try the example questions below.

DISCLAIMER: The Graph Chatbot is not programmed to provide explicit or categorical answers to your questions. Rather, it transforms your questions into API requests that are distributed across the various IT services officially administered by EPFL. Its purpose is solely to collect and recommend relevant references to content that you can explore to help you answer your questions.