Constraint diagrams: visualizing invariants in object-oriented models
Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
LSCs: Breathing Life into Message Sequence Charts
Formal Methods in System Design
Negative scenarios for implied scenario elicitation
Proceedings of the 10th ACM SIGSOFT symposium on Foundations of software engineering
The UML as a Formal Modeling Notation
«UML» '98 Selected papers from the First International Workshop on The Unified Modeling Language «UML»'98: Beyond the Notation
Software Abstractions: Logic, Language, and Analysis
Software Abstractions: Logic, Language, and Analysis
ATL: A model transformation tool
Science of Computer Programming
Consistency, Independence and Consequences in UML and OCL Models
TAP '09 Proceedings of the 3rd International Conference on Tests and Proofs
Reasoning on UML class diagrams
Artificial Intelligence
From UML to Alloy and back again
Proceedings of the 6th International Workshop on Model-Driven Engineering, Verification and Validation
ECMDA-FA'07 Proceedings of the 3rd European conference on Model driven architecture-foundations and applications
Some results on the expressive power and complexity of LSCs
Pillars of computer science
MontiCore: a framework for compositional development of domain specific languages
International Journal on Software Tools for Technology Transfer (STTT)
Verifying UML/OCL models using Boolean satisfiability
Proceedings of the Conference on Design, Automation and Test in Europe
CDDiff: semantic differencing for class diagrams
Proceedings of the 25th European conference on Object-oriented programming
CDDiff: semantic differencing for class diagrams
Proceedings of the 25th European conference on Object-oriented programming
Logic-based model-level software development with F-OML
Proceedings of the 14th international conference on Model driven engineering languages and systems
Bottom-up meta-modelling: an interactive approach
MODELS'12 Proceedings of the 15th international conference on Model Driven Engineering Languages and Systems
Example-driven modeling: model = abstractions + examples
Proceedings of the 2013 International Conference on Software Engineering
Hi-index | 0.00 |
While object diagrams (ODs) are widely used as a means to document object-oriented systems, they are expressively weak, as they are limited to describe specific possible snapshots of the system at hand. In this paper we introduce modal object diagrams (MODs), which extend the classical OD language with positive/negative and example/invariant modalities. The extended language allows the designer to specify not only positive example models but also negative examples, ones that the system should not allow, positive invariants, ones that all system's snapshots should include, and negative invariants, ones that no system snapshot is allowed to include. Moreover, as a primary application of the extended language we provide a formal verification technique that decides whether a given class diagram satisfies (i.e., models) a multi-modal object diagrams specification. In case of a negative answer, the technique outputs relevant counterexample object models, as applicable. The verification is based on a reduction to Alloy. The ideas are implemented in a prototype Eclipse plug-in. Examples show the usefulness of the extended language in specifying structural requirements of object-oriented systems in an intuitive yet expressive way.