Skip to main content

Framework to develop Self-Adaptive system based on MAPE-K loop.

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pymape-0.1.0a5.tar.gz (37.5 kB view details)

Uploaded Source

Built Distribution

pymape-0.1.0a5-py3-none-any.whl (42.9 kB view details)

Uploaded Python 3

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

Hashes for pymape-0.1.0a5.tar.gz
Algorithm Hash digest
SHA256 e433d4e8f97565a05c99978d453505c078f8bd74adce62633efbd82f58715a9a
MD5 740877848473537d9d38b9998b453c1e
BLAKE2b-256 ab13bd7664dc1dc892cd06c5c8445aabcefbe393efe84f8184f5fc0d800c61e0

See more details on using hashes here.

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

Hashes for pymape-0.1.0a5-py3-none-any.whl
Algorithm Hash digest
SHA256 9b5e1a427808a6503a8124e9dbd97711b45c05d8370e0c3f80f8818d44aa55d2
MD5 f1067ce44a5b0201e64302db00c88c3d
BLAKE2b-256 5be6425db19aff34205a45e59d055ae48a003e249c1ae8d7f92afbdd3222da15

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page