• Nem Talált Eredményt

Advisors:Dr.GergelyMezei,Ph.D.Dr.TihamérLevendovszky,Ph.D. TamásMészáros Ph.D.ThesisBooklet SUPPORTINGMODELANIMATIONMETHODSWITHGRAPHTRANSFORMATION

N/A
N/A
Protected

Academic year: 2023

Ossza meg "Advisors:Dr.GergelyMezei,Ph.D.Dr.TihamérLevendovszky,Ph.D. TamásMészáros Ph.D.ThesisBooklet SUPPORTINGMODELANIMATIONMETHODSWITHGRAPHTRANSFORMATION"

Copied!
21
0
0

Teljes szövegt

(1)

SUPPORTING MODEL ANIMATION METHODS WITH GRAPH TRANSFORMATION

Ph.D. Thesis Booklet Tamás Mészáros

Advisors:

Dr. Gergely Mezei, Ph.D.

Dr. Tihamér Levendovszky, Ph.D.

BUDAPEST UNIVERSITY OF TECHNOLOGY AND ECONOMICS DEPARTMENT OF AUTOMATION AND APPLIED INFORMATICS

Budapest, 2011

(2)

Tamás Mészáros

Budapest University of Technology and Economics Faculty of Electrical Engineering and Informatics Department of Automation and Applied Informatics

1111 Budapest, Magyar Tudósok körútja 2.

e-mail: mesztam@aut.bme.hu

Advisors:

Dr. Gergely Mezei, Ph.D.

Dr. Tihamér Levendovszky, Ph.D.

(3)

1 Introduction and Motivation

Modeling has become an essential tool in software engineering recently. With the help of models, we can raise the level of abstraction and improve the reusability of software components at the same time. Visual modeling can also help illustrate software systems in a conceivable way. It is a fact that modeling languages have a great role in the drastic improvement of software complexity in the last decades [Jéz03].

The Unied Modeling Language (UML)[UML10, MH06] has become the de-facto stan- dard to describe software models. It provides languages to dene both the static structure of the systems and also their dynamic behavior in a unied way. Due to the fact that UML provides the same set of languages to describe any system, it has many users and serves as a common interface among software engineers. Because of the same reason, however, it is often complicated to use, as the application logic or the components of the application-specic concept are often not that simple to express using general pro- gramming languages. The resulting models are often far from the natural language of the domain that they are intended to describe.

In contrast to UML, the other popular modeling approach is Domain-Specic Modeling (DSM) [KT08, SV06]. The essence of DSM is to use specialized modeling languages called Domain-Specic Modeling Languages (DSMLs) for each possible application domain instead of using general purpose languages such as UML. A DSML includes both an individual notation for the target domain and the topological constraints between the elements of the language. The notations of a good DSML should follow the notations (either graphical or textual) used by the experts of the target domain. Due to the fact that a DSML is specialized for one domain, it can be extremely ecient [KT08] compared to other solutions. Another advantage of DSM is that the tool support can also be customized for each domain, thus, further increasing productivity. These facts have also been recognized by the leaders of the software industry, and they have also built their own DSM environments [CJKCW07, Gro09]. The high customizability has drawbacks as well: the modeling environment must be built for each and every application domain along with the related generators.

One of the most popular forms to dene visual DSMLs is metamodeling [Nor99].

Metamodeling means using a specic DSML to model the elements and constraints of a language. This model is called the metamodel of the language and the models created using this language are referred to as the instances of the metamodel.

Since metamodels are intended to specify only the structural properties (abstract syn- tax) of the language, other techniques are necessary to dene the visual appearance (con- crete syntax) of the specic elements. The most basic solution for this issue is to assign an icon to each element somehow, e.g. with an additional conguration le, or storing the path of the related image into the metamodel [LBM+01]. A more advanced approach is to hard-code the visualization of the elements, thus, one can customize and dynami- cally change the appearance based on the current properties of the model. The Generic Modeling Environment [LBM+01, GME10] also supports this approach using Decorators [MBL07]. In order to avoid hard-coding at least in many practical cases, AToM3 [dLV02]

has improved the existing solutions, and facilitated the visual denition of the visualiza- tion: the language of their metamodel provides a graphical editor with primitives, and stores the visualization info in the metamodel. The Visual Modeling and Transformation System (VMTS) [VMT10, MLLC06] and the Eclipse [GMF10] approaches can be con- sidered the most advanced solutions at the moment: they provide a separate DSML for

(4)

the specication of the concrete syntax and to assign it to the elements of the abstract syntax.

Of course, domain-specic models are usually built not only with documentation pur- poses, thus, certain mechanisms are required to process them. Here we usually distinguish two dierent approaches: traversal-based model processors and graph rewriting-based model processors. Model traversing [VKLL09, VMT10] usually uses the API of the mod- eling environment to traverse the host model, and it generates some sort of output. This processes is often supported with script or template-based languages [Tol06, CJKCW07].

The other popular approach is the graph rewriting-based model transformation [EEPT06].

This technique searches for patterns in models represented as graphs, and replaces the found matches with other patterns. Thus, the mathematical model of graph transforma- tion that has been researched since the '70s [CER79] has found a practical application.

Since graph transformation is intended to process models, a straightforward idea is to describe also the steps (rules) of the graph transformation system using modeling. Many tools (e.g. VIATRA [Var04], PROGRES [Zün96] or AToM3 [dLV02]) started to incor- porate graph transformation engines with modeling support in the early times as well.

Since the early attempts, many specialized kinds of graph transformation approaches have evolved (e.g. Pair Graph Grammars [Pra71] or Triple Graph Grammars [Sch95, Kön05]

for model synchronization).

A domain-specic environment can be regarded as a special generative programming environment [CE00] where the input of the generators is a set of models. The most valuable asset in this infrastructure is the domain-specic generator as well as the domain- specic environment. This infrastructure must be built for each application environment separately. Thus, the aim of current research is to facilitate the rapid generation of domain-specic infrastructures including DSMLs, model processors, and tool support.

Recall that there are numerous approaches to dene the abstract and concrete syntax of metamodeled languages. However, there is no integrated solution to describe the dy- namic behavior animation of the languages. As we have shown, the tendency is to solve DSM-related maintenance issues with modeling, and it is an open question whether we can also describe the dynamic behavior of the languages with modeling. Most tools (e.g. AToM3 or AGG [Tae04]) use graph transformation to animate models. However, similar approaches lack the capability to interact with their environment. Graph trans- formation can be considered a useful utility to describe dynamic behavior as it has been illustrated by international contests [Gra08, Gra09, TTC10] as well.

