Towards a Distributed Modeling Process Based on Composite Models

Size: px
Start display at page:

Download "Towards a Distributed Modeling Process Based on Composite Models"

Transcription

1 Towards a Distributed Modeling Process Based on Composite Models Daniel Strüber, Gabriele Taentzer, Stefan Jurack, Tim Schäfer Philipps-Universität Marburg, Germany, {strueber,taentzer,sjurack,timschaefer}@mathematik.uni-marburg.de Abstract. The rising impact of software development in globally distributed teams strengthens the need for strategies that establish a clear separation of concerns in software models. Dealing with large, weakly modularized models and conflicting changes on interrelated models are typical obstacles to be witnessed. This paper proposes a structured process for distributed modeling based on the modularization technique provided by composite models with explicit interfaces. It provides a splitting activity for decomposing large models, discusses asynchronous and synchronous editing steps in relation to consistency management and provides a merge activity allowing the reuse of code generators. All main concepts of composite modeling are precisely defined based on category theory. Keywords: distributed modeling, composite models, model transformation, EMF 1 Introduction Nowadays, model-driven development is a widely-spread paradigm to cope with the growing complexity of software requirements. Reliable technologies have emerged that allow specifying an application on a high level of abstraction using models. These models can then be transformed towards a running software system. Model-driven development is based on modeling languages that are usually defined using meta-modeling: a meta-model defines a language of individual models by predefining their structure. An important meta-modeling architecture has been proposed by the Object Management Group in terms of the Meta Object Facility (MOF) [14]. An essential subset of MOF has been implemented by the Eclipse Modeling Framework (EMF) [5]. When lifting concepts and tools from model-driven development to a distributed environment, a couple of challenges arise: contributors at different locations might be responsible for models that are interconnected in some sense. Thus, clear conditions and conventions for the editing of models are required to avoid the emergence of inconsistencies. Another drawback of existing tools is the sometimes monolithic nature of large models. Large models are difficult to comprehend and maintain. Thus, welldefined modularization strategies for models are required. EMF models can be modularized using remote references between individual models. The targets of remote references are then temporarily represented by proxy elements and on demand replaced by the actual model element. In consequence, logically, all involved models constitute one big model. While this technique is sufficient for distributing a large model over a set of resources, it does not establish well-known engineering

2 principles such as encapsulation and information hiding. Hence, we refer to this approach as a physical modularization technique. In opposition, we propose composite models [8] as a logical modularization technique that establishes information hiding and allows for local consistency checks. A composite model comprises a set of components that are interconnected by export and import interfaces. Possible topologies of model components are predefined by meta-model components. We provide core tool support for composite models and their transformation. This paper utilizes composite models in order to address three questions that arise when lifting model-driven development to a distributed environment: (1) How can a model be decomposed for logical modularization? (2) How can models be edited in a distributed way such that consistency between model components is preserved? (3) How can model-to-code transformation be performed when models are distributed? Our solution to these questions is a process for distributed modeling. In order to tackle question (1), a split activity is elaborated that decomposes a given model into a set of components forming a composite model. As for question (2), we discuss how editing steps can be specified and performed in a systematic way using composite model transformation. As a tentative solution to question (3), a merge activity is introduced that allows the reuse of existing code generation components. The remainder of this paper is structured as follows: Sect. 2 provides the modeldriven development of web applications as a running example. Composite models are recapitulated in Sect. 3. An overview of the process forming the main contribution of this paper is given in Sect. 4. The activities constituting the process split, edit, and merge are elaborated in Sects. 5, 6, and 7. We present an application scenario in Sect. 8 and tool support in Sect. 9. Related work is discussed in Sect. 10. Sect. 11 concludes. 2 Scenario: Model-driven development of web applications Web applications as a software domain have undergone domain analysis in visual web modeling languages such as WebML [3] or UWE [11]. A common design decision found in these modeling languages is their branching into a set of viewpoint-oriented sub-languages such as a structural data model, a presentation model and a navigation model. When a web application is to be developed by a distributed team, it is likely that the contributors obtain responsibilities for the different viewpoints, e.g. one contributor acts as domain modeler and another one as presentation modeler. Hence, we consider this scenario as suitable for distributed modeling. To provide a full model-driven development infrastructure, domain-specific languages such as WebML and UWE are supplemented with code generation facilities that define a language semantics. As a running example, Fig. 1 provides the syntax for the Simple Web Application Language (SWAL) as a modeling language for the specification of simple web applications 1. SWAL is specified by means of an EMF meta-model, comprising attributed model classes as nodes with directed references as edges. Classes may be abstract. References may be containment references that ensure a tree-like structure for models. 1 The development of SWAL was initiated by Manuel Wimmer and Philip Langer at the Technische Universität Wien and reimplemented for its use in modeling courses at the Philipps- Universität Marburg. 2

3 datatypes DataType type DataModel features Feature type datamodel entities entity Entity HypertextModel startpage pages links Link Page target DynamicPage StaticPage Attribute Reference IndexPage DetailsPage Fig. 1: SWAL meta-model. The class HypertextModel is used as root object of a web application to be specified. It contains a hypertext structure of interconnected pages and a DataModel for the specification of structural models of persistent data. Persistent data is based on distinct Entities which are charaterized by a number of Features, i.e. Attributes and References. An attribute is typed over a primitive DataType, a reference over an entity. The hypertext structure is based on Pages being interconnected through Links. Depending on its content, a page can either be dynamic or static. A dynamic page refers to an entity and can either be an index page displaying a list of available data records or a details page presenting a detailed view for a specific record. Based on these concepts, in Fig. 2 a poetry competition web application is specified. Contest, poet, and poem entities are to be displayed on interlinked index and details pages. The concrete syntax given in the presentation facilitates convenient editing by hiding the Data- Fig. 2: Poetry contest web application model. Model and HypertextModel classes: pages and entities are visualized as nodes in different layouts. Hyperlinks, entity links, and references are visualized as arrows. 3 Composite Models This paper investigates a process for distributed modeling based on composite models. Composite models provide a logical modularization technique for models by declaring explicit export and import interfaces. Export and import interfaces identify model elements provided to and obtained from the environment, respectively. While an import is assigned to exactly one export, an export can serve an arbitrary number of imports. The core of a component is a conventional model called the body. Interfaces are characterized as sub-models of this body. While the model elements in export and import 3

4 E B E I B E Network Level Object Level Fig. 3: Composite model with explicit export and import interfaces (taken from [7]) interfaces are identified with body elements, import interface elements are also identified with export elements to establish interconnection. An interface can hide structural complexity of its component body, e.g. by flattening its inheritance hierarchy. The interface structure of model components is predefined by meta-model components. Consider Fig. 3 for a schematic representation of an example composite model with explicit export and interfaces. The network level constitutes a topology of components comprising body, export, and import nodes and interconnecting edges. The object level comprises a set of interrelated models, each providing a refinement for one of the network nodes, with interrelating mappings. Dashed arrows indicate how interfaces are identified with body models, dotted arrows indicate an assignment between an import and an export interface. Mappings on object level are compatible with network level arrows in the sense that source and target nodes of mapped arrows are mapped to source and target of the image arrow. Formalization. The internal representation of models can be well represented by graphs. Therefore, the basis of our formalization are typed graphs and graph morphisms as defined in e.g., [4,9]. They form the category GRAPHS T G. Since the following definitions of composite graphs and graph morphisms are given in a category-theoretical way, it is also possible to use other kinds of graphs and morphisms as basic ingredients of composite graphs. For example, composite graphs over typed graphs with inheritance and containment are considered in [9]. Definition 1 (Composite network graph). A composite network graph is a graph G typed over graph CNG (shown on the right) by a graph morphism t : G CNG such that the following constraints hold: (1) each export node is source of exactly one network edge running to a body node and (2) each import node is source of exactly two network edges, one edge is running to a body node and the other to an export node. If there are export nodes without outgoing edges, corresponding composite network graphs are called weak. 4

