Adrian Rutle
Bergen University College
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Adrian Rutle.
The Journal of Logic and Algebraic Programming | 2012
Adrian Rutle; Alessandro Rossini; Yngve Lamo; Uwe Wolter
Abstract This paper introduces a formal approach to constraint-aware model transformation which supports specifying constraints in the definition of transformation rules. These constraints are used to control which structure to create in the target model and which constraints to add to the created structure. The proposed approach is classified under heterogeneous, graph-based and out-place model transformations; and illustrated by applying it to a language translation. It is based on the Diagram Predicate Framework which provides a formalisation of (meta)modelling based on category theory and graph transformation. In particular, the proposed approach uses non-deleting transformation rules that are specified by a joined modelling language which is defined by relating the source and target languages. The relation between source and target languages is formalised by morphisms from their corresponding modelling formalisms into a joined modelling formalism. Furthermore, the application of transformation rules is formalised as a pushout construction and the final target model is obtained by a pullback construction.
euro american conference on telematics and information systems | 2008
Adrian Rutle; Uwe Wolter; Yngve Lamo
The raise of the abstraction level of programming languages has resulted in the usage of models and model transformations in software development processes. As a consequence of the usage of models as input to model transformation tools, there is a need for formal modeling languages and formal transformation definition techniques which can be employed to automatically translate between (and integrate) models. Therefore, a major focus of our research is on the formalization of modeling and model transformation in the generic formalism, Diagrammatic Predicate Logic (DPL). In this paper, we discuss a formalization approach to model transformation definitions based on DPL. Then, based on this formalization, some features of model transformations such as traceability, bidirectionality and compositionality are discussed.
Archive | 2012
Yngve Lamo; Xiaoliang Wang; Florian Mantz; Wendy MacCaull; Adrian Rutle
This paper presents the DPFWorkbench, a diagrammatic tool for domain specific modelling. The tool is an implementation of the basic ideas from the Diagram Predicate Framework (DPF), which provides a graph based formalisation of (meta)modelling and model transformations. The DPFWorkbench consists of a specification editor and a signature editor and offers fully diagrammatic specification of domain-specific modelling languages. The specification editor supports development of metamodelling hierarchies with an arbitrary number of metalevels; that is, each model can be used as a metamodel for the level below. The workbench also facilitates the automatic generation of domain-specific specification editors out of these metamodels. Furthermore, the conformance relations between adjacent metalevels are dynamically checked by the use of typing morphisms and constraint validators. The signature editor is a new component that extends the DPF Workbench with functionality for dynamic definition of predicates. The syntax of the predicates are defined by a shape graph and a graphical icon, and their semantics are defined by validators. Those predicates are used to add constrains on the underlying graph. The features of the DPF Workbench are illustrated by a running example presenting a metamodelling hierarchy for workflow modelling in the health care domain.
The Journal of Logic and Algebraic Programming | 2010
Alessandro Rossini; Adrian Rutle; Yngve Lamo; Uwe Wolter
Abstract Models are the primary artefacts of the software development process in Model-Driven Engineering (MDE). Like other software artefacts, models undergo a complex evolution during their life cycles. Version control is one of the key techniques which enable developers to tackle this complexity. Traditional version control systems (VCS) are based on the copy-modify-merge approach which is not fully exploited in MDE since current implementations lack model-orientation. In this paper we provide a formalisation of the copy-modify-merge approach in the context of MDE. In particular, we analyse how the identification of commonalities and the calculation of differences can be defined by means of category-theoretical constructions. Moreover, we demonstrate how the properties of these constructions can be used to synchronise models and detect conflicting modifications.
fundamental approaches to software engineering | 2009
Adrian Rutle; Alessandro Rossini; Yngve Lamo; Uwe Wolter
In Model-Driven Engineering (MDE) models are the primary artefacts of the software development process. Similar to other software artefacts, models undergo a complex evolution during their life cycles. Version control is one of the key techniques which enables developers to tackle this complexity. Traditional version control systems are based on the copy-modify-merge paradigm which is not fully exploited in MDE because of the lack of model-specific techniques. In this paper we give a formalisation of the copy-modify-merge paradigm in MDE. In particular, we analyse how common models and merge models can be defined by means of category-theoretical constructions. Moreover, we show how the properties of those constructions can be used to identify model differences and conflicting modifications.
behaviour modelling: foundation and applications | 2012
Adrian Rutle; Wendy MacCaull; Hao Wang; Yngve Lamo
In this paper we propose a metamodelling approach to behavioural modelling. The approach combines diagrammatic modelling with formal foundations based on category theory and graph transformations. The static semantics of behavioural models is represented by instances of (meta)models, while their dynamic semantics is represented by transition systems. Transitions are described by coupled model transformations. To illustrate the approach, we present a running example of a workflow model for health services delivery.
International Conference on Objects, Components, Models and Patterns | 2009
Adrian Rutle; Alessandro Rossini; Yngve Lamo; Uwe Wolter
In Model-Driven Engineering (MDE) models are the primary artefacts of the software development process. The usage of these models have resulted in the introduction of a variety of modelling languages and frameworks. Many of these languages and frameworks are based on the Object Management Group’s (OMG) Meta-Object Facility (MOF). In addition to their diagrammatic syntax, these languages use the Object Constraint Language to specify constraints that are difficult to specify diagrammatically. In this paper, we argue for a completely diagrammatic specification framework for MDE, where by diagrammatic we mean specification techniques which are targeting graph-based structures. We introduce the Diagram Predicate Framework, which provides a formal diagrammatic approach to modelling based on category theory – the mathematics of graph-based structures. The development of a generic and flexible formalisation of metamodelling is the main contribution of the paper. We illustrate our approach through the formalisation of the kernel of the Eclipse Modeling Framework.
theoretical aspects of software engineering | 2012
Hao Wang; Adrian Rutle; Wendy MacCaull
A workflow model is an abstract representation of a real life workflow and consists of interconnected tasks depicting the desired executions of real life activities. Time information is an important aspect of many safety-critical workflows. This paper presents a new formal diagrammatic approach to timed workflow modelling involving principles from model-driven engineering. The approach extends the Diagram Predicate Framework, which is based on category theory and graph transformations, for the specification of workflow modelling formalisms. We develop a transition system to represent the dynamic semantics involving time in which transitions are described by specification transformations between instances. To model time, we use predicates for time delay and duration with transition rules for time advancement.
fundamental approaches to software engineering | 2010
Adrian Rutle; Alessandro Rossini; Yngve Lamo; Uwe Wolter
This paper introduces a formal approach to the definition of constraint-aware model transformations. The proposed approach is based on the Diagram Predicate Framework and extends graph transformations with the ability to handle constraints in the definition and execution of model transformations. In particular, it uses non-deleting rules that are typed over the metamodel of a joined modelling language which is constructed from the source and target languages. Furthermore, the application of transformation rules is formalised as a pushout construction that creates a model which is typed over the metamodel of the joined modelling language. Finally, the target model is obtained from the created model by a pullback construction.
principles and practice of declarative programming | 2013
Yngve Lamo; Florian Mantz; Adrian Rutle; Juan de Lara
In Model Driven Engineering (MDE) models are the main artefacts of the software development process. Model transformations are used both in the software development phase and for verification and simulation of the system behaviour. Hence, tools and languages for describing model transformations are essential in MDE. While many practical transformation languages and tools have been proposed, there is still the need for formal foundations of model transformations.n In this work we propose a novel formalisation of model transformations based on graph transformation and category theory. Differently from current approaches, our formalisation is based on the definition of integration models and co-span rules, being purely declarative and bidirectional by nature. Transformations are performed by rule amalgamation in a way that guarantees confluence and termination, and we show correctness and completeness of this mechanism with respect to the specification.