1,051 research outputs found

    Modularizing and Specifying Protocols among Threads

    Full text link
    We identify three problems with current techniques for implementing protocols among threads, which complicate and impair the scalability of multicore software development: implementing synchronization, implementing coordination, and modularizing protocols. To mend these deficiencies, we argue for the use of domain-specific languages (DSL) based on existing models of concurrency. To demonstrate the feasibility of this proposal, we explain how to use the model of concurrency Reo as a high-level protocol DSL, which offers appropriate abstractions and a natural separation of protocols and computations. We describe a Reo-to-Java compiler and illustrate its use through examples.Comment: In Proceedings PLACES 2012, arXiv:1302.579

    Model-Driven Development of Aspect-Oriented Software Architectures

    Full text link
    The work presented in this thesis of master is an approach that takes advantage of the Model-Driven Development approach for developing aspect-oriented software architectures. A complete MDD support for the PRISMA approach is defined by providing code generation, verification and reusability properties.Pérez Benedí, J. (2007). Model-Driven Development of Aspect-Oriented Software Architectures. http://hdl.handle.net/10251/12451Archivo delegad

    Modeling, Simulation and Emulation of Intelligent Domotic Environments

    Get PDF
    Intelligent Domotic Environments are a promising approach, based on semantic models and commercially off-the-shelf domotic technologies, to realize new intelligent buildings, but such complexity requires innovative design methodologies and tools for ensuring correctness. Suitable simulation and emulation approaches and tools must be adopted to allow designers to experiment with their ideas and to incrementally verify designed policies in a scenario where the environment is partly emulated and partly composed of real devices. This paper describes a framework, which exploits UML2.0 state diagrams for automatic generation of device simulators from ontology-based descriptions of domotic environments. The DogSim simulator may simulate a complete building automation system in software, or may be integrated in the Dog Gateway, allowing partial simulation of virtual devices alongside with real devices. Experiments on a real home show that the approach is feasible and can easily address both simulation and emulation requirement

    Automatic Generation of Trace Links in Model-driven Software Development

    Get PDF
    Traceability data provides the knowledge on dependencies and logical relations existing amongst artefacts that are created during software development. In reasoning over traceability data, conclusions can be drawn to increase the quality of software. The paradigm of Model-driven Software Engineering (MDSD) promotes the generation of software out of models. The latter are specified through different modelling languages. In subsequent model transformations, these models are used to generate programming code automatically. Traceability data of the involved artefacts in a MDSD process can be used to increase the software quality in providing the necessary knowledge as described above. Existing traceability solutions in MDSD are based on the integral model mapping of transformation execution to generate traceability data. Yet, these solutions still entail a wide range of open challenges. One challenge is that the collected traceability data does not adhere to a unified formal definition, which leads to poorly integrated traceability data. This aggravates the reasoning over traceability data. Furthermore, these traceability solutions all depend on the existence of a transformation engine. However, not in all cases pertaining to MDSD can a transformation engine be accessed, while taking into account proprietary transformation engines, or manually implemented transformations. In these cases it is not possible to instrument the transformation engine for the sake of generating traceability data, resulting in a lack of traceability data. In this work, we address these shortcomings. In doing so, we propose a generic traceability framework for augmenting arbitrary transformation approaches with a traceability mechanism. To integrate traceability data from different transformation approaches, our approach features a methodology for augmentation possibilities based on a design pattern. The design pattern supplies the engineer with recommendations for designing the traceability mechanism and for modelling traceability data. Additionally, to provide a traceability mechanism for inaccessible transformation engines, we leverage parallel model matching to generate traceability data for arbitrary source and target models. This approach is based on a language-agnostic concept of three similarity measures for matching. To realise the similarity measures, we exploit metamodel matching techniques for graph-based model matching. Finally, we evaluate our approach according to a set of transformations from an SAP business application and the domain of MDSD

    OnTrack: Reflecting on domain specific formal methods for railway designs

    Get PDF
    OnTrack is a tool that supports workflows for railway verification that has been implemented using model driven engineering frameworks. Starting with graphical scheme plans and finishing with automatically generated formal models set-up for verification, OnTrack allows railway engineers to interact with verification procedures through encapsulating formal methods. OnTrack is grounded on a domain specification language (DSL) capturing scheme plans and supports generation of various formal models using model transformations. In this paper, we detail the role model driven engineering takes within OnTrack and reflect on the use of model driven engineering concepts for developing domain specific formal methods toolsets

    A model-driven concept for the automatic integration of legacy protocols to distributed component-oriented software systems

    Get PDF
    The implementation of communication protocols is an important development task that appears frequently in software projects. This article is a vision paper that describes the components of the currently available implementation strategies and problems that arise. The article introduces the main existing protocol engineering techniques and puts them into the context of model driven software development. At the end a methodology is introduced for the automatic generation of manager interfaces of Device Agent protocols for the use in a distributed component oriented environment, using ASN.1 and SDL. This article describes the preliminary results of the MOSES project (model-driven software engineering of distributed embedded systems) which is funded by the German ministry of Education and Research (BMBF). In this project the authors are concentrating on medical and facility management areas where they have particular experiences.Die Implementierung von Kommunikationsprotokollen zu externen Systemen ist eine wichtige Aufgabe, welche häufig in Softwareprojekten zu realisieren ist. Dieser Artikel ist ein Ideenpapier, welches die Komponenten bisheriger Implementierungsstrategien und deren Probleme beschreibt. Der Artikel führt die wesentlichen Techniken zur Protokollimplementierung ein und stellt diese im Kontext der modelgetriebenen Softwareentwicklung dar. Zum Schluss wird eine Methode mit ASN.1 und SDL vorgestellt, welche die automatische Generierung von Manager-Schnittstellen für die Protokolle von Geräte- Agenten ermöglicht und dabei den Einsatz in verteilten komponentenbasierten Systemen erlaubt. Der Artikel beschreibt die Zwischenergebnisse des vom Bundesministerium für Bildung und Forschung (BMBF) geförderten MOSES-Projektes (Modellgetriebene Software- Entwicklung von vernetzten Embedded Systems). In dem Projekt konzentrieren sich die Autoren auf die Bereiche Medizin- und Gebäudetelematik, worin sie besondere Erfahrungen besitzen

    Model-to-Code transformation from product-line architecture models to aspectJ

    Get PDF
    Software Product Line Engineering has significant advantages in family-based software development. The common and variable structure for all products of a family is defined through a Product-Line Architecture (PLA) that consists of a common set of reusable components and connectors which can be configured to build the different products. The design of PLA requires solutions for capturing such configuration (variability). The Flexible-PLA Model is a solution that supports the specification of external variability of the PLA configuration, as well as internal variability of components. However, a complete support for product-line development requires translating architecture specifications into code. This complex task needs automation to avoid human error. Since Model-Driven Development allows automatic code generation from models, this paper presents a solution to automatically generate AspectJ code from Flexible-PLA models previously configured to derive specific products. This solution is supported by a modeling framework and validated in a software factory
    corecore