5 Definition 2 (Composite network graph morphism). Given two network graphs g : G CNG and h: H CNG, an injective graph morphism f : G H forms a valid composite network graph morphism, short network morphism, if h f = g. Composite network graphs and network graph morphisms form a category, called COMPONETGRAPHS, that is co-complete [9]. Weak composite network graphs and their morphisms also form a category, however, this one does not have pushouts. Definition 3 (Composite Graph). Given a (weak) composite network graph G, a (weak) composite graph Ĝ over G is defined as Ĝ = (G, G(G), M(G)) with G(G) being a set of graphs, called local graphs, of category GRAPHS with each graph uniquely refining a network node in G N : G(G) = {Ĝ(n) Ĝ(n) is a graph and n G N }, for all paths Ĝ(x) Ĝ(y), Ĝ(z) : Ĝ(A) Ĝ(B) we have Ĝ(x) Ĝ(y) = Ĝ(z). (commutative morphisms) Definition 4 (Composite Graph Morphism). Given two (weak) composite graphs Ĝ and Ĥ with composite network graphs G and H, resp., a (weak) composite (graph) morphism, written ˆf : Ĝ Ĥ, is a pair ˆf = (f, m) where f : G H is a composite network graph morphism and m is a family of morphisms { ˆf(n) n G N } such that i Ĝ(i) ˆf(i) Ĥ(f N (i)) for all nodes i G N : ˆf(i): Ĝ(i) Ĥ(f N (i)) is a e Ĝ(e) Ĥ(f E (e)) graph morphism and for all edges e: i j G E : Ĥ(f E (e)) ˆf(i) = ˆf(j) Ĝ(e) (see the illustration on the right). j Ĝ(j) ˆf(j) Ĥ(f N (j)) If morphism f and all morphisms in m are inclusions (injective), ˆf is called inclusion (injective). Given a graph T ˆ G and a composite morphism ˆt : Ĝ T ˆ G is called typed composite graph. Composite graphs and graph morphisms form a category, called COMPGRAPHS, being co-complete. Weak composite graphs and weak composite morphisms form category COMPGRAPHS weak. COMPGRAPHS T G is the category of typed composite graphs and their morphisms. (See [9].) This formalization induces that composite graphs are consistent in a certain sense: Since all morphisms have to be total, especially the ones between import and export interfaces, inconsistencies between components in the sense of unsatisfied imports may not occur. It is up to future work to adapt composite models such that temporary inconsistencies are tolerated, i.e., partial import mappings are allowed. 4 Distributed modeling process: overview In this section, we give an overview on a modeling process that addresses three issues to facilitate distributed model-driven development: (i) How can composite models be 5

6 used to structure models that lack an appropriate modularization? (ii) How can composite models be edited systematically so that inconsistencies are avoided? (iii) How can composite models be used as a blueprint for code generation? We refer to this process as a distributed process in terms of a collection of activities that enable a distributed team to work on a logically modularized model. Fig. 4: Distributed modeling process. Fig. 4 gives an outline of the process: When applying composite models to an existing software development project, a monolithic model may exist that is required to be decomposed. In order to support this, we propose a splitting technique. In the distributed modeling phase following up, editing steps are performed, involving asynchronous or synchronous editing as well as changes of the network structure. Afterwards, in order to support code generation, all components may be merged together. The resulting code may have gaps to be filled in by the distributed team. Please note that this overview refers to models on an arbitrary meta-level, e.g. models in application development or language development. However, the full potential of the process becomes evident when it is applied on two interrelated levels, e.g., application and language development. For instance, a legacy meta-model may be split by language developers. Conforming application models are then split according to the language decomposition by application developers. This notion is elaborated further in the following sections presenting the outlined modeling activities. 5 Model splitting This section elaborates on model splitting as a migration technique for introducing the logical modularization technique provided by composite models to existing software development projects. It assumes a monolithic model or a set of models interconnected by remote references and produces a composite model comprising a set of model components interconnected by export and import interfaces. Meta-models as well as their 6

7 DataModel datatypes entities Exp DataType Entity type features type Feature Imp DataModel Entity entities links Link entity target DynamicPage datamodel HypertextModel pages Page startpage StaticPage Attribute Reference SwalData IndexPage DetailsPage SwalHypertext Fig. 5: Result of splitting SWAL into meta-model components Fig. 6: Result of splitting the poetry model along the SWAL component split conforming models can be split. As we will prove for the special case of binary splitting, i.e., the decomposition into two components, the split of a typed model can even be uniquely derived from the split of its meta-model. Example 1. In Fig. 5, SWAL has been split in two meta-model components comprising classes related in their belonging to a specific viewpoint: domain modeling and hypertext modeling. Both resulting components are self-contained units in the sense that all model references run between classes within the same component. However, they are also interrelated as they are equipped with interfaces. SwalHypertext s import interface contains DataModel and Entity classes mapped to the DataModel and Entity classes provided by SwalData s export which allows for the exchange of data models. Finding a proper decomposition for meta-models is challenging since it can largely benefit from automation, but on the other hand, may require some human intervention. A heuristics may be used to recommend a reasonable decomposition to the stakeholder based on some indicators of interrelation: e.g., as it is the case in the example, a high coupling of references, especially of containments, indicates classes often instantiated in combination. In turn, a stakeholder might consider it desirable to reveal more classes in interfaces than a minimal subset, e.g. he might want to provide the references running between entities to support comprehension. In any case, the benefit from finding an appropriate decomposition becomes evident considering the split of conforming models. 7

8 In Fig. 6, the poetry contest model is split towards the viewpoint meta-models introduced in Fig. 5. For better readability, exported model elements are shown separated from their body elements. Both meta-model components are instantiated by conforming model components. Especially, export and import interfaces are instantiated and used for the sharing of entities between both components. As the split follows the typing of model elements and their assignment to meta-model components, it can be automatized. Formalization. In the following, a formalization is provided for splitting a meta-model in two meta-model components with intermediate export and import interfaces and, furthermore, for splitting conforming models along that split. Any meta-model that can be represented as a plain graph can be used as input, e.g., a single self-contained model or a group of models interconnected by remote references. Proposition 1 (Binary split of a composite graph). Given graph G and two subgraphs G 1 and G 2 with inclusions g 1 : G 1 G and g 2 : G 2 G, their interconnecting interfaces can be uniquely determined such that the resulting diagram forms a valid composite graph with two components. Proof. Let square (1) in the figure below be a pullback and (2) an epi-mono-factorization. Then, graph G I and morphisms i 1 and i 2 are uniquely determined, up to isomorphism. The epi-mono-factorization splits morphism i 2 into a surjective and an injective part. Graph G E and morphisms e 2 and ie are uniquely determined by this factorization. Diagram i 1, ie, and e 2 forms a valid composite graph with two components. Its network graph is well typed over the component network graph defined in Def. 1. Proposition 2 (Binary split of a typed composite graph). Given a type graph T G with its subgraphs T G 1 and T G 2 and a binary split as in the upper part of the figure below. Moreover, graph G with its typing t over T G is given. There is a unique binary split of G being type compatible with the resulting composite type graph. I.e. all morphisms in the diagram below exist and form a commuting diagram. The result is a composite graph typed over the split of TG. Proof. The following steps can be performed: 1. (t 1, g 1 ) is constructed as pullback over (t, t g1 ). 2. (t 2, g 2 ) is constructed as pullback over (t, t g2 ). 3. (t i, i 1 ) is constructed as pullback over (t i1, t 1 ). 4. Morphism i2 is the induced morphism by pullback (t 2, g 2 ) and morphisms g1 i 1 and t i2 t i such that t 2 i 2 = t i2 t i and g1 i 1 = g2 i (e 2, t e ) is constructed as pullback over (t 2, t e2 ). 6. Morphism ie is the induced morphism by the pullback (e 2, t e ) and morphisms i 2 and t i t ie such that i 2 = e 2 ie and t ie t i = t e ie. 8 t g1 T G t G g 1 T G 1 t 1 t g2 t i1 t i2 T G 2 t 2 T G I t i G 1 i 1 GI g 2 t e2 (1) i 2 (2) G 2 e 2 t ie T G E t e ie G E

