492 research outputs found
Test-driven Language Derivation with Graph Transformation-Based Dynamic Meta Modeling
Deriving a new language L_B from an already existing one L_A is a typical task in domain-specific language engineering. Here, besides adjusting L_A's syntax, the language engineer has to modify the semantics of L_A to derive L_B's semantics. Particularly, in case of behavioral modeling languages, this is a difficult and error-prone task, as changing the behavior of language elements or adding behavior for new elements might have undesired side effects.
Therefore, we propose a test-driven language derivation process. In a first step, the language engineer creates example models containing the changed or newly added elements in different contexts. For each of these models, the language engineer also precisely describes the expected behavior. In a second step, each example model and its description of behavior is transformed into an executable test case. Finally, these test cases are used when deriving the actual semantics of L_B - at any time, the language engineer can run the tests to verify whether the changes he performed on L_A's semantics indeed produce the desired behavior.
In this paper, we illustrate the approach using our graph transformation-based semantics specification technique Dynamic Meta Modeling. This is once more an example where the graph transformation approach shows its strengths and appropriateness to support software engineering tasks as, e.g., model transformations, software specifications, or tool development
Recommended from our members
Towards an aspect weaving BPEL engine
This position paper proposes the use of dynamic aspects and
the visitor design pattern to obtain a highly configurable and
extensible BPEL engine. Using these two techniques, the
core of this infrastructural software can be customised to
meet new requirements and add features such as debugging,
execution monitoring, or changing to another Web Service
selection policy. Additionally, it can easily be extended to
cope with customer-specific BPEL extensions. We propose
the use of dynamic aspects not only on the engine itself
but also on the workflow in order to tackle the problems of
Web Service hot deployment and hot fixes to long running
processes. In this way, composing aWeb Service "on-the-fly"
means weaving its choreography interface into the workflow
Quality assurance with dynamic meta modeling
Dynamic Meta Modeling (DMM) ist eine Semantikbeschreibungstechnik, die sich auf MOF-basierte Sprachen fokussiert und deren Verhalten durch graphische, operationale Regeln beschreibt. Der DMM-Ansatz wurde im Jahr 2000 von Engels et al. erstmals beschrieben und von Hausmann in 2006 in seiner Dissertation ausgearbeitet. Der nächste Schritt war nun, an verschiedenen Modellierungssprachen zu erproben, um die gemachten Erfahrungen in die Verbesserung von DMM und seinen Werkzeugen einfließen zu lassen. Das Ergebnis ist die DMM++-Methode, die in dieser Arbeit vorgestellt wird. Wir haben vorwiegend an drei Stellen Verbesserungen vorgenommen: Erstens haben wir basierend auf unseren Erfahrungen mit DMM neue Sprachkonzepte wie die Verfeinerung von Regeln entwickelt, und wir haben bestehende Konzepte wie die Behandlung von universell quantifizierten Strukturen oder Attributen verbessert. Zweitens haben wir einen testgetriebenen Semantikspezifizierungsprozess entwickelt: Zunächst wird eine Menge von Beispielmodellen erzeugt und deren erwartetes Verhalten formalisiert. Die DMM-Regeln werden dann inkrementell entwickelt, wobei geprüft wird, ob die Beispielmodelle tatsächlich das erwartete Verhalten erzeugen. Zudem haben wir Abdeckungskriterien für Tests von DMM-Spezifikationen entwickelt, die die Beurteilung der Qualität der Tests erlauben. Drittens haben wir gezeigt, wie funktionale und nichtfunktionale Anforderungen an Modelle und ihre DMM-Spezifikation formuliert und geprüft werden können. Für ersteres haben wir eine graphische Sprache zur Formulierung temporallogischer Eigenschaften zur Verfügung gestellt, die dann mit Model Checking geprüft werden. Für zweiteres ermöglichen wir dem Modellierer das Hinzufügen von Performanceinformationen zu den Modellen, aufgrund dessen dann z.B. der average throughput eines Modells berechnet werden kann.Dynamic Meta Modeling (DMM) is a semantics specification technique targeted at MOF-based modeling languages, where a language's behavior is defined by means of graphical operational rules which change runtime models. The DMM approach has first been suggested by Engels et al. in 2000; Hausmann has then defined the DMM language on a conceptual level within his PhD thesis in 2006. Consequently, the next step was to bring the existing DMM concepts alive, and then to apply them to different modeling languages, making use of the lessons learned to improve the DMM concepts as well as the DMM tooling. The result of this process is the DMM++ method, which is presented within this thesis. Our contributions are three-fold: First, and according to our experiences with the DMM language, we have introduced new concepts such as refinement by means of rule overriding, and we have strengthened existing concepts such as the dealing with universal quantified structures or attributes. Second, we have developed a test-driven process for semantics specification: A set of test models is created, and their expected behavior is fixed. Then, the DMM rules are created incrementally, finally resulting in a DMM ruleset realizing at least the expected behavior of the test models. Additionally, we have defined a set of coverage criteria for DMM rulesets which allow to measure the quality of a set of test models. Third, we have shown how functional as well as non-functional requirements can be formulated against models and their DMM specifications. The former is achieved by providing a visual language for formulating temporal logic properties, which are then verified with model checking techniques, and by allowing for visual debugging of models failing a requirement. For the latter, the modeler can add performance information to models and analyze their performance properties, e.g. average throughput.Tag der Verteidigung: 04.07.2013Paderborn, Univ., Diss., 201
Closing the Gap Between Designers and Developers in a Low-Code Ecosystem
Digital systems play an important role in the strategy of companies nowadays as they are
crucial to achieve their business goals as well as gain a competitive advantage. This is
particularly true for systems designed for the end-users market. Not only has the number
of such systems been growing steadily but the requirements and expectations of users
regarding usability and performance have also increased.
Developing software systems is a complex process that comprises several stages and
involves multiple professionals responsible for different tasks. Two stages of the process
are the design and implementation of User Interfaces. UX and UI designers produce
artifacts such as mockups and prototypes using design tools describing what should
be the systems behavior, interactivity and look and feel. Next, Front-end and Back-end
developers implement the system according to the specifications defined by designers.
Designers and developers use different methodologies, languages, and tools. This
introduces a communication gap between both groups, and hence collaboration between
them is not always smooth. This ends up causing less efficient processes, rework and loss
of information.
Developers sometimes overlook the importance of User Experience and Front-end De velopment. The corresponding project stages suffer when collaboration between groups
is not optimal. Problems are particularly striking during the transition from design arti facts to front-end code. The procedures for doing this are often manual, very error-prone,
and time-consuming for developers that end-up completely re-doing the designers’ work
in the target web technology.
The aim of this dissertation is to improve the efficiency of collaboration between de signers and front-end developers in the OutSystems ecosystem. This was carried out by
developing a tool that transforms UX/UI design artefacts into low-code web-technology
using model transformation and meta-modelling techniques. The approach has been
evaluated in practice by a team of professional designers and front-end developers. Re sults show savings between 20 and 75% according to the project complexity in the effort
invested by development teams in the above mentioned process.Os sistemas digitais têm um papel muito importante hoje em dia na estratégia das empresas, uma vez que as ajudam a atingir os seus objetivos de negócios assim como a ganhar
vantagem competitiva face às demais. Isto é particularmente verdade para os sistemas
destinados ao mercado dos utilizadores finais. Não só aumentou significativamente o
número de tais sistemas como aumentaram também os requisitos e expectativas dos seus
utilizadores.
O desenvolvimento de sistemas de software é um processo complexo que envolve
um número alargado de profissionais com diferentes perfis. Duas das fases são o design
de interfaces e a sua implementação. Os UI e UX designers produzem um conjunto de
ficheiros utilizando ferramentas de design descrevendo o comportamento, interação e
aparência do sistema. Os Front-end e Back-end developers implementam as funcionalidades do sistema com base nas especificações dos designers. Designers e developers
trabalham utilizando diferentes metodologias, linguagens e ferramentas. Isto introduz
uma lacuna entre os grupos e dificulta a sua colaboração, originando processos menos
eficientes, trabalho refeito e perda de informação.
Os engenheiros de software por vezes negligenciam disciplinas tais como a Experi ência do Utilizador e o Front-end. Estas fases dos projetos são prejudicadas quando a
colaboração entre os grupos não é ótima. Os problemas são particularmente evidentes
durante a transição entre design e Front-end. Os procedimentos são manuais, altamente
propensos a erros e demorados para os developers, que acabam por refazer o trabalho dos
designers na tecnologia web desejada.
O objetivo desta dissertação é melhorar a eficiência da colaboração entre designers e
front-end developers no ecossistema OutSystems. Isto foi levado a cabo desenvolvendo
uma ferramenta capaz de transformar artefactos de UX/UI em low-code utilizando transformações de modelos e técnicas de meta-modeling. A abordagem foi avaliada em prática
por uma equipa profissional de designers e front-end developers. Os resultados obtidos
mostram poupanças entre os 20 e os 75% de acordo com a complexidade do projeto no
esforço investido pelas equipas de desenvolvimento no processo mencionado acima
Working Notes from the 1992 AAAI Workshop on Automating Software Design. Theme: Domain Specific Software Design
The goal of this workshop is to identify different architectural approaches to building domain-specific software design systems and to explore issues unique to domain-specific (vs. general-purpose) software design. Some general issues that cut across the particular software design domain include: (1) knowledge representation, acquisition, and maintenance; (2) specialized software design techniques; and (3) user interaction and user interface
Making object-oriented databases more knowledgeable (From ADAM to ABEL)
Tesis leida en la Universidad de Aberdeen. 178 p.The salient points of this thesis are as follows:
• Object-Oriented Databases can help in solving the impedance mismatch problem
by introducing methods. However, methods have sometimes been overused in the
sense th at the code encapsulated refers not only to how the operation is implemented
but also to other kinds of knowledge that are implicit in the code. The
disadvantages of this approach for modelling integrity constraints, user-defined relationships
and active behaviour are pointed out.
• The ADAM Object-Oriented Database has been extended to allow the designer
to specify integrity constraints declaratively. A constraint equation approach is
implemented th at supports the inheritance of constraints.
• A need for semantic-rich user-defined relationships has been identified. In this thesis,
relationships are represented as objects. An approach to enhance the semantics
of relationships in both its structural and behavioural aspects is presented. The
most novel idea of the approach presented is the support of the inferred properties
and the operational semantics of relationships.
• Active Databases have recently become an im portant area of research. This thesis
shows how to extend an Object-Oriented Database with active capabilities. The
principal contribution lies in representing as ‘first-class’ objects not only the active
rules but also the rule manager itself. Hence, besides handling active rules as
any other object in the system, future requirements can be supported just by
specialising the current rule manager.
• Active rules have been proposed for several purposes. Several examples, are given
of the direct use of rules. However, higher level tools can be provided of which rule
Subjectivity and ownership:a perspective on software reuse
EThOS - Electronic Theses Online ServiceGBUnited Kingdo
- …