This paper presents an object-oriented architecture, called the Model-
View-Shape (MVS) architecture, for constructing an Integrated Visual P
rogramming Environment (IVPE), whose constituent tools deal with (fine
-grained) language semantics, as well as a mass of graphics-drawing ac
tivities. This architecture enforces a layered and loosely-coupled str
ucture, so that the user-interface part of components may be more inde
pendent, maintainable, and reusable than those proposed in the origina
l model-view-controller architecture. An MVS class hierarchy, systemat
ically constructed using C++, can be reused and extended with new sema
ntics to rapidly develop new tools for an existing IVPE, or even an IV
PE supporting more than one language, The present editors developed ca
n be used to construct programs by specifying the associated flow info
rmation in explicit (visual) or implicit (textual) ways, while the (in
cremental) flow analysers can help analyse incomplete program fragment
s to locate and inform the user of possible errors or anomalies during
programming. (C) 1998 John Wiley & Sons, Ltd.