Wrappings for software development
Christopher A. Landauer, Kirstie L. Bellman · 2002
Constructed complex systems are heterogeneous software and hardware systems that have to function in complex environments. Building and managing such a system requires explicit infrastructure that includes models of the system, its architecture, and its environment. We describe wrapping, our knowledge-based integration infrastructure, and show by example how the meta-knowledge that wrappings contain, and the expressive uniformities that result from stepping up to a meta-level, lead to much cleaner descriptions of many software processes. We describe our problem posing interpretation of programming languages, and the corresponding wrapping expression notation wrex, and show its use both for programming the internal details of a system and for describing a system lifecycle process. We apply our methods to two examples: migration of disparate database systems into a common standard, and the process of software disintegration, which identifies models of components of software and should be part of any software or system re-engineering process.