Described is a method and system providing a dynamic, live (active)
surface and/or model elements to complement and enhance what is being
modeled or visualized, enabling the addition of new features and
functionality to visualization and modeling tools. A dynamic surface is
accomplished by extending traditional HTML, rendering APIs and/or
components to enable visualization and modeling functionality. The
surface background and model elements may comprise HTML elements, and the
surface can include a Web site. The model elements are HTML elements
layered dynamically atop the surface, as the user interacts with them,
and completed designs may be saved in a non-proprietary format, (e.g.,
HTML). The live surface bases its services on HTML rendering engine
services, and further provides a visualization and modeling engine that
wraps and extends the rendering engine through multiple interfaces.
Interfaces can enumerate modeling elements and their relationships, add,
delete or change connections between model elements and states, and
initialize the surface, including loading an existing diagram such as
saved as an HTML document.