9 Considering the view-oriented splitting of large meta-models as e.g. for UML, it makes sense to iterate several binary splits. An example split scenario for UML can look like this: (1) split the structure component from the behavioral component, (2) split the structure component further into package and class structure components, (3) split the behavioral component into a basic action component and a behavior diagrams component, and (4) continue splitting this component until the well-known behavior diagrams are each separated in model components. Of course, component interfaces have to be continuously adapted during this splitting process. 6 Distributed model editing A crucial challenge of collaborative editing is to preserve the consistency of models while keeping editing steps as independent as possible. Several approaches to the handling of model inconsistency, being defined as the maintenance of contradictory information within a network of models, center on the detection and resolution of inconsistencies [13] [6]. These approaches rely on facilities to perform a global consistency check on the distributed model which, though, might not always be available, e.g., for security reasons or due to network failures. Hence, we propose a complementary strategy of inconsistency avoidance, giving editing steps at hand that are classified as either safe or critical to the consistency of models. We provide the notion of a relaxed consistency avoidance that allows performing critical steps if necessary. In contrast, a strict inconsistency avoidance may be an obstacle to the natural evolution of a software project and is prone to dead-lock situations. Existing collaborative model editors such as Papyrus [15] or MagicDraw [12] implement a strategy for inconsistency avoidance by locking selected model parts for modification. These editors follow an asynchronous approach to editing single models that can be displayed and modified in multiple distributed editors at once. As for the use of composite models, the management of consistency is facilitated by the maintenance of interfaces. It is desirable to support asynchronous and synchronous editing steps: for instance, two related components with related contents might be expanded by individual contributors or in parallel by one contributor. Thus, this section discusses asynchronous as well as synchronous editing steps and their formalization based on the transformation of composite graphs. Using our basic implementation of composite model transformation comprising a rule editor and interpreter engine tool suite, it is possible to deploy transformation rules as editing steps, e.g. refactorings, within an existing editor such as Papyrus. Example 2. For the poetry contest application specified in the Fig. 6, new requirements might be stated, e.g., the management of books. When domain and hypertext components are developed independently, the first action done is that the domain modeler adds this new entity to the body and export of the swaldata component. The hypertext modeler then adds the entity to the import interface and body of the swalht component and creates corresponding pages for the entity resulting in the model shown in Fig. 7. In contrast, it might also be desirable to perform these changes in parallel: e.g., imagine an editing command that adds an entity and corresponding pages to both components. We distinguish these two kinds of editing as asynchronous and synchronous editing. 9

10 Fig. 7: Model components after editing. Thick borders indicate newly added elements. Formalization. Synchronous and asynchronous editing steps can be formalized as model transformations on a composite model. Definition 5 (Composite graph transformation). Given a composite graph T ˆ G, a composite graph rule ˆp = (ˆL ˆl ˆr ˆK ˆR, type) ˆ consists of composite graphs ˆL, ˆK, and ˆR typed over T ˆ G by the triple type ˆ = ( type ˆ ˆL : ˆL TˆG, type ˆ ˆK : ˆK TˆG, type ˆ ˆR : ˆR Tˆ G) being composite morphisms and typed composite morphisms ˆl : ˆK ˆL and ˆr : ˆK ˆR being inclusions such that n K N : ˆp(n) = (ˆL(n) ˆl(n) ˆr(n) ˆK(n) ˆR(n), type(n)) ˆ is a graph rule (as defined in e.g. [4]). A composite IC-graph transformation (step) Ĝ = Ĥ ˆl of a typed composite graph Ĝ to Ĥ by a (weak) composite graph rule ˆp and a typed injective composite mor- ˆL ˆK ˆr ˆR phism ˆm: ˆL ˆm Ĝ is given on the right, where (1) and (1) ˆd (2) (2) are pushouts in the sub-category of COMPGRAPHS T G ĝ (COMPGRAPHS weak Ĝ ˆD ĥ Ĥ T G ) with injective morphisms only. A composite graph transformation is a sequence Ĝ0 Ĝ1... Ĝn of direct composite graph transformations, written Ĝ0 Ĝn. A composite transformation can be performed component-wise, i.e., performing the network transformation first and all local transformations for preserved network nodes afterwards. Transformation step = Ĥ can be performed if ˆm fulfills the composite gluing condition ensuring that the resulting structure is again a well-formed composite graph. Otherwise, it can happen that context edges dangle afterwards. The gluing condition has to be checked on the network and all local transformations. Moreover, for all network nodes that shall be deleted their local graphs have to be fully determined by the match and local graph elements may be deleted only if there are no preserved interface elements being mapped to them. Weak composite rules are not allowed to change stand-alone exports and to produce stand-alone exports by deleting their body graphs. (For more details see [7].) Ĝ ˆp, ˆm ˆp, ˆm ˆn 10

11 Fig. 8: Synchronous and asynchronous composite model transformation rules. Example 3. Two sample composite rules, shown in a compact representation, are provided in Fig. 8. «Del» and «New» keywords denote nodes as being contained in ˆL ˆK or ˆR ˆK, respectively. Rule a) is a synchronous rule specifying the addition of a new entity and corresponding index and details pages to both components in parallel. Rule b) is an asynchronous rule removing an entity from a body and an adjacent export. Applying rule a) to the composite model in Fig. 6 yields a composite graph. Since nothing is deleted, the composite gluing condition is obviously fulfilled. To obtain the composite model in Fig. 7, additional references between book, poem, and poet have to be added by another editing step. Wrt. global consistency, rule a) is evidently neutral as an intact export/import relation is introduced. The editing step specified by rule b) is to be considered a critical one since the export interface being edited might be referred to from a remote import interface. Hence, a user performing an editing step like this may be warned and suggested to clarify the editing step to his collaborators. 7 Model merging for code generation Aiming at providing a full life-cycle of modeldriven development, code generation as a semantics for composite models is to be investigated. Generally speaking, two different strategies are conceivable: A distributed code generation allowing the successive code generation for individual components is an interesting idea deserving further research. However, in this section, we focus on the second strategy: Existing code generators can be reused to perform a centralized code generation. As input for the generator, a single model conforming to the original language before the Fig. 9: Merged application model. language split is required. We provide a technique to support the merging of a composite model to a single model serving as a blueprint for code generation. 11

12 Example 4. Fig. 9 shows how the composite model provided in Fig. 7 is merged. The merge exploits the information available in import and export interfaces: Pairs of objects are identified as corresponding and can thus be merged. The result of the merge is welltyped because it conforms to the original pre-split meta-model. A merge of meta-models can be performed applying the same strategy. Formalization. We provide a formalization for the merge of a composite model. Proposition 3 (Graph merge). Given a composite graph, there is a unique graph containing its merge result. Proof. Considering a composite graph C as a diagram in category GRAPHS T G, its colimit consists of a simple graph G and a family of graph mophisms from all local graphs of C to G. The colimes construction is uniquely determined. 8 Application scenario This section provides a simple application scenario to show how the distributed process is applied. The scenario, illustrated in Fig. 10, concerns with web application development based on the SWAL web modeling language. We assume that the language already has been subject to a split into domain and hypertext components that was performed by the language developers. Fig. 10: Scenario for distributed editing process The starting point is a monolithic model M conforming to SWAL. M is logically distributed when project manager Samantha performs a split along the given languagelevel decomposition. The resulting composite model comprises domain model component D and hypertext model component H being interconnected by means of export and import interfaces. Samantha now assigns team members to viewpoints: Frank receives 12

13 responsibility for domain modeling, Mike becomes the hypertext modeler. The internal details of remote components are hidden to both developers respectively: Frank s scope of visibility is restricted to his assigned component, D. Mike s scope of visibility comprises his assigned component, H, and remote component D s export (cf. the concept of weak composite graphs introduced in Sect. 3). From now on, Frank and Mike perform asynchronous editing steps, reflected in increasing version numbers. The first steps performed are neutral to inter-model consistency and do not require conflict handling. Eventually, the transformation from D 2 to D 3 is a critical editing step threatening global consistency, e.g. the deletion of a model element being visible in the export. Hence, when performing this editing step, Frank receives a warning. His options are: to manually establish communication to Mike clarifying the change, to let a default message be delivered to Mike, to take back the change or to do nothing. In the two former cases, Mike can react by performing an editing step such that consistency is retained. When doing nothing, consistence might be broken. Later on, Samantha performs a synchronous editing step changing both components in parallel. Eventually, she decides that the model components have accomplished a solid state and should be merged for code generation. A global consistency check may be performed before the merge to ensure a valid result. If at some later point in time new requirements are added, further editing can be performed on the components in their state before the merge. To summarize, the maintenance of explicit export and import interfaces allows to reason about a smart and relaxed conflict avoidance: at all times, developers are aware whether their editing is either safe or critical to inter-model consistency. In the case of critical steps, further intervention may become necessary. However, an automatized conflict detection and resolution algorithm can be considered complementary and might be applied at any time throughout the development process. Especially a conflict detection step right before the code generation step is highly desirable. 9 Tool support The core processing of composite models is supported by an existing editor environment based on the Eclipse Modeling Framework. For a set of individual models, wizard tools are provided allowing the derivation of export and import interfaces in order to establish model interconnection. Export and import interfaces are implemented as separate resources with special references, supported by a delegation mechanism that replaces EMF s proxy concept. Furthermore, we have implemented a model transformation language and tool set allowing the specification and execution of editing steps that can be integrated in an existing editor. The tool set is open source being provided at along with examples and a tutorial. The automation of splitting and merging is left to future work. 10 Related Work In this section, we compare our work to several other approaches for dealing with large and distributed models. 13