Since model animations are often demanding, it is important to optimize the trans- formations as much as possible to save time and resources. A straightforward idea is to achieve some kind of parallelism during the execution of the rules: this parallelism may be either multi-threaded or single-threaded, which means that similar parts of the die- rent rewriting rules are evaluated at once and reused by all the related rules. For both approaches there are numerous related work [MLLC07, Tae96, VV04, Dör95], however, there are other possibilities, for which the optimization is still an open question.

Provided that such a system incorporating model animation capabilities and a fast transformation engine exists, designing animations still remains an engineering task.

To accelerate this process, the software engineering community has a proven solution:

dening patterns and solve recurring problems with the help of them. It is an open question if and how the animation environment can be prepared to support the application of patterns. This thesis presents theoretical and practical answers for the aforementioned questions.

(5)

The main topic of the presented research is supporting model animation with model transformation. The open issues related to the topic are as follows:

1. Dynamic behavior denition of visual languages. In order to facilitate the animation of visual languages, a fundamental concept should be elaborated, and a set of domain-specic languages that are capable of describing the dynamic behavior of metamodeled languages. The operational semantics of the new languages should be formalized, the expression power of the solution should be analyzed. Further- more, transformations should be provided that make the automated execution of the animation models possible.

2. Optimized execution of model transformations. In order to optimize the performance of control ow-based model transformations, an overlapping technique should be elaborated that exploits the structural similarity of consecutively executed rules. The matching algorithm should perform the matching of the common parts of the dierent rules at once, thus reducing execution time. It should be examined whether and how the idea could be specialized to the exhaustive execution, i.e.

the same rule is applied as long as possible. The semantic preserving property of the algorithms should be ensured. The achieved gains should be veried with measurements.

3. Supporting model patterns. The purpose is to support the denition and app- lication of patterns describing often recurring editing operations. Thus, the funda- mental concepts that facilitate the precise description of model patterns should be elaborated. The solution should be generic enough to express any possible opera- tion. The approach should be generalized to domain-specic design patterns, i.e.

the insertion of incomplete model fragments.

2 Methodological Summary

The outlined open issues have dened the direction of my research. As a formal back- ground, I have investigated the mathematical background of modeling including typed and attributed graphs [EEPT06] and the related graph algorithms. To describe the dy- namic behavior of visual languages, I have examined existing model animation approaches and languages. I have elaborated an animation framework and a set of visual languages.

To describe the operational semantics of the visual models built with the languages, I used Abstract State Machines (ASMs) [BS03]. I have created model transformations to process the animation models and make them executable. To verify and analyze the prop- erties of the transformations, I used the tools of category theory [Pie91]. To formalize the behavior of the implementation, I used ASM again. To prove the correspondence of the implementation to the operational semantics, I used bisimulation [Mil71].

The theoretical background of model transformations is covered by the mathematical background of graph transformations [Roz97] and the Double Pushout [EEPT06] (DPO) approach. Graph transformations used in my approach are strictly ordered. This strict order means that the transformation denes not only the rewriting steps themselves, but their order of execution as well. Before designing the related algorithms I have investi- gated existing algorithms for the sub-graph matching problem and their specialization for restricted classes of graphs.

(6)

To dene model patterns, I used graph rewriting-based model transformations. To describe the semantics of the model transformation language used in our framework, I applied the ASM formalism. I have built a transformation that supports the application of static model patterns. I used category theory to prove the correctness of the transfor- mation. I also used category and graph theory to verify the correctness of practical model patterns I built.

At the Department of Automation and Applied Informatics of BUTE we developed the Visual Modeling and Transformation System (VMTS) [VMT10] that is a metamod- eling and model transformation framework. During my research, I have implemented the theoretical solutions in modules of VMTS in order to show the practical relevance of the solutions as well.

3 Novel Scientic Results

The scientic results of my research are summarized in three theses. The theoretical results are proved by mathematical and engineering methods, and are illustrated by app- lications to prove their industrial relevance.

The rst contribution deals with the visual specication of the dynamic behavior (an- imation) of metamodeled languages. I provide (i) an event-based conceptual architecture to support animation and (ii) a set of visual languages to describe the animation of the models and their execution. A transformation is also elaborated that generates executable source code from the animation models. My solution clearly separates the domain knowl- edge and the animation description both on the conceptual and the realization level.

Thus, my approach oers a concise and systematic solution to provide a highly customiz- able animation framework for metamodeled languages with strong integration support to external systems such as simulation engines.

In order to decrease the execution time of model simulations, the second contribution focuses on the performance optimization of graph rewriting-based model transformation systems. I provide an overlapped matching technique for control ow-based model trans- formation systems. My technique harnesses the similarity of consecutively executed rules by matching common parts of the patterns at once. In addition to the rst-t execution, I specialize the base algorithm for exhaustive and iterative execution as well. I provide another optimization technique for exhaustively executed rules, which technique reuses partial matches from the previous execution of the same rule. I introduce the combination of the two approaches as well.

In the third contribution, I provide a complete framework based on model transfor- mation to dene and apply various model patterns with arbitrary intention in a domain- specic environment. I provide the formal description of the execution logic of the trans- formation engine and analyze the correctness of the logic and the expression power of the solution. The introduced transformation system serves as the execution engine for the op- erational aspect of Active Model Patterns (AMPs) that describe frequently used complex model manipulations and refactoring operations in Domain-Specic Modeling. With the specialization of the operational aspect, we can easily realize the static aspect of AMPs as well. Here I provide the formal specication of the requirements against the static approach. I present a transformation realizing the static aspect and prove its correct- ness. The introduced approach is motivated by case studies from the VMTS Animation Framework and other domains.

(7)

Thesis I

Dening the dynamic behavior of metamodeled languages

I have elaborated an event-driven concept and a set of visual languages to describe the dynamic behavior (animation) of metamodeled languages. I have formalized the execution semantics of the visual languages with Abstract State Machines (ASM), and provided graph rewriting-based model transformations to process the input models and generate the executable source code. I have formalized the behavior of the implementation and proved its correspondence to the specication.

Thesis I is contained by the third chapter of the dissertation. Related publications:

[1][4][10][15][16][18][23][25][27][30]

An animation system is built up from animators that are connected through ports to each other. An animator contains states and the connecting edges, the state transitions are triggered by events that arrive from other components through ports. The corresponding formal structure is dened as follows.

Denition 3.1 (superuniverse of the model animation framework). The superuniverse

|A| of a stateAof the model animation framework is the union of the following universes.

Uint : Universe of integer numbers Ureal : Universe of real numbers Ubool={true, f alse}

Ustring : Universe of string literals

UID : Universe of unique identiers, exactly ordered items Uvariable : Universe of states dened by global variables

Uanimator : Universe of animators (attributes: ID:UID; V ariables :Uvariable) Uport : Universe of ports (ID :UID; Owner :Uanimator : Container animator)

