Expressing and Validating OCL Constraints using Graphs

2013 ◽  
pp. 93-107
Author(s):  
Najet Zoubeir ◽  
Adel Khalfallah ◽  
Samir Ben Ahmed

The definition of the semantics of visual languages, in particular Unified Modeling Language (UML) diagrams, using graph formalism has known a wide success, since graphs fit the multi-dimensional nature of this kind of language. However, constraints written in Object Constraint Language (OCL) and defined on these models are still not well integrated within this graph-based semantics. In this chapter, the authors propose an integrated semantics of OCL constraints within class diagrams, using graph transformation systems. Their contribution is divided into two parts. In the first part, they introduce graph constraint patterns, as the translation into graphs of a subset of OCL expressions. These patterns are validated with experimental examples using the GROOVE toolset. In the second part, the authors define the relation between OCL and UML models within their graph transformation system.

2001 ◽  
pp. 186-210 ◽  
Author(s):  
Franck Barbier ◽  
Brian Henderson-Sellers ◽  
Andreas L. Opdahl ◽  
Martin Gogolla

This study of the semantics of the Whole-Part relationship in OO modeling is based upon, extends and, specifically, formalizes earlier analyses of the semantics of UML’s Aggregation and Composition (white and black diamonds, also called shared aggregation and composite aggregation). Although UML is nowadays regarded as a standard and is widely used as an OO modeling language, the way the Whole-Part relationship is formalized is unsatisfactory. Here, we provide a rigorous specification of various forms of the Whole-Part relationship using OCL (Object Constraint Language). The first part of the specification is based on the differentiation between primary characteristics (applicable to all Whole-Part relationships) assigned to a new Whole-Part metatype in the UML and secondary features, which are possessed by subtypes of this metatype and permit the representation of several “flavors” of the Whole-Part relationship. This UML-compliant style of specification, based on the use of OCL as well as metamodeling, allows us to directly incorporate our results into the UML metamodel, in particular revising UML’s definition of Composition.


Author(s):  
Nora Koch

Although the Unified Modeling Language (UML) is by now accepted as a standard and is widely used as an object-oriented modeling language, some languages such as Z or VDM are preferred to formally specify reference models. Here, we present a reference model for hypermedia systems in UML. It is an object-oriented and Dexter-based approach that uses UML to provide an intuitive graphical representation of the model. The class diagrams are supplemented with formal constraints in the Object Constraint Language (OCL), adding invariants on elements as well as preconditions and postconditions on operations. The result is an easily extendable reference model for describing specific hypermedia systems, for example, like adaptive or mobile systems. Our contribution shows how formal and semiformal object-oriented techniques can be integrated in the metamodeling process.


2006 ◽  
Author(s):  
Χρήστος Τρανώρης

