Vision and Concept

Software systems in a scientific context:

  • Large: Often tens to hundreds of software components

  • Heterogeneous: Hosting solutions, version control systems, programming languages, build systems, licenses, maintenance models, 3rd party/1st party, legacy components

  • Complex: Dependency structure, versions, variability

Researchers develop software in many different ways:

  • Everyone tries to use best suited technologies and process

  • Different non-functional requirements (documentation, maintainability, maturity, level of professionalism in development process)

  • Teams set up their own CI, sometimes repository hosting – centralized IT services focus on other aspects

Bringing together multiple usually disparate aspects:

  • Organizational, social and historical aspects of projects

  • Versioning (across version control systems and repository hosting solutions)

  • Build system-level dependencies (across build systems and programming languages)

…to facilitate

  • Construction and testing

  • Deployment

  • (Re-)use and reproducibility

  • Documentation

  • Dissemination

…of large, heterogeneous, complex research software system

TODO: add concept overview image here

Simplified Meta Model

alternate text

Build Generator Process

alternate text

Bootstrapping Process

alternate text

Docker Builds

alternate text alternate text