An open API service indexing awesome lists of open source software.

https://github.com/vertexclique/cekic

Experimental system model generator for RTS
https://github.com/vertexclique/cekic

automotive-applications execution-tracer model-checking model-exploration model-export osek rts system-modeling

Last synced: 12 months ago
JSON representation

Experimental system model generator for RTS

Awesome Lists containing this project

README

          

![](img/cekic.png)

-----
This application creates:
* Approximately system that can be classified under automotive domain
* With that, it also creates runnable listing.
* Bare OSEK style RTS system mappings (which is by default)

## Installation and Development
You need to have `sbt` and `JDK` installed and appended to path.
You can assemble überjar with:
```bash
$ ./assemble.sh
```

There are two ways of running:
### Running überjar
You can run the überjar after assembly phase with:
```bash
$ ./run.sh
```
You can tweak the generation process parameters inside the `run.sh`.

### Running native image
for native executable generation you need to have `GraalVM`.
Currently it is problematic because of AWT dependencies.
If you have `GraalVM` you can run:
```bash
$ ./genimage.sh
```

## Usage (commands & arguments)

```
Usage: cekic [automotive|osek] [options]

Command: automotive
Generates automotive industry conforming application
Command: osek
Generates bare OSEK style application (default)
-o | --out
out is the path to which the testcases are to be stored
-f | --fout
fout is the generic name of the test cases
-a | --sysCount
a is the count of the systems that will be generated from the specification
-k | --appCount
k is the amount of the application that will be generated for the system
-s | --seed
s is seed for system generation
-p | --processors
p is processor count for the underlying system
-c | --commRes
c is communication resource count
-t | --taskCnt
t is task count inside of a task chain
-m | --taskMapper
m maps task chains such that only tasks that are adjacent in the task graph are mapped to the same processor
-r | --assignRandomPrio
r assigns priorities randomly but ensures that tasks in the front of a task chain receives higher priorities
--minu
minu is minimum resource utilization
--maxu
maxu is maximum resource utilization
--minap
minap is minimum activation period
--maxap
maxap is maximum activation period
--bcet
bcet is set as percentage of WCET
--minlax
minlax is minimum constraint laxity
--maxlax
maxlax is minimum constraint laxity
```