Clams: A Cloud Application Modeling Solution

A wide range of new modeling languages with a specific focus on cloud computing, also known as cloud modeling languages (CMLs), have been introduced to help developers describe, evaluate, and deploy cloud applications. In general, CMLs define applications as interconnected cloud components within an architectural topology. However, in agile software development, developers describe system-level functionalities using user stories or epics to define end-user scenarios. So far, a CML bridging the gap between formal architectural descriptions and the informal scenario descriptions from agile development is missing. We present Clams (Cloud application modeling solution), a scenario-based CML. Clams uses cloud computing patterns as architectural placeholders in combination with message sequence charts. We introduce standard tooling to handle Clams models and show how one can refine patterns to concrete service offerings. Additionally, we also provide a development framework to support the creation of custom tools to evaluate, analyze, or translate Clams models efficiently.