Uwe Wolter
University of Bergen
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Uwe Wolter.
Electronic Notes in Theoretical Computer Science | 2008
Zinovy Diskin; Uwe Wolter
Formal generalized sketches is a graph-based specification format that borrows its main ideas from categorical and ordinary first-order logic, and adapts them to software engineering needs. In the engineering jargon, it is a modeling language design pattern that combines mathematical rigor and appealing graphical appearance. The paper presents a careful motivation and justification of the applicability of generalized sketches for formalizing practical modeling notations. We extend the sketch formalism by dependencies between predicate symbols and develop new semantic notions based on the Instances-as-typed-structures idea. We show that this new framework fits in the general patterns of the institution theory and is well amenable to algebraic manipulations.
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.
Applied Categorical Structures | 2001
Reiko Heckel; Hartmut Ehrig; Uwe Wolter; Andrea Corradini
The classical algebraic approach to graph transformation is a mathematical theory based on categorical techniques with several interesting applications in computer science. In this paper, a new semantics of graph transformation systems (in the algebraic, double-pushout (DPO) approach) is proposed in order to make them suitable for the specification of concurrent and reactive systems. Classically, a graph transformation system comes with a fixed behavioral interpretation. Firstly, all transformation steps are intended to be completely specified by the rules of the system, that is, there is an implicit frame condition: it is assumed that there is a complete control about the evolution of the system. Hence, the interaction between the system and its (possibly unknown) environment, which is essential in a reactive system, cannot be modeled explicitly. Secondly, each sequence of transformation steps represents a legal computation of the system, and this makes it difficult to model systems with control. The first issue is addressed by providing graph transformation rules with a loose semantics, allowing for unspecified effects which are interpreted as activities of the environment. This is formalized by the notion of double-pullback transitions, which replace (and generalize) the well-known double-pushout diagrams by allowing for spontaneous changes in the context of a rule application. Two characterizations of double-pullback transitions are provided: the first one describes them in terms of extended direct DPO derivations, and the second one as incomplete views of parallel or amalgamated derivations. The issue of constraining the behavior of a system to transformation sequences satisfying certain properties is addressed instead by introducing a general notion of logic of behavioral constraints, which includes instances like start graphs, application and consistency conditions, and temporal logic constraints. The loose semantics of a system with restricted behavior is defined as a category of coalgebras over a suitable functor. Such category has a final object which includes all finite and infinite transition sequences satisfying the constraints.
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.
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.
Formal Aspects of Computing | 2014
Alessandro Rossini; Juan de Lara; Esther Guerra; Adrian Rutle; Uwe Wolter
Metamodelling is one of the pillars of model-driven engineering, used for language engineering and domain modelling. Even though metamodelling is traditionally based on a two-metalevel approach, several researchers have pointed out limitations of this solution and proposed an alternative deep (also called multi-level) approach to obtain simpler system specifications. However, this approach currently lacks a formalisation that can be used to explain fundamental concepts such as deep characterisation, double linguistic/ontological typing and linguistic extension. This paper provides such a formalisation based on the Diagram Predicate Framework, and discusses its practical realisation in the metaDepth tool.
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.
Science of Computer Programming | 2015
Florian Mantz; Gabriele Taentzer; Yngve Lamo; Uwe Wolter
Abstract Model-driven engineering focuses on models as primary artifacts of the software development process, which means programs are mainly generated by model-to-code transformations. In particular, modeling languages tailored to specific domains promise to increase the productivity of software developers and the quality of generated software. Modeling languages, however, evolve over time and therefore, existing models have to be migrated accordingly. The manual migration of models tends to be tedious and error-prone, therefore tools have been developed to (partly) automate this process. Nevertheless, the migration results may not always be well-defined. In this article, we provide a formal framework for model migration which is independent of specific modeling approaches. We treat modeling languages, formalized by meta-models, as well as models as graphs and consider their co-evolutions as coupled graph transformations. In the same line, we study the conditions under which model migrations are well-defined. Existing solutions to model migration are either handwritten or default solutions that can hardly be customized. Here, we introduce a high-level specification approach, called model migration schemes, that supports automation and customization. Starting from a meta-model evolution rule, a default migration scheme can be automatically deduced and customized.
Electronic Notes in Theoretical Computer Science | 1999
Uwe Wolter
Abstract The paper presents a first step of a coalgebraic analysis of the concept of communicating sequential processes as introduced by Hoare in [3]. We make apparent the strong relationship between CSP and partial automata, i.e., special coalgebras. Thereby it turns out that [3] is only dealt with very special automata, namely, with final automata, i.e., automata where the difference between the concepts of state and of process, respectively, disappears. The coalgebraic approach will allow us to develop a proper model theory for process calculi. As first steps in this direction we outline firstly how operations on processes can be generalized in a compatible way to constructions on automata. Secondly, we present a new method for solving recursive process equations. Finally, we discuss that the nondeterminism in CSP can not be modeled based on nondeterministic transition systems usually considered in the coalgebraic literature [5].