A Graphical Modelling Editor for Starsoc Design Flow Tool Based on Model Driven Engineering Approach
Total Page:16
File Type:pdf, Size:1020Kb
e-Informatica Software Engineering Journal, Volume 12, Issue 1, 2018, pages: 9–26, DOI 10.5277/e-Inf180101 A Graphical Modelling Editor for STARSoC Design Flow Tool Based on Model Driven Engineering Approach Elhillali Kerkouche∗, El Bay Bourennane∗∗, Allaoua Chaoui∗∗∗ ∗Department of Computer Science, Mohamed Seddik Ben Yahia University, Jijel, Algeria ∗∗LE2I Laboratoire, , University of Bourgogne, Dijon, France ∗∗∗MISC Laboratory, Department of Computer Science and its Applications, Faculty of IT, Abdelhamid Mehri University, Constantine, Algeria [email protected], [email protected], [email protected] Abstract Background: Due to the increasing complexity of embedded systems, system designers use higher levels of abstraction in order to model and analyse system performances. STARSoC (Synthesis Tool for Adaptive and Reconfigurable System-on-Chip) is a tool for hardware/software co-design and the synthesis of System-on-Chip (SoC) starting from a high level model using the StreamsC textual language. The process behaviour is described in the C syntax language, whereas the architecture is defined with a small set of annotation directives. Therefore, these specifications bring together a large number of details which increase their complexity. However, graphical modelling is better suited for visualizing system architecture. Objectives: In this paper, the authors propose a graphical modelling editor for STARSoC design tool which allows models to be constructed quickly and legibly. Its intent is to assist designers in building their models in terms of the UML Component-like Diagram, and in the automatic translation of the drawn model into StreamsC specification. Methods: To achieve this goal, the Model-Driven Engineering (MDE) approach and well-known frameworks and tools on the Eclipse platform were employed. Conclusion: Our results indicate that the use of the Model-Driven Engineering (MDE) approach reduces the complexity of embedded system design, and it is sufficiently flexible to incorporate new design needs. Keywords: embedded systems, hardware/software co-design, STARSoC tool, UML, model-driven engineering, Eclipse modelling project 1. Introduction amount of code to be written by designers, which saves time to market and reduces fabrication The increasing complexity of embedded system costs compared to hand-tuned implementations designs calls for high level specification languages [2]. For these reasons, the design tools are widely (like StreamsC [1] or others C/C++ based ex- adopted by the embedded system designers’ com- tensions), and for automated transformations munity [3]. The specification of the applications towards lower level descriptions. These languages becomes easier at high abstraction levels, since allow to create high level models quickly, run sim- the implementation details are hidden from the ulations, optimize designs and investigate the ef- designer. ficiency of different algorithms and architectures The Synthesis Tool for Adaptive and Recon- before generating their corresponding low level figurable System-On-Chip(STARSoC) [4] is one implementations. The automatic generation of of those design tools that allow hardware-soft- low level implementation drastically reduces the ware co-design, design space exploration and high 10 Elhillali Kerkouche, El Bay Bourennane, Allaoua Chaoui level synthesis from a StreamsC textual specifi- objective, it is proposed to use the Model-Driven cation. The StreamsC language [5] permits the Engineering (MDE) [7] approach which is based modelling of the architecture and the behaviour on meta-modelling and Model Transformations, of a complex embedded system containing both and to employ well-known frameworks and tools Hardware and Software communicating processes. under the Eclipse platform to in this automatic In StreamsC textual models, the architecture of approach. the system is defined with a collection of annota- The rest of the paper is organized as fol- tion directives which are used to declare processes lows. Section 2 outlines the major related works. and communication between them, whereas pro- In section 3, some concepts of the StreamsC cesses’ behaviours are described in the C pro- language are presented. Section 4 presents the gramming language. Therefore, these specifica- STARSoC Tool. In section 5, an overview of the tions allow for gathering a lot of details (system Eclipse Modelling Project is given. In section 6, architecture and processes’ behaviours) which the approach is presented and it is applied on an increase their length and their complexity, and example in section 7. The last section concludes consequently decrease their legibility. the paper and gives some perspectives of this It is well known that graphical specification work. is better suited for describing the system com- ponents and their relationships, whereas compo- nents’ behaviours are generally expressed in tex- 2. Related works tual notations (like the C programming language) which allow their reuse as building blocks in new In the literature, several research works have designs. The optimal modelling solution consists been done on the automatic code generation tools in combining textual notations with graphical for Multi-Processor Systems-on-Chip (MPSoCs) notations in order to accumulate their advan- in order to facilitate and to accelerate the design tages. Thereby, every system aspect is provided process. with the most suitable view (textual/graphical). In addition to STARSoC, there are several UML Component Diagrams [6] are widely used code generation tools for MPSoCs which use the to define the structure of a system. A Component textual specification of the whole system as input. Diagram provides a clear view of the organization From this high level specification containing var- and the dependency among components in a sys- ious system parameters, the tools generate a low tem, including their contents (source code, binary level description of the system and perform their code or executable) and their interfaces through functionalities which are necessary in the design which they interact with one another. In this process, such as simulation, design space explo- work, the Authors propose to develop a graphical ration, performance evaluation, etc. For exam- modelling editor for the STARSoC design tool. ple, xENOC [8] is an automatic environment for More precisely, it is an approach and a tool sup- hardware/software design of Network-on-Chip port to allow a high-level graphical specification (NoC)-based MPSoC architectures. xENoC is of embedded systems which combines the archi- based on a tool, called NoCWizard which uses tectural and behavioural aspects of a system in an eXtensible Markup Language (XML) specifi- one model. The architectural aspect is expressed cation (including NoC features, Intellectual Prop- with a UML Component-like Diagram which is an erties (IPs) and mapping) to generate many types adaptation of the UML Component Diagram to of NoC instances by using Verilog language [9]. the structural concepts of the StreamsC language, In addition to NoC instances generation, xNoC whereas the behavioural aspect is specified in the also includes an Embedded Message Passing In- C programming language. From the graphical terface (eMPI) supporting parallel task communi- specification of a system, this approach permits cation. SystemCoDesigner [10] is another design to automatically generate a clean and correct environment for high-level system modelling and SteamsC specification. In order to achieve this simulation, automatic design space exploration A Graphical Modelling Editor for STARSoC Design Flow Tool Based on Model Driven Engineering Approach 11 and automatic hardware/software synthesis from Computer Science Laboratory of Lille University, abstract model to final implementation. In Sys- French) developed a design flow methodology and temCoDesigner, the input model is given using a tool labelled GASPARD2 [17]. Using a subset of SystemC textual language [11] which describes MARTE Profile, GASPARD2 follows the Model the structural and behavioural aspects of the sys- Driven Architecture (MDA) [18] principles to de- tem. In addition to academic environments, some scribe systems at different level of abstractions. It commercial design environments support the cre- emphasizes system level co-modelling (hardware ation of MPSoCs. The most popular are Altera and software), simulation, models refinement, System on a Programmable Chip (SoPC) [12] automatic code generation and IPs integration. and Xilinx Embedded Development Kit (EDK) The UML-SystemC profile [19] is proposed to [13]. In these environments, the hardware part take advantages of both UML and the SystemC description and the hardware-software integra- language. It captures both the structural and the tion of the final system are strongly automated behavioural features of the SystemC language using an extensive IP cores library. Although tex- and allows high level modelling of systems with tual notations better describe system parameters straightforward translation to the SystemC code. and aspects for the design and implementation, In [20], the authors proposed an UML-based these notations increase the complexity of system design environment, called Koski, for MPSoCs specifications. implementations of wireless sensor network ap- On the other hand, several research works plications. It provides a complete design flow have been proposed to adapt the UML notation covering the design phases from system level to the modelling of embedded systems. The