Η αναβάθμιση της διαδικασίας ανάπτυξης εφαρμογών λογισμικού που αφορούν τον έλεγχο βιομηχανικών συστημάτων, είναι ένα θέμα που απασχολεί για δεκαετίες του μηχανικούς ελέγχου αλλά και τους μηχανικούς λογισμικού. Κατά την ανάπτυξη των βιομηχανικών εφαρμογών, οι μηχανικοί καλούνται να ικανοποιήσουν πληθώρα απαιτήσεων μεταξύ των οποίων: συμβατότητα με το υπάρχον εγκατεστημένο υλικό, συμβατότητα με τις ήδη εγκατεστημένες παλαιότερες εφαρμογές και επαναχρησιμοποίηση τμημάτων λογισμικού. Για τους παραπάνω λόγους, αναζητούνται συνεχώς λύσεις οι οποίες: θα προσφέρουν μια περισσότερο φιλική προς το μηχανικό ελέγχου διαδικασία ανάπτυξης η οποία θα υποστηρίζει επεκτασιμότητα των εφαρμογών, θα διευκολύνει την επαναχρησιμοποίηση τμημάτων του λογισμικού, θα ενισχύει την συντήρηση του λογισμικού και θα είναι ανεξάρτητη από το υλικό εκτέλεσης των βιομηχανικών συστημάτων. Η International Electrotechnical Commission (IEC) για να αντιμετωπίσει τις απαιτήσεις των σύγχρονων συστημάτων δημιούργησε το πρότυπο IEC61499 το οποίο έρχεται να επεκτείνει το Function Block του IEC61131. Το IEC61499, καθορίζει μια μεθοδολογία σχεδιασμού, όπου το Function Block είναι το βασικό δομικό συστατικό για την ανάπτυξη διαλειτουργικών κατανεμημένων εφαρμογών αυτοματισμού και ελέγχου. Οι εφαρμογές ελέγχου μπορούν να υλοποιηθούν από Function Block δίκτυα διασυνδέοντας τις εισόδους και εξόδους τους. Το IEC61499 προτείνει επίσης τον σχεδιασμό εργαλείων λογισμικού για την υποστήριξη (εν μέρει αυτοματοποίηση) της διαδικασίας ανάπτυξης. Στην παρούσα διατριβή, παρουσιάζεται μια νέα προσέγγιση για τον σχεδιασμό κατανεμημένων βιομηχανικών εφαρμογών και πιο συγκεκριμένα Συστημάτων Μέτρησης και Ελέγχου Βιομηχανικών Διεργασιών1 (IPMCSs) όπως τα ορίζει το πρότυπο IEC. Η προσέγγιση εστιάζει στον ορισμό μιας μεθοδολογίας για την φάση της ανάλυσης και κύρια την τεκμηρίωση των απαιτήσεων και τον μετέπειτα μετασχηματισμό του μοντέλου ανάλυσης σε μοντέλο σχεδιασμού. Η προτεινόμενη προσέγγιση βασίζεται σε κατάλληλα οριζόμενες έννοιες και τεχνικές και αξιοποιεί τελευταίες τάσεις από το χώρο της Μηχανιστικής Λογισμικού (Software Engineering), όπως είναι η έννοια της μετα-μοντελοποίησης (Meta-modeling) όπως αυτή ορίζεται στα πλαίσια της βασισμένης σε μοντέλα ανάπτυξης (Model Driven Development) και της Unified Modeling Language (UML) και των επεκτάσεων της (UML Profiles) και εφαρμογή αυτών στο σχεδιασμό βιομηχανικών εφαρμογών. Για την ομαλή μετάβαση από τις καταγεγραμμένες απαιτήσεις σε μοντέλα σχεδιασμού τεκμηριώθηκε και παρουσιάζεται ένα σύνολο κανόνων μετασχηματισμού το οποίο περιγράφηκε αυστηρά με χρήση της Object Constraint Language. Για να αξιοποιηθεί η προτεινόμενη προσέγγιση από μηχανικούς ελέγχου, σχεδιάστηκε και υλοποιήθηκε ένα εργαλείο λογισμικού συμβατό με το πρότυπο IEC61499. Το εργαλείο που έχει το όνομα CORFU ESS έρχεται να υποστηρίξει: α) την φάση της ανάλυσης, β) τον μετασχηματισμό του μοντέλου ανάλυσης σε μοντέλο σχεδιασμού, γ) τον σχεδιασμό εφαρμογών με Function Blocks όπως ορίζει το IEC61499, δ) την κατανομή των Function Block στις συσκευές των βιομηχανικών δικτύων και ε) τον έλεγχο των τελικών Function Block δικτύων. Η προσέγγιση εφαρμόσθηκε σε μελέτες περίπτωσης για να επιδείξει την εφαρμοσιμότητα της προτεινόμενης διαδικασίας, την αποτελεσματικότητα του εργαλείου που αναπτύχθηκε και την δυνατότητα της διαδικασίας και του εργαλείου να καλύψουν απαιτήσεις μικρής ή μεγάλης κλίμακας εφαρμογών.


2011 ◽  
pp. 48-65 ◽  
Author(s):  
Stefan Conrad ◽  
Klaus Turowski

Compositional, plug-and-play-like reuse of black box components requires sophisticated techniques to specify components, especially when combined with third party components that are traded on component markets to individual customer’s business application systems. As in established engineering disciplines, like mechanical engineering or electrical engineering, formal documentation of business components that become part of contractual agreements are needed. With this initial problem, we explain the general, layered structure of software contracts for business components and show shortcomings of common specification approaches. Furthermore, we introduce a formal notation for the specification of business components that extends the Object Constraint Language (OCL) and allows for a broader use of the Unified Modeling Language (UML) with respect to the layered structure of software contracts for business components.


2001 ◽  
pp. 152-167 ◽  
Author(s):  
Stefan Conrad ◽  
Klaus Turowski