14 10.1 Model slicing The extraction of sub-models from large models has been considered under the heading of model slicing. [2] presents a tool that allows defining model slicers for domainspecific languages by determining a selection of classes and features to extract. [10] provides an elegant formalization of model slicing as they prove that the sub-models gained from slicing along particular references constitute a lattice. A linear-time algorithm establishing this decomposition is elaborated. These approaches differ from model splitting in so far as they aim at extracting sub-models conforming to the same meta-model as the model to be sliced. In turn, model splitting is integrated into an overlying process: a meta-model is split in several components. Afterwards, models based on these meta-models are split towards these components. The splitting of a model towards components with export and import interfaces is specific to our approach Consistency management in distributed modeling As discussed before, we propose a relaxed inconsistency avoidance as a supplementary strategy to inconsistency detection and resolution. An elaborated strategy for the latter is given by Macromodeling [16]. Macromodeling allows integrating multiple models of different modeling languages on type and instance layers. A major objective of macromodeling is the check of global consistency conditions based on logical formulas. However, it does neither envision a specific modeling process nor the use of explicit interfaces Model weaving The merge of models can be compared to the weaving of models that is implemented by different tools, e.g., Atlas Model Weaver (AMW) [1]. AMW allows the weaving a set of models by constructing a weave model based on a weave meta-model. It supports the manual and semi-automatic weaving of models by means of heuristic-based transformations. Our merging, in turn, is restricted to composite models as input models. It can be fully automatized exploiting the information given by import/export relations. 11 Conclusion and Outlook The global distribution of software development spawns a need for new well-defined software engineering methods. The process presented in this paper is our contribution to satisfying this need. It proposes split, edit and merge activities based on composite models which have been introduced as a formally sound modularization mechanism, allowing for local consistency checks and systematic transformation. Future work is the enhancement of existing tool support towards a comprehensive tool environment supporting all parts of the presented distributed modeling process. Firstly, we aim at providing convenient editor support that allows editing components equipped with interfaces at the right level at abstraction. Secondly, splitting and merging are to be automatized. It is of our particular interest to find a heuristics that gives reasonable suggestions for splitting. Thirdly, in addition to the centralized code generation 14

15 approach introduced here, a distributed code generation facility shall be implemented. In particular, it is to investigate how import/export relations are dealt with when generating code for individual components. Having a suitable tool support at hand, we are heading towards larger examples that show the scalability of this approach. We are convinced that precisely defined basic operations on composite models are a clear basis for a sound distributed modeling process. References 1. AMW: Atlas Model Weaver Blouin, A., Combemale, B., Baudry, B., Beaudoux, O.: Modeling model slicers. In: Proceedings of the International Conference on Model Driven Engineering Languages and Systems (MODELS). pp Wellington, New Zealand (Oct 2011), fr/inria /pdf/blo11b.pdf 3. Ceri, S., Fraternali, P., Bongio, A.: Web Modeling Language (WebML): a modeling language for designing Web sites. Computer Networks 33(1-6), (2000), sciencedirect.com/science/article/pii/s Ehrig, H., Ehrig, K., Prange, U., Taentzer, G.: Fundamentals of Algebraic Graph Transformation. Monographs in Theoretical Computer Science. An EATCS Series, Springer (2006) 5. EMF: Eclipse Modeling Framework. (2011) 6. Goedicke, M., Meyer, T., Taentzer, G.: ViewPoint-oriented Software Development by Distributed Graph Transformation: Towards a Basis for Living with Inconsistencies. In: Proc. 4th IEEE Int. Symposium on Requirements Engineering (RE 99), June 7-11, 1999, University of Limerick, Ireland. IEEE Computer Society (1999), isbn Jurack, S.: Composite Modeling based on Distributed Graph Transformation and the Eclipse Modeling Framework. dissertation, Philipps-Universität Marburg (2012) 8. Jurack, S., Taentzer, G.: Towards Composite Model Transformations Using Distributed Graph Transformation Concepts. In: Schürr, A., Selic, B. (eds.) Proc. of 12th Int. Conference on Model Driven Engineering Languages and Systems (MoDELS 2009). LNCS, vol. 5795, pp Springer (2009) 9. Jurack, S., Taentzer, G.: Transformation of Typed Composite Graphs with Inheritance and Containment Structures. Fundamenta Informaticae 118(1-2), (2012) 10. Kelsen, P., Ma, Q.: A Modular Model Composition Technique. In: Rosenblum, D.S., Taentzer, G. (eds.) 13. International Conference on Fundamental Approaches to Software Engineering, FASE 2010, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2010, Paphos, Cyprus. LNCS, vol. 6013, pp Springer (2010) 11. Kraus, A., Knapp, A., Koch, N.: Model-Driven Generation of Web Applications in UWE. In: Proceedings of the 3rd International Workshop on Model-Driven Web Engineering MDWE 2007, Como, Italy, July 17, 2007 (2007) 12. Magic Draw: Mougenot, A., Blanc, X., Gervais, M.P.: D-Praxis: A Peer-to-Peer Collaborative Model Editing Framework. In: 9th IFIP international conference on Distributed Applications and Interoperable Systems (DAIS 09). pp Lisbonne, Portugal (Jun 2009) 14. OMG: The Essential MOF (EMOF) Model. formal/ pdf (2010), sec Papyrus UML: Salay, R., Mylopoulos, J., Easterbrook, S.M.: Managing models through macromodeling. In: 23rd IEEE/ACM International Conference on Automated Software Engineering (ASE 2008), September 2008, L Aquila, Italy. pp IEEE (2008) 15

A Formal Resolution Strategy for Operation-Based Conflicts in Model Versioning Using Graph Modifications

A Formal Resolution Strategy for Operation-Based Conflicts in Model Versioning Using Graph Modifications A Formal Resolution Strategy for Operation-Based Conflicts in Model Versioning Using Graph Modifications Hartmut Ehrig 1, Claudia Ermel 1 and Gabriele Taentzer 2 1 Technische Universität Berlin, Germany

More information

Forschungsberichte der Fakultät IV Elektrotechnik und Informatik

Forschungsberichte der Fakultät IV Elektrotechnik und Informatik Forschungsberichte der Fakultät IV Elektrotechnik und Informatik A Formal Resolution Strategy for Operation-Based Conicts in Model Versioning Using Graph Modications Hartmut Ehrig 1 Claudia Ermel 1 Gabriele

More information

Managing Model and Meta-Model Components with Export and Import Interfaces

Managing Model and Meta-Model Components with Export and Import Interfaces Managing Model and Meta-Model Components with Export and Import Interfaces Daniel Strüber, Stefan Jurack, Tim Schäfer, Stefan Schulz, Gabriele Taentzer Philipps-Universität Marburg, Germany, {strueber,sjurack,timschaefer,schulzs,taentzer}

More information

Formal Semantics of Consistent EMF Model Transformations by Algebraic Graph Transformation

Formal Semantics of Consistent EMF Model Transformations by Algebraic Graph Transformation SoSyM manuscript No. (will be inserted by the editor) Formal Semantics of Consistent EMF Model Transformations by Algebraic Graph Transformation Enrico Biermann 1, Claudia Ermel 1, Gabriele Taentzer 2

More information

Towards Generating Domain-Specific Model Editors with Complex Editing Commands

Towards Generating Domain-Specific Model Editors with Complex Editing Commands Towards Generating Domain-Specific Model Editors with Complex Editing Commands Gabriele Taentzer Technical University of Berlin Germany gabi@cs.tu-berlin.de May 10, 2006 Abstract Domain specific modeling

More information

A Visual Editor for Reconfigurable Object Nets based on the ECLIPSE Graphical Editor Framework

