BAMBOO: Automatic Generation of SCM Systems


Welcome
About This Project
News & Status
Containment Modeling Framework (CMF)
Semantic Modeling Framework (SMF)
Rule Engine Technologies
Automatic Code Generation
Related Papers & Documents
Downloads
Credits & Contact

 
 

 

 Our Mission: This project aims to increase the maturity of the Software Configuration Management (SCM) disciplines by developing a domain model for the SCM domain and evaluating this domain model by creating technologies to automatically generate SCM systems (not including SCM client applications).

Fourty years of research and development on SCM systems has bequeathed a rich legacy of data models, system architectures, and implementation approaches. But this information has not been comprehensively surveyed and communicated and tradeoffs between design alternatives have not been systematically examined. Most existing SCM systems are built as monolithic systems using properietary data models, unique system architectures and non-reusable SCM components. System system customization and evolution based on customer requirements are difficult and expensive.

Whitehead et al. identified Containment Modeling Framework (CMF) as the uniform modeling mechanism for SCM system data models. On top of CMF, we also designed Semantic Modeling Framework (SMF) to model various SCM feature structures like version control, workspace, distributed collaboration, concurrency control, etc. Rule engine technologies provide a good solution to encode SCM semantics into rules that can be separately managed from other parts of the generated system. This makes dynamic change and customization of SCM features possible and simplies the code generator implementation. Adding these up, it opens the possibility to statically specify the data models and semantics of SCM systems, then automatically generate SCM systems with domain-specific generator technology.

Proposals: This project is funded by National Science Foundation (NSF CAREER CCR-0133991). The full text of the NSF Proposal is here.