Ustamp : Universe of timestamps (T ime : Uint : Logical/physical time; Index : Uint : Additional index to make stamps unique)

Uevent: All the possible events handled by the animation logic (Stamp:Ustamp : Schedul- ing time of the event;IsInternal:Ubool: Indicates, if the event is internal;T ype:Ustring

: Denes the type of the event)

Ustatetype ={start, general, end} : Possible state types

Ustate : Universe of animation model states ( ID : UID : unique identier; Owner : Uanimator : Container animator; T ype : Ustatetype : Type of the state; T imeOut : Ureal : if greater than or equals to 0, then an internal transition is performed after this timeout from the current state)

Uedge : Universe of animation model transitions ( ID : UID : unique identier ( IsInternal : Ubool :Indicates if this is an internal transition; Right : Ustate : The edge is coming from this state; Lef t : Ustate : The edge is leading to this state;

Guard, Action:Ustring : Guard and action expression assigned to the transition)

Denition 3.2. The vocabulary Σ of the ASM formalism of the animation framework is assumed to contain the following characteristic functions (arities are denoted by dashes):

Monitored functions: M appedT o/1, Animators/0, T estGuard/1, T estedP orts/1, P erf ormActions/1, ContainerState/1, Clone/1, F iredEvents/1, IsT ransient/1

(8)

Controlled functions: CurrentT ime/0, CurrentState/1, LastT ime/1, Length/1, Element/2, LastIndex/0

Derived functions: opset/2, opst/2, oplt/2, opeq/2, P eek/1, StartState/1, OutEdges/1, T op/1, StateInternalDelay/1, InternalDelay/1, N extInternal/1, N extExternal/1, M inExternal/0, M inInternal/0

Denition 3.3 (behavior of an animation specication). The behavior of a animation is specied by the vocabulary of the animation framework (Denition 3.2) and the ASM rules Sort, Push, Pop, Fire, Step, StepExternal, StepInternal, GlobalStep, Animation. By the rules we assume that the choose operator deterministically selects the element with the smallest ID.

Subthesis I.1

I have formalized the operational semantics of the animation framework following the denitions above, and proved that with the help of the animation framework one can sim- ulate any system that can be dened using deterministic nite-state Discrete Event System Specication (DEVS) [ZKP00]. I have also shown that the languages of the animation framework can express any system specied using the Discrete Time System Specication (DTSS) [ZKP00] system, thus, it can simulate any continuous system with arbitrary small error.

Using a model transformation to process the models describing animation logic and to make them executable is a straightforward idea, because changes in the metamodel can be easily adapted. Furthermore, it facilitates the formal verication of the mapping between source models and the generated source code. I have realized a model transformation that generates executable source code from animation models. I have shown that the transformation detects topologic errors in the output, and the generated source code corresponds to the processed input model.

Subthesis I.2

I have proved that the model transformation mapping the animation models to source code always terminates, provided the input model is nite. I have shown that the transforma- tion terminates without the modication of the input or output model if the input model contains topologically unreachable states. I have shown that executing the transformation on a G animation model, the generated source code builds up an object hierarchy not distinguishable from the model based on the Animators, ContainerState, M appedT o, T estGuard, P erf ormActions, F iredEvents and T estedP orts monitored functions, and the initial value of the CurrentState controlled function.

The generated source code uses the services of a DEVS-based simulation engine to animate models. In order to prove the equivalence of the expected operational seman- tics and the implemented behavior, I have formalized the execution logic of the imple- mentation using ASM. Thus I have extended the formalization of the specication by the newInternalI/1monitored function, the ElementGlobalI/1and LengthGlobalI/0 controlled functions, and the RealLengthI/1 derived function.

Denition 3.4 (vocabulary of the animation framework implementation). The vocabulary ΣI of the ASM formalism for the implementation of the animation framework is assumed to contain the following characteristic functions:

(9)

Monitored functions: M appedT oI/1, N ewInternalI/1, AnimatorsI/0, T estGuardI/1, T estedP ortsI/1, P erf ormActionsI/1, ContainerStateI/1, CloneI/1, F iredEventsI/1, IsT ransientI/1

Controlled functions: CurrentT imeI/0, CurrentStateI/1, LastT imeI/1, LengthI/1, ElementI/2, LastIndexI/0, ElementGlobalI/1, LengthGlobalI/0

Derived functions: opsetI/2, opstI/2, opltI/2, opeqI/2, StartStateI/1, OutEdgesI/1, P eekI/1, T opI/1, StateInternalDelayI/1, InternalDelayI/1,

N extInternalI/1, N extExternalI/1, M inExternalI/0, M inInternalI/0, RealLengthI/1 Denition 3.5 (behavior of an animation implementation). The implementation behav- ior of a VAF animation is specied by the vocabulary of the animation framework im- plementation (Denition 3.4) and the ASM rules SortI, P ushI, P opI, F ireI, StepI, StepExternalI, StepInternalI, GlobalStepI, AnimationI, P ushGlobalI, P opGlobalI, RemoveGlobalI, and EngueueN extInternalI. By the rules we assume that the choose operator deterministically selects the element with the smallest ID.

I have shown that the behavior of the underlying simulation system together with the generated source code corresponds to the specication, thus, the correctness of the implementation is proven:

Subthesis I.3

I have dened a ϕ mapping between the states of the animation implementation and the specication in a formal way. I have proved that the construction assigns a valid animation implementation state to each valid specication state and vice-versa, i.e. those states that can occur during the execution. I have shown that ϕ maps an external event in the implementation behavior for each external event of the specied behavior and vice-versa.

I have proved that consequently the ϕ mapping is a bijection. I have shown that ϕ is a bisimulation between the animation specication A and its implementation AI.

Subthesis I.4

I have shown that the animation framework can be realized in practice. I have realized it in VMTS. I have proved that the animation framework is able to animate Petri-nets and model transformation denitions. Using MATLAB Simulink I have shown that the animation framework can integrate external simulation systems and use their calculation results.

Thesis II

Compile-time performance optimization of model transformation systems

In my approach, I assume a control ow-based model transformation engine where the application order of the rules is deterministic but the matches are not. I have elaborated algorithms (Overlapped Rewriting Algorithm - OLRA) to overlap the matching phase of graph rewriting rules reducing thus the execution time of the transformation. Overlap- ping the matching means that the isomorphic parts of the LHSs of the dierent rules are matched at once, and the common matches are extended with the remaining rule-specic parts for complete matches. Overlapping can be organized into a hierarchy as well: the

(10)

matching of the rules can be overlapped to a dierent degree. I have specialized the algo- rithm for three typical types of execution: rst-t, exhaustive and iterative. I have found satisfactory criteria when the algorithm can be used. I have introduced another optimiza- tion technique called deep exhaustive execution for the exhaustive execution manner. I have provided a hybrid solution combining the benets of the two approaches.

Thesis II is contained by the fourth chapter of the dissertation. Related publications:

[3][6][8][9][13][17][20][21][22][24][26][31][33]

The basic denitions of graphs, typed-graphs, attributed typed graphs and sequential independence are understood according to [EEPT06]. I also assign constraints to the production rules, thus, I have extended the the basic denition of typed, attributed graph productions [EEPT06]:

Denition 3.6 (typed, attributed graph production with constraints). Given an at- tributed type graph AT G with a data signature DSIG. A typed, attributed graph pro- duction with constraints p = (L ←−l K −→r R,X) consists of a typed, attributed graph production and a set of constraints X. Also, we have injective l, r.

A production p = (L ←−l K −→r R,X) is applicable to a typed, attributed graph G via the match m if there is a context graph D such that (1) is a pushout and m satises constraints X, i.e. m|=X.

L

m (1)

K

oo l r //

k

R

Goo f D

I assume the following three ways of applying a rewriting rule on a host graph:

Denition 3.7 (rst-t execution of a production rule). Given a G host graph and a p : (L ← K → R) production rule. p is executed in the rst-t manner on the G host graph, if p rule is applied on one arbitrary m:L→G match, provided that m exists.

First-t execution simply means that after applying a specic rule, the control ow proceeds to the next rule.

Denition 3.8 (exhaustive execution of a production rule). Given a G host graph and a p: (L←K →R) production rule. p is executed in the exhaustive manner on the G host graph if direct graph transformations with p production rule and arbitrary mi matches are applied until no further match can be found. Formally: G p,m1 +3G1

p,m2 +3... p,mn+3Gn, and

@mn+1 :L→Gn

Denition 3.9 (iterative execution of a production rule). Assume a host graph G, a p: (L←K →R) production rule, an LI subgraph with an i:LI →L morphism, and an MI ={mI : LI →G} initial match set. The p production rule is executed iteratively on the MI initial match set, if it is applied for each mI ∈MI initial match on an arbitrary m :L→G match for that i◦m=mI (provided that ∃m).

Thus, a subgraph of the left hand side of the rule is iterated through an initial match set, the match is tried to be completed once for each iteration.

It is possible that the overlapped matching technique nishes the matching of the rules in a dierent order than the predened application order. Given rules pi, pj suitable for

(11)

overlapped matching (or enabled for the overlapped rewriting algorithm), we expect that a match mj : Lj → G of pj exists before and after the execution of pi. However, we do not expect pi to preserve the attributes selected by mj. Only the attribute conditionsXj on mj have to be satised both before and after executing pi.

Denition 3.10 (OLRA enabledness). Given a typed attributed graph transformation systemGT S = (AT G, P),P ={pi : (Li ←Ki →Ri,Xi)}. Two graph productionspi, pj ∈ P are overlapped rewriting algorithm (OLRA) enabled, if direct graph transformations t1 : G m=i,pi H1 and t2 : H1

mj,pj

=⇒ X are sequentially independent for all G, mi, mj, and the status of Xi and Xj is not inuenced by the prior execution of pj and pi. That is, if mi |= Xi before executing pj, then mi |= Xi after executing pj as well. Similarly, if mi 6|=Xi before executingpj, thenmi 6|=Xi after executingpj either (i6=j) for all possible mi matches.

Subthesis II.1

I have provided an algorithm that is able to overlap the matching phase of rst-t ex- ecuted OLRA-enabled rules that are applied consecutively according to the control ow of the transformation. I have proved that assuming a typed attributed graph transforma- tion system GT S = (AT G, P), for all rules (pi,Xi) ∈ P, if pi has matches m1L

i...mkLi

i, then the overlapped algorithm nds the same m1Li...mkLi

i matches for pi as well. I have shown that assuming a graph transformation sequence G0 m=1,p1 G1 m=2,p2 ...m=n,pnGn, if the overlapped algorithm ndsm1 forp1 ... mn forpn as well, then after the overlapped execu- tion (G0m1...mn,p1...pn+3G0n) the resulting G0n and Gn are both structurally and attributewise isomorphic. Namely, the overlapped execution produces the same result as that of the non-optimized algorithm.

If we overlap exhaustively executed rules, we cannot preserve the execution order of the rewriting phase of the rules (as we cannot cache the matches like in case of the rst-t execution because of their large number). Therefore, we need a stricter condition compared to OLRA enabledness. We not only need the rules to preserve the matches of other rules, but also the commutativity of the attribute operations of the rules, i.e.

executing them in an arbitrary order results the same nal attribute conguration of the processed elements.

Denition 3.11 (strong OLRA enabledness). Given a typed attributed graph transfor- mation system GT S = (AT G, P) with OLRA enabled production rules pi 6= pj ∈ P. If for all direct graph transformations t1 :Gm=i,pi H1 and t2 :H1 m=j,pj X the transformations can be applied in the reversed order without changing the resulting graph then pi and pj

are strongly OLRA enabled.

Subthesis II.2

I have provided an algorithm that overlaps the matching phase of exhaustively executed strongly OLRA-enabled rules that are executed consecutively according to the control ow of the transformation. I have proved that the depth of the recursive algorithm is at most the number of the overlapped rules. I have proved that if the individual rules terminate, then the overlapped execution terminates as well. Furthermore, when the overlapped execution

(12)

terminates, there cannot be found a valid match for either of the overlapped rules. I have shown that the overlapped execution of exhaustive rules produces the same resulting graph as the non-overlapped execution. I have proved by measurements that the optimization technique is capable of reducing the runtime requirement of the overall transformation.

Subthesis II.3

I have elaborated an algorithm that overlaps the matching phase of iteratively executed strongly OLRA-enabled rules that are executed consecutively according to the control ow of the transformation. I have shown that the overlapped version of the algorithm pro- duces the same result as the non-overlapped execution. I have veried the results with measurements.

To optimize the execution of exhaustive rules, deep exhaustive execution harnesses the partial matches of the previous execution of the same rule, and drops only those parts that are invalidated by the rewriting.

Subthesis II.4

I have proved that a match m found during the deep exhaustive execution of a p: (Lp ← Kp →Rp,Xp)rule is a valid match, i.e. there is a subgraph isomorphic toLp, and satises the Xp constraints of rewriting rule. I have shown that if the deep exhaustive execution of a p rule terminates with a G resulting graph, then @m : Lp → G match. I have provided satisfactory conditions to prevent the algorithm from restarting the matching to ensure the non-existence of further matches.

A straightforward idea is to combine the two optimization techniques for exhaustively applied rules, namely, overlap the execution of the individual rules and perform deep exhaustive execution on them at the same time.

Subthesis II.5

I have combined the overlapping technique and the deep exhaustive execution into one algorithm. I have shown that when the algorithm terminates, there is no match for either of the optimized rules in the host graph. I have shown that the resulting host graph of the combined algorithm equals to that of the non-optimized execution. I have veried the applicability of the presented techniques with measurements, and shown that the execution time can be decreased with orders of magnitude compared to the non-optimized version.

Thesis III

The Active Model Pattern Framework

The purpose of Active Model Patterns (AMPs) is to provide a solution for often recurring operations in domain-specic modeling. AMP has three aspects. (i) The static aspect can be considered the adaptation of the idea of UML design patterns into the domain- specic world: a static pattern is actually an incomplete model fragment that can be inserted into other models with the same domain. (ii) Model refactorings or often recurring operation sequences during editing usually cannot be expressed with an incomplete model fragment. The operations of the operational aspect can be considered on-demand,

(13)

localized model transformations applied interactively. (iii) The third aspect of AMP is the tracing aspect. It covers the detailed logging of model manipulations for certain operations, such as undo/redo purposes. In this research, I dealt with the static and operational aspects. I propose interactive graph rewriting-based model transformations to realize the operational aspect. Based on the operational aspect I have realized the static aspect as a special pattern as well.

Thesis III is contained by the fth chapter of the dissertation. Related publications:

[2][5][7][11][12][14][19][28][29][32]

In our approach, we realize static model patterns as an application of the operational aspect: we dene an operational pattern that generates a rewriting rule from a specied model fragment. On executing the generated rewriting rule, a model fragment isomorphic to the source fragment is inserted into the target model. From the generated rewriting rule, we expect the properties dened below.

(The denitions of typed graphs, typed graphs with inheritance and inheritance clan clanI is understood according to [EEPT06].)

Denition 3.12 (derived metatypes). Having a typed graph G = (N, E, s, t, type) typed over type graph with inheritance T = (GT, I), the derived metatype of an n ∈ N node with an E0 ⊆E set of connecting edges is nET0(n) ={nT|nT ∈NTE0(n) :@n0 ∈NTE0(n) and n →n0 edge in I}

where

NTE0(n) = \

e∈E0,s(e)=n

clanI(s(type(e)))∩ \

e∈E0,t(e)=n

clanI(t(type(e))) (3.1) Namely, the metatypes are selected such that the connecting edges of the node can be connected to another node with one of those metatypes.

We expect an operational pattern consisting of a single rewriting rule the following to realize static pattern insertion on execution:

Denition 3.13 (Valid static model pattern rule). Assume that a static model pattern is dened by marking one or several elements of the G = (N, E, s, t, type) host graph:

LselN ⊆N, LselE ⊆E. And Lsel =LselN ∪LselE . We say that the VMTS rewriting rule model p = (Np, Ep, sp, tp, typep) realizes the static pattern dened by Lsel if ∃mapE :LselE →Ep

and mapN : {n|n ∈ LselN ∪S

e∈LselE {s(e), t(e)}} → Np injective functions that satisfy the following requirements:

1) ∀n∈LselN : mapN(n).T argetT ypes={type(n)} ∧ mapN(n).Action = 0create0. (ϕ2) ∀e∈LselE : mapE(e).T argetT ypes={type(e)} ∧ mapE(e).Action = 0create0. (ϕ3) ∀n ∈ S

