Using Architectural Abstractions in Embedded System Design
Keywords:embedded system, system level design, architectural abstraction, design space exploration, multi-language design
The conceptual part of complex embedded systems design includes the following key stages: system analysis of initial requirements, architectural and micro-architectural decisions generation, evaluation of decisions. During these stages, many important mechanisms of subsequent implementation are defined. These are the stages that are the least formalized and automated. The proposed method allows the design process to be partially formalized by the usage of computational mechanism concept as the central abstraction. The considered example regards to analysis of languages used together in complex embedded systems design with “immersion” to the level of custom system on a chip design. The comparison of design languages, carried out on the basis on the proposed approach, allows the design means for subtasks and subsystems to be chosen more effectively. The source code markup method is proposed as a tool for automated processing of multi-language projects targeted to work with design entities, which cannot be adequately and directly expressed by the standard languages means. In general, the demonstrated approach stimulates the designers to concentrate on “cross-cutting” conceptual mechanisms of a project and provides a way to monitor the adequacy of their multi-stage implementation.