Many large software systems are tightly integrated with their physical environments and must be adapted when their environment changes. Typically, software development methodologies do not place a great emphasis on modeling the system's environment, and hence environmental changes may lead to significant and complicated changes in the software. We argue that (1) the modeling of the environment should be an integral part of the process, and (2) to support software evolution, wherever possible, the software should be automatically generated. We present a model-integrated development approach that is capable of supporting cost effective system evolution in accordance with changes in the system's environment. The approach is supported by a "meta-architecture" that provides a framework for building model-based systems. This framework has been successfully used in various projects. One of these projects, a site-production flow visualization system for a large manufacturing operation, is analyzed in detail.
['Gabor Karsai', 'Amit Misra', 'Janos Sztipanovits', 'Akos Ledeczi', 'Michael S. Moore']
Model-integrated system development: models, architecture, and process