This release is a pre-release and may not be stable for production use.
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.
Metadata
Release files for pymape 0.1.0a5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pymape-0.1.0a5.tar.gz | 37.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pymape-0.1.0a5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 80.4 kB
Release files / pymape-0.1.0a5.tar.gz
| Download URL | pymape-0.1.0a5.tar.gz |
|---|---|
| Size | 37.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e433d4e8f97565a05c99978d453505c078f8bd74adce62633efbd82f58715a9a
|
|
BLAKE2b-256 checksum How to use checksums |
ab13bd7664dc1dc892cd06c5c8445aabcefbe393efe84f8184f5fc0d800c61e0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.3.1 CPython/3.10.8 Linux/6.0.9-arch1-1
|
Release files / pymape-0.1.0a5-py3-none-any.whl
| Download URL | pymape-0.1.0a5-py3-none-any.whl |
|---|---|
| Size | 42.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9b5e1a427808a6503a8124e9dbd97711b45c05d8370e0c3f80f8818d44aa55d2
|
|
BLAKE2b-256 checksum How to use checksums |
5be6425db19aff34205a45e59d055ae48a003e249c1ae8d7f92afbdd3222da15
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.3.1 CPython/3.10.8 Linux/6.0.9-arch1-1
|