A Visual Editor for Reconfigurable Object Nets based on the ECLIPSE Graphical Editor Framework A Visual Editor for Reconfigurable Object Nets based on the ECLIPSE Graphical Editor Framework Enrico Biermann, Claudia Ermel, Frank Hermann and Tony Modica Technische Universität Berlin, Germany {enrico,lieske,frank,modica}@cs.tu-berlin.de

More information

AGG: A Graph Transformation Environment for Modeling and Validation of Software

AGG: A Graph Transformation Environment for Modeling and Validation of Software AGG: A Graph Transformation Environment for Modeling and Validation of Software Gabriele Taentzer Technische Universität Berlin, Germany gabi@cs.tu-berlin.de Abstract. AGG is a general development environment

More information

EMF Metrics: Specification and Calculation of Model Metrics within the Eclipse Modeling Framework

EMF Metrics: Specification and Calculation of Model Metrics within the Eclipse Modeling Framework EMF Metrics: Specification and Calculation of Model Metrics within the Eclipse Modeling Framework Thorsten Arendt a, Pawel Stepien a, Gabriele Taentzer a a Philipps-Universität Marburg, FB12 - Mathematics

More information

Selected Revised Papers from the 4th International Workshop on Graph Computation Models (GCM 2012)

Selected Revised Papers from the 4th International Workshop on Graph Computation Models (GCM 2012) Electronic Communications of the EASST Volume 61 (GCM 2012) Selected Revised Papers from the 4th International Workshop on Graph Computation Models (GCM 2012) Co-Transformation of Type and Instance Graphs

More information

Supporting Modeling in the Large in Fujaba

Supporting Modeling in the Large in Fujaba Supporting Modeling in the Large in Thomas Buchmann Angewandte Informatik 1 Universität Bayreuth D-95440 Bayreuth thomas.buchmann@unibayreuth.de Alexander Dotor Angewandte Informatik 1 Universität Bayreuth

More information

Joint Entity Resolution

Joint Entity Resolution Joint Entity Resolution Steven Euijong Whang, Hector Garcia-Molina Computer Science Department, Stanford University 353 Serra Mall, Stanford, CA 94305, USA {swhang, hector}@cs.stanford.edu No Institute

More information

Capturing and Formalizing SAF Availability Management Framework Configuration Requirements

Capturing and Formalizing SAF Availability Management Framework Configuration Requirements Capturing and Formalizing SAF Availability Management Framework Configuration Requirements A. Gherbi, P. Salehi, F. Khendek and A. Hamou-Lhadj Electrical and Computer Engineering, Concordia University,

More information

Scenario integration via the transformation and manipulation of higher-order graphs

Scenario integration via the transformation and manipulation of higher-order graphs Scenario integration via the transformation and manipulation of higher-order graphs Hongzhi Liang School of Computing, Queen s University, Canada liang@cs.queensu.ca Abstract. The integration of different

More information

Model-Independent Differences

Model-Independent Differences Model-Independent Differences Patrick Könemann Technical University of Denmark, Informatics and Mathematical Modelling Richard Petersens Plads, DK-2800 Kgs. Lyngby, Denmark pk@imm.dtu.dk Abstract Computing

More information

An introduction to Category Theory for Software Engineers*

An introduction to Category Theory for Software Engineers* An introduction to Category Theory for Software Engineers* Dr Steve Easterbrook Associate Professor, Dept of Computer Science, University of Toronto sme@cs.toronto.edu *slides available at http://www.cs.toronto.edu/~sme/presentations/cat101.pdf

More information

Detecting and Preventing Power Outages in a Smart Grid using emoflon

Detecting and Preventing Power Outages in a Smart Grid using emoflon Detecting and Preventing Power Outages in a Smart Grid using emoflon Sven Peldszus, Jens Bürger, Daniel Strüber {speldszus,buerger,strueber}@uni-koblenz.de University of Koblenz and Landau Abstract We

More information

Chapter 2 Overview of the Design Methodology

Chapter 2 Overview of the Design Methodology Chapter 2 Overview of the Design Methodology This chapter presents an overview of the design methodology which is developed in this thesis, by identifying global abstraction levels at which a distributed

More information

Category Theory in Ontology Research: Concrete Gain from an Abstract Approach

Category Theory in Ontology Research: Concrete Gain from an Abstract Approach Category Theory in Ontology Research: Concrete Gain from an Abstract Approach Markus Krötzsch Pascal Hitzler Marc Ehrig York Sure Institute AIFB, University of Karlsruhe, Germany; {mak,hitzler,ehrig,sure}@aifb.uni-karlsruhe.de

More information

EMF Refactor: Specification and Application of Model Refactorings within the Eclipse Modeling Framework

EMF Refactor: Specification and Application of Model Refactorings within the Eclipse Modeling Framework EMF Refactor: Specification and Application of Model Refactorings within the Eclipse Modeling Framework Thorsten Arendt a, Florian Mantz b, Gabriele Taentzer a a Philipps-Universität Marburg, FB12 - Mathematics

More information

AOSA - Betriebssystemkomponenten und der Aspektmoderatoransatz

AOSA - Betriebssystemkomponenten und der Aspektmoderatoransatz AOSA - Betriebssystemkomponenten und der Aspektmoderatoransatz Results obtained by researchers in the aspect-oriented programming are promoting the aim to export these ideas to whole software development

More information

Consistency-Preserving Edit Scripts in Model Versioning

Consistency-Preserving Edit Scripts in Model Versioning Consistency-Preserving Edit Scripts in Model Versioning Technical Report 2013-11-12 Timo Kehrer, Udo Kelter Department Elektrotechnik und Informatik Universität Siegen, Germany Gabriele Taentzer Fachbereich

More information

INTRODUCING A MULTIVIEW SOFTWARE ARCHITECTURE PROCESS BY EXAMPLE Ahmad K heir 1, Hala Naja 1 and Mourad Oussalah 2

INTRODUCING A MULTIVIEW SOFTWARE ARCHITECTURE PROCESS BY EXAMPLE Ahmad K heir 1, Hala Naja 1 and Mourad Oussalah 2 INTRODUCING A MULTIVIEW SOFTWARE ARCHITECTURE PROCESS BY EXAMPLE Ahmad K heir 1, Hala Naja 1 and Mourad Oussalah 2 1 Faculty of Sciences, Lebanese University 2 LINA Laboratory, University of Nantes ABSTRACT:

More information

Detecting Structural Refactoring Conflicts Using Critical Pair Analysis

Detecting Structural Refactoring Conflicts Using Critical Pair Analysis SETra 2004 Preliminary Version Detecting Structural Refactoring Conflicts Using Critical Pair Analysis Tom Mens 1 Software Engineering Lab Université de Mons-Hainaut B-7000 Mons, Belgium Gabriele Taentzer

More information

Spemmet - A Tool for Modeling Software Processes with SPEM

Spemmet - A Tool for Modeling Software Processes with SPEM Spemmet - A Tool for Modeling Software Processes with SPEM Tuomas Mäkilä tuomas.makila@it.utu.fi Antero Järvi antero.jarvi@it.utu.fi Abstract: The software development process has many unique attributes

More information

Extending the DPO Approach for Topological Validation of Metamodel-Level Graph Rewriting Rules

Extending the DPO Approach for Topological Validation of Metamodel-Level Graph Rewriting Rules xtending the DPO Approach for Topological alidation of Metamodel-Level raph Rewriting Rules TIAMÉR LNDOSZKY, LÁSZLÓ LNYL, ASSAN CARAF Department of Automation and Applied Informatics Budapest University

More information

A MODEL CATEGORY STRUCTURE ON THE CATEGORY OF SIMPLICIAL CATEGORIES

A MODEL CATEGORY STRUCTURE ON THE CATEGORY OF SIMPLICIAL CATEGORIES A MODEL CATEGORY STRUCTURE ON THE CATEGORY OF SIMPLICIAL CATEGORIES JULIA E. BERGNER Abstract. In this paper we put a cofibrantly generated model category structure on the category of small simplicial

More information

Coral: A Metamodel Kernel for Transformation Engines

Coral: A Metamodel Kernel for Transformation Engines Coral: A Metamodel Kernel for Transformation Engines Marcus Alanen and Ivan Porres TUCS Turku Centre for Computer Science Department of Computer Science, Åbo Akademi University Lemminkäisenkatu 14, FIN-20520

More information

SUMMARY: MODEL DRIVEN SECURITY

