HECS-4


Industrial processes for high-confidence design

(formerly known as: High-confidence design: Industrial needs and processes)


Lecturers

The objective of this course is to present the cutting-edge industrial practices for the design and analysis of complex software and hardware systems. It presents an overview of state-of-the-art design flows and modeling techniques. It also describes some currently widespread methods for the specification and verification of properties (validation by simulation, conformance testing, runtime verification), thus identifying their distinctive capabilities in comparison with formal methods.

Target skills

  • Software design: understand well-known methodologies (component-based design, model-based design) and theoretical aspects of requirements analysis; put into practice runtime verification and conformance testing
  • Design flows for systems on chip (SoC) and embedded systems: discover languages and methods for system modeling, requirements analysis, formal specification of temporal properties; understand some fundamental issues (design space exploration, performance, safety,…); put into practice simulation and runtime verification
  • Multiphysics systems: grasp the key concepts of systems engineering; understand the main features of some associated modeling languages and simulators
  • Critical systems: understand the essence of the certification process and the interest of some international standards

Prerequisite

Object-oriented design, programming languages (C, Java, C++), basic knowledge of propositional logic and first-order logic, basic knowledge of hardware architecture.

Contents

1. Design and Modeling

  • Embedded software design: design flow and modeling styles (component-based design and BIP, model-based design and SCADE) – Practical examples
  • Embedded hardware design: design flow for systems on chip (SoC) and modeling styles (description and simulation paradigms, high-level modeling with SystemC) – Design space exploration – Functional and non-functional properties (performance, safety, security, low power,…) – Practical examples
  • Systems engineering, design of complex multiphysics systems: design issues, high-level modeling (coarse-grained modeling, use of systems modeling languages like SysML), concrete system modeling and simulation (fine-grained modeling, multiphysics simulation, use of languages and environments like Simulink, Modelica)
  • Critical systems and the certification process, international standards (e.g., DO-254 and DO-178C for airborne systems, ISO 26262 for automotive systems, IEC certification for electrical appliances,…) – Practical example

2. Analysis, Test, Verification

  • Embedded software – Runtime verification versus formal verification: runtime verification basics, handling data in monitoring, runtime verification of sequential software, component-based systems, concurrent, distributed and real-time systems
  • Requirements analysis for embedded software: theory and practice of conformance testing, input-output conformance (ioco)
  • Validation by simulation and test for embedded hardware/systems: transactional (TLM) versus register transfer level (RTL) paradigms, SystemC versus VHDL simulation, testbench design, coverage analysis
  • Embedded systems – Runtime verification versus formal verification: temporal specifications for transactional SoC (systems on chip) models, runtime monitoring of temporal properties for transactional descriptions, transactions observation
  • Open issues, shortcoming and limitation of standard approaches

Credits

6 ECTS (course shared with other MOSIG programs)

Acknowlegements

SCADE Academic Program   Academic Partner of Esterel Technologies, a leading provider of critical systems and software development solutions for the Aerospace & Defense – DO-178C Qualified , Rail Transportation – EN 50128:2011 Certified, Nuclear & Energy – IEC 60880 Compliant, Industrial – IEC 61508 Certified and Automotive – ISO 26262 Certified domains. System and software engineers use ANSYS SCADE® solutions to graphically design, verify, and automatically generate critical systems and software applications with high dependability requirements.

 

Comments are closed.