SML may be the most thoroughly developed language for structured modeling, but it is not the only one, and it is capable of being improved. We first consider possible improvements, and then some fundamentally different alternatives.

Some of the features of level 4 SML are excessively complex. For example, Neustadter [1992] points out that SML's index set specification mechanisms need to be simplified. She proposes a fix involving changing SML's index set statement and generic calling sequence sublanguages in such a way that work is transferred from the former to the latter. Issues of expressive power and compatibility with SM foundations remain to be worked out.

A dissertation by Lin [1993] takes another approach to simplification by studying a structured modeling language, subsequently renamed SFL, that dispenses with indices altogether. The advantages claimed are enhanced readability, enhanced writability, and easier processing by parallel computers. SFL models can be stored in relational DBMSs, with SFL statements translatable into SQL supplemented by C as necessary via embedded SQL. Lin demonstrated the feasibility of doing this by building a compiler for use with INGRES. She gives a detailed argument that SFL supports the principles of structured modeling even better than SML does. SFL is a subset of the SM/DB language (Ramirez and Lin [1993]), which is used in the Iowa State University Model Management System; see Ramirez [1993] for an annotated bibliography on this collaborative project.

SML could benefit from certain additions as well as simplifications. One desirable addition would be the incorporation of typing and units of measurement along the lines pioneered by Bradley and Clemence [1987]. They introduce typing and units into a simple SML-like modeling language in a rigorous, elegant, and active way. In return for doing some extra specification work, the model designer receives powerful consistency checks and useful services for automatic units conversion and scale factoring. Adding these features to SML would be especially valuable for building complex models and for model integration.

Another useful addition to SML is vector-valued generic rules, which have been implemented in the OR/SM system by Wright et al. [1997].

Turning now to more radical departures from SML, Jones [1992] has shown that a structured modeling language can be fundamentally graphical, that is, truly centered on attributed graphs rather than merely complemented by them. Jones, whose dissertation originated the use of graph grammars as a modeling framework, applied his prior work on Graph-Based Modeling Systems (GBMSs) to structured modeling. In particular, he explained how a syntax-directed editing environment for structured modeling can be implemented as a GBMS, and he embodied these ideas in a prototype called Networks/SM.

A different approach to a graphical language for structured modeling is proposed by Chari and Sen [1997], who draw on Jones' GBMS work for formalization. The basic construct of their language is the model graph for representing a model class. Model graphs incorporate a multi-level architecture that can represent models at varying levels of detail, allowing a completely graphical approach to representation and manipulation. At one level of detail, a model graph is very similar to a SML genus graph. At a higher level of detail, functions and tests are expressed using elementary functional and logical operators. These operator nodes enable the generic rules and functions of SML to be diagrammed rather than remain internal to function and test nodes. Model graphs can be defined recursively using module nodes, allowing a forest-like structure for models. This approach allows models to be built graphically either top-down or bottom-up.

Model graphs have three distinct types of edges to visually distinguish relationships between nodes. Some edges exhibit index inheritance, some value inheritance, and some simply show that two nodes are related (i.e., no index or value inheritance takes place). To produce a model instance, a model graph can be instantiated by using data stored in a relational database to produce SML-like elemental detail tables that are 1:1 with model graph nodes. An implementation has been completed: see Chari and Sen [1998].

Still another approach to a graphical language for structured modeling is that of Hamacher [1995]. He proposes a variant of the standard genus graph that adds semantic data modeling features from the Entity Relationship Model extended to include specialization, generalization, and aggregation. This is done in a SML-compatible way, so that a standard SML schema can be produced from the proposed diagram. A research prototype called IGOR (Integrated Graphics for Operations Research) has been built using a graphical object-oriented programming language (GraphTalk) under Windows 3.1.

A third style for a structured modeling language -- the first two being hierarchical text-plus-tables and graphical -- is object-oriented. Gagliardi and Spera [1995a, 1997] spell out in detail one possible view of the relationship between structured modeling and the object-oriented approach. They then detail the consistency of their object-oriented model definition language, BLOOMS, with each of the core concepts of structured modeling. BLOOMS, which was influenced by Eiffel, is used by the model management system they are developing. For different approaches to object-oriented model representation based on structured modeling, see LeClaire, Sharda and Suh [1991], Lenard [1993a], Dolk and Ackroyd [1995], and Ma and Tian and Zhou [1998].

These three do not exhaust the possible styles for defining structured models. For example, Chari and Krishnan [1993] have proposed a language called LSM based on logic. One of the nice features of LSM is that, by treating elements and structures as objects, it can predicate information about models as well as express the models themselves (e.g., information concerning model history, assumptions, dimensional units, revision, integration, and validation).  See Hua and Kimbrough [1997] for related work.  The paper by Ma, Tian and Zhou cited above also uses logic (an action logic from artificial intelligence).

The ideal language for defining structured models yet remains to be designed. I believe that all of the principal language styles are worthy of continued attention, and that language evolution would be aided greatly by experimental studies of language learnability and usability in realistic contexts.

So far we have considered only languages for defining structured models (sometimes called modeling-in-the-small). It is also necessary to have a language, or some other means, for manipulating structured models according to the purposes of users (sometimes called modeling-in-the-large). FW/SM takes a menu selection approach to this, with accompanying dialog as seems appropriate for each kind of manipulation. An alternative is to design a model manipulation language for users. Thoughtful studies of such languages in the structured modeling context include those by Dolk [1988b], Dolk and Kottemann [1993], Kottemann and Dolk [1992], Lin [1993], Muhanna [1993] and Tsai [1991].

In my view, model manipulation languages should be founded on a rigorous semantic framework. If that framework can be cast as an extension of structured modeling's, then the most natural approach to the design of a model manipulation language may be to cast it as an extension of one of the languages for defining structured models. 

Back to Title Page
Back to Previous Section of Paper
Forward to Next Section of Paper