SUMMARY: MODEL DRIVEN SECURITY SUMMARY: MODEL DRIVEN SECURITY JAN-FILIP ZAGALAK, JZAGALAK@STUDENT.ETHZ.CH Model Driven Security: From UML Models to Access Control Infrastructres David Basin, Juergen Doser, ETH Zuerich Torsten lodderstedt,

More information

Software Language Engineering of Architectural Viewpoints

Software Language Engineering of Architectural Viewpoints Software Language Engineering of Architectural Viewpoints Elif Demirli and Bedir Tekinerdogan Department of Computer Engineering, Bilkent University, Ankara 06800, Turkey {demirli,bedir}@cs.bilkent.edu.tr

More information

Object-Oriented Theories for Model Driven Architecture

Object-Oriented Theories for Model Driven Architecture Object-Oriented Theories for Model Driven Architecture Tony Clark 1, Andy Evans 2, Robert France 3 1 King s College London, UK, anclark@dcs.kcl.ac.uk, 2 University of York, UK, andye@cs.york.ac.uk, 3 University

More information

Chapter 1 Introduction

Chapter 1 Introduction Chapter 1 Introduction We hardly need to point out the importance of business process modelling and of respective automation in this place (see, e.g. [39, 45, 58, 110, 141]). Also the advantages and shortcomings

More information

Introduction to AGG and EMF Tiger by Modeling a Conference Scheduling System

Introduction to AGG and EMF Tiger by Modeling a Conference Scheduling System Int J Softw Tools Technol Transfer (2009) manuscript No. (will be inserted by the editor) Introduction to AGG and EMF Tiger by Modeling a Conference Scheduling System Enrico Biermann Claudia Ermel Leen

More information

Definition of Visual Language Editors Using Declarative Languages

Definition of Visual Language Editors Using Declarative Languages Definition of Visual Language Editors Using Declarative Languages Torbjörn Lundkvist TUCS Turku Centre for Computer Science SoSE Graduate School on Software Systems and Engineering Department of Information

More information

5/9/2014. Recall the design process. Lecture 1. Establishing the overall structureof a software system. Topics covered

5/9/2014. Recall the design process. Lecture 1. Establishing the overall structureof a software system. Topics covered Topics covered Chapter 6 Architectural Design Architectural design decisions Architectural views Architectural patterns Application architectures Lecture 1 1 2 Software architecture The design process

More information

The Encoding Complexity of Network Coding

The Encoding Complexity of Network Coding The Encoding Complexity of Network Coding Michael Langberg Alexander Sprintson Jehoshua Bruck California Institute of Technology Email: mikel,spalex,bruck @caltech.edu Abstract In the multicast network

More information

A Generic Framework for Realizing Semantic Model Differencing Operators

A Generic Framework for Realizing Semantic Model Differencing Operators A Generic Framework for Realizing Semantic Model Differencing Operators Philip Langer, Tanja Mayerhofer, and Gerti Kappel Business Informatics Group, Vienna University of Technology, Vienna, Austria {langer,mayerhofer,gerti}@big.tuwien.ac.at

More information

Annotation for the Semantic Web During Website Development