Compositional plug-and-play-like reuse of black box components requires sophisticated techniques to specify components, especially if we combine third-party components, which are traded on component markets, to customer-individual business application systems. As in established engineering disciplines like mechanical engineering or electrical engineering, we need a formal documentation of business components that becomes part of contractual agreements. Taking this problem as a starting point, we explain the general layered structure of software contracts for business components and show shortcomings of common specification approaches. Furthermore, we introduce a formal notation for the specification of business components that extends the Object Constraint Language (OCL) and that allows a broader use of the Unified Modeling Language (UML) with respect to the layered structure of software contracts for business components. The remainder of the chapter is as follows. After providing background information in the next section, we discuss the necessity of a multi-level notation standard. Thereafter, we explain how the OCL can be used to specify business components. Taking this as a basis, we proceed to the main thrust of our chapter the temporal extension of OCL. Finally, we present our conclusions and give an outlook.


2015 ◽  
Vol 25 (03) ◽  
pp. 1640021 ◽  
Author(s):  
Nils Przigoda ◽  
Robert Wille ◽  
Rolf Drechsler

Modeling languages such as the unified modeling language (UML) or the systems modeling language (SysML) in combination with constraint languages such as the object constraint language (OCL) allows for an abstract description of a system prior to its implementation. But the resulting system models can be highly non-trivial and, hence, errors in the descriptions can easily arise. In particular, too strong restrictions leading to an inconsistent model are common. Motivated by this, researchers and engineers developed methods for the validation and verification of given formal models. However, while these methods are efficient to detect the existence of an inconsistency, the designer is usually left alone to identify the reasons for it. In this contribution, we propose an automatic method which efficiently determines reasons explaining the contradiction in an inconsistent UML/OCL model. For this purpose, all constraints causing the contradiction are comprehensibly analyzed. By this, the designer is aided during the debugging of his/her model.


Author(s):  
GEORGE SPANOUDAKIS ◽  
KURIAKOS KASIS ◽  
FLORA DRAGAZI

This paper presents a diagnostic framework for assessing the significance of inconsistencies (i.e., violations of consistency rules) in software design models expressed in the Unified Modeling Language (UML). The assessment is based on significance criteria that software designers can specify and associate with specific consistency rules. These criteria define characteristics that the model elements involved in the violation of a rule should have for the inconsistency to be significant, and they are specified in a formal language derived from the Object Constraint Language (OCL). The satisfiability of the criteria by individual model elements is measured by belief functions defined by the framework. The measures generated by these functions are used to rank the inconsistencies caused by different model elements. The presented framework has been evaluated through a set of experiments. The results of these experiments show that criteria definable in the framework can be used to produce relatively elaborate significance-rankings of inconsistencies.


2020 ◽  
Vol 5 (1) ◽  
pp. 78
Author(s):  
Ade Sumaedi ◽  
Makhsun Makhsun ◽  
Achmad Hindasyah

PT. Duta Nichirindo Pratama is a company engaged in the field of Autoparts Manufacture. Barcode is the identity of an item / product on the package. Barcode technology has been used as the identity of goods in a production. Barcodes are used to facilitate the identification of goods produced. Paste the barcode on the packaging of packaging results at PT. Duta Nichirindo Pratama is done manually, but there are often errors attached to the barcode on a similar packaging. This research will design and create a system based on Visual Basic.Net and Arduino to select barcode attachment errors that have the potential to be sent to consumers. The system is designed using Unified Modeling Language (UML) diagrams, database design and interface menu design. The system created will then be tested to detect the black box test. With a computing-based design system that functions to detect barcodes on the packaging automatically, the problem of sticking barcodes on the packaging can be detected.


Author(s):  
VAHID RAFE ◽  
ADEL T. RAHMANI

Graph Grammars have recently become more and more popular as a general formal modeling language. Behavioral modeling of dynamic systems and model to model transformations are a few well-known examples in which graphs have proven their usefulness in software engineering. A special type of graph transformation systems is layered graphs. Layered graphs are a suitable formalism for modeling hierarchical systems. However, most of the research so far concentrated on graph transformation systems as a modeling means, without considering the need for suitable analysis tools. In this paper we concentrate on how to analyze these models. We will describe our approach to show how one can verify the designed graph transformation systems. To verify graph transformation systems we use a novel approach: using Bogor model checker to verify graph transformation systems. The AGG-like graph transformation systems are translated to BIR — the input language of Bogor — and Bogor verifies that model against some properties defined by combining LTL and special purpose graph rules. Supporting schema-based and layered graphs characterize our approach among existing solutions for verification of graph transformation systems.


Sign in / Sign up

Export Citation Format

Share Document