e∈LselE {s(e), t(e)}/LselN : mapN(n). T argetT ypes = NTLselE (n) ∧ mapN(n).Action = 0match0.

4) ∀e∈LselE : s(mapE(e)) = mapN(s(e)) and t(mapE(e)) = mapN(t(e)). Subthesis III.1

I have shown that a rewriting rule satisfying the ϕi properties inserts a model fragment isomorphic to the source fragment into the host model. For this purpose, I have dened the GraphMTG category for which I have shown that it satises the properties of a category, and I used it to formalize matching with multiple types.

(14)

Subthesis III.2

I have created an operational pattern that generates the static pattern insertion rule for a predened model fragment and proved that the output of the transformation satises requirements ϕ1..ϕ4. I have shown that the realized static aspect of AMP is able to de- scribe static patterns for mobile user interfaces, animation state charts, and electric circuit schematics.

I have provided operational patterns for the following problems: (i) animation state chart unattening (encapsulating a set of states into a container state), (ii) transformation rewriting rule concatenation, and (iii) exhaustive execution of a set of rewriting rules.

Subthesis III.3

I have shown that Active Model Patterns realized using interactive model transformations is suitable to solve such engineering problems as animation state machine unattening, rewriting rule concatenation, and exhaustive execution of a set of rewriting rules. With graph and category theory constructs, I have formalized the requirements of the aforemen- tioned operational patterns and shown that the transformations satisfy them.