Annotation for the Semantic Web During Website Development Annotation for the Semantic Web During Website Development Peter Plessers and Olga De Troyer Vrije Universiteit Brussel, Department of Computer Science, WISE, Pleinlaan 2, 1050 Brussel, Belgium {Peter.Plessers,

More information

challenges in domain-specific modeling raphaël mannadiar august 27, 2009

challenges in domain-specific modeling raphaël mannadiar august 27, 2009 challenges in domain-specific modeling raphaël mannadiar august 27, 2009 raphaël mannadiar challenges in domain-specific modeling 1/59 outline 1 introduction 2 approaches 3 debugging and simulation 4 differencing

More information

Prototyping Navigation in Web-Based Information Systems Using WebML

Prototyping Navigation in Web-Based Information Systems Using WebML Prototyping Navigation in Web-Based Information Systems Using WebML Jaroslav KURUC 1, Peter DOLOG 2 and Mária BIELIKOVÁ 1 1 Institute of Informatics and Software Engineering, Faculty of Informatics and

More information

Minsoo Ryu. College of Information and Communications Hanyang University.

Minsoo Ryu. College of Information and Communications Hanyang University. Software Reuse and Component-Based Software Engineering Minsoo Ryu College of Information and Communications Hanyang University msryu@hanyang.ac.kr Software Reuse Contents Components CBSE (Component-Based

More information

CC and CEM addenda. Modular PP. March Version 1.0 CCDB

CC and CEM addenda. Modular PP. March Version 1.0 CCDB CC and CEM addenda Modular PP March 2014 Version 1.0 CCDB-2014-03-001 Foreword This is addenda to the the Common Criteria version 3 and the associated Common Evaluation Methodology for Information Technology

More information

Requirements Engineering for Enterprise Systems

Requirements Engineering for Enterprise Systems Association for Information Systems AIS Electronic Library (AISeL) AMCIS 2001 Proceedings Americas Conference on Information Systems (AMCIS) December 2001 Requirements Engineering for Enterprise Systems

More information

LOGICAL OPERATOR USAGE IN STRUCTURAL MODELLING

LOGICAL OPERATOR USAGE IN STRUCTURAL MODELLING LOGICAL OPERATOR USAGE IN STRUCTURAL MODELLING Ieva Zeltmate (a) (a) Riga Technical University, Faculty of Computer Science and Information Technology Department of System Theory and Design ieva.zeltmate@gmail.com

More information

A Category-Theoretic Approach to Syntactic Software Merging

A Category-Theoretic Approach to Syntactic Software Merging A Category-Theoretic Approach to Syntactic Software Merging Nan Niu, Steve Easterbrook, and Mehrdad Sabetzadeh Department of Computer Science University of Toronto, Canada Email: {nn, sme, mehrdad}@cs.toronto.edu

More information

Chapter S:II. II. Search Space Representation

Chapter S:II. II. Search Space Representation Chapter S:II II. Search Space Representation Systematic Search Encoding of Problems State-Space Representation Problem-Reduction Representation Choosing a Representation S:II-1 Search Space Representation

More information

Static Safety Analysis of UML Action Semantics for Critical Systems Development

Static Safety Analysis of UML Action Semantics for Critical Systems Development Static Safety Analysis of UML Action Semantics for Critical Systems Development Zsigmond Pap, Dániel Varró Dept. of Measurement and Information Systems Budapest University of Technology and Economics H-1521

More information

On Using UML Profiles in ATL Transformations

On Using UML Profiles in ATL Transformations On Using UML Profiles in ATL Transformations Manuel Wimmer and Martina Seidl Business Informatics Group, Vienna University of Technology, Austria {wimmer seidl}@big.tuwien.ac.at Abstract. For defining

More information

Agent-Oriented Software Engineering

Agent-Oriented Software Engineering Agent-Oriented Software Engineering Lin Zuoquan Information Science Department Peking University lz@is.pku.edu.cn http://www.is.pku.edu.cn/~lz/teaching/stm/saswws.html Outline Introduction AOSE Agent-oriented

More information

Domain-Driven Development with Ontologies and Aspects

Domain-Driven Development with Ontologies and Aspects Domain-Driven Development with Ontologies and Aspects Submitted for Domain-Specific Modeling workshop at OOPSLA 2005 Latest version of this paper can be downloaded from http://phruby.com Pavel Hruby Microsoft

More information

1 Executive Overview The Benefits and Objectives of BPDM

1 Executive Overview The Benefits and Objectives of BPDM 1 Executive Overview The Benefits and Objectives of BPDM This is an excerpt from the Final Submission BPDM document posted to OMG members on November 13 th 2006. The full version of the specification will

More information

Hypertext A Case Study of Formal Object-Oriented Software Development

Hypertext A Case Study of Formal Object-Oriented Software Development Hypertext A Case Study of Formal Object-Oriented Software Development Andreas Rüping Forschungszentrum Informatik (FZI) Bereich Programmstrukturen Haid-und-Neu-Straße 10-14 D-76131 Karlsruhe e-mail: rueping@fzi.de

More information

Train control language teaching computers interlocking

Train control language teaching computers interlocking Computers in Railways XI 651 Train control language teaching computers interlocking J. Endresen 1, E. Carlson 1, T. Moen 1, K. J. Alme 1, Ø. Haugen 2, G. K. Olsen 2 & A. Svendsen 2 1 ABB, Bergensveien

More information

Developing Web-Based Applications Using Model Driven Architecture and Domain Specific Languages

Developing Web-Based Applications Using Model Driven Architecture and Domain Specific Languages Proceedings of the 8 th International Conference on Applied Informatics Eger, Hungary, January 27 30, 2010. Vol. 2. pp. 287 293. Developing Web-Based Applications Using Model Driven Architecture and Domain

More information

A Formalism for Automated Verification of Model Transformations

A Formalism for Automated Verification of Model Transformations Magyar Kutatók 10. Nemzetközi Szimpóziuma 10 th International Symposium of Hungarian Researchers on Computational Intelligence and Informatics A Formalism for Automated Verification of Model Transformations

More information

Automation of Semantic Web based Digital Library using Unified Modeling Language Minal Bhise 1 1

Automation of Semantic Web based Digital Library using Unified Modeling Language Minal Bhise 1 1 Automation of Semantic Web based Digital Library using Unified Modeling Language Minal Bhise 1 1 Dhirubhai Ambani Institute for Information and Communication Technology, Gandhinagar, Gujarat, India Email:

More information

Pattern-Oriented Development with Rational Rose

Pattern-Oriented Development with Rational Rose Pattern-Oriented Development with Rational Rose Professor Peter Forbrig, Department of Computer Science, University of Rostock, Germany; Dr. Ralf Laemmel, Department of Information Management and Software

More information

A UML 2 Profile for Variability Models and their Dependency to Business Processes

A UML 2 Profile for Variability Models and their Dependency to Business Processes A UML 2 Profile for Variability Models and their Dependency to Business Processes Birgit Korherr and Beate List Women s Postgraduate College for Internet Technologies Institute of Software Technology and

More information

Architectural Design. Topics covered. Architectural Design. Software architecture. Recall the design process

Architectural Design. Topics covered. Architectural Design. Software architecture. Recall the design process Architectural Design Objectives To introduce architectural design and to discuss its importance To explain the architectural design decisions that have to be made To introduce three complementary architectural

More information

SCOS-2000 Technical Note

SCOS-2000 Technical Note SCOS-2000 Technical Note MDA Study Prototyping Technical Note Document Reference: Document Status: Issue 1.0 Prepared By: Eugenio Zanatta MDA Study Prototyping Page: 2 Action Name Date Signature Prepared

More information

Software Architecture

Software Architecture Software Architecture Benjamin Satzger Distributed Systems Group TU Wien http://www.infosys.tuwien.ac.at/staff/ bsatzger Models Terms Unified Modeling Language (UML) Architecture Description Language (ADL)

More information

Managing test suites for services

Managing test suites for services Managing test suites for services Kathrin Kaschner Universität Rostock, Institut für Informatik, 18051 Rostock, Germany kathrin.kaschner@uni-rostock.de Abstract. When developing an existing service further,

More information

A Lightweight Language for Software Product Lines Architecture Description

A Lightweight Language for Software Product Lines Architecture Description A Lightweight Language for Software Product Lines Architecture Description Eduardo Silva, Ana Luisa Medeiros, Everton Cavalcante, Thais Batista DIMAp Department of Informatics and Applied Mathematics UFRN

More information

A Prototype for Guideline Checking and Model Transformation in Matlab/Simulink

A Prototype for Guideline Checking and Model Transformation in Matlab/Simulink A Prototype for Guideline Checking and Model Transformation in Matlab/Simulink Holger Giese, Matthias Meyer, Robert Wagner Software Engineering Group Department of Computer Science University of Paderborn

More information

Sufficient Criteria for Consistent Behavior Modeling with Refined Activity Diagrams : Long Version

Sufficient Criteria for Consistent Behavior Modeling with Refined Activity Diagrams : Long Version Sufficient Criteria for Consistent Behavior Modeling with Refined Activity Diagrams : Long Version Stefan Jurack 1, Leen Lambers 2, Katharina Mehner 3, Gabriele Taentzer 1 1 Philipps-Universität Marburg,

More information

Theory of Graph Transformations

Theory of Graph Transformations Theory of Graph Transformations Helge Wiemann University of Bremen studies of computer science hwiemann@tzi.de Abstract This paper shall give an introduction into the theory of rule-based graph transformation

More information

Correctness and Completeness of Generalised Concurrent Model Synchronisation Based on Triple Graph Grammars

Correctness and Completeness of Generalised Concurrent Model Synchronisation Based on Triple Graph Grammars Correctness and Completeness of Generalised Concurrent Model Synchronisation Based on Triple Graph Grammars Susann Gottmann 1, Frank Hermann 1, Nico Nachtigall 1, Benjamin Braatz 1, Claudia Ermel 2, Hartmut

More information

Concept as a Generalization of Class and Principles of the Concept-Oriented Programming

Concept as a Generalization of Class and Principles of the Concept-Oriented Programming Computer Science Journal of Moldova, vol.13, no.3(39), 2005 Concept as a Generalization of Class and Principles of the Concept-Oriented Programming Alexandr Savinov Abstract In the paper we describe a

More information

Fausto Giunchiglia and Mattia Fumagalli

Fausto Giunchiglia and Mattia Fumagalli DISI - Via Sommarive 5-38123 Povo - Trento (Italy) http://disi.unitn.it FROM ER MODELS TO THE ENTITY MODEL Fausto Giunchiglia and Mattia Fumagalli Date (2014-October) Technical Report # DISI-14-014 From

More information

Separating Product Variance and Domain Concepts in the Specification of Software Product Lines

Separating Product Variance and Domain Concepts in the Specification of Software Product Lines Separating Product Variance and Domain Concepts in the Specification of Software Product Lines Pertti Kellomäki Software Systems Laboratory, Tampere University of Technology P.O. Box 553, FIN-33101 Tampere,

More information

Product constructions for transitive decompositions of graphs

Product constructions for transitive decompositions of graphs 116 Product constructions for transitive decompositions of graphs Geoffrey Pearce Abstract A decomposition of a graph is a partition of the edge set, giving a set of subgraphs. A transitive decomposition

More information

Pattern composition in graph transformation rules

Pattern composition in graph transformation rules Pattern composition in graph transformation rules András Balogh and Dániel Varró Department of Measurement and Information Systems Budapest University of Technology and Economics H-1117 Magyar tudosok

More information

Semantics-Based Integration of Embedded Systems Models

Semantics-Based Integration of Embedded Systems Models Semantics-Based Integration of Embedded Systems Models Project András Balogh, OptixWare Research & Development Ltd. n 100021 Outline Embedded systems overview Overview of the GENESYS-INDEXYS approach Current

More information

OCL Support in MOF Repositories

OCL Support in MOF Repositories OCL Support in MOF Repositories Joachim Hoessler, Michael Soden Department of Computer Science Technical University Berlin hoessler@cs.tu-berlin.de, soden@cs.tu-berlin.de Abstract From metamodels that

More information

Integrating SysML and OWL

Integrating SysML and OWL Integrating SysML and OWL Henson Graves Lockheed Martin Aeronautics Company Fort Worth Texas, USA henson.graves@lmco.com Abstract. To use OWL2 for modeling a system design one must be able to construct

More information

UML-Based Conceptual Modeling of Pattern-Bases

UML-Based Conceptual Modeling of Pattern-Bases UML-Based Conceptual Modeling of Pattern-Bases Stefano Rizzi DEIS - University of Bologna Viale Risorgimento, 2 40136 Bologna - Italy srizzi@deis.unibo.it Abstract. The concept of pattern, meant as an

More information

Creating and Analyzing Software Architecture

Creating and Analyzing Software Architecture Creating and Analyzing Software Architecture Dr. Igor Ivkovic iivkovic@uwaterloo.ca [with material from Software Architecture: Foundations, Theory, and Practice, by Taylor, Medvidovic, and Dashofy, published

More information

Visual Layout of Graph-Like Models

Visual Layout of Graph-Like Models Visual Layout of Graph-Like Models Tarek Sharbak MhdTarek.Sharbak@uantwerpen.be Abstract The modeling of complex software systems has been growing significantly in the last years, and it is proving to

More information

SOFTWARE ARCHITECTURE & DESIGN INTRODUCTION

SOFTWARE ARCHITECTURE & DESIGN INTRODUCTION SOFTWARE ARCHITECTURE & DESIGN INTRODUCTION http://www.tutorialspoint.com/software_architecture_design/introduction.htm Copyright tutorialspoint.com The architecture of a system describes its major components,

More information

efmea RAISING EFFICIENCY OF FMEA BY MATRIX-BASED FUNCTION AND FAILURE NETWORKS

efmea RAISING EFFICIENCY OF FMEA BY MATRIX-BASED FUNCTION AND FAILURE NETWORKS efmea RAISING EFFICIENCY OF FMEA BY MATRIX-BASED FUNCTION AND FAILURE NETWORKS Maik Maurer Technische Universität München, Product Development, Boltzmannstr. 15, 85748 Garching, Germany. Email: maik.maurer@pe.mw.tum.de

More information

Behavior Preservation in Model Refactoring using DPO Transformations with Borrowed Contexts

Behavior Preservation in Model Refactoring using DPO Transformations with Borrowed Contexts Behavior Preservation in Model Refactoring using DPO Transformations with Borrowed Contexts Guilherme Rangel 1, Leen Lambers 1, Barbara König 2, Hartmut Ehrig 1, and Paolo Baldan 3 1 Institut für Softwaretechnik

More information

Architectural Blueprint

Architectural Blueprint IMPORTANT NOTICE TO STUDENTS These slides are NOT to be used as a replacement for student notes. These slides are sometimes vague and incomplete on purpose to spark a class discussion Architectural Blueprint

More information

Locally unique labeling of model elements for state-based model differences

Locally unique labeling of model elements for state-based model differences Locally unique labeling of model elements for state-based model differences Citation for published version (APA): Protic, Z. (2010). Locally unique labeling of model elements for state-based model differences.

More information

The Bizarre Truth! Automating the Automation. Complicated & Confusing taxonomy of Model Based Testing approach A CONFORMIQ WHITEPAPER

The Bizarre Truth! Automating the Automation. Complicated & Confusing taxonomy of Model Based Testing approach A CONFORMIQ WHITEPAPER The Bizarre Truth! Complicated & Confusing taxonomy of Model Based Testing approach A CONFORMIQ WHITEPAPER By Kimmo Nupponen 1 TABLE OF CONTENTS 1. The context Introduction 2. The approach Know the difference

More information

Authoring and Maintaining of Educational Applications on the Web

Authoring and Maintaining of Educational Applications on the Web Authoring and Maintaining of Educational Applications on the Web Denis Helic Institute for Information Processing and Computer Supported New Media ( IICM ), Graz University of Technology Graz, Austria

More information

INCREMENTAL SOFTWARE CONSTRUCTION WITH REFINEMENT DIAGRAMS

INCREMENTAL SOFTWARE CONSTRUCTION WITH REFINEMENT DIAGRAMS INCREMENTAL SOFTWARE CONSTRUCTION WITH REFINEMENT DIAGRAMS Ralph-Johan Back Abo Akademi University July 6, 2006 Home page: www.abo.fi/~backrj Research / Current research / Incremental Software Construction

More information

Digital Archives: Extending the 5S model through NESTOR

Digital Archives: Extending the 5S model through NESTOR Digital Archives: Extending the 5S model through NESTOR Nicola Ferro and Gianmaria Silvello Department of Information Engineering, University of Padua, Italy {ferro, silvello}@dei.unipd.it Abstract. Archives

More information

FUZZY BOOLEAN ALGEBRAS AND LUKASIEWICZ LOGIC. Angel Garrido

FUZZY BOOLEAN ALGEBRAS AND LUKASIEWICZ LOGIC. Angel Garrido Acta Universitatis Apulensis ISSN: 1582-5329 No. 22/2010 pp. 101-111 FUZZY BOOLEAN ALGEBRAS AND LUKASIEWICZ LOGIC Angel Garrido Abstract. In this paper, we analyze the more adequate tools to solve many

More information

Pattern Mining in Frequent Dynamic Subgraphs

Pattern Mining in Frequent Dynamic Subgraphs Pattern Mining in Frequent Dynamic Subgraphs Karsten M. Borgwardt, Hans-Peter Kriegel, Peter Wackersreuther Institute of Computer Science Ludwig-Maximilians-Universität Munich, Germany kb kriegel wackersr@dbs.ifi.lmu.de

More information

An Architecture for Semantic Enterprise Application Integration Standards

An Architecture for Semantic Enterprise Application Integration Standards An Architecture for Semantic Enterprise Application Integration Standards Nenad Anicic 1, 2, Nenad Ivezic 1, Albert Jones 1 1 National Institute of Standards and Technology, 100 Bureau Drive Gaithersburg,

More information

Master of Science Thesis. Modeling deployment and allocation in the Progress IDE

Master of Science Thesis. Modeling deployment and allocation in the Progress IDE Master of Science Thesis (D-level) Akademin för innovation, design och teknik David Šenkeřík Modeling deployment and allocation in the Progress IDE Mälardalen Research and Technology Centre Thesis supervisors:

More information

Proceedings of the 6th Educators Symposium: Software Modeling in Education at MODELS 2010 (EduSymp 2010)

Proceedings of the 6th Educators Symposium: Software Modeling in Education at MODELS 2010 (EduSymp 2010) Electronic Communications of the EASST Volume X (2010) Proceedings of the 6th Educators Symposium: Software Modeling in Education at MODELS 2010 (EduSymp 2010) m2n: Translating Models to Natural Language

More information

A Graphical Specification of Model Composition With Triple Graph Grammars

A Graphical Specification of Model Composition With Triple Graph Grammars A Graphical Specification of Model Composition With Triple Graph Grammars Adil Anwar 1, Amine Benelallam 2, Akram Idani 3, Bernard Coulette 4, and Mahmoud Nassar 2 1 Siweb, Computer Science Department,

More information

MERGING BUSINESS VOCABULARIES AND RULES

MERGING BUSINESS VOCABULARIES AND RULES MERGING BUSINESS VOCABULARIES AND RULES Edvinas Sinkevicius Departament of Information Systems Centre of Information System Design Technologies, Kaunas University of Lina Nemuraite Departament of Information

More information

Manipulation of Graphs, Algebras and Pictures. Essays Dedicated to Hans-Jörg Kreowski on the Occasion of His 60th Birthday

Manipulation of Graphs, Algebras and Pictures. Essays Dedicated to Hans-Jörg Kreowski on the Occasion of His 60th Birthday Electronic Communications of the EASST Volume X (2009) Manipulation of Graphs, Algebras and Pictures Essays Dedicated to Hans-Jörg Kreowski on the Occasion of His 60th Birthday Lifting Parallel Graph Transformation

More information

RIGOROUSLY AUTOMATING TRANSFORMATIONS OF UML BEHAVIOR MODELS

RIGOROUSLY AUTOMATING TRANSFORMATIONS OF UML BEHAVIOR MODELS RIGOROUSLY AUTOMATING TRANSFORMATIONS OF UML BEHAVIOR MODELS Jon Whittle 1, João Araújo 2, Ambrosio Toval 3, and Jose Luis Fernández Alemán 3 1 QSS / NASA Ames Research Center, M/S 269-2, Moffett Field,

More information

Symbol Tables Symbol Table: In computer science, a symbol table is a data structure used by a language translator such as a compiler or interpreter, where each identifier in a program's source code is

More information

A graphical user interface for service adaptation

A graphical user interface for service adaptation A graphical user interface for service adaptation Christian Gierds 1 and Niels Lohmann 2 1 Humboldt-Universität zu Berlin, Institut für Informatik, Unter den Linden 6, 10099 Berlin, Germany gierds@informatik.hu-berlin.de

More information

Distributed Objects with Sense of Direction

Distributed Objects with Sense of Direction Distributed Objects with Sense of Direction G. V. BOCHMANN University of Ottawa P. FLOCCHINI Université de Montréal D. RAMAZANI Université de Montréal Introduction An object system consists of a collection

More information

Höllische Programmiersprachen Hauptseminar im Wintersemester 2014/2015 Determinism and reliability in the context of parallel programming

Höllische Programmiersprachen Hauptseminar im Wintersemester 2014/2015 Determinism and reliability in the context of parallel programming Höllische Programmiersprachen Hauptseminar im Wintersemester 2014/2015 Determinism and reliability in the context of parallel programming Raphael Arias Technische Universität München 19.1.2015 Abstract

More information

Designing and documenting the behavior of software

Designing and documenting the behavior of software Chapter 8 Designing and documenting the behavior of software Authors: Gürcan Güleşir, Lodewijk Bergmans, Mehmet Akşit Abstract The development and maintenance of today s software systems is an increasingly

More information