Auflistung nach Autor:in "Anjorin, Anthony"
1 - 5 von 5
Treffer pro Seite
Sortieroptionen
- KonferenzbeitragA Catalogue of Optimization Techniques for Triple Graph Grammars(Modellierung 2014, 2014) Leblebici, Erhan; Anjorin, Anthony; Schürr, AndyBidirectional model transformation languages are typically declarative, being able to provide unidirectional operationalizations from a common specification automatically. Declarative languages have numerous advantages, but ensuring runtime efficiency, especially without any knowledge of the underlying transformation engine, is often quite challenging. Triple Graph Grammars (TGGs) are a prominent example for a completely declarative, bidirectional language and have been successfully used in various application scenarios. Although an optimization phase based on profiling results is often a necessity to meet runtime requirements, there currently exists no systematic classification and evaluation of optimization strategies for TGGs, i.e., the optimization process is typically an ad-hoc process. In this paper, we investigate the runtime scalability of an exemplary bidirectional model-to-text transformation. While systematically optimizing the implementation, we introduce, classify and apply a series of optimization strategies. We provide in each case a quantitative measurement and qualitative discussion, establishing a catalogue of current and future optimization techniques for TGGs in particular and declarative rule-based model transformation languages in general.
- KonferenzbeitrageMoflon: leveraging EMF and professional CASE tools(INFORMATIK 2011 – Informatik schafft Communities, 2011) Anjorin, Anthony; Lauder, Marius; Patzinay, Sven; Schürr, AndyThe primary goal of Model-Driven Development Software Development (MDSD) is to improve productivity by providing tools that are tailored for a specific domain. Such domain specific Computer Aided Software Engineering (CASE) tools exploit domain knowledge to further raise abstraction levels and automate complex, but routine programming tasks whenever possible. Anticipated advantages include an increase in speed of development and quality of software, improved response to change, support for interoperability, and a reduced gap between requirements and the actual specification of a solution. MOFLON1 is a tool for building tools: a meta-CASE tool that supports the MDSD process by providing a metamodeling and (bidirectional) model transformation framework. Development on MOFLON started in 2002 with major goals including conformity with standards, reuse of stable external components, and industrial relevance implying scalability, usability and the possibility of integrating Commercial Off-TheShelf (COTS) tools and established workflows with MOFLON. In recent years, there has been a lot of progress in the MDSD community and especially the Eclipse Modeling Framework (EMF) has established itself as a de facto standard, offering stable and well-tested components. We are convinced that it is high time to reengineer MOFLON and leverage modern MDSD technology to be able to concentrate fully on our core competencies including (bidirectional) model transformations via graph transformations. eMoflon is a complete re-engineering of MOFLON that tailors Enterprise Architect (EA), a professional industrial-strength UML CASE tool, as our frontend for metamodeling and specification of model transformations, as opposed to handcrafting a new editor with numerous editor frameworks such as the Graphical Modeling Framework (GMF).We leverage relevant Eclipse technologies and integrate the standard EMF codegenerator with CodeGen2, a model transformation engine used for generating method implementations from graph transformations. Although we made major changes, we retained many design decisions and principles that MOFLON has always been known for. In the near future, we aim to support substituting the underlying model transformation engine with alternative engines. We plan to implement various extensions to Triple Graph Grammars and to our integration environment, and to provide a textual concrete syntax and textual editors as a free alternative to our EA frontend.
- KonferenzbeitragOn modularizing triple graph grammars with rule refinement(Software-engineering and management 2015, 2015) Anjorin, Anthony; Saller, Karsten; Lochau, Malte; Schürr, AndyA Triple Graph Grammar (TGG) is a set of declarative rules describing how consistent triples of graph structures in a source, target, and correspondence domain are to be generated. This generative and high-level specification of consistency can be automatically operationalized and used to derive model generators for test case generation, forward and backward translators, and incremental model synchronizers. As with any domain specific language, a means to modularize TGG specifications is an important requirement, especially for practical applications. We formalized an extended concept of rule refinement for TGGs in previous work and now report on our experience from using rule refinements intensively in a recent industrial project.
- ConferencePaperVariability Representations in Class Models: An Empirical Assessment (Summary)(Software Engineering 2021, 2021) Strüber, Daniel; Anjorin, Anthony; Berger, ThorstenWe present our paper originally published in the proceedings of the ACM/IEEE International Conference on Model Driven Engineering Languages and Systems 2020 (MODELS). Owing to the ever-growing need for customization, software systems often exist in many different variants. To avoid the need to maintain many different copies of the same model, developers of modeling languages and tools have recently started to provide representations for such variant-rich systems, notably variability mechanisms that support the implementation of differences between model variants. Available mechanisms either follow the annotative or the compositional paradigm, each of them having unique benefits and drawbacks. Language and tool designers select the used variability mechanism often solely based on intuition. A better empirical understanding of the comprehension of variability mechanisms would help them in improving support for effective modeling. In this paper, we present an empirical assessment of annotative and compositional variability mechanisms for class models. We report and discuss findings from an experiment with 73 participants, in which we studied the impact of the chosen variability mechanisms during model comprehension tasks. We find that, compared to the baseline of listing all model variants separately, the annotative technique did not affect developer performance. Use of the compositional mechanism correlated with impaired performance. For a subset of our tasks the annotative mechanism is preferred to the compositional one and the baseline. We present actionable recommendations concerning support of flexible, tasks-specific solutions, and the transfer of best established best practices from the code domain to models.
- ZeitschriftenartikelWho Guards the Guards? On the Validation of Test Case Migration(Softwaretechnik-Trends Band 38, Heft 2, 2018) Jovanovikj, Ivan; Yigitbas, Enes; Anjorin, Anthony; Sauer, StefanSoftware migration, as a well-established strategy to reuse software, results in a software system that runs in a new environment but exhibits the same behavior as before the migration. To ensure behavioral preservation, existing test cases can be used to safeguard the software migration. This implies two things: test cases have to be co-migrated with the system and, after the migration, they have to be validated as well. Similarly as for system migration, behavioral preservation is a must for test case migration, i.e., the migrated test cases still have to assert the same expected system behavior as the old test cases. Despite the importance of validating test case migration, the area is not yet well researched. In this paper, we analyze the challenges in validating test case migration and propose mutation analysis as a suitable validation technique.