Architecture Synthesis for Safety-Critical Systems
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github
ch.hilbri.assist.cli
ch.hilbri.assist.dse.dsl.ide
ch.hilbri.assist.dse.dsl.tests
ch.hilbri.assist.dse.dsl.ui.tests
ch.hilbri.assist.dse.dsl.ui
ch.hilbri.assist.dse.dsl
ch.hilbri.assist.dse.tests
ch.hilbri.assist.dse [#89]: Relax input spec grammar by using Xtext options Oct 12, 2018
ch.hilbri.assist.features.documentation Bumping version numbers to 2.6.0 Oct 5, 2018
ch.hilbri.assist.features.dse
ch.hilbri.assist.features.gui
ch.hilbri.assist.features.libraries Bumping version numbers to 2.6.0 Oct 5, 2018
ch.hilbri.assist.features.mapping
ch.hilbri.assist.features.scheduling Bumping version numbers to 2.6.0 Oct 5, 2018
ch.hilbri.assist.gui.logging Bumping version numbers to 2.6.0 Oct 5, 2018
ch.hilbri.assist.gui.tests [#134] Move to Eclipse 2018-09 Sep 20, 2018
ch.hilbri.assist.gui
ch.hilbri.assist.libraries.choco-solver Bumping version numbers to 2.6.0 Oct 5, 2018
ch.hilbri.assist.libraries.jgrapht
ch.hilbri.assist.libraries.jxl
ch.hilbri.assist.mapping.benchmarking
ch.hilbri.assist.mapping.dsl.ide
ch.hilbri.assist.mapping.dsl.tests
ch.hilbri.assist.mapping.dsl.ui.tests
ch.hilbri.assist.mapping.dsl.ui
ch.hilbri.assist.mapping.dsl [#89]: Relax input spec grammar by using Xtext options Oct 12, 2018
ch.hilbri.assist.mapping.tests [#89]: Relax input spec grammar by using Xtext options Oct 10, 2018
ch.hilbri.assist.mapping
ch.hilbri.assist.model.edit
ch.hilbri.assist.model.editor
ch.hilbri.assist.model [#89]: Relax input spec grammar by using Xtext options Oct 12, 2018
ch.hilbri.assist.releng.product.gui
ch.hilbri.assist.releng.targetplatform
ch.hilbri.assist.releng
ch.hilbri.assist.scheduling.dsl.ide Bumping version numbers to 2.6.0 Oct 5, 2018
ch.hilbri.assist.scheduling.dsl.tests
ch.hilbri.assist.scheduling.dsl.ui.tests Bumping version numbers to 2.6.0 Oct 5, 2018
ch.hilbri.assist.scheduling.dsl.ui [#89]: Relax input spec grammar by using Xtext options Oct 12, 2018
ch.hilbri.assist.scheduling.dsl [#89]: Relax input spec grammar by using Xtext options Oct 12, 2018
ch.hilbri.assist.scheduling.tests
ch.hilbri.assist.scheduling
.gitignore
.gitmodules Created a new choco-solver plugin version Jun 30, 2017
.travis.yml Fixed travis script Apr 9, 2018
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md Mar 15, 2018
LICENSE.md
README.md Updates to the README May 31, 2018
appveyor.yml Added explicit appveyor config Apr 13, 2018

README.md

Architecture Synthesis for Safety-Critical Systems - ASSIST

Build StatusBuild status

Overview

The ASSIST Tool Suite is designed for system engineers and system architects of safety-critical embedded systems or cyber-physical systems. ASSIST automates the deployment and scheduling from software components to hardware resources while respecting safety, reliability and timing requirements.

ASSIST has been initially developed as a proof of concept for the dissertation of Robert Hilbrich. Since its availability it was successfully used within several research projects with industrial partners from the aerospace and automotive domain.

ASSIST Screenshot Mapping

ASSIST Screenshot Scheduling

Downloads

Can be found here.

Documentation

The documentation is contained in the GitHub Wiki for this project.

More background information about ASSIST and its underlying engineering approach can be obtained in this book.

Book

Benefits

The benefits for the systems engineer are:

  • Several resource configurations can be quickly analyzed for feasibility
  • Conflicts in resource utilizations can be identified early in the development process
  • Resources can be minimized with respect to the software requirements
  • Resource requirements, resource capabilities and safety constraints are explicitly stated (no hidden links)
  • The design space for possible hardware architectures and resource configurations can be explored very efficiently
  • Resource utilization and deployment evaluation can be optimized with pre-defined or customizable metrics

Motivation and Background

Microprocessors and networks in safety-critical systems can often be shared by several system functions. Sharing resources facilitates the consolidation of devices, so that space, weight and power requirements can be minimized. This is often called a multi function integration.

Software components are deployable entities which implement system functions and comprise of one or more threads. Their deployment to resources in the hardware platform plays an important role during the design of a safety-critical embedded system.

With the rising complexity of system architectures, increasing functional and non-functional requirements (safety, reliability, predictability) the manual construction of a deployment is no longer economically feasible.

The ASSIST Tool Suite aims to automate this challenging, error prone and complex task. It requires the user to specify:

  • the resource requirements of the software components,
  • the features and capabilities of the hardware components and
  • safety and reliability requirements

in a textual domain specific language.

This specification of a deployment problem is automatically transfered into Constraint Satisfaction Problem (CSP). Solutions for the CSP represent correct deployments. They are automatically generated with the constraint solver Choco. Solutions can also be evaluated and optimized based on pre-defined or customizable metrics.