Towards a Distributed Modeling Process Based on Composite Models
|
|
- Roy Atkins
- 5 years ago
- Views:
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 Hartmut Ehrig 1, Claudia Ermel 1 and Gabriele Taentzer 2 1 Technische Universität Berlin, Germany
More informationForschungsberichte 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 informationManaging 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 informationFormal 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 informationTowards 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 informationA 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 informationAGG: 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 informationEMF 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 informationSelected 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 informationSupporting 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 informationJoint 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 informationCapturing 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 informationScenario 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 informationModel-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 informationAn 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 informationDetecting 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 informationChapter 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 informationCategory 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 informationEMF 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 informationAOSA - 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 informationConsistency-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 informationINTRODUCING 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 informationDetecting 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 informationSpemmet - 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 informationExtending 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 informationA 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 informationCoral: 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 informationSUMMARY: 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 informationSoftware 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 informationObject-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 informationChapter 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 informationIntroduction 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 informationDefinition 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 information5/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 informationThe 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 informationA 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 informationAnnotation 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 informationchallenges 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 informationPrototyping 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 informationMinsoo 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 informationCC 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 informationRequirements 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 informationLOGICAL 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 informationA 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 informationChapter 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 informationStatic 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 informationOn 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 informationAgent-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 informationDomain-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 information1 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 informationHypertext 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 informationTrain 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 informationDeveloping 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 informationA 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 informationAutomation 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 informationPattern-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 informationA 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 informationArchitectural 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 informationSCOS-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 informationSoftware 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 informationManaging 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 informationA 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 informationA 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 informationSufficient 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 informationTheory 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 informationCorrectness 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 informationConcept 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 informationFausto 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 informationSeparating 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 informationProduct 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 informationPattern 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 informationSemantics-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 informationOCL 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 informationIntegrating 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 informationUML-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 informationCreating 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 informationVisual 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 informationSOFTWARE 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 informationefmea 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 informationBehavior 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 informationArchitectural 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 informationLocally 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 informationThe 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 informationAuthoring 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 informationINCREMENTAL 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 informationDigital 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 informationFUZZY 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 informationPattern 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 informationAn 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 informationMaster 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 informationProceedings 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 informationA 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 informationMERGING 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 informationManipulation 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 informationRIGOROUSLY 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 informationSymbol 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 informationA 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 informationDistributed 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 informationHö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 informationDesigning 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