There is no such imperative language in the UML standard, but there are several candidates for such a language that are based on OCL for expressions. One of them is ImperativeOCL, which is part of the OMG Query, Views, Transformations (QVT) standard. However, the embedding of OCL into several of these languages is what we call a non-modular embedding. Such a non-modular embedding results in problems w. r. t. to language semantics and/or sets up obstacles for the reuse of existing OCL tools and instruments. In our work we therefore define requirements for a modular embedding of OCL into an imperative language. We introduce our language SOIL (Simple OCL-based Imperative Language) which embeds OCL in a modular way.
We provide an informal description of SOIL as well as a formal definition of the language syntax and semantics, and prove its consistency and type safety. We describe applications of our approach in two fields: first, the extension of the UML-based Specification Environment (USE) by an imperative language and, second, the development of the model transformation tool XGenerator2 that has been successfully applied in several eGovernment projects. Our work makes three major contributions. First, we provide a critical review of the embedding of OCL into existing programming languages. Second, we provide a simple but already useful OCL-based imperative language with a sound and formal semantics that can be implemented out of the box using existing OCL engines. Third, our work contributes a general guideline for a safe embedding of OCL into other languages.
Wollen auch Sie Ihre Dissertation veröffentlichen?
|Versandkostenfrei innerhalb Deutschlands|
*Sie können das eBook (PDF) entweder einzeln herunterladen oder in Kombination mit dem gedruckten Buch (eBundle) erwerben. Der Erwerb beider Optionen wird über PayPal abgerechnet - zur Nutzung muss aber kein PayPal-Account angelegt werden. Mit dem Erwerb des eBooks bzw. eBundles akzeptieren Sie unsere Lizenzbedingungen für eBooks.