Coder Social home page Coder Social logo

constraint-based-automated-updating-of-application-deployment-models's Introduction

Constraint-Based Automated Updating of Application Deployment Models

This repository contains the prototype for the bachelor thesis
"Constraint-Based Automated Updating of Application Deployment Models"
The motivating scenario in the thesis is included in the edmm/ folder and will be run by default.

Overview

Overview

The approach converts an Essential Deployment Meta Model to a PDDL problem which is then solved by a planner. The domain ensures that the model is deploy able and the goal state tells the planner which components to update. Many deployment models can be converted to EDMM by using a converter. However, this prototype can easily be changed to import different deployment models in the future.

Setup

This project uses a planner to update deployment models. As of right now, Fast Downward and Marvin are supported. The path to the executables has to be specified in the config.ini file.
The prototype can not be run without a planner!

Requirements

can be found in requirements.txt

pip3 install -r requirement.txt

installes all necessary requirements for python3

python3 main.py

runs the prototype

Analyzer

The script analyzer/commandline_wrapper.py is able to analyze outputs of the following planners: Jasper and Fast Downward. Support for Marvin might be added in the future.

Usage

The analyzer can be used by piping the output to the script. Example: cat output_file | python3 commandline_wrapper.py. Multiple outputs of different planners can be merged in a single file. But above each output a line has to be added which tells the analyzer what kind of planner has produced the output.
Example for a single Fast Downward output:

<<<<FD>>>>
INFO     Running translator.
INFO     translator stdin: None
...

Example for a single Jasper output:

<<<<JASPER>>>>
1. Running translator
Parsing... [0.000s CPU, 0.003s wall-clock]
...

constraint-based-automated-updating-of-application-deployment-models's People

Contributors

dependabot[bot] avatar flxb2 avatar lharzenetter avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

Forkers

lharzenetter

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.