4 Practical validation of the theoretical results

The theoretical results of our research (i) visual model animation, (ii) optimized model transformation execution, and (iii) model pattern support have been realized in the Vi- sual Modeling and Transformation System and applied in industrial and research projects.

4.1 Framework

In order to prove the practical applicability, I have developed the following components in VMTS: (i) The VMTS Presentation Framework (VPF) together with the VMTS An- imation Framework (VAF) facilitates the animation of visual models in VMTS. VPF provides the presentation logic and the API to visualize models, while VAF supports the denition of the model animations and their execution. (ii) The VMTS Transformation Framework (VTF) component is used to design and execute graph rewriting-based model transformations. It supports both the compiled and interpreted manners of execution as well as the overlapped application of OLRA enabled rules. (iii) I have implemented the operational and static aspects of the AMP concept in VMTS. I have prepared VTF to support interactive and localized execution, and built the transformations to generate the rewriting rules for the static aspect.

4.2 Applications

Based on the animation framework of VMTS, I have realized the animation of models in the Petri-net domain and the models using the languages of the transformation engine:

thus, we facilitate the real-time tracing and debugging of model transformations. With the integration of the MATLAB Simulink [MAT10] simulation engine, we facilitated the animation of a simplied car model based on the simulation results of Simulink. At the same time we have also integrated the transformation engine of VMTS into Simulink, and

(15)

performed the model transformation of Simulink models based on VMTS transformation denitions. We have built operational patterns for numerous domains including model transformation languages and state charts. Furthermore, we have also dened and realized static patters for domains like electric circuit schematic, mobile user interface and state charts.

5 Related Publications

Journals

[1] Tamás Mészáros, Gergely Mezei, and Hassan Charaf. Engineering the Dynamic Be- havior of Metamodeled Languages. SIMULATION- TRANSACTIONS OF THE SO- CIETY FOR COMPUTER SIMULATION INTERNATIONAL, 85(11-12):793-810, 2009 IF:0.448

