mbdo.github.io - Model-Based DevOps

Example domain paragraphs

Time to market and continuous improvement are becoming key success indicators to deliver the cloud-native and Internet of Things (IoT) systems, which includes the IoT part of Cyber-Physical Systems (CPSs) as well. These systems are essential to the European Commission’s Vision on Industry 5.0 , which is a sustainable, human-centric, and resilient Industry 4.0. In that context, the increasingly popular DevOps approach aims at combining software development (“Dev”) and IT operations (“Ops”) into a highly-inte

Automation in DevOps is enabled by leveraging multiple models, typically expressed in either explicit Domain-Specific Languages (DSLs) or, most often, implicitly using concrete syntaxes such as JSON, XML, or even just ad hoc annotations in a general-purpose programming language, such as Java. These models are used among others for (M1) code generation during design time [CFJ+16], and (M2) for configuration of the overall IoT system at runtime [BBF09, MBJ+09]. These uses of models yield individual advantages

Models can and should be updated in four stages of the lifecycle of a system: (U1) automatically immediately (immediately self-adaptive, based on data and events) during the system’s operation (M2), (U1b) automatically, but with some delay (based on data collections, needs recalculation or training and especially quality assurance, e.g., overnight, therefore is slowly self-adaptive; needs M2), (U2) by human operators (needs M2), (U3) by human designers only (M1). Self-adaptive (U1, U1b), human-adaptable (U2