2 research outputs found

    A MDE-based optimisation process for Real-Time systems: Optimizing systems at the architecture-level using the real DSL and library of transformation and heuristics

    Get PDF
    The design and implementation of Real-Time Embedded Systems is now heavily relying on Model-Driven Engineering (MDE) as a central place to define and then analyze or implement a system. MDE toolchains are taking a key role as to gather most of functional and non-functional properties in a central framework, and then exploit this information. Such toolchain is based on both 1) a modeling notation, and 2) companion tools to transform or analyze models. Yet, we note the modeling process is driven by the engineer view of the system to be built. This view may fit a particular vision, e.g. a functional breakdown, but usually overlook another like hardware constraints. Thus, a re-factoring of the model may be required to have a better ?t and optimize resources to actual CPU or memory resources. Such rewriting may be time-consuming to ensure the semantics is preserved. Optimization is a typical step in a compiler. As for typical compilation techniques, we claim that MDE toolchains would benefit from automatic optimization techniques that preserve execution semantics, schedulability or other non-functional constraints. In this paper, we present a first step towards MDE-based system optimisation based on an architectural description. We first define a generic evaluation pipeline to assess model metrics. We then define a library of elementary transformations and show how to apply it to evaluate and then transform models using a Domain-Specific Language. Finally, we illustrate this process on an AADL case study modeling a Generic Avionics Platform

    Exploiting object structure in hardware transactional memory

    No full text
    Fundamental limits in integrated circuit technology are bringing about the acceptance that multi-core and, in the future, many-core processors will be commonplace. If general purpose applications are required to exhibit high performance on such processors, it will be necessary to develop new, easy to use, parallel programming techniques. Traditionally, concurrent programming has employed locks to safeguard concurrent access to shared data, but these are known to be challenging to use, and only a minority of developers have the expertise to write robust, let alone highly scalable, lock-based code. Transactional Memory (TM) is a new concurrent programming model that is receiving attention as a way of expressing parallelism for programming multi-core systems. As a parallel programming model it is able to avoid the complexity of conventional locking, while attempting to deliver similar or better performance. The ACI (atomicity, consistency, isolation) properties of transactions provide a foundation to ensure that concurrent reads and writes of shared data do not produce inconsistent or incorrect results.EThOS - Electronic Theses Online ServiceGBUnited Kingdo
    corecore