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¶
 
Build Generator Process¶
 
Bootstrapping Process¶
 

