MODELS 2024
Sun 22 - Fri 27 September 2024 Linz, Austria

Justification models are a lightweight approach to supporting accreditation, validation, or certification. Usually, when engineers work on pipelines (e.g., continuous integration/deployment, machine learning, notebooks), their primary focus is on the pipeline itself, and the justification of why this pipeline is the right one for their software is, at best, part of the documentation. This leads to operational/maintenance problems: Is your machine learning pipeline reusable? What is the purpose of that “weird” step in your continuous integration pipeline that you have no idea why it is there, but the pipeline fails if you remove it? With jPipe, we assume that justifying software should be easy and support both the initial modelling of a system and its incremental evolution. In this tutorial, we will present how the jPipe compiler can be used to model a justification, how composition algorithms can be used to support incremental/iterative evolution, and how the compiler’s modular nature allows one to integrate it into one’s own system. The tutorial will illustrate these key points of jPipe by using a family of good practices to validate a data science notebook automatically. It will guide the audience through (1) the definition of justification models to validate notebooks, (2) their organization into composable artifacts, (3) their operationalization into CI/CD pipelines through code generation and (4) the integration of these justification models in a standalone Java application.