7 research outputs found

    Evaluation of the QVT Merge Language Proposal

    Get PDF
    -STF90 A05045This report has identified 29 weighted evaluation criteria representing desired properties of a model to model transformation language. These criteria have been used to evaluate the current QVT Merge specification. We have so far only been able to evaluate 21 of these criteria, mainly due to missing tool support. Some of the criteria are considered absolute in the sense that missing to fulfil such a criterion is considered a failure. The 21 evaluated criteria give a score of 59 out of a maximum possible score of 68 (language-based + example-based testing). We have also compared the QVT-Merge submission with the QVT-Compuware/Sun submission and at the time being the QVT-Merge seems to be the preferred one due to more support on the absolute criteria and better easy-to-use score. Eight transformation examples for solving six different transformation tasks have given a lot of insight on the ease of use criteria for both simple and complex transformations. When defining transformations using QVT Merge we believe that a lot of effort may be required in order to define the source and target  metamodels. The evaluation in this report could be improved by using the reference examples with alternative approaches published in the literature. An available QVT-Merge tool is necessary in order to provide evaluations of all the suggested criteria. In order to further investigate the usability of the graphical notation, we need to define more of the transformation examples graphically. Only one of the examples has been specified graphically in this version. The current evaluation has been done by a single evaluator who has only reviewed the transformation code that was written by somebody else. The evaluation will be further improved by incorporating input from other evaluators as well as evaluation from those who wrote the transformation code. Oppdragsgiver: EU Commissio

    Refactoring OCL annotated UML class diagrams

    Get PDF
    Refactoring of UML class diagrams is an emerging research topic and heavily inspired by refactoring of program code written in object-oriented implementation languages. Current class diagram refactoring techniques concentrate on the diagrammatic part but neglect OCL constraints that might become syntactically incorrect by changing the underlying class diagram. This paper formalizes the most important refactoring rules for class diagrams and classifies them with respect to their impact on attached OCL constraints. For refactoring rules that have an impact on OCL constraints, we formalize the necessary changes of the attached constraints. Our refactoring rules are specified in a graph-grammar inspired formalism. They have been implemented as QVT transformation rules. We finally discuss for our refactoring rules the problem of syntax preservation and show, by using the KeY-system, how this can be resolve

    A platform-independent domain-specific modeling language for multiagent systems

    Get PDF
    Associated with the increasing acceptance of agent-based computing as a novel software engineering paradigm, recently a lot of research addresses the development of suitable techniques to support the agent-oriented software development. The state-of-the-art in agent-based software development is to (i) design the agent systems basing on an agent-based methodology and (ii) take the resulting design artifact as a base to manually implement the agent system using existing agent-oriented programming languages or general purpose languages like Java. Apart from failures made when manually transform an abstract specification into a concrete implementation, the gap between design and implementation may also result in the divergence of design and implementation. The framework discussed in this dissertation presents a platform-independent domain-specific modeling language for MASs called Dsml4MAS that allows modeling agent systems in a platform-independent and graphical manner. Apart from the abstract design, Dsml4MAS also allows to automatically (i) check the generated design artifacts against a formal semantic specification to guarantee the well-formedness of the design and (ii) translate the abstract specification into a concrete implementation. Taking both together, Dsml4MAS ensures that for any well-formed design, an associated implementation will be generated closing the gap between design and code.Aufgrund wachsender Akzeptanz von Agentensystemen zur Behandlung komplexer Problemstellungen wird der Schwerpunkt auf dem Gebiet der agentenorientierten Softwareentwicklung vor allem auf die Erforschung von geeignetem Entwicklungswerkzeugen gesetzt. Stand der Forschung ist es dabei das Agentendesign mittels einer Agentenmethodologie zu spezifizieren und die resultierenden Artefakte als Grundlage zur manuellen Programmierung zu verwenden. Fehler, die bei dieser manuellen Überführung entstehen, machen insbesondere das abstrakte Design weniger nützlich in Hinsicht auf die Nachhaltigkeit der entwickelten Softwareapplikation. Das in dieser Dissertation diskutierte Rahmenwerk erörtert eine plattformunabhängige domänenspezifische Modellierungssprache für Multiagentensysteme namens Dsml4MAS. Dsml4MAS erlaubt es Agentensysteme auf eine plattformunabhängige und graphische Art und Weise darzustellen. Die Modellierungssprache umfasst (i) eine abstrakte Syntax, die das Vokabular der Sprache definiert, (ii) eine konkrete Syntax, die die graphische Darstellung spezifiziert sowie (iii) eine formale Semantik, die dem Vokabular eine präzise Bedeutung gibt. Dsml4MAS ist Bestandteil einer (semi-automatischen) Methodologie, die es (i) erlaubt die abstrakte Spezifikation schrittweise bis hin zur konkreten Implementierung zu konkretisieren und (ii) die Interoperabilität zu alternativen Softwareparadigmen wie z.B. Dienstorientierte Architekturen zu gewährleisten

    Analyse/conception par points de vue : le profil VUML

    Get PDF
    L'objectif de la thèse est de proposer une extension du langage de modélisation unifié (UML) orientée points de vue. Cette extension, appelée VUML (View based Unified Modeling Language) offre un formalisme (extension d’UML) pour modéliser un système logiciel par une approche combinant objets et points de vue. Le principal ajout à UML est celui du concept de classe multivues. Une classe multivues est une unité d’abstraction et d’encapsulation qui permet de stocker et restituer l'information en fonction du profil de l'utilisateur. Elle offre des mécanismes de gestion des droits d’accès aux informations, de changement dynamique de points de vue et de gestion de la cohérence entre les vues dépendantes. De plus, VUML propose un modèle de composant multivues qui permet de représenter une classe multivues au niveau du diagramme de composants. Sur le plan sémantique, VUML étend le métamodèle d’UML et introduit un certain nombre de stéréotypes regroupés sous forme d’un profil UML. A l’instar d’UML, la sémantique VUML comprend un aspect statique et un aspect dynamique. La sémantique statique de VUML est définie par le métamodèle, des règles de bonne modélisation (well-formedness rules) exprimées en langage formel OCL (Object Constraint Language) et des descriptions textuelles informelles. La sémantique dynamique quant à elle est décrite d’une manière informelle. Sur le plan méthodologique, VUML propose un noyau d’une démarche qui permet d’intégrer de façon logique et consistante la notion de point de vue dans le processus de développement dans le contexte de l’approche MDA (Model Driven Architecture). L’outil support à VUML a été conçu et réalisé en adaptant l’atelier Objecteering/UML par la technique des profils. Cet outil permet de mener une modélisation à base de vues, de vérifier la cohérence des modèles élaborés et de générer du code objet (Java,...) en appliquant un patron d’implémentation générique sur un diagramme de classes VUML. ABSTRACT : This thesis proposes a viewpoint oriented extension of the Unified Modelling Language. This extension, called VUML (View based Unified Modelling Language) provides a formalism for modelling software systems through objects and viewpoints. The main UML extension is the concept of multiviews class whose goal is to encapsulate and deliver information according to the user profile (viewpoint). VUML allows the dynamic change of viewpoint and offers mechanisms to manage consistency among dependent views. Moreover, VUML proposes a multiviews component model. Such a component allows to represent a multiviews class in a component diagram. On the semantic level, VUML extends the metamodel of UML and introduces a set of stereotypes grouped in a UML profile. As in UML, the VUML semantics includes static and dynamic aspects. The VUML static semantics is defined by the metamodel, the well-formedness rules expressed in the formal language OCL (Object Constraint Language), and informal textual descriptions. The VUML dynamic semantics is described so far in an informal manner. On the methodological level, VUML proposes a process that makes possible a logical and consistent integration of the viewpoint concept in the development process according to the MDA approach. A VUML tool has been designed and implemented by adapting the Objecteering/UML tool through the profile technique. This tool allows to carry out a view based modelling, to check the consistency of the elaborated models and to generate object code (Java...) by applying a generic implementation pattern to a VUML class diagram
    corecore