Skip to content
@Cambio-Project

Cambio-Project

Cambio-Project

Goal

The Cambio-Project encompasses a collection of (mostly standalone) tools designed for Chaos Engineering. Its purpose is simulating and analyzing the transient behavior of a microservice systems in resilience scenarios. Some of these tools have been integrated into a Chaos Engineering approach called DiSpel Approach which is detailed in the following.

Overview

dispeloverview

The DiSpel components are currently six tools with different responsibilites.

Component Short Description
DiSpel Cockpit The Cockpit provides a visual user interface and coordinates the other tools. It allows to store and manage scenarios and analysis results.
PSP Wizard The PSPWizard allows for the machine-assisted creation of Property Specification Patterns (PSPs), which serve as stimuli and responses in scenarios.
MiSim MiSim simulates a microservice system with customizable capacities, loadbalancing strategies, network delays and other real-world (resilience) factors. Stimuli in the form of PSP can be interpreted by MiSim.
MoSIM MoSIM searches in monitoring data for occurrences of stimuli specified as PSPs.
TBVerifier The TBVerifiers enables verifying the scenario satisfaction on collected system data through use of te underlying MTL solvers.
TQPropRefiner The TQPropRefiner is a tool for the refinement of temporal components and metric parameters of a PSP.

The following tools are currently not integrated into the DiSpel process:

Component Short Description
RESIRO RESIRIO is a chatbot approach for helping developers to create resilience scenarios.
TransVis frontend & TransVis backend TransVis visualizes the transient behavior (i.e. QoS over time) of a microservice system. Additionally offers a chatbot for interactive analysis.
SAE Tool The SAE tool uses event traces of a microservice application to create an architectural model for MiSim.

The following libraries are no standalone tools but used as part of other DiSpel toling.

Component Short Description
TL-Tea TL-Tea parses and converts LTL and MTL formulas into tree structures and can act as a LTL/MTL solver that analyzers like MiSim and MoSIM interact with.

Code Guidelines

We use comon code guideline standards for Java and Python. Additionaly we use a template for commit messages.

Python

Java

Commits

Template

# Title: Summary, imperative, start upper case, don't end with a period
# No more than 50 chars. #### 50 chars is here:  #

# Remember blank line between title and body.

# Body: Explain *what* and *why* (not *how*). Include issue ID.
# Wrap at 72 chars. ################################## which is here:  #

# At the end: Include Co-authored-by for all contributors. 
# Include at least one empty line before it. Format: 
# Co-authored-by: name <user@users.noreply.github.com>
#
# How to Write a Git Commit Message:
# https://chris.beams.io/posts/git-commit/
#
# 1. Separate subject from body with a blank line
# 2. Limit the subject line to 50 characters
# 3. Capitalize the subject line
# 4. Do not end the subject line with a period
# 5. Use the imperative mood in the subject line
# 6. Wrap the body at 72 characters
# 7. Use the body to explain what and why vs. how

# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
#
# On branch master
# Your branch is up to date with 'origin/main'.
#
# Changes to be committed:
#       new file:   installation.md

Popular repositories Loading

  1. MiSim MiSim Public

    A simulator that shows the resilience of distributed software systems.

    Java 5 2

  2. architecture-playground architecture-playground Public

    Python

  3. conversational-transient-behavior-visualization-backend conversational-transient-behavior-visualization-backend Public

    Django webservice for conversational transient behavior visualization.

    Python

  4. conversational-transient-behavior-visualization-frontend conversational-transient-behavior-visualization-frontend Public

    Frontend and visualization component of the conversational transient behavior visualization.

    JavaScript

  5. hazard-elicitation hazard-elicitation Public

    Contains architecture extraction, automated hazard analysis, and elicitation bot

    Python 1

  6. trainticket-aux-scripts trainticket-aux-scripts Public

    Helper scripts for using and loadtesting the TrainTicket benchmark system, partially adapted/ported from work provided by Uni of Würzburg

    Python

Repositories

Showing 10 of 17 repositories

Top languages

Loading…

Most used topics

Loading…