Academia.edu no longer supports Internet Explorer.
To browse Academia.edu and the wider internet faster and more securely, please take a few seconds to upgrade your browser.
2008, Electronic Notes in Theoretical Computer Science
…
20 pages
1 file
This paper shows how a domain-specific semantics for object models can be used to support the development of transformations that reflect a particular implementation strategy. The semantics captures model constraints and domain assumptions in terms of abstract data types, and a transformation is correct if and only if it corresponds to a data refinement. The transformations represent development steps, involving the completion of method descriptions, and validity checks, addressing issues of definedness and consistency. The paper shows how compositions of transformations may be used for the automatic generation of working systems from formal, object-oriented designs.
Theory and Applications, 2005
This chapter provides a context and motivation for a language to describe transformations of models within an object-oriented framework. The requirements for such a language are given, and then an object-oriented model of the language's abstract syntax is provided that meets these requirements. A concrete syntax is introduced along with some example transformations. Finally we discuss the tools required to use the language within a model-driven software engineering paradigm. The authors aim to demonstrate the principles of model transformation within an object-oriented framework, and show how this can be applied to the development of software systems.
2010
Model Driven Engineering proposes a software development process in which the key notions are models and model transformations. There are already several proposals for model transformation specification, implementation, and execution. In this paper we introduce the notion of domain specific transformation language (DSTL). A DSTL is a transformation language tailored for a specific domain; in contrast to well known transformation languages, such as QVT or ATL, the DSTL's syntax and semantics are directly related to a specific domain and/or kind of transformation. A DSTL makes transformations easer to write and understand, the code is intuitive and the users do not need to know a generic transformation language. Also we analyze a novel way to define its semantics. Our proposal consists in using transformation languages themselves to the implementation of such domain specific languages. We illustrate the proposal through an example in the database domain.
Domain specific languages (DSLs) allow domain experts to model parts of the system under development in a problem-oriented notation that is well-known in the respective domain. The introduction of a DSL is often accompanied the desire to transform its instances. Although the modeling language is domain specific, the transformation language used to describe modifications, such as model evolution or refactoring operations, on the underlying model, usually is a rather domain independent language nowadays. Most transformation languages use a generic notation of model patterns that is closely related to typed and attributed graphs or to object diagrams (the abstract syntax). A notation that reflects the transformed elements of the original DSL in its own concrete syntax would be strongly preferable, because it would be more comprehensible and easier to learn for domain experts. In this paper we present a transformation language that reuses the concrete syntax of a textual modeling language for hierarchical automata, which allows domain experts 1 to describe models as well as modifications of models in a convenient, yet precise manner. As an outlook, we illustrate a scenario where we generate transformation languages from existing textual languages.
1999
Design-by-contract has been used in the BON/Eiffel setting as an industrial-strength technique for building reliable, reusable, and maintainable software systems. We show that it provides a basis for refining object-oriented specifications to programs on an industrial scale. We present a collection of algorithm refinement rules, in particular, new rules for introducing feature calls (which are the basis of object-oriented computing) that can be used to refine a specification in BON to an immediately executable and correct program in Eiffel. We show how refinement of large systems can be decomposed into an arbitrary number of small steps. And we describe how automated support for such a process can be developed based on existing tools.
Lecture Notes in Computer Science, 1998
In this paper, we present a possible way h o w a precise semantics of objectoriented modeling techniques can be achieved, and what the possible bene ts are. We outline the main modeling techniques used in the SysLab project, sketch, how a precise semantics can be given, and how this semantics can be used during the development process.
Lecture Notes in Computer Science, 1998
Data & Knowledge Engineering, 2011
One of the more tedious and complex tasks during the specification of conceptual schemas (CSs) is modeling the operations that define the system behavior. This paper aims to simplify this task by providing a method that automatically generates a set of basic operations that complement the static aspects of the CS and suffice to perform all typical life-cycle create/update/delete changes on the population of the elements of the CS. Our method guarantees that the generated operations are executable, i.e. their executions produce a consistent state wrt the most typical structural constraints that can be defined in CSs (e.g. multiplicity constraints). In particular, our method takes as input a CS expressed as a Unified Modeling Language (UML) class diagram (optionally defined using a profile to enrich the specification of associations) and generates an extended version of the CS that includes all necessary operations to start operating the system. If desired, these basic operations can be later used as building blocks for creating more complex ones. We show the formalization and implementation of our method by means of model-tomodel transformations. Our approach is particularly relevant in the context of Model Driven Development approaches.
Domain specific languages play an important role in model driven development, as they allow to model a system using modeling constructs carrying implicit semantics specific to a domain. Consequently, possibly many reusable, domain specific languages will emerge. Thereby, certain application areas, such as business process engineering, can be jointly covered by a number of conceptually related DSLs, that are similar in a sense of sharing semantically equal concepts. Although, a crucial role in being able to use, manage and integrate all these DSLs comes to model transformation languages with QVT as one of their most prominent representatives, existing approaches have not aimed at reaping benefit of these semantically overlapping DSLs in terms of providing abstraction mechanisms for shared concepts. Therefore, as opposed to a generalpurpose model transformation language sought after with the QVT-RFP, this work discusses the possibility of employing domain-specific model transformation languages. These are specifically tailored for defining transformations between metamodels sharing certain characteristics. In this context, the paper introduces a basic framework which allows generating the necessary tools to define and execute transformations written in such a domain-specific transformation language. To illustrate the approach, an example language will be introduced and its realization within the framework is shown.
1991
A basic concept in object-oriented approaches is the notion of object as integrated unit of structure and behavior. Conceptually, objects are modeled as processes of which certain dynamic characteristics of their internal state can be observed using attributes. Objects are the basic units of design. Systems are composed from objects that interact to provide the desired services. In the semantics domain, concepts related to the object-oriented paradigm like interaction, inheritance and object aggregation can be uniformily modelled by object morphisms.
2008
Automatically generating a program from its specification eliminates a large source of errors that is often unavoidable in a manual approach. While a general purpose code generator is impossible to build, it is possible to build a practical code generator for a specific domain. This thesis investigates the theory behind Booster — a domain specific, object based specification language and automatic code generator. The domain of Booster is information systems — systems that consist of a rich object model in which the objects refer to each other to form a complicated network of associations. The operations of such systems are conceptually simple (changing the attributes of objects, adding or removing new objects and creating or destroying associations) but they are tricky to implement correctly. The thesis focuses on the theoretical foundation of the Booster approach, in particular on three contributions: semantics, model completion, and code generation. The semantics of a Booster mode...
Loading Preview
Sorry, preview is currently unavailable. You can download the paper by clicking the button above.
Formal Aspects of Computing, 1990
Software & Systems Modeling, 2009
Proceedings of the 27th International Conference on Software Engineering and Knowledge Engineering, 2015
Software & Systems Modeling, 2006
Formal Aspects of Computing, 2009
German-Argentinian Workshop on Information Technology, 1999
Proceedings. The Twenty-Second Annual International Computer Software and Applications Conference (Compsac '98) (Cat. No.98CB 36241), 1998
Software and Systems …, 2007
International Journal of Computer Applications in Technology, 2008
Electronic Notes in Theoretical Computer Science, 2003
Lecture Notes in Computer Science, 1993