815 research outputs found

    An overview of Mirjam and WeaveC

    Get PDF
    In this chapter, we elaborate on the design of an industrial-strength aspectoriented programming language and weaver for large-scale software development. First, we present an analysis on the requirements of a general purpose aspect-oriented language that can handle crosscutting concerns in ASML software. We also outline a strategy on working with aspects in large-scale software development processes. In our design, we both re-use existing aspect-oriented language abstractions and propose new ones to address the issues that we identified in our analysis. The quality of the code ensured by the realized language and weaver has a positive impact both on maintenance effort and lead-time in the first line software development process. As evidence, we present a short evaluation of the language and weaver as applied today in the software development process of ASML

    Generator-Composition for Aspect-Oriented Domain-Specific Languages

    Get PDF
    Software systems are complex, as they must cover a diverse set of requirements describing functionality and the environment. Software engineering addresses this complexity with Model-Driven Engineering ( MDE ). MDE utilizes different models and metamodels to specify views and aspects of a software system. Subsequently, these models must be transformed into code and other artifacts, which is performed by generators. Information systems and embedded systems are often used over decades. Over time, they must be modified and extended to fulfill new and changed requirements. These alterations can be triggered by the modeling domain and by technology changes in both the platform and programming languages. In MDE these alterations result in changes of syntax and semantics of metamodels, and subsequently of generator implementations. In MDE, generators can become complex software applications. Their complexity depends on the semantics of source and target metamodels, and the number of involved metamodels. Changes to metamodels and their semantics require generator modifications and can cause architecture and code degradation. This can result in errors in the generator, which have a negative effect on development costs and time. Furthermore, these errors can reduce quality and increase costs in projects utilizing the generator. Therefore, we propose the generator construction and evolution approach GECO, which supports decoupling of generator components and their modularization. GECO comprises three contributions: (a) a method for metamodel partitioning into views, aspects, and base models together with partitioning along semantic boundaries, (b) a generator composition approach utilizing megamodel patterns for generator fragments, which are generators depending on only one source and one target metamodel, (c) an approach to modularize fragments along metamodel semantics and fragment functionality. All three contributions together support modularization and evolvability of generators

    Decentralized Control and Adaptation in Distributed Applications via Web and Semantic Web Technologies

    Get PDF
    The presented work provides an approach and an implementation for enabling decentralized control in distributed applications composed of heterogeneous components by benefiting from the interoperability provided by the Web stack and relying on semantic technologies for enabling data integration. In particular, the concept of Smart Components enables adaptability at runtime through an adaptation layer and is complemented by a reference architecture as well as a prototypical implementation

    Device Cooperation in Ad-hoc Multimedia Ensembles

    Get PDF
    Users can be overwhelmed by the abundance of functionality that smart ad-hoc environments offer. This thesis investigates how to assist the user in controlling such environments. We present an approach that enables the devices in an ad-hoc environment to cooperatively generate and execute an action sequence to fulfill the user's goals. Device cooperation happens spontaneously and in a completely distributed fashion. In a quantitative user study, we show that users accept the assistance such a system provides even if it is suboptimal.Nutzer von intelligenten Ad-hoc-Umgebungen sind oft ĂŒberfordert von der FĂŒlle an FunktionalitĂ€t, die solche Umgebungen bieten. Im Mittelpunkt dieser Arbeit steht die Frage, wie man Nutzern solcher Umgebungen assistieren kann. Der vorgestellte Ansatz versetzt die GerĂ€te in Ad-hoc-Umgebungen in die Lage, kooperativ eine Aktionssequenz zu generieren und auszufĂŒhren, die die Nutzerziele erfĂŒllt. Die GerĂ€tekooperation erfolgt spontan und komplett verteilt. In einer quantitativen Nutzerstudie zeigen wir, dass Nutzer die Assistenz eines solchen Systems akzeptieren, auch wenn sie suboptimal ist

    Proceedings of the Deduktionstreffen 2019

    Get PDF
    The annual meeting Deduktionstreffen is the prime activity of the Special Interest Group on Deduction Systems (FG DedSys) of the AI Section of the German Society for Informatics (GI-FBKI). It is a meeting with a familiar, friendly atmosphere, where everyone interested in deduction can report on their work in an informal setting

    Model Transformation Languages with Modular Information Hiding

    Get PDF
    Model transformations, together with models, form the principal artifacts in model-driven software development. Industrial practitioners report that transformations on larger models quickly get sufficiently large and complex themselves. To alleviate entailed maintenance efforts, this thesis presents a modularity concept with explicit interfaces, complemented by software visualization and clustering techniques. All three approaches are tailored to the specific needs of the transformation domain

    Platform Independent Specification of Engineering Model Transformations

    Get PDF
    Production machine engineering involves multiple engineering disciplines defining together the configuration of each machine. Each of these disciplines provides an engineering model, which influences engineering models from other disciplines and is itself influenced by other engineering models. Therefore, building a valid configuration of a production machine requires the reconciliation of engineering models of all involved engineering disciplines. Up to now, execution of model reconciliations by model transformation systems was mainly considered for desktop model transformation environments. The analysis of engineering processes and customer applications of production machines revealed that the industrial application of model transformations requires the execution of the same model transformation specification on different execution environments depending on the initiator of the model reconciliation. An electrical engineer runs the model transformation on his desktop between locally installed engineering applications for small organizations or on his field programming device for commissioning scenarios. For complex systems and bigger organizations, model transformations are executed on an enterprise product lifecycle management (PLM) server. A machine operator triggers model transformations on the real-time system of an automation controller for on-site reconfigurable machines, e.g. by physically connecting a modular device to a production machine. To tackle this scenario, this thesis presents a new application of the model driven architecture (MDA), which transforms a platform independent model transformation specifications (PIM-MT) to platform specific model transformation specifications (PSM-MT) by higher order transformations (HOT). For industrial usage, both the platform independent transformation specification and the platform specific execution reuse proven existing technology which is tailored and extended where needed. This allows for the stepwise introduction of model transformation technology in existing engineering and technology environments based on a classification scheme which was developed as part of this thesis. For the PIM-MT specification, the strict handling of references between engineering model elements from current model transformation specifications, which does not fit well the requirements of engineering models with temporarily violate references within the engineering workflow, was replaced by a weaker reference handling based on domain specific reference designators. An existing model transformation specification, the ATL language, has been tailored for PIM-MT specifications. For the PSM-MT desktop execution, the ATL desktop model transformation engine was reused. XSL transformations were adapted for enterprise model transformations executed on PLM servers. A PSM-MT engine for real-time IEC 61131 programmable logic controllers was developed as part of this thesis. With the results of this thesis it is now possible to build a customized engineering environment as an extension of the existing infrastructure of a machine builder, which automates the configuration of production machines by using model transformations generated from a common platform independent specification on multiple execution platforms

    A Domain-Specific Language and Editor for Parallel Particle Methods

    Full text link
    Domain-specific languages (DSLs) are of increasing importance in scientific high-performance computing to reduce development costs, raise the level of abstraction and, thus, ease scientific programming. However, designing and implementing DSLs is not an easy task, as it requires knowledge of the application domain and experience in language engineering and compilers. Consequently, many DSLs follow a weak approach using macros or text generators, which lack many of the features that make a DSL a comfortable for programmers. Some of these features---e.g., syntax highlighting, type inference, error reporting, and code completion---are easily provided by language workbenches, which combine language engineering techniques and tools in a common ecosystem. In this paper, we present the Parallel Particle-Mesh Environment (PPME), a DSL and development environment for numerical simulations based on particle methods and hybrid particle-mesh methods. PPME uses the meta programming system (MPS), a projectional language workbench. PPME is the successor of the Parallel Particle-Mesh Language (PPML), a Fortran-based DSL that used conventional implementation strategies. We analyze and compare both languages and demonstrate how the programmer's experience can be improved using static analyses and projectional editing. Furthermore, we present an explicit domain model for particle abstractions and the first formal type system for particle methods.Comment: Submitted to ACM Transactions on Mathematical Software on Dec. 25, 201
    • 

    corecore