pyCPA: a pragmatic Python implementation of Compositional Performance Analysis

Tools for schedulability analysis, response-time analysis and related issues
E.g.: scheduler synthesis, bounds on maximum response times, end-to-end latencies, buffer sizes...
Post Reply
jschlatow
Posts: 1
Joined: Fri Jul 03, 2015
Location: Braunschweig, Germany
Contact:

pyCPA: a pragmatic Python implementation of Compositional Performance Analysis

Post by jschlatow » Tue Jun 23, 2015

Description of the tool
Given, you have a (distributed) real-time system and you want to know about worst-case (end-to-end) timing behavior, then you can use pyCPA to obtain these bounds.

You provide your architecture in the form of resources such as busses and CPUs and the corresponding scheduling policies. In a second step, you define your task-graph which is a specification of task-communication (precedence relations) and tasks' properties (best/worst-case execution times, activation patterns).

pyCPA will then calculate the following metrics:
  • worst-case response times (wcrt) of tasks
  • end-to-end timing of task chains
  • backlog of task activations (maximum buffer sizes)
  • output event models of dependent tasks
Usage scope
pyCPA is a pragmatic Python implementation of Compositional Performance Analysis (aka the SymTA/S approach provided by Symtavision) used for research in worst-case timing analysis. Unlike the commercial SymTA/S tool, pyCPA is not intended for commercial-grade use and does not guarantee correctness of the implementation.

The aim of pyCPA is also to provide an analysis core that can be easily extended (e.g. schedulers, activation patterns, etc.).

People
- Philip Axer (TU Braunschweig, NXP)
- Jonas Diemer (TU Braunschweig, Symtavision)
- Daniel Thiele (TU Braunschweig)
- Johannes Schlatow (TU Braunschweig)

Links
- Website: http://pycpa.readthedocs.org
- Code: bitbucket repository

Release history
Continuous release and improvement of the core.

Tags:

Post Reply