[2] Tihamér Levendovszky, László Lengyel, and Tamás Mészáros. Supporting Domain- Specic Model Patterns with Metamodeling. SOFTWARE AND SYSTEMS MOD- ELING, 8(4):501-520, 2009 IF:1.533

[3] Tamás Mészáros, Gergely Mezei, Tihamér Levendovszky, and Márk Asztalos. Man- ual and Automated Performance Optimization of Model Transformation Systems.

INTERNATIONAL JOURNAL ON SOFTWARE TOOLS FOR TECHNOLOGY TRANSFER, 12(3-4):231-243, 2010

[4] Tamás Mészáros, Tihamér Levendovszky, and Gergely Mezei. Code Generation with the Model Transformation of Visual Behavior Models. ELECTRONIC COM- MUNICATIONS OF THE EASST, 21: pages 10, 2009

[5] Tamás Mészáros, Tihamér Levendovszky, and Gergely Mezei. Active Model Pat- terns with Interactive Model Transformation. ELECTRONIC COMMUNICATIONS OF THE EASST, pages 13, 2010 (accepted)

[6] Tamás Mészáros, Márk Asztalos, and Gergely Mezei. Overlapped Execution of Rewriting Rules in Graph Transformation Systems. BULETINUL STIINTIFIC AL UNIVERSITATII POLITEHNICA DIN TIMISOARA-SERIA AUTOMATICA SI CALCULATOARE, 55(3):143-150, 2010

[7] Tamás Vajk, Tamás Mészáros, and Tihamér Levendovszky. Design Pattern Mod- eling with Constraint Relaxation. ELECTRONIC COMMUNICATIONS OF THE EASST, 25: pages 12, 2010

[8] Márk Asztalos, István Madari, Tamás Mészáros, Tamás Vajk, and Gergely Mezei.

Szakterület-Specikus Modellezés. HÍRADÁSTECHNIKA, LXV(5- 6):25-30, 2010 [9] Márk Asztalos, Péter Ekler, László Lengyel, Tihamér Levendovszky, Tamás

Mészáros. Automated Verication by Declarative Description of Graph Rewriting- Based Model Transformations. ELECTRONIC COMMUNICATIONS OF THE EASST, pages 14, 2010

(16)

Publications in International Conference Proceedings

[10] László Angyal, Márk Asztalos, László Lengyel, Tihamér Levendovszky, István Madari, Gergely Mezei, Tamás Mészáros, László Siroki, and Tamás Vajk. Towards a Fast, Ecient and Customizable Domain-Specic Modeling Framework. In Proceedings of the IASTED International Conference, pages 11-16, Innsbruck, Austria, 2009.

[11] Márk Asztalos, Péter Ekler, László Lengyel, Tihamér Levendovszky, and Tamás Mészáros. Formalizing Models with Abstract Attribute Constraints. In Third Inter- national Workshop on Graph Computation Models, pages 15, 2010. (in press)

[12] László Angyal, László Lengyel, Tamás Mészáros, and Hassan Charaf. Textual Syn- tax Mapping can Enable Syntactic Merging. In Proceedings of the 5th International Conference on Software and Data Technologies (ICSOFT), pages 4, 2010

[13] Márk Asztalos, Tamás Mészáros, and László Lengyel. Generating Executable BPEL Code From BPMN Models. In GraBaTs 2009 5th International Work- shop on Graph-Based Tools - Graph Transformation Tool Contest, pages 5, 2009, http://is.tm.tue.nl/sta/pvgorp/events/grabats2009/?page=SolutionsToCaseStudies [14] László Lengyel, Tihamér Levendovszky, Tamás Mészáros, and Hassan Charaf. Sup-

porting Design Patterns in Graph Rewriting-Based Model Transformation. In 2nd International Working Conference on Evaluation of Novel Approaches to Software Engineering, pages 25-32, 2007

[15] Tihamér Levendovszky and Tamás Mészáros. Tooling the Dynamic Behavior Mod- els of Graphical DSLs. In Proceedings of the 13th International Conference on Human- Computer Interaction, pages 830-839. Springer-Verlag, 2009.

[16] Tihamér Levendovszky, Tamás Mészáros, Péter Ekler, and Márk Asztalos. DSML- Aided Developement for Mobile P2P Systems. In Proceedings of the 9th OOPSLA Workshop on Domain-Specic Modeling, pages 51-56, 2009

[17] Tamás Mészáros. Processing Filter Models Using Model Transformation. In Vajk István, editor, Proceedings of the Automation and Applied Computer Science Work- shop, pages 57-68, Budapest, 2007. BME Kiadó

[18] Tamás Mészáros. Model Transformation Debugger in a Metamodeling Environ- ment. In Proceedings of the Automation and Applied Computer Science Workshop, pages 12. BME Kiadó, 2008

[19] Tamás Mészáros. Supporting Static DSML Patterns with an Interactive Model Transformation Framework. In Proceedings of the Automation and Applied Computer Science Workshop, pages 61-69, 2010

[20] István Madari, Márk Asztalos, Tamás Mészáros, László Lengyel, and Hassan Charaf.

Implementing QVT in a Domain-Specic Modeling Framework. In Proceedings of the 5th International Conference on Software and Data Technologies (ICSOFT), pages 4, 2010

(17)

[21] Tamás Mészáros, Márk Asztalos, and Gergely Mezei. An Overlapped Execution Technique for Graph Rewriting Rules. In IEEE International Joint Conferences on Computational Cybernetics and Technical Informatics (ICCC- CONTI 2010), pages 6, 2010

[22] Tamás Mészáros, Márk Asztalos, Gergely Mezei, and Hassan Charaf. Performance Optimization of Exhaustive Rules in Graph Rewriting Systems. In Proceedings of the 5th International Conference on Software and Data Technologies (ICSOFT), pages 4, 2010

[23] Tamás Mészáros and Tihamér Levendovszky. Visual Specication of a DSL Pro- cessor Debugger. In Proceedings of the 8th OOPSLA Workshop on Domain-Specic Modeling, pages 67-72, 2008

[24] Gergely Mezei, Tihamér Levendovszky, Tamás Mészáros, and István Madari. To- wards Truly Parallel Model Transformations: A Distributed Pattern Matching Ap- proach. In International IEEE Conference devoted to the 150- anniversary of Alexan- der S. Popov, pages 403-410, 2009

[25] Tamás Mészáros and Gergely Mezei. Property Analysis of Visual Behavior Model to Code Transformation. In Proceedings of the 10th International Symposium of Hun- garian Researchers on Computational Intelligence and Informatics, pages 365-376, 2009

