Framework to develop Self-Adaptive system based on MAPE-K loop.
Project description
Distributed and decentralized MonitorAnalyzePlanExecute-Knowledge loops framework
Framework to support the development and deployment of Autonomous (Self-Adaptive) Systems
- Source Code: https://github.com/elbowz/PyMAPE
- Documentation: https://elbowz.github.io/PyMAPE - WIP
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file pymape-0.1.0a5.tar.gz
.
File metadata
- Download URL: pymape-0.1.0a5.tar.gz
- Upload date:
- Size: 37.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.3.1 CPython/3.10.8 Linux/6.0.9-arch1-1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e433d4e8f97565a05c99978d453505c078f8bd74adce62633efbd82f58715a9a |
|
MD5 | 740877848473537d9d38b9998b453c1e |
|
BLAKE2b-256 | ab13bd7664dc1dc892cd06c5c8445aabcefbe393efe84f8184f5fc0d800c61e0 |
File details
Details for the file pymape-0.1.0a5-py3-none-any.whl
.
File metadata
- Download URL: pymape-0.1.0a5-py3-none-any.whl
- Upload date:
- Size: 42.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.3.1 CPython/3.10.8 Linux/6.0.9-arch1-1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9b5e1a427808a6503a8124e9dbd97711b45c05d8370e0c3f80f8818d44aa55d2 |
|
MD5 | f1067ce44a5b0201e64302db00c88c3d |
|
BLAKE2b-256 | 5be6425db19aff34205a45e59d055ae48a003e249c1ae8d7f92afbdd3222da15 |