Upgrade to Pro — share decks privately, control downloads, hide ads and more …

LABSIM - Simulation Software Ecosystem : Low Level Architecture

Nawfel KINANI
November 17, 2017

LABSIM - Simulation Software Ecosystem : Low Level Architecture

Nawfel KINANI

November 17, 2017
Tweet

More Decks by Nawfel KINANI

Other Decks in Research

Transcript

  1. simulation_software_ecosystem-> Low-level architecture 12 Software Simulation Ecosystem ALU.xml OCEAN *.proto

    my_awesome_code.* THETYS [frontend] “template model” Frontend Backend
  2. simulation_software_ecosystem-> Low-level architecture 13 Software Simulation Ecosystem ALU.xml OCEAN *.proto

    my_awesome_code.* CXX C# Java Python Go Simulink Labview Ruby, Node.js... THETYS [frontend] “template model” Frontend Backend
  3. simulation_software_ecosystem-> Low-level architecture 14 Software Simulation Ecosystem ALU.xml OCEAN *.proto

    my_awesome_code.* CXX C# Java Python Go Simulink Labview Ruby, Node.js... gRPC THETYS [frontend] “template model” Frontend Backend
  4. simulation_software_ecosystem-> Low-level architecture 15 Software Simulation Ecosystem HTTP/2 ALU.xml OCEAN

    *.proto my_awesome_code.* CXX C# Java Python Go Simulink Labview Ruby, Node.js... gRPC THETYS [frontend] “template model” Frontend Backend
  5. simulation_software_ecosystem-> Low-level architecture 16 Software Simulation Ecosystem HTTP/2 ALU.xml OCEAN

    *.proto my_awesome_code.* CXX C# Java Python Go Simulink Labview Ruby, Node.js... gRPC Protobuf THETYS [frontend] “template model” Frontend Backend
  6. simulation_software_ecosystem-> gRPC & Protobuf overview 18 Software Simulation Ecosystem gRPC

    is an open source remote procedure call (RPC) system initially developed at Google. It uses HTTP/2 for transport, Protocol Buffers as the interface description language, and provides features such as authentication, bidirectional streaming and flow control, blocking or nonblocking bindings, and cancellation and timeouts. It generates cross-platform client and server bindings for many languages.
  7. simulation_software_ecosystem-> Low-level architecture 22 Software Simulation Ecosystem HTTP/2 ALU.xml OCEAN

    *.proto my_awesome_code.* CXX C# Java Python Go Simulink Labview Ruby, Node.js... gRPC Protobuf THETYS [frontend] “template model” Frontend Backend
  8. simulation_software_ecosystem-> Low-level architecture 23 Software Simulation Ecosystem HTTP/2 ALU.xml OCEAN

    *.proto my_awesome_code.* CXX C# Java Python Go Simulink Labview Ruby, Node.js... gRPC Protobuf THETYS [backend] gRPC Protobuf THETYS [frontend] “template model” Frontend Backend
  9. simulation_software_ecosystem-> Low-level architecture 25 Software Simulation Ecosystem HTTP/2 ALU.xml OCEAN

    *.proto Protobuf gRPC THETYS [logger] “template model” Frontend Backend
  10. simulation_software_ecosystem-> Low-level architecture 26 Software Simulation Ecosystem HTTP/2 ALU.xml OCEAN

    *.proto *.xml Protobuf gRPC THETYS [logger] “template model” Frontend Backend
  11. simulation_software_ecosystem-> Low-level architecture 27 Software Simulation Ecosystem HTTP/2 ALU.xml OCEAN

    *.proto *.xml Protobuf gRPC TSDB THETYS [logger] “template model” Frontend Backend
  12. simulation_software_ecosystem-> Low-level architecture 28 Software Simulation Ecosystem TSDB (Time Series

    DataBase) Toolchain [ InfuxDB + Graphana + Graphite (Web GUI) ] →
  13. simulation_software_ecosystem-> Low-level architecture 29 Software Simulation Ecosystem HTTP/2 ALU.xml OCEAN

    *.proto *.xml Protobuf gRPC TSDB THETYS [logger] “template model” Frontend Backend
  14. simulation_software_ecosystem-> Low-level architecture 30 Software Simulation Ecosystem HTTP/1.1 JSON HTTP/2

    ALU.xml OCEAN *.proto *.xml Protobuf gRPC Protobuf gRPC TSDB THETYS [logger] THETYS [gateway] RESTful API “template model” Frontend Backend
  15. simulation_software_ecosystem-> Low-level architecture 32 Software Simulation Ecosystem HTTP/1.1 JSON HTTP/2

    ALU.xml OCEAN *.proto *.xml Protobuf gRPC Protobuf gRPC TSDB THETYS [logger] THETYS [gateway] RESTful API “template model” Frontend Backend
  16. simulation_software_ecosystem-> Low-level architecture 33 Software Simulation Ecosystem MAUVE ? MAVLINK

    ? HTTP/2 ALU.xml OCEAN *.proto *.xml Protobuf gRPC Protobuf gRPC TSDB THETYS [logger] THETYS [gateway] Hardware In the loop “template model” Frontend Backend
  17. simulation_software_ecosystem-> Low-level architecture 34 Software Simulation Ecosystem HLA ? HTTP/2

    ALU.xml OCEAN *.proto *.xml Protobuf gRPC Protobuf gRPC TSDB THETYS [logger] THETYS [gateway] BLADE System of system “template model” Frontend Backend
  18. simulation_software_ecosystem-> Low-level architecture 35 Software Simulation Ecosystem HTTP/2 ALU.xml OCEAN

    *.proto my_awesome_code.* CXX C# Java Python Go Simulink Labview Ruby, Node.js... *.xml gRPC Protobuf THETYS [backend] gRPC Protobuf Protobuf gRPC Protobuf gRPC TSDB THETYS [logger] THETYS [gateway] THETYS [frontend] “template model”
  19. simulation_software_ecosystem-> Low-level architecture 49 Software Simulation Ecosystem Frontend Backend RHEA

    ISU.xml SLU.xml HCU.xml DDS-PSM-Cxx [ISO/IEC C++ 2003] KRONOS [Slave] *.idl traits_*.hpp
  20. simulation_software_ecosystem-> Low-level architecture 50 Software Simulation Ecosystem Frontend Backend RHEA

    ISU.xml SLU.xml HCU.xml DDS DDS-PSM-Cxx [ISO/IEC C++ 2003] KRONOS [Slave] *.idl traits_*.hpp
  21. simulation_software_ecosystem-> Low-level architecture 51 Software Simulation Ecosystem Frontend Backend RHEA

    ISU.xml SLU.xml HCU.xml DDS DDS-PSM-Cxx [ISO/IEC C++ 2003] KRONOS [Slave] idlpp *.idl traits_*.hpp
  22. simulation_software_ecosystem-> Low-level architecture 52 Software Simulation Ecosystem Frontend Backend RHEA

    ISU.xml SLU.xml HCU.xml DDS DDS-PSM-Cxx [ISO/IEC C++ 2003] KRONOS [Slave] idlpp *.cpp *.hpp *.idl traits_*.hpp
  23. simulation_software_ecosystem-> Low-level architecture 53 Software Simulation Ecosystem Frontend Backend RHEA

    ISU.xml SLU.xml HCU.xml DDS DDS-PSM-Cxx [ISO/IEC C++ 2003] KRONOS [Slave] idlpp *.cpp *.hpp *.idl traits_*.hpp
  24. simulation_software_ecosystem-> DDS overview 55 Software Simulation Ecosystem The OMG (Object

    Management Group) DDS (Data Distribution Service) standard is a cloud-based middleware introduced in 2004. It stand as a standard technology for ubiquitous, interoperable, secure, platform independent, and real-time data sharing across network connected devices. DDS behaviour and semantics can be controlled via a rich set of QoS (Quality of Service) Policies.
  25. simulation_software_ecosystem-> Low-level architecture 63 Software Simulation Ecosystem Frontend Backend RHEA

    ISU.xml SLU.xml HCU.xml DDS DDS-PSM-Cxx [ISO/IEC C++ 2003] KRONOS [Slave] idlpp *.cpp *.hpp *.idl traits_*.hpp
  26. simulation_software_ecosystem-> Low-level architecture 64 Software Simulation Ecosystem Frontend Backend RHEA

    ISU.xml SLU.xml HCU.xml DDS DDS-PSM-Cxx [ISO/IEC C++ 2003] KRONOS [Slave] idlpp *.cpp *.hpp *.idl traits_*.hpp
  27. simulation_software_ecosystem-> Low-level architecture 65 Software Simulation Ecosystem Frontend Backend RHEA

    DDS-PSM-Cxx [ISO/IEC C++ 2003] ISU.xml SLU.xml HCU.xml KRONOS [Master] DDS idlpp *.cpp *.hpp DDS-PSM-Cxx [ISO/IEC C++ 2003] KRONOS [Slave] idlpp *.cpp *.hpp *.idl traits_*.hpp
  28. simulation_software_ecosystem-> Low-level architecture 69 Software Simulation Ecosystem RHEA ISU.xml SLU.xml

    HCU.xml OCEAN ALU.xml “template model” *.proto your_awesome_code.* *.idl traits_*.hpp Generate
  29. simulation_software_ecosystem-> Low-level architecture 70 Software Simulation Ecosystem RHEA DDS-PSM-Cxx [ISO/IEC

    C++ 2003] ISU.xml SLU.xml HCU.xml KRONOS [Slave] HTTP/2 CXX C# Java Python Go Simulink Labview Ruby, Node.js... gRPC Protobuf THETYS [backend] gRPC Protobuf THETYS [frontend] OCEAN ALU.xml “template model” *.proto your_awesome_code.* DDS idlpp *.cpp *.hpp DDS-PSM-Cxx [ISO/IEC C++ 2003] KRONOS [Master] idlpp *.cpp *.hpp *.idl traits_*.hpp Scale
  30. simulation_software_ecosystem-> Low-level architecture 71 Software Simulation Ecosystem RHEA DDS-PSM-Cxx [ISO/IEC

    C++ 2003] ISU.xml SLU.xml HCU.xml KRONOS [Slave] HTTP/2 CXX C# Java Python Go Simulink Labview Ruby, Node.js... gRPC Protobuf THETYS [backend] gRPC Protobuf THETYS [frontend] OCEAN ALU.xml “template model” *.proto your_awesome_code.* DDS idlpp *.cpp *.hpp DDS-PSM-Cxx [ISO/IEC C++ 2003] KRONOS [Master] idlpp *.cpp *.hpp *.idl traits_*.hpp our_awesome_code.* Connect