[26] Tamás Mészáros, Gergely Mezei, and Dénes Bisztray. An Overlapping Technique for Iterative Rules in Graph Rewriting Systems. In Proceedings of the 24th microCAD International Scientic Conference, pages 6, 2010

[27] Tamás Mészáros, Gergely Mezei, and Hassan Charaf. A General Purpose Model Visualization Environment. In Proceedings of the 8th International Symposium of Hungarian Researchers on Computational Intelligence and Informatics, pages 313-323, 2007

[28] Tamás Mészáros, Gergely Mezei, and Tihamér Levendovszky. Using Patterns in Domain-Specic Languages. In In Proceedings of the 7th International Symposium of Hungarian Researchers on Computational Intelligence, pages 167-178, 2006

[29] Tamás Mészáros, Gergely Mezei, and Tihamér Levendovszky. Domain-Specic Modeling Environment for Mobile Communication. In Proceedings of the 6th Interna- tional Conference of PhD Students, pages 83-88, 2007.

[30] Tamás Mészáros, Gergely Mezei, and Tihamér Levendovszky. A Flexible, Declara- tive Presentation Framework for Domain-Specic Modeling. In Working Conference on Advanced Visual Interfaces, pages 309-312, 2008.

[31] Tamás Mészáros, István Madari, and Gergely Mezei. Antworld. In 4th International Workshop on Graph-based Tools - The Contest, pages 5, 2008, http://fots.ua.ac.be/events/grabats2008/solutions.html

[32] László Siroki, Gergely Mezei, Tihamér Levendovszky, and Tamás Mészáros. Univer- sal Domain-Specic Code Generator. In Proceedings of the 9th International Sympo- sium of Hungarian Researchers on Computational Intelligence and Informatics, pages 321-332, 2008.

(18)

[33] Tamás Vajk and Tamás Mészáros. Code Generation in OCL Compilers. In Pro- ceedings of the Automation and Applied Computer Science Workshop, pages 163-174, 2009

6 Citations

[3] is cited by:

Enrico Biermann, Claudia Ermel, Leen Lambers, Ulrike Prange, Olga Runge, and Gabriele Taentzer. Introduction to AGG and EMF Tiger by modeling a Conference Scheduling System. INTERNATIONAL JOURNAL ON SOFTWARE TOOLS FOR TECHNOL- OGY TRANSFER, 12(3-4):245-261,2010

Edgar Jakumeit, Sebastian Buchwald and Moritz Kroll. GrGen.NET. INTERNATIONAL JOURNAL ON SOFTWARE TOOLS FOR TECHNOLOGY TRANSFER, 12(3-4):263- 271,2010

Amir Hossein Ghamarian, Maarten de Mol, Arend Rensink, Eduardo Zambon, and Maria Zimakova. Modelling and Analysis Using GROOVE (technical report) Centre for Telem- atics and Information Technology, University of Twente. 2010.

Gábor Bergmann, Ákos Horváth, István Ráth, Dániel Varró, András Balogh, Zoltán Balogh, and András Ökrös. Incremental Model Queries over EMF Models. In Proceed- ings of the 13th International Conference on Model Driven Engineering Languages and Systems, Oslo, Norway, 2010 (accepted)

[13] is cited by:

Enrique D. Espinosa, Juan Frausto, and Ernesto J. Rivera. Markov Decision Processes for Optimizing Human Workows. SERVICE SCIENCE, 2(4):245-255, 2010

[23] is cited by:

Nuno Oliveira, Maria Joao Varanda Pereira, Daniela da Cruz, and Pedro Henriques.

Visualization of domain-specic programs' behavior. In Proceedings of the 5th IEEE International Workshop on Visualizing Software for Understanding and Analysis, pages 37-40, Edmondton, 2009

Nuno Oliveira. Improving Program Comprehension Tools for Domain Specic Languages (master thesis), University of Minho, Braga, 2009

References

[BS03] Egon Böerger and Robert Stärk. Abstract State Machines. Springer-Verlag Berlin and Heidelberg GmbH & Co. KG (Germany), 2003.

[CE00] Krzysztof Czarnecki and Ulrich W. Eisenecker. Generative Programming:

Methods, Tools, and Applications. ACM Press/Addison-Wesley Publishing Co., New York, NY, USA, 2000.

(19)

[CER79] Volker Claus, Hartmut Ehrig, and Grzegorz Rozenberg. Proceedings of the International Workshop on Graph-Grammars and Their Application to Computer Science and Biology. London, UK, 1979. Springer-Verlag.

[CJKCW07] Steve Cook, Gareth Jones, Stuart Kent, and Alan Cameron Wills. Domain- Specic Development with Visual Studio DSL Tools. Addison-Wesley Pro- fessional, 2007.

[dLV02] Juan de Lara and Hans Vangheluwe. AToM3: A Tool for Multi-formalism and Meta-modelling. In FASE, pages 174188, 2002.

[Dör95] Heiko Dörr. Ecient Graph Rewriting and Its Implementation. Springer- Verlag New York, Inc., Secaucus, NJ, USA, 1995.

[EEPT06] Hartmut Ehrig, Karsten Ehrig, Ulrike Prange, and Gabriele Taentzer. Fun- damentals of Algebraic Graph Transformation (Monographs in Theoretical Computer Science). An EATCS Series. Springer-Verlag New York, Inc., Secaucus, NJ, USA, 2006.

[FCA77] Andrés Flores, Alejandra Cechich, and Gabriela Aranda. The graph isomor- phism disease. Journal of Graph Theory, 1(4):339363, 1977.

[GJ90] Michael R. Garey and David S. Johnson. Computers and Intractability; A Guide to the Theory of NP-Completeness. W. H. Freeman & Co., New York, NY, USA, 1990.

[GME10] GME homepage. http://www.isis.vanderbilt.edu/projects/gme/, 2010.

[GMF10] Eclipse Graphical Modeling Framework home page.

http://www.eclipse.org/gmf, 2010.

[Gra08] 4th International Workshop on Graph-Based Tools: The Contest.

http://fots.ua.ac.be/events/grabats2008, 2008.

[Gra09] 5th International Workshop on Graph-Based Tools: The Contest.

http://is.tm.tue.nl/sta/pvgorp/events/grabats2009, 2009.

[Gro09] Richard C. Gronback. Eclipse Modeling Project: A Domain-Specic Lan- guage (DSL) Toolkit. Addison-Wesley, Upper Saddle River, NJ, 2009.

[Jéz03] Jean-Marc Jézéquel. Model-Driven Engineering: Basic Principles and Chal- lenges. In Invited Presentation at Formal Methods for Components and Ob- jects (FMCO'03), Leiden, Netherlands, November 2003.

[Kön05] Alexander Königs. Model Transformation with Triple Graph Grammars. In Model Transformations in Practice Satellite Workshop of MODELS 2005, Montego, 2005.

[KT08] Steven Kelly and Juha-Pekka Tolvanen. Domain-Specic Modeling: Enabling Full Code Generation. Wiley-IEEE Computer Society Pr, March 2008.

[LBM+01] Ákos Lédeczi, Árpád Bakay, Miklós Maróti, Péter Völgyesi, Greg Nordstrom, Jonathan Sprinkle, and Gábor Karsai. Composing Domain-Specic Design Environments. Computer, 34(11):4451, 2001.

(20)

[MAT10] MATLAB home page. http://www.mathworks.com, 2010.

[MBL07] Zoltán Molnár, Daniel Balasubramanian, and Ákos Lédeczi. An Introduction to the Generic Modeling Environment. In Proceedings of the Model-Driven Development Tool Implementers Forum, 2007.

[MH06] Russ Miles and Kim Hamilton. Learning UML 2.0. O'Reilly Media, 2006.

[Mil71] Robin Milner. An Algebraic Denition of Simulation Between Programs. In IJCAI'71: Proceedings of the 2nd International Joint Conference on Arti- cial Intelligence, pages 481489, San Francisco, CA, USA, 1971. Morgan Kaufmann Publishers Inc.

[MLLC06] Gergely Mezei, László Lengyel, Tihamér Levendovszky, and Hassan Charaf.

A model transformation for automated concrete syntax denitions of meta- modeled visual languages. Electronic Communications of the EASST, 4, 2006.

[MLLC07] Gergely Mezei, László Lengyel, Tihamér Levendovszky, and Hassan Charaf.

Towards Parallel Model Transformations . In Workshop on Multi-Paradigm Modeling, Nashville, Tennessee (USA), October 2007.

[Nor99] Gregory G. Nordstrom. Metamodeling - Rapid Design and Evolution of Domain-Specic Modeling Environments. PhD thesis, Nashville, United States, 1999.

[Pie91] Benjamin C. Pierce. Basic Category Theory for Computer Scientists. MIT Press, 1991.

[Pra71] Terrence W. Pratt. Pair Grammars, Graph Languages and String-to-Graph Translations. J. Comput. Syst. Sci., 5(6):560595, 1971.

[Roz97] Grzegorz Rozenberg. Handbook on Graph Grammars and Computing by Graph Transformation: Foundations, volume 1. World Scientic, Singapore, 1997.

[Sch95] Andy Schürr. Specication of Graph Translators with Triple Graph Gram- mars. In Proceedings of the 20th Int. Workshop on Graph-Theoretic Concepts in Computer Science (WG `94), Herrsching (D. Springer, 1995.

[SV06] Thomas Stahl and Markus Völter. Model-Driven Software Development:

Technology, Engineering, Management. Wiley, Chichester, UK, 2006.

[Tae96] Gabrielle Taentzer. Parallel and Distributed Graph Transformation: Formal Description and Application to Communication-Based Systems. PhD thesis, 1996.

[Tae04] Gabrielle Taentzer. AGG: A Graph Transformation Environment for Mod- eling and Validation of Software. In Application of Graph Transformations with Industrial Relevance (AGTIVE 2004), volume 3062 of LNCS 3062, pages 446453. Springer, 2004.

(21)

[Tol06] Juha-Pekka Tolvanen. MetaEdit+: integrated modeling and metamodeling environment for domain-specic languages. In OOPSLA '06: Companion to the 21st ACM SIGPLAN symposium on Object-oriented programming sys- tems, languages, and applications, pages 690691, New York, NY, USA, 2006. ACM.

[TTC10] Transformation Tool Contest 2010. http://is.tm.tue.nl/sta/pvgorp/events /TTC2010, 2010.

[UML10] UML home page. http://www.uml.org, 2010.

[Var04] Dániel Varró. Automated Model Transformations for the Analysis of IT Systems. PhD thesis, Budapest University of Technology and Economics, Department of Measurement and Information Systems, May 2004.

[VKLL09] Tamás Vajk, Róbert Kereskényi, Tihamér Levendovszky, and Ákos Lédeczi.

Raising the Abstraction of Domain-Specic Model Translator Development.

In ECBS '09: Proceedings of the 2009 16th Annual IEEE International Con- ference and Workshop on the Engineering of Computer Based Systems, pages 3137, Washington, DC, USA, 2009. IEEE Computer Society.

[VMT10] VMTS homepage. http://vmts.aut.bme.hu, 2010.

[VV04] Gergely Varró and Dániel Varró. Graph Transformation with Incremental Updates. In Proc. GT-VMT 2004, International Workshop on Graph Trans- formation and Visual Modelling Techniques, volume 109 of ENTCS, pages 7183. Elsevier, 2004.

[ZKP00] Bernard P. Zeigler, Tag Gon Kim, and Herbert Praehofer. Theory of Mod- eling and Simulation. Academic Press, Inc., Orlando, FL, USA, 2000.

[Zün96] Albert Zündorf. Graph Pattern Matching in PROGRES. In Selected papers from the 5th International Workshop on Graph Gramars and Their Appli- cation to Computer Science, pages 454468, London, UK, 1996. Springer- Verlag.

Hivatkozások

KAPCSOLÓDÓ DOKUMENTUMOK

A kifejlett állatok patahengerét alkotó anatómiai képletek kontrasztos ábrázolására optimálisan alkalmazható mérési metodika újszülött csikók végtagjainak

Az eltérı hidrofilitású töltıanyagot tartalmazó poli(AAm) alapú gélek duzzadási vizsgálata során bemutattam, hogy a duzzadás a hidrofil Na-, ill.. Ha

Már az a tény, hogy jó termeléssel és 0 °C-on lítiáltunk, arra utalt, hogy a lítiálás csakis a ketálcsoporthoz képest orto-helyzetben mehetett végbe, hiszen az

In my second thesis I define the admittance based pairs of the time-constant spectrum and dipole-intensity functions and express the core equation of the so called NID 1 method in

Az α7 nAChR esetében a kísérletek során 10 mM kolin és 10 μM PNU-120596 együttes perfúziója esetén bifázikus áram kialakulását figyeltük meg, melyet

Acute myeloperoxidase, estradiol and cortisol treatment improves, indomethacin treatment does not affect the bacterial killing capacity of isolated human

compared single metastasis and primary tumour pairs only or multiple-matched metastases and primary tumours for no more than two patients, the availability of a larger number

P RÉKOPA –Z IERMANN „A modell” véletlen ütemezésű részszállítmányok esetén A modell a kezdőkészlet optimalizálására egyenlő ütemezésű, véletlen nagysá-