Metamodel approaches to building visual environments are becoming common in the field of domain s... more Metamodel approaches to building visual environments are becoming common in the field of domain specific visual lan-guages, mainly focusing on the definition of visual editors and of simulation environments. Recent efforts tackle the generation of complex interaction management both in the editing and in the executing phases. We present an ap-proach to interaction specification, which takes into account metamodel information both on the objects that can be ma-nipulated and on the spatial relations among them. Interac-tion dynamics are defined through a visual, declarative and formal notation based on graph grammars.
This document reports on the use of an algebraic, visual, formal approach to the specification of... more This document reports on the use of an algebraic, visual, formal approach to the specification of patterns for the formalization of the GoF design patterns. The approach is based on graphs, morphisms and operations from category theory and exploits triple graphs to annotate model elements with pattern roles. Being based on category theory, the approach can be applied to formalize patterns in different domains. Novel in our proposal is the possibility of describing (nested) variable submodels, inter-pattern synchronization across several diagrams (e.g. class and sequence diagrams for UML design patterns), pattern composition, and conflict analysis. Comment: 17 pages and 41 figures. Supplementary material for the paper to appear in the Information and Software Technology Journal.
In this paper we define recursive rules in the double pushout approach (DPO) to graph transformat... more In this paper we define recursive rules in the double pushout approach (DPO) to graph transformation. Classical DPO rules are extended with a base case condition and a recursion condition. Mechanisms are provided to pass the match from both conditions to the rule's left hand side, and also between two consecutive steps in the recursion. The approach is useful when
Triple Graph Grammars (TGGs) allow the specification of high-level rules modelling the synchroniz... more Triple Graph Grammars (TGGs) allow the specification of high-level rules modelling the synchronized creation of elements in two graphs related through a correspondence graph. Low-level operational rules are then derived to manipulate concrete graphs. However, TGG rules may become unnecessarily verbose when el- ements have to be replicated from one graph to the other, and their actual derivation cannot exploit
Andy Schurr proposed triple graph grammars with the purpose of rewriting triple graphs (Schurr, 1... more Andy Schurr proposed triple graph grammars with the purpose of rewriting triple graphs (Schurr, 1994). They are useful as a means to maintain the relations between two models that are being manipulated. This document presents a formalization of triple graph grammars based on
Jornadas de Ingeniería del Software y Bases de Datos, 2003
This paper presents a framework for the verification of UML models. Our approach is to build meta... more This paper presents a framework for the verification of UML models. Our approach is to build meta-models for the different UML diagrams and translate them into formalisms (whose syntax is also spec- ified with a meta-model) in which properties of interest can be proved. The translation (denotational semantics) as well as the formalisms oper- ational semantics are formally described by
In this paper we propose a method to derive OCL invariants from declar- ative model-to-model tran... more In this paper we propose a method to derive OCL invariants from declar- ative model-to-model transformations in order to enable their veriflcation and analysis. For this purpose we have deflned a number of invariant-based veriflcation properties which provide increasing degrees of confldence about transformation correctness, such as whether a rule (or the whole transfor- mation) is satisflable by some model,
This work describes an agent-based model of an organisation. The model is made of workers, which ... more This work describes an agent-based model of an organisation. The model is made of workers, which are assigned tasks that have to be solved by analyzing some information items. Information quality has been modelled by associating to each item a probability of being wrong. Workers can interact with each other to recommend information items. During the simulations, we have induced deep reorganisation by changing the quality of the information items, inducing strong structural change. We have experimented with different information seeking behaviour for the workers and analyzed organisation performance, group formation and structural change in the periods of strong change.
This paper discusses the benets of combining meta- modelling and graph transformations to automat... more This paper discusses the benets of combining meta- modelling and graph transformations to automatically gen- erate modelling tools for simulation formalisms. In meta- modelling, formalisms are modelled in their own right at a meta-level within an appropriate meta-formalism. A meta-model processor uses this information to automati- cally generate tools to process ñcreate, edit, check, opti- mize, transform and generate simulators
Electronic Notes in Theoretical Computer Science, 2002
This paper presents the combined use of meta-modelling and graph grammars for the generation of v... more This paper presents the combined use of meta-modelling and graph grammars for the generation of visual modelling tools for simulation formalisms. In meta-modelling, formalisms are described at a meta-level. This information is used by a meta-model processor to generate modelling tools for the described formalisms. We combine meta-modelling with graph grammars to extend the model manipulation capabilities of the generated
In Model Driven Engineering (MDE) models are the main artefacts of the software development proce... more 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. 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.
Complex systems require descriptions using multiple modelling languages, or languages able to exp... more Complex systems require descriptions using multiple modelling languages, or languages able to express different concerns, like timing or data dependencies. In this paper, we propose techniques for the modular definition and composition of languages, including their abstract, concrete syntax and semantics. These techniques are based on (meta-)model templates, where interface elements and requirements for their connection can be established. We illustrate the ideas using the MetaDepth textual meta-modelling tool.
QVT is the standard language sponsored by the OMG to specify model-to-model transformations. It i... more QVT is the standard language sponsored by the OMG to specify model-to-model transformations. It includes three different languages, being QVT-relations (QVT-R) the one with higher-level of abstraction. Unfortunately, there is scarce tool support for it nowadays, with incompatibilities and disagreements between the few tools implementing it, and lacking support for the analysis and verification of transformations. Part of this situation is due to the fact that the standard provides only a semi-formal semantics for QVT-R. In order to alleviate this situation, this paper provides a semantics for QVT-R through its compilation into coloured Petri nets. The theory of coloured Petri nets provides useful techniques to analyse transformations (e.g. detecting relation conflicts, or checking whether certain structures are generated or not in the target model) as well as to determine their confluence and termination given a starting model. Our semantics is flexible enough to permit the use of Q...
This paper describes the simulation of the activities of a group of students who are using a simu... more This paper describes the simulation of the activities of a group of students who are using a simulated collaborative educational system, based on a real system (called KnowCat) used by real students in several courses in our department. The simulation has been implemented as a multi-agent system, where both the students and the work they perform are represented by interacting agents. The objective of the simulation is to provide a means to analyze different situations and to study global system behaviour and effects such as the quality of the most voted documents, or the overall learning progress and motivation of students.
Model-driven engineering (MDE) is a software engineering paradigm that proposes an active use of ... more Model-driven engineering (MDE) is a software engineering paradigm that proposes an active use of models during the development process. This paradigm is inherently type-centric, in the sense that models and their manipulation are defined over the types of specific meta-models. This fact hinders the reuse of existing MDE artefacts with other meta-models in new contexts, even if all these meta-models share common characteristics. To increase the reuse opportunities of MDE artefacts, we propose a paradigm shift from type-centric to requirement-centric specifications by bringing genericity into models, meta-models and model management operations. For this purpose, we introduce so-called concepts gathering structural and behavioural requirements for models and meta-models. In this way, model management operations are defined over concepts, enabling the application of the operations to any meta-model satisfying the requirements imposed by the concept. Model templates rely on concepts to d...
Model transformations are the heart and soul of Model Driven Engineering (MDE). However, in order... more Model transformations are the heart and soul of Model Driven Engineering (MDE). However, in order to increase the adoption of MDE by industry, techniques for developing model transformations in the large and raising the quality and productivity in their construction, like reusability, are still needed. In previous works, we developed a reutilization approach for graph transformations based on the definition of concepts, which gather the structural requirements needed by meta-models to qualify for the transformations. Reusable transformations are typed by concepts, becoming transformation templates. Transformation templates are instantiated by binding the concept to a concrete meta-model, inducing a retyping of the transformation for the given meta-model. This paper extends the approach allowing heterogeneities between the concept and the meta-model, thus increasing the reuse opportunities of transformation templates. Heterogeneities are resolved by using algebraic adapters which ind...
Over the last two decades, Collaborative Systems have become increasingly popular thanks to the m... more Over the last two decades, Collaborative Systems have become increasingly popular thanks to the many advances made in networks, communications and software tools. Within this field, Collaborative Modeling Systems apply the collaborative paradigm to the construction of (often visual) models, where users build diagrams from building blocks and the relationships between them. In these kinds of applications, the work is usually arranged into sessions, with the definition of some kind of time organization between those sessions. This organization is known as a collaboration protocol. Unfortunately, it is not usually easy to define these protocols, and many applications do not allow users to make any use of them.In an effort to overcome these difficulties, in this paper we propose a visual language for defining collaboration protocols for these systems. As such, in our language, sessions, artifacts and the transformations between them can be specified visually, and different coordination ...
The goal of this work is to provide the jNEP user with a visual tool to graphically design the NE... more The goal of this work is to provide the jNEP user with a visual tool to graphically design the NEPs under consideration. jNEP is a Java simulator for NEPs previously developed by some of the authors of this paper. We have designed a domain specific visual language for NEPs by means of AToM3.We have also taken advantage of the AToM3’s graph grammar modules to automate some mechanical and time-consuming designing tasks, such as properly placing filters close to their processors, and defining some kinds of standard graph topologies. AToM3 is a python tool previously developed by some of the authors of this paper.
Metamodel approaches to building visual environments are becoming common in the field of domain s... more Metamodel approaches to building visual environments are becoming common in the field of domain specific visual lan-guages, mainly focusing on the definition of visual editors and of simulation environments. Recent efforts tackle the generation of complex interaction management both in the editing and in the executing phases. We present an ap-proach to interaction specification, which takes into account metamodel information both on the objects that can be ma-nipulated and on the spatial relations among them. Interac-tion dynamics are defined through a visual, declarative and formal notation based on graph grammars.
This document reports on the use of an algebraic, visual, formal approach to the specification of... more This document reports on the use of an algebraic, visual, formal approach to the specification of patterns for the formalization of the GoF design patterns. The approach is based on graphs, morphisms and operations from category theory and exploits triple graphs to annotate model elements with pattern roles. Being based on category theory, the approach can be applied to formalize patterns in different domains. Novel in our proposal is the possibility of describing (nested) variable submodels, inter-pattern synchronization across several diagrams (e.g. class and sequence diagrams for UML design patterns), pattern composition, and conflict analysis. Comment: 17 pages and 41 figures. Supplementary material for the paper to appear in the Information and Software Technology Journal.
In this paper we define recursive rules in the double pushout approach (DPO) to graph transformat... more In this paper we define recursive rules in the double pushout approach (DPO) to graph transformation. Classical DPO rules are extended with a base case condition and a recursion condition. Mechanisms are provided to pass the match from both conditions to the rule's left hand side, and also between two consecutive steps in the recursion. The approach is useful when
Triple Graph Grammars (TGGs) allow the specification of high-level rules modelling the synchroniz... more Triple Graph Grammars (TGGs) allow the specification of high-level rules modelling the synchronized creation of elements in two graphs related through a correspondence graph. Low-level operational rules are then derived to manipulate concrete graphs. However, TGG rules may become unnecessarily verbose when el- ements have to be replicated from one graph to the other, and their actual derivation cannot exploit
Andy Schurr proposed triple graph grammars with the purpose of rewriting triple graphs (Schurr, 1... more Andy Schurr proposed triple graph grammars with the purpose of rewriting triple graphs (Schurr, 1994). They are useful as a means to maintain the relations between two models that are being manipulated. This document presents a formalization of triple graph grammars based on
Jornadas de Ingeniería del Software y Bases de Datos, 2003
This paper presents a framework for the verification of UML models. Our approach is to build meta... more This paper presents a framework for the verification of UML models. Our approach is to build meta-models for the different UML diagrams and translate them into formalisms (whose syntax is also spec- ified with a meta-model) in which properties of interest can be proved. The translation (denotational semantics) as well as the formalisms oper- ational semantics are formally described by
In this paper we propose a method to derive OCL invariants from declar- ative model-to-model tran... more In this paper we propose a method to derive OCL invariants from declar- ative model-to-model transformations in order to enable their veriflcation and analysis. For this purpose we have deflned a number of invariant-based veriflcation properties which provide increasing degrees of confldence about transformation correctness, such as whether a rule (or the whole transfor- mation) is satisflable by some model,
This work describes an agent-based model of an organisation. The model is made of workers, which ... more This work describes an agent-based model of an organisation. The model is made of workers, which are assigned tasks that have to be solved by analyzing some information items. Information quality has been modelled by associating to each item a probability of being wrong. Workers can interact with each other to recommend information items. During the simulations, we have induced deep reorganisation by changing the quality of the information items, inducing strong structural change. We have experimented with different information seeking behaviour for the workers and analyzed organisation performance, group formation and structural change in the periods of strong change.
This paper discusses the benets of combining meta- modelling and graph transformations to automat... more This paper discusses the benets of combining meta- modelling and graph transformations to automatically gen- erate modelling tools for simulation formalisms. In meta- modelling, formalisms are modelled in their own right at a meta-level within an appropriate meta-formalism. A meta-model processor uses this information to automati- cally generate tools to process ñcreate, edit, check, opti- mize, transform and generate simulators
Electronic Notes in Theoretical Computer Science, 2002
This paper presents the combined use of meta-modelling and graph grammars for the generation of v... more This paper presents the combined use of meta-modelling and graph grammars for the generation of visual modelling tools for simulation formalisms. In meta-modelling, formalisms are described at a meta-level. This information is used by a meta-model processor to generate modelling tools for the described formalisms. We combine meta-modelling with graph grammars to extend the model manipulation capabilities of the generated
In Model Driven Engineering (MDE) models are the main artefacts of the software development proce... more 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. 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.
Complex systems require descriptions using multiple modelling languages, or languages able to exp... more Complex systems require descriptions using multiple modelling languages, or languages able to express different concerns, like timing or data dependencies. In this paper, we propose techniques for the modular definition and composition of languages, including their abstract, concrete syntax and semantics. These techniques are based on (meta-)model templates, where interface elements and requirements for their connection can be established. We illustrate the ideas using the MetaDepth textual meta-modelling tool.
QVT is the standard language sponsored by the OMG to specify model-to-model transformations. It i... more QVT is the standard language sponsored by the OMG to specify model-to-model transformations. It includes three different languages, being QVT-relations (QVT-R) the one with higher-level of abstraction. Unfortunately, there is scarce tool support for it nowadays, with incompatibilities and disagreements between the few tools implementing it, and lacking support for the analysis and verification of transformations. Part of this situation is due to the fact that the standard provides only a semi-formal semantics for QVT-R. In order to alleviate this situation, this paper provides a semantics for QVT-R through its compilation into coloured Petri nets. The theory of coloured Petri nets provides useful techniques to analyse transformations (e.g. detecting relation conflicts, or checking whether certain structures are generated or not in the target model) as well as to determine their confluence and termination given a starting model. Our semantics is flexible enough to permit the use of Q...
This paper describes the simulation of the activities of a group of students who are using a simu... more This paper describes the simulation of the activities of a group of students who are using a simulated collaborative educational system, based on a real system (called KnowCat) used by real students in several courses in our department. The simulation has been implemented as a multi-agent system, where both the students and the work they perform are represented by interacting agents. The objective of the simulation is to provide a means to analyze different situations and to study global system behaviour and effects such as the quality of the most voted documents, or the overall learning progress and motivation of students.
Model-driven engineering (MDE) is a software engineering paradigm that proposes an active use of ... more Model-driven engineering (MDE) is a software engineering paradigm that proposes an active use of models during the development process. This paradigm is inherently type-centric, in the sense that models and their manipulation are defined over the types of specific meta-models. This fact hinders the reuse of existing MDE artefacts with other meta-models in new contexts, even if all these meta-models share common characteristics. To increase the reuse opportunities of MDE artefacts, we propose a paradigm shift from type-centric to requirement-centric specifications by bringing genericity into models, meta-models and model management operations. For this purpose, we introduce so-called concepts gathering structural and behavioural requirements for models and meta-models. In this way, model management operations are defined over concepts, enabling the application of the operations to any meta-model satisfying the requirements imposed by the concept. Model templates rely on concepts to d...
Model transformations are the heart and soul of Model Driven Engineering (MDE). However, in order... more Model transformations are the heart and soul of Model Driven Engineering (MDE). However, in order to increase the adoption of MDE by industry, techniques for developing model transformations in the large and raising the quality and productivity in their construction, like reusability, are still needed. In previous works, we developed a reutilization approach for graph transformations based on the definition of concepts, which gather the structural requirements needed by meta-models to qualify for the transformations. Reusable transformations are typed by concepts, becoming transformation templates. Transformation templates are instantiated by binding the concept to a concrete meta-model, inducing a retyping of the transformation for the given meta-model. This paper extends the approach allowing heterogeneities between the concept and the meta-model, thus increasing the reuse opportunities of transformation templates. Heterogeneities are resolved by using algebraic adapters which ind...
Over the last two decades, Collaborative Systems have become increasingly popular thanks to the m... more Over the last two decades, Collaborative Systems have become increasingly popular thanks to the many advances made in networks, communications and software tools. Within this field, Collaborative Modeling Systems apply the collaborative paradigm to the construction of (often visual) models, where users build diagrams from building blocks and the relationships between them. In these kinds of applications, the work is usually arranged into sessions, with the definition of some kind of time organization between those sessions. This organization is known as a collaboration protocol. Unfortunately, it is not usually easy to define these protocols, and many applications do not allow users to make any use of them.In an effort to overcome these difficulties, in this paper we propose a visual language for defining collaboration protocols for these systems. As such, in our language, sessions, artifacts and the transformations between them can be specified visually, and different coordination ...
The goal of this work is to provide the jNEP user with a visual tool to graphically design the NE... more The goal of this work is to provide the jNEP user with a visual tool to graphically design the NEPs under consideration. jNEP is a Java simulator for NEPs previously developed by some of the authors of this paper. We have designed a domain specific visual language for NEPs by means of AToM3.We have also taken advantage of the AToM3’s graph grammar modules to automate some mechanical and time-consuming designing tasks, such as properly placing filters close to their processors, and defining some kinds of standard graph topologies. AToM3 is a python tool previously developed by some of the authors of this paper.
Uploads