SW Synthesis from UML/MARTE

784 views

Published on

System-level specifications are the key entry point to many design flows, as well as the golden reference model throughout the design lifecycle. As such, their quality dramatically impacts the potential quality of the designed product. Specifications have to expose sufficient parallelism and orthogonally capture computation and communication to allow exploring a wide range of target platforms. On top of functional accuracy to capture the designer’s intent, they have to be expressive enough to allow extracting performance requirements and describe system-wide constraints (e.g. application quality metrics).
In this presentation at the ASP-DAC 2014 Tutorial "High-Level Specifications to Cope With Design Complexity", organized by Prof. Gunar Schirner, opportunities and methods to describe, simulate and automatically generate the SW stacks on heterogeneous platforms using UML/MARTE are highlighted.

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
784
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
19
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

SW Synthesis from UML/MARTE

  1. 1. Modeling and SW Synthesis for Heterogeneous Embedded Systems in UML/MARTE Tutorial SD1: High-Level Specifications to Cope With Design Complexity Hector Posadas, Pablo Peñil, Alejandro Nicolás, Eugenio Villar University of Cantabria Spain p
  2. 2. Motivation  Design D i productivity gap d ti it  Raising the abstraction level  Multi-Processing & Heterogeneous platforms H t l tf  Increasing SW content  SW centric SW-centric design methodologies Tutorial SD1: High-Level Specifications to Cope With Design Complexity ASP-DAC 2014, Singapore January 20, 2014 2
  3. 3. Usual SW development flow A M  Architectural Design  HW/SW platform  Architectural mapping  Ad/Hoc SW development N1  System calls  Communication functions  I/O functions & drivers B N2 OS2 OS1 GPU  Verification & Debug  DSP Costly fixing of wrong design decisions Tutorial SD1: High-Level Specifications to Cope With Design Complexity ASP-DAC 2014, Singapore January 20, 2014 3
  4. 4. Usual SW development flow  Lack of reusability  Ad hoc Ad-hoc  Large code A M N1 B N2 re-engineering effort OS3 Tutorial SD1: High-Level Specifications to Cope With Design Complexity ASP-DAC 2014, Singapore OS2 OS1 GPU DSP January 20, 2014 4
  5. 5. Outline    Introduction I t d ti State of the Art The PHARAON approach  Design g Flow  Modeling Methodology  SW Synthesis  Conclusions Tutorial SD1: High-Level Specifications to Cope With Design Complexity ASP-DAC 2014, Singapore January 20, 2014 5
  6. 6. Introduction  Model-Driven Architecture (MDA)  High-abstraction High abstraction level  Mature SW engineering methodology  UML language  Application to embedded systems design Tutorial SD1: High-Level Specifications to Cope With Design Complexity ASP-DAC 2014, Singapore January 20, 2014 6
  7. 7. Introduction  Why UML?  Natural way to capture system architecture  Standard way M B N2 N1 N.P Tutorial SD1: High-Level Specifications to Cope With Design Complexity ASP-DAC 2014, Singapore A N.O January 20, 2014 7
  8. 8. Introduction  Why UML?  Natural way to capture system architecture  Standard way  UML language  Semantics   lacks What is each component? What kind or interaction each link actually means?  Domain-specific p  p profiles UML/MARTE Tutorial SD1: High-Level Specifications to Cope With Design Complexity ASP-DAC 2014, Singapore January 20, 2014 8
  9. 9. Introduction  MARTE  Standard    UML profile for real time embedded systems real-time Platform-Independent Model (PIM) Platform Description Model (PDM) Platform-Specific Model (PSM)  Rich semantics content  Single-source approach Analysis Simulation Verification Parallelization Performance Analysis Optimization Architectural Mapping Tutorial SD1: High-Level Specifications to Cope With Design Complexity ASP-DAC 2014, Singapore System Synthesis January 20, 2014 Design-Space g p Exploration 9
  10. 10. State of the Art State-of-the-Art  Discussion  System  Methods based on specific MoCs and/or profiles    SW     modeling in MARTE Requiring additional semantics q g Non-standard Synthesis Commercial code generation available Limited support for heterogeneity Limited flexibility for different architectural mappings Limited support for the MARTE semantics Tutorial SD1: High-Level Specifications to Cope With Design Complexity ASP-DAC 2014, Singapore January 20, 2014 10
  11. 11. PHARAON Single Source Design Flow Single-Source Tutorial SD1: High-Level Specifications to Cope With Design Complexity ASP-DAC 2014, Singapore January 20, 2014 11
  12. 12. PHARAON Single Source Design Flow Single-Source S i Scenarios C/ C++ C PIM (App) Architectural Mappings HW/SW Platform M2T Tools SW Synthesis ( y (SWSyn) y ) + Compilers Linkers SW stacks HW HW Accelerators HW Accelerators HW Accelerators Accelerators CPUs/DSPs/ASIPs GP-GPUs Tutorial SD1: High-Level Specifications to Cope With Design Complexity ASP-DAC 2014, Singapore January 20, 2014 12
  13. 13. PHARAON Modeling Methodology  Main features M i f t  MDD  concepts Separation of Concerns  CBE: Component-Based Engineering approach  SW centric i  Standard  MARTE profile fil Tutorial SD1: High-Level Specifications to Cope With Design Complexity ASP-DAC 2014, Singapore January 20, 2014 13
  14. 14. PHARAON Modeling Methodology  Data T D t Types for Communication Interfaces f C i ti I t f  Primitive Types    Data Bit Arrays Arrays Structures Tutorial SD1: High-Level Specifications to Cope With Design Complexity ASP-DAC 2014, Singapore January 20, 2014 14
  15. 15. PHARAON Modeling Methodology  Component model  Hierarchical functional encapsulation  Ports  provided or required C2 C2.1 C2.2 C2.3 Tutorial SD1: High-Level Specifications to Cope With Design Complexity ASP-DAC 2014, Singapore January 20, 2014 15
  16. 16. PHARAON Modeling Methodology  Component Interfaces C2 C2.1 C2.2 C2.3 Tutorial SD1: High-Level Specifications to Cope With Design Complexity ASP-DAC 2014, Singapore January 20, 2014 16
  17. 17. PHARAON Modeling Methodology  Component model  Interfaces   sequential, guarded or concurrent, Max. threads available argument sizes (data splitting), Num. of incoming channels C2 C2.1 C2.2 C2.3 Tutorial SD1: High-Level Specifications to Cope With Design Complexity ASP-DAC 2014, Singapore January 20, 2014 17
  18. 18. PHARAON Modeling Methodology  Component model  Channels    manage communications BlockingFunctionCall, BlockingFunctionReturn, both or none Timeout Priority C2 C2.1  C2.2 Buffer Size  ResMult Tutorial SD1: High-Level Specifications to Cope With Design Complexity ASP-DAC 2014, Singapore C2.3 January 20, 2014 18
  19. 19. PHARAON Modeling Methodology  The Platform Description Model  HW/SW  Software Components   Components using MARTE stereotypes OS, HdS, Drivers, … Hardware Components  Processors, Memories, Buses, Custom HW, I/O Tutorial SD1: High-Level Specifications to Cope With Design Complexity ASP-DAC 2014, Singapore January 20, 2014 19
  20. 20. PHARAON Modeling Methodology  Platform-Specific Model  Memory spaces mapped to platform resources  Mapping of functional components  to memory spaces and/or platform resources Tutorial SD1: High-Level Specifications to Cope With Design Complexity ASP-DAC 2014, Singapore January 20, 2014 20
  21. 21. PHARAON Modeling Methodology  Architectural Design  Code reuse and/or development p  platform independent  HW/SW platform  Architectural mapping  SW Synthesis  Fast design optimization Tutorial SD1: High-Level Specifications to Cope With Design Complexity ASP-DAC 2014, Singapore January 20, 2014 21
  22. 22. SW Synthesis   System heterogeneity Full support for  any architectural mapping decided for each component  any specific processing resource selected  any processing resource type  any memory space  any OS used by the processing resource  any communication i f i ti infrastructure t t Tutorial SD1: High-Level Specifications to Cope With Design Complexity ASP-DAC 2014, Singapore January 20, 2014 22
  23. 23. SW Synthesis  Functional synthesis  One executable per memory-space memory space  Platform-Independent (C/C++) code   Highest reusability Non-recommended explicit calls to platform services     communication, concurrency, etc. Platform services should derived from the UML/MARTE model POSIX and/or OpenMP as alternatives Static execution flows  <<SwSchedulableResource>> Tutorial SD1: High-Level Specifications to Cope With Design Complexity ASP-DAC 2014, Singapore January 20, 2014 23
  24. 24. SW Synthesis  Functional synthesis  Platform-Specific Platform Specific    code PlatformIndependent C code OpenCL/GL code for GPU Optimized C code for DSPs OpenCL/GL for GPUs OpenMP for SMPs… Configuration Original 908.28 sec 572.92 sec ARM-NEON 325.81 sec 255.28 sec ARM+DSP blocking call 206.01 206 01 sec 193.45 193 45 sec ARM+DSP non-blocking call 895.98 sec 431.68 sec ARM-NEON+DSP ARM NEON+DSP non-blocking call 247.93 sec 215.96 sec C3 Optimized Code ARM DSP optimized C code Tutorial SD1: High-Level Specifications to Cope With Design Complexity ASP-DAC 2014, Singapore Memory Space OS SMP node GPU DSP Communication Infrastructure January 20, 2014 24
  25. 25. SW Synthesis  Communication synthesis  Essential activity in heterogeneous SW synthesis  Client-Server paradigm  Dependent on the architectural mapping Tutorial SD1: High-Level Specifications to Cope With Design Complexity ASP-DAC 2014, Singapore January 20, 2014 25
  26. 26. SW Synthesis  Communication synthesis  Architectural    Same memory space Same OS Different processing nodes  Benefits      mapping / Drawbacks Communication Speed Memory protection Memory/cache use Scheduling g Parallelism… Tutorial SD1: High-Level Specifications to Cope With Design Complexity ASP-DAC 2014, Singapore January 20, 2014 26
  27. 27. SW Synthesis  Communication synthesis 3 Layers automatically inserted in service calls  Layer 1: communication semantics   Layer 2 management f allocation-dependent communications L 2: t for ll ti d d t i ti   Allocation independent Thread generation, data splitting, synchronization Layer 3: Low-level communications y  Inter-thread, Inter-process, distributed communication Tutorial SD1: High-Level Specifications to Cope With Design Complexity ASP-DAC 2014, Singapore January 20, 2014 27
  28. 28. SW Synthesis  Communication synthesis  Layer1: Independent  Channel properties  of architectural mapping RPC BlockingFunctionCall (T) BlockingFunctionReturn (T) T M Ta T Ta M Tb Tutorial SD1: High-Level Specifications to Cope With Design Complexity ASP-DAC 2014, Singapore Tb January 20, 2014 28
  29. 29. SW Synthesis  Communication synthesis  Layer1: Independent  Channel properties  of architectural mapping Pipeline BlockingFunctionCall (F) BlockingFunctionReturn (T) T M Ta T Ta M Tb Tutorial SD1: High-Level Specifications to Cope With Design Complexity ASP-DAC 2014, Singapore Tb January 20, 2014 29
  30. 30. SW Synthesis  Communication synthesis  Layer1: Independent  Channel properties  of architectural mapping Pipeline & Parallel BlockingFunctionCall (F) BlockingFunctionReturn (F) T M Ta T Ta Tb M Tb Tutorial SD1: High-Level Specifications to Cope With Design Complexity ASP-DAC 2014, Singapore January 20, 2014 30
  31. 31. SW Synthesis  Communication synthesis  Layer1: Independent  Interface properties  T of architectural mapping Data splitting M Ta Ta Tb M1 M2 Tb Tutorial SD1: High-Level Specifications to Cope With Design Complexity ASP-DAC 2014, Singapore January 20, 2014 31
  32. 32. SW Synthesis  Communication synthesis  Layer1: Independent  Interface properties  T of architectural mapping Data splitting M Ta Ta Tb M1 M2 Tb Tutorial SD1: High-Level Specifications to Cope With Design Complexity ASP-DAC 2014, Singapore January 20, 2014 32
  33. 33. SW Synthesis  Implementation alternatives  Channel  semantics can be implemented in multiple ways Different OS services     shared memory message queue socket file... file  Performance is highly dependent on platform and OS  Synthesis enables fast exploration  optimal channel implementation for specific platform and code Tutorial SD1: High-Level Specifications to Cope With Design Complexity ASP-DAC 2014, Singapore January 20, 2014 33
  34. 34. SW Synthesis  MultiCore Association APIs  Standard APIs for communication and synchronization  Closely distributed embedded systems    MCAPI - communication MRAPI - synchronization MTAPI - task generation  Independence from OS  OS-agnostic channel implementation   Components treated as MCAPI nodes Ports treated as MCAPI endpoints Tutorial SD1: High-Level Specifications to Cope With Design Complexity ASP-DAC 2014, Singapore January 20, 2014 34
  35. 35. SW Synthesis  Platform Inputs & Outputs  Drivers associated to environmental components Camera Test-Bench code Camera 1 driver PLC Test-Bench code PLC driver Environment Model System Model P1 P2 Camera 2 driver Memory Space OS1 SMP Node PLC Communication Infrastructure Tutorial SD1: High-Level Specifications to Cope With Design Complexity ASP-DAC 2014, Singapore January 20, 2014 35
  36. 36. Conclusions  UML/MARTE  Powerful modeling methodology  Single-Source approach  Platform-Independent Modeling Platform Independent  Maximizing reusability Tutorial SD1: High-Level Specifications to Cope With Design Complexity ASP-DAC 2014, Singapore January 20, 2014 36
  37. 37. Conclusions  SW Synthesis  Functional modeling  Functional synthesis  Communication synthesis  Platform Inputs & Outputs  Actually enables platform-independent code  Reduces in depth knowledge of platforms in-depth  Support shorter design optimization cycles   wider design exploration shorter code generation on heterogeneous platforms Tutorial SD1: High-Level Specifications to Cope With Design Complexity ASP-DAC 2014, Singapore January 20, 2014 37
  38. 38. Additional Information      http://www.teisa.unican.es/gim/en/proyecto?id=95 H. Posadas, P. Peñil, A. Nicolás, E. Villar "Automatic synthesis of embedded SW for evaluating p y y g physical implementation alternatives p from UML/MARTE models supporting memory space separation“ Microelectronics Journal, in press, doi: 10.1016/j.mejo.2013.11.003. H. Posadas, E. Villar, et al. "EU FP7-288307 PHARAON project: Parallel and heterogeneous architecture for real-time O f applications“ Euromicro Conference on Digital System Design, DSD 2013, IEEE, doi: 10.1109/DSD.2013.47. 10 1109/DSD 2013 47 H. Posadas, P. Peñil, A. Nicolás, E. Villar "System synthesis from UML/MARTE models: The PHARAON approach“, Electronic System Level Synthesis Conference, ESLsyn, 2013, IEEE. P. Peñil, H. Posadas, A. Nicolás, E. Villar "Automatic synthesis from UML/MARTE models using channel semantics“ International Workshop on Model-Based Arquitecting and Construction of Embedded S t E b dd d Systems, ACES MB 2012 d i 10 1145/2432631 2432640 ACES-MB 2012, doi: 10.1145/2432631.2432640. Tutorial SD1: High-Level Specifications to Cope With Design Complexity ASP-DAC 2014, Singapore January 20, 2014 38

×