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.

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.