Skip to content

elbowz/PyMAPE

Folders and files

NameName
Last commit message
Last commit date

Latest commit

d4f81f3 · Dec 20, 2022
Nov 28, 2022
Dec 20, 2022
Dec 20, 2022
Dec 20, 2022
Nov 28, 2022
Dec 8, 2022
Nov 28, 2022
Dec 12, 2022
Mar 4, 2022
Dec 14, 2022
Dec 13, 2022
Dec 20, 2022

Repository files navigation

PyPI Version Py Version Issues GPL License RxPY

PyMAPE

Distributed and decentralized MonitorAnalyzePlanExecute-Knowledge loops framework

Framework to support the development and deployment of Autonomous (Self-Adaptive) Systems



Install

pip install pymape

Examples

Implementation of the 5 decentralized (and distributed) MAPE patterns described in the paper:
"On Patterns for Decentralized Control in Self-Adaptive Systems", Danny Weyns

  • Ambulance-Car Emergency (Information Sharing and Coordinated Control)
  • Average Speed Enforcement (Master/Slave)
  • Dynamic Carriageway (Regional Planning)
  • Cruise Control with Distance Hold (Hierarchical Control)

If you want try some examples (path examples/), refer to section # CLI EXAMPLES inside the source code of each one.

Slide - Introduction to PyMAPE with examples

The examples need furthers requirements, please see pyproject.toml or use poetry to install them.

You also need a Redis and InfluxDB instance running, for example:

docker run --name mape-redis -p 6379:6379  \
-v $(pwd)/docker/redis:/usr/local/etc/redis  \
--rm redis redis-server /usr/local/etc/redis/redis.conf
docker run --name mape-influxdb -p 8086:8086 \
-v $(pwd)/docker/influxdb/data:/var/lib/influxdb2 \
-v $(pwd)/docker/influxdb/conf:/etc/influxdb2 \
-e DOCKER_INFLUXDB_INIT_MODE=setup \
-e DOCKER_INFLUXDB_INIT_USERNAME=user \
-e DOCKER_INFLUXDB_INIT_PASSWORD=qwerty123456 \
-e DOCKER_INFLUXDB_INIT_ORG=univaq \
-e DOCKER_INFLUXDB_INIT_BUCKET=mape \
-e DOCKER_INFLUXDB_INIT_RETENTION=1w \
-e DOCKER_INFLUXDB_INIT_ADMIN_TOKEN=<GENERATE_OR_TAKE_FROM_CONFIG_YAML> \
--rm influxdb:2.0

See source for more information.

Releases

No releases published

Packages

No packages published

Languages