TY - JOUR A1 - Corre, Youenn A1 - Diguet, Jean-Philippe A1 - Heller, Dominique A1 - Blouin, Dominique A1 - Lagadec, Loic T1 - TBES: Template-Based Exploration and Synthesis of Heterogeneous Multiprocessor Architectures on FPGA JF - ACM transactions on embedded computing systems : TECS N2 - This article describes TBES, a software end-to-end environment for synthesizing multitask applications on FPGAs. The implementation follows a template-based approach for creating heterogeneous multiprocessor architectures. Heterogeneity stems from the use of general-purpose processors along with custom accelerators. Experimental results demonstrate substantial speedup for several classes of applications. In addition to the use of architecture templates for the overall system, a second contribution lies in using high-level synthesis for promoting exploration of hardware IPs. The domain expert, who best knows which tasks are good candidates for hardware implementation, selects parts of the initial application to be potentially synthesized as dedicated accelerators. As a consequence, the HLS general problem turns into a constrained and more tractable issue, and automation capabilities eliminate the need for tedious and error-prone manual processes during domain space exploration. The automation only takes place once the application has been broken down into concurrent tasks by the designer, who can then drive the synthesis process with a set of parameters provided by TBES to balance tradeoffs between optimization efforts and quality of results. The approach is demonstrated step by step up to FPGA implementations and executions with an MJPEG benchmark and a complex Viola-Jones face detection application. We show that TBES allows one to achieve results with up to 10 times speedup to reduce development times and to widen design space exploration. KW - Algorithms KW - Design KW - Electronic system level KW - high-level synthesis KW - multiprocessor KW - system-on-chip Y1 - 2016 U6 - https://doi.org/10.1145/2816817 SN - 1539-9087 SN - 1558-3465 VL - 15 SP - 113 EP - 122 PB - Association for Computing Machinery CY - New York ER - TY - JOUR A1 - Vogel, Thomas A1 - Giese, Holger T1 - Model-Driven engineering of self-adaptive software with EUREMA JF - ACM transactions on autonomous and adaptive systems N2 - The development of self-adaptive software requires the engineering of an adaptation engine that controls the underlying adaptable software by feedback loops. The engine often describes the adaptation by runtime models representing the adaptable software and by activities such as analysis and planning that use these models. To systematically address the interplay between runtime models and adaptation activities, runtime megamodels have been proposed. A runtime megamodel is a specific model capturing runtime models and adaptation activities. In this article, we go one step further and present an executable modeling language for ExecUtable RuntimE MegAmodels (EUREMA) that eases the development of adaptation engines by following a model-driven engineering approach. We provide a domain-specific modeling language and a runtime interpreter for adaptation engines, in particular feedback loops. Megamodels are kept alive at runtime and by interpreting them, they are directly executed to run feedback loops. Additionally, they can be dynamically adjusted to adapt feedback loops. Thus, EUREMA supports development by making feedback loops explicit at a higher level of abstraction and it enables solutions where multiple feedback loops interact or operate on top of each other and self-adaptation co-exists with offline adaptation for evolution. KW - Design KW - Languages Model-driven engineering KW - modeling language KW - models at runtime KW - model interpreter KW - self-adaptive software KW - feedback loops KW - layered architecture KW - software evolution Y1 - 2014 U6 - https://doi.org/10.1145/2555612 SN - 1556-4665 SN - 1556-4703 VL - 8 IS - 4 PB - Association for Computing Machinery CY - New York ER - TY - JOUR A1 - Steinert, Bastian A1 - Cassou, Damien A1 - Hirschfeld, Robert T1 - CoExist overcoming aversion to change preserving immediate access to source code and run-time information of previous development states JF - ACM SIGPLAN notices N2 - Programmers make many changes to the program to eventually find a good solution for a given task. In this course of change, every intermediate development state can of value, when, for example, a promising ideas suddenly turn out inappropriate or the interplay of objects turns out more complex than initially expected before making changes. Programmers would benefit from tool support that provides immediate access to source code and run-time of previous development states of interest. We present IDE extensions, implemented for Squeak/Smalltalk, to preserve, retrieve, and work with this information. With such tool support, programmers can work without worries because they can rely on tools that help them with whatever their explorations will reveal. They no longer have to follow certain best practices only to avoid undesired consequences of changing code. KW - Design KW - Experimentation KW - Human Factors KW - Continuous Testing KW - Continuous Versioning KW - Debugging KW - Evolution KW - Explore-first Programming KW - Fault Localization KW - Prototyping Y1 - 2013 U6 - https://doi.org/10.1145/2480360.2384591 SN - 0362-1340 VL - 48 IS - 2 SP - 107 EP - 117 PB - Association for Computing Machinery CY - New York ER -