Git Product home page Git Product logo

marte2-doctools's Introduction

Overview

This repository contains some demonstrations of documentation generated automatically for real-time control programs developed with the MARTe2 system.

Graphviz Generation

The MARTe2-tools repository (not yet published in public) contains three applications for parsing and analysing MARTe2 application descriptions. MARTe2 applications can be described using three alternative formats : cdb (configuration database - the traditional markup), json, and XML.

  1. CfgToString.ex : creates a large C string variable from a complete application file.
  2. CfgToCfg.ex : transforms an application description from cdb/json/xml to cdb/json/xml
  3. CfgToDot.ex : generates a series of several graphviz (dot) graphs which describe parts of the application

See this detailed explanation with an example application.

CfgToDot

A MARTe2 application is defined in several stanzas which describe respectively :

  1. Interfaces : optional components that provide bindings to external applications over a variety of protocols (HTTP, CA, ...)
  2. StateMachine : an optional component for applications which require several states. One state is active at one time.
  3. Data Sources and Data Sinks : mandatory components which provide the route for data into or out of the real-time threads.
  4. States : at least one state, which must hold at least one Real-Time thread.
  5. Real-Time Threads : a container of functions and other executable objects which implement a data pipeline
  6. Scheduler/Timer : a supervisory service for orchestrating the pace of real-time threads.
sequenceDiagram
	participant P as Power Function
	participant R as Real-Time Thread
	participant So as Data Source
	participant B as Broker
	participant Si as Data Sink
		R->>So: Read(Voltage)
		So->>B: Execute()
		B->>R:  return ADC(Ch.1).Read()
		R->>So: Read(Current)
		So->>B: Execute()
		B->>R:  return ADC(Ch.2).Read()
	 	R->>P:  Execute(Current, Voltage)
		P->>R:  return I*V	
		R->>Si: Write(Power)
		Si->>B: Execute()
		B->>R:  DAC(Ch.1).Write()
Loading

marte2-doctools's People

Contributors

adamvstephen avatar

Stargazers

Gabor Cseh avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.