18

Click here to load reader

An XML-based schema definition for model sharing and reuse in a distributed environment

Embed Size (px)

Citation preview

Page 1: An XML-based schema definition for model sharing and reuse in a distributed environment

43 (2007) 791–808www.elsevier.com/locate/dss

Decision Support Systems

An XML-based schema definition for model sharing andreuse in a distributed environment☆

Omar El-Gayar ⁎, Kanchana Tandekar

Dakota State University, United States

Received 21 September 2005; received in revised form 31 July 2006; accepted 17 December 2006Available online 23 December 2006

Abstract

This research leverages the inherent synergy between structured modeling and the eXtensible Markup Language (XML) tofacilitate model sharing and reuse in a distributed environment. This is accomplished by providing an XML-based schemadefinition and two alternative supporting architectures. The XML schema defines a new markup language referred to as theStructured Modeling Markup Language (SMML) for representing models. The schema is based on the structured modelingparadigm as a formalism for conceiving, representing and manipulating a wide variety of models. Overall, SMML and supportingarchitectures allow different types of models, developed in a variety of modeling platforms to be represented in a standardizedformat and shared in a distributed environment. The paper demonstrates the proposed SMML through two case studies.© 2007 Elsevier B.V. All rights reserved.

Keywords: Model management; Model sharing; Structured modeling; eXtensible Markup Language (XML); Distributed computing environments

1. Introduction

With the recent advances in computer and telecom-munication technologies, organizations are increasinglydependent on management models for data analysis anddecision support. Accordingly, the number and com-plexity of management models and of modelingplatforms dramatically increased rendering such modelsa corporate (and national) resource. “Modeling in thelarge” as denoted by Muhanna and Pick [51] explicitlyrecognizes models as a resource and modeling as an

☆ An earlier version of this paper was presented at the AMCIS 2005conference, Omaha, NE. This paper extends and enhances those ideasand describes them more fully in a coherent framework.⁎ Corresponding author.E-mail address: [email protected] (O. El-Gayar).

0167-9236/$ - see front matter © 2007 Elsevier B.V. All rights reserved.doi:10.1016/j.dss.2006.12.010

ongoing process that should be supported. The focus ison the management of large shared model bases. Such aview of modeling and the emphasis on reuse is growingwithin the decision support community [41]. Modelreuse can take several forms including the ability to usethe same model with a different data set or with adifferent solver, and to use the same model in a differentmodeling environment. The notion of reuse can also beextended to include composing and integrating modelsfrom existing models. Supporting the modeling processin general, and “modeling in the large” in particular isthe ability to represent models at a higher level ofabstraction, i.e., meta-modeling.

However, in practice, models use a myriad oflanguages and task specific representations that includetextual descriptions of problem statements, modelinglanguages, and graphical notation. While some model

Page 2: An XML-based schema definition for model sharing and reuse in a distributed environment

792 O. El-Gayar, K. Tandekar / Decision Support Systems 43 (2007) 791–808

representations offer distinct advantages such as model-data independence, others have data intertwined with themodel structure. Moreover, several representations (andmodeling environments) can be used within the sameorganization for addressing the same type of model. Toshare and reuse models in such environments, individualtranslators will need to be developed for each pair ofmodel representation schemes. This solution is notscalable, particularly in the context of distributed inter-organizational setting. Moreover, such representationsare not directly amenable to architectures supportingdistributed environments. Last, but not least, suchrepresentation schemes are often paradigm dependent.In effect, without a unified scheme for representing thestructure and semantics of models that preserves model-data, model-solver, and model-paradigm independence,efforts to support “modeling in the large” and to leverageexisting investments in models through sharing andreuse are seriously curtailed.

Two important developments offer promisingresults, namely, structured modeling (SM) and eXten-sible Markup Language (XML). In the quest forexpressive model representation, structured modelingreceived a great deal of attention in the literature. SM asdefined by Geoffrion [26] is a “formal mathematicaland computer-based environment for conceiving, re-presenting and manipulating a wide variety of models”.SM has many of the features desired in model ma-nagement systems, which makes it a very useful tool formodel representation. SM provides a coherent concep-tual framework for modeling based on a single mo-deling system, irrespective of the underlying modelingparadigm.

The recent development of eXtensible MarkupLanguage (XML) emphasized the importance of contentinformation by making it possible for designers to createand manage their own sets of tags [6]. Accordingly,XML facilitates searching for specific content-basedinformation as well as moving documents acrossapplications and systems, i.e., model exchange in adistributed environment. Modelers using different mod-eling tools or environments can communicate using thecommon XML representation. While Geoffrion [26]demonstrated different ways of rendering a structuredmodel as a web document, not much research has beendone to represent structured models using XML.

This research leverages the inherent synergy betweenSM and XML to facilitate model sharing and reuse in adistributed environment. This is accomplished throughthe development of an XML-based schema definitionand supporting architectures. The XML schema definesa new markup language referred to as the Structured

Modeling Markup Language (SMML) for representingmodels. The schema is based on the structured modelingparadigm as a formalism for conceiving, representingand manipulating a wide variety of models. In effect, theproposed language allows for:

• Representing different types of models that aredeveloped using a variety of modeling platforms in astandardized format.

• Sharing and publishing models among model usersregardless of their modeling environments.

• Reusing models (developed for different data sets, fordifferent solvers, and in different modeling environ-ments) without the need for re-writing models foreach tool.

• Creating a lifetime repository (archive) of models inan environment and a platform independent format.Accordingly, the models are reusable, even after aparticular environment is rendered obsolete.

The paper is organized as follows: the next twosections provide a brief review of model representationand XML. Next, we highlight the advantages of usingstructured modeling and XML for model representationfollowed by a description of the schema definition forSMML. We then present two alternative supportingarchitectures followed by case studies demonstrating theapplicability of the proposed representation. The finalsection concludes the paper.

2. Model representation

Model management (MM) emerged in the mid-seventies in the context of managing models in decisionsupport systems (DSS) [54,57]. While a comprehensivereview of the model management (MM) literature canbe found elsewhere [3,12,41], it is worth noting thatmuch of the motivation behind MM focused aroundfinding ways for developing, storing, manipulating,controlling, and effectively utilizing models in anorganization [50]. Inherent in such functionality is theability to represent models at a higher level of abs-traction, i.e., meta-modeling.

2.1. Requirements for model representation

Requirements for model representation evolved overthe years to accommodate the increasing demands byanalysts and users. Initial interest focused on abstractingaway from low-level input formats and moved on toemphasize representing models at a higher level ofabstraction to facilitate model management functions.

Page 3: An XML-based schema definition for model sharing and reuse in a distributed environment

793O. El-Gayar, K. Tandekar / Decision Support Systems 43 (2007) 791–808

Design requirements supporting model managementfunctions include:

• Paradigm independence: Ability to represent modelsfrom different paradigms.

• Model-data independence: Ability to use the modelwith different data sets.

• Model-solver independence: Ability to use the modelwith different solvers.

• Meta-level representation and reasoning: Ability torepresent information about models.

• Single representation format: Amenable to multiplepurposes such as computer execution, mathematicaluse, and managerial communication.

The advent of the Internet and related technologiesput further demands with respect to model sharing.Additional requirements supporting model sharing in adistributed environment include:

• Portability: Compatible with various developmentenvironments and systems.

• Vendor independence: Is not locked by the support ofa particular vendor.

• Extensibility: Amenable to extensions and continu-ous improvement efforts.

• Leverage of the Internet: Compatibility with Internettechnologies such as XML.

2.2. Model representation supporting model manage-ment functions

A number of model representation approaches andlanguages are proposed in the literature, most notablyare algebraic modeling languages, logic-based systems,relational-based approaches, graph-based languages,and structured modeling (which is also the basis forother approaches). Algebraic modeling languages suchas GAMS [8], AMPL [22], and LINGO [39] attempts tosimplify modeling by abstracting away from detailedmodel representations using ad hoc programs or matrixgenerator programs. In effect, these languages allow fora symbolic, general, concise, and understandable meansto represent models [21] and tend to be specific to aparticular modeling paradigm [41]. Moreover, theselanguages vary in their support to model representationrequirements. For example, while GAMS supportsmodel-solver independence, AMPL supports model-data and model-solver independence and both languagesdo not support meta-level representation.

In that regard, Bhargava and Kimbrough [1] propose alogic-based approach to model representation that aug-

ments existing modeling languages in representingformally and computationally information about expres-sions that is not amenable for representation. The ob-jective is to leverage the strengths in existing modelinglanguages while being able to capture meta-model infor-mation that can then supportMM functions.Nevertheless,in a distributed environment, a user is still confrontedwithhandling models in a variety of representational formatsrepresenting the embedded language.

Relational-based approaches attempts to view andthus represent models as data. Proposals include[2,14,45]. A primary motivation of such approaches isto capture the developments in relational databasetechnology for model representation and management.However, such approaches are particularly limited whenit comes to handling rich model semantics and are oftenparadigm dependent.

With the variety of models that can be represented bygraphs [9,37], graph-based modeling systems (GBMS)[37,38] attempts to facilitate the creation of graphsrepresenting models that can be represented as attributedgraphs. Inherent in these systems is the use of graphgrammars to represent the structural constraints imposedon various types of graphs. Examples of such graphsinclude vehicle routing, neural networks, and structuredmodelingGenus graphs.While graph-basedmodeling hasproven useful for model formulation and communication,graph-grammars can be difficult to manipulate and theapplicability of graph-grammars to a wide variety ofgraph-based models need further exploration [37].

Geoffrion [26] proposed structuredmodeling (SM) as ameans of model representation. Geoffrion [29] defines SMas “a way of thinking about analytic models and thesystems which support them”. SM views models andmodel-based systems as having computationally activedefinitional dependency diagrams as their central focus,with manipulation by solvers and other tools to achievedesired purposes. SM provides a conceptual frameworkfor conceiving, representing, and manipulating a widevariety of models. It should be noted that modelrepresentation in SM does not specify the objectivefunction and whether its value should be maximized orminimized. These are solver issues and can be defined atthe time of solving the model. Thus a user may decide touse some or all of the constraints from the model and maydecide whether to minimize or maximize a function. Ifthere is more than one objective function, the user canchoose the desired objective or may even wish to solve forall of them using different techniques like multi-objectiveprogramming, weighted goal programming, compromiseprogramming, etc. The model representations are inde-pendent of the model solution and the way the model is

Page 4: An XML-based schema definition for model sharing and reuse in a distributed environment

794 O. El-Gayar, K. Tandekar / Decision Support Systems 43 (2007) 791–808

solved. Moreover, the model schema does not contain anyactual data and this provides data independence. The samemodelmaybe invoked usingdifferent set of data. The data,in SM terminology known as an instance ismaintained as aseparate file. Accordingly, in SM, a model is defined as acombination of a model schema and one or more modelinstances. A model schema describes the general structureof amodel and is represented as a hierarchical, acyclic, andattributed graph. A model schema may be associated withone or more model instances. Model instances correspondto the data part of the model. Detailed description of SMconcepts can be found in [26,27,30,31].

2.3. Limitations of existing approaches

Significant amount of model management researchoccurred in the early eighties and continued to the mid-nineties. Most of the research focused on addressingrequirements of model management systems such asmodel-data and model-solver independence, paradigmindependence, meta-model representation, and facilitat-ing model management functions. With the exception ofMuhanna [51] and few others, not much attention wasgiven to managing large shared model bases. With theadvent of the Internet and supporting communicationinfrastructure, it became feasible to easily share modelswithin and across organizations resulting on additionalrequirements for portability, vendor independence, andcompatibility with the new infrastructure. Accordingly, amajor limitation of the aforementioned approaches istheir limited support to the requirements for modelsharing in a distributed environment.

3. XML and model representation

XML is a meta-language originally developed by theWorldWideWebConsortium (W3C) as a simplified subsetof SGML. In contrast to Hyper Text Markup Language(HTML) where the emphasis is on visual display and userinterface definition, XML-based languages provide themeans to represent the content, semantic, and schemata ofdata. XML allows for the definition of a set of domainspecific tags which can then be used to markup data invarious applications domains. By facilitating the exchangeof data using a non-proprietary data format, XML isparticularly valuable in supporting interoperability indistributed heterogeneous environments such as theInternet. The tremendous growth of XML applications(XML-based markup languages) for representing andexchanging data in various problem domains (e.g.,Chemical ML, MathML, Molecular Dynamics MarkupLanguage) is a testimony to XML's success.

3.1. XML-based languages for model representation

XML success has also extended to representingmodels in various problem domains and for specificmodeling paradigms. Hucka et al. [35] and Finney andHucka [20] describe a Systems Biology MarkupLanguage (SBML) for representing and exchangingbiochemical networkmodels between simulation/analysistools. The language is supported by a package formanipulating the SBML-based models [53]. In datamining, the PredictiveModelMarkupLanguage (PMML)provides a tool independent mechanism for representingand sharing predictive models such as regression models,cluster models, trees, neural networks, and Bayesianmodels among compliant vendors [15].

With respect to simulation, Canonico et al. [10] presentan XML application for describing generic network sce-narios as well as the process for translating the scenariosinto a simulation script for a network simulator. Wang andLu [55] develop an XML application to represent discreteevent simulation models based on the DEVS (DiscreteEvent System Specification) approach [58], while Lu etal. [49] and Qiao et al. [52] discuss cases utilizing anXML-based simulation interface specification beingdeveloped by the National Institute of Standards andTechnology (NIST).

Several XML-based languages are available torepresent graph models. Examples include GraphML[7], GXL [33], and NaGML [5]. In general, theselanguages share a common purpose of providing aneasy-to-use format for representing graphs that facil-itates the sharing and exchange of such models.However, the languages differ with respect to problemdomain focus, implementation specifics, and features.For example, GXL evolved from the software re-engineering community with an emphasis on represent-ing and exchanging software engineering artifacts asgraphs while GraphML was initiated during the 2000Graph Drawing Symposium in Williamsburg, Virginiaas a mean to represent graphs. To accommodate problemdomain specifics, NaGML allows users to specify thename, data type, and restrictions for each node and arcproperty thus defining a problem domain schema withinthe document.

In the context of optimization models, a number ofXML-based languages have been proposed [4]. Foureret al. [24] propose Optimization Service InstanceLanguage (OSiL) an XML-based computer languagefor representing instances of large-scale optimiza-tion problems including linear programs, mixed-integerprograms, quadratic programs, and very general non-linear programs. Fourer et al. [23] propose LPFML as

Page 5: An XML-based schema definition for model sharing and reuse in a distributed environment

795O. El-Gayar, K. Tandekar / Decision Support Systems 43 (2007) 791–808

an XML schema for representing linear programming(LP) models and a set of C++ classes for translatingmodels to and from LPFML. The language facilitatesinteroperability among modeling languages and solversby reducing the number of drivers needed. WhileLPFML allows for a standard representation of LPmodels, the focus is on representing model (problem)instances as opposed to model structure (schema). Ineffect, model data and solution are stored with themodel definition. Moreover, and contrary to mathe-matical programming languages such as GAMS andLINGO, LPFML does not make use of sets to repre-sent models at a higher level of abstraction. Otherrelated work include OptML [42] and SNOML [48].Both languages focus on representing instances oflinear and mixed integer programming models at thematrix level. In the context of a comprehensive frame-work for optimization, Ezechukwu and Maros [19]propose an architecture supporting distributed optimi-zation over the Internet. At the core of the architec-ture are two XML-based languages, namely, AlgebraicModeling Language (AML) for representing mo-dels, and Optimization Reporting Markup Language(ORML) for representing model solutions, and acollection of Java programs referred to as OptimizationService Connectivity Protocol (OSCP) that are respon-sible for converting AML models to a target system forexecution and converting model results to ORML.

Nevertheless, only Kim [40] provides an XML-basedmarkup language that is based on a modeling formalism,thereby potentially realizing many of the desirableMM features mentioned earlier. The proposed languageOOSML (Object-Oriented Structured Markup Lan-guage) is a pioneering effort in this area with somesignificant drawbacks. Firstly, OOSML utilizes XMLDocument Type Definition (DTD) which is becomingobsolete and incapable of representing complex struc-tures. Moreover, the DTD presented lacks support forrepresenting mathematical equations and explicitindexing. The instance representation is also not genericin nature, and it is not possible to validate an instance fileand to enforce the rules for writing a goodmodel instancedocument.

3.2. Limitations of existing XML-based languages formodel representation

In contrary to earlier model management and re-presentation efforts, a primary motivation for XML-based languages for representing models is facilitatingmodel sharing in distributed environments. Towardsthis end, and with the exception of Kim [40], these

approaches tend to violate model management andrepresentation requirements such as paradigm inde-pendence and model-data independence. This can beattributed to the problem-focus of the proposedapproaches and the absence of a conceptual founda-tion for representing models at a higher level ofabstraction.

4. Structured modeling and XML

Among the aforementioned approaches and asso-ciated languages, structured modeling (SM) is partic-ularly attractive. Specifically, SM has many featuresthat are highly desirable from a MM perspective[26,41], most notably are the independence of mo-del representation and model solution, the sufficientgenerality to encompass a wide variety of modelingparadigms, and the representational independenceof general model structure from the detailed dataneeded to describe specific model instances [26].Having SM as a conceptual foundation for SMMLfacilitates model management tasks such model for-mulation [46] and model composition [32] wherethey used variants of SM as an underlying represen-tation scheme. Moreover, SM offers distinct advanta-ges when it comes to model integration. Specifically,SM allows for testing if a given structure (model)is a valid structure and for assessing the impact ofa change to a model as it is integrated with anothermodel [41]. It is also the basis for a number of pro-posals for model representation including objectoriented approaches [25,36,44,50], relational-basedapproaches such as [16,43], and graphic-based ap-proaches such as GBMS/SM [13]. Finally, SM iscompatible with XML. All this makes SM a use-ful tool and formal foundation for any modelingenvironment.

On the other hand, XML offer distinct advantageswith respect to sharing information in general andmodels in particular in a heterogeneous distributedenvironment. Specifically, XML representations arevendor independent thereby supporting interoperability,extensible thereby amenable to continuous enhance-ments, and compatible with the latest Internet technol-ogies and architectures such as web services, SimpleObject Access Protocol (SOAP), and service orientedarchitectures (SOA). Moreover, the proliferation ofXML made available numerous development tools andresources further simplifying the process of producingand consuming XML-based models.

In light of the aforementioned discussion, ourproposal seeks to leverage structured modeling, XML,

Page 6: An XML-based schema definition for model sharing and reuse in a distributed environment

796 O. El-Gayar, K. Tandekar / Decision Support Systems 43 (2007) 791–808

and the synergy that exist as means for representingmodels to facilitate model sharing in distributedenvironments. In effect, we can summarize the con-tributions of the work as follows:

• It leverages SM to provide a conceptual frameworkfor representing models and thereby meeting designrequirements for model management such as theability to reuse existing models with different datasets and different solvers.

• It is an XML application and is thereby com-patible with the Internet, facilitates model sha-ring in a distributed environment by providing astandard and portable format for model repre-sentation, and leverages existing and latest deve-lopments in Internet and web technologies andarchitectures.

• It extends [40] by providing a more general andcomplete view for integrating SM and XML.Specifically, this research uses XML schemas formodel representation thereby leveraging the rich-ness of data types, the extensive support for namespaces and the other advantages of schemas overDTDs [6,18]. For example, by using a schema wecan define and restrict data values in models [23].There is a separate schema to validate a modelinstance and enforce rules that checks for consis-tency of data. The use of schemas ensures thestability of the standard. Last but not least, SMMLutilizes MathML [56] as a standardized means forrepresenting equations.

5. Model representation using SMML

SM recognizes a set of genus elements, their types,index, indexsets, interpretation, etc. as explained in[26]. Each SM model follows these guidelines fordefining model elements. XML schemas define amarkup language (a vocabulary) for validating modelschemas and model instances against these guidelines.The proposed markup language that is used to faci-litate the defining of models is referred to as Struc-tured Modeling Markup Language (SMML). Thereare two separate XML schemas as part of SMML:ModelStructure.xsd is used to validate all modelschemas and ModelInstance.xsd is used to validatemodel instances. A model schema is the SM repre-sentation of a model, also called model structure andis an XML document. Similarly, a model instance isalso an XML document that provides the data for aparticular model schema. For any model schema therecan be one or more model instances/data.

In representing XML schemas (vocabularies), severalauthors advocate the use of the Unified ModelingLanguage (UML) [11,34]. In effect, using UML torepresent XML schemas:

• Clearly depicts the semantics and structure of theunderlying vocabulary, information that is oftenobscured in the lengthy text-based documents.

• Provides a visual notation that is implementationneutral.

• Facilitates reading and understanding by non-com-puter scientists.

• Relies on a de facto standard with readily availabledocumentation in the form of books, web resourcesand articles.

Fig. 1 depicts a UML class diagram representing theSMML vocabulary. A model schema always starts withthe bMODELN element (denoted using a UML class)with attributes such as name, level, description, key-words, and type. Level can have any one of the values 1,2, 3 or 4 and specifies the complexity of the schema[30,31]. The type specifies the category of modeling(also called modeling techniques) to which the modelbelongs, such as optimization, simulation, etc. The nameattribute specifies a name for the model and can also beused to search for the model. Other attributes of elementMODEL specify the location of the XML schema file,i.e., ModelStructure.xsd. The MODEL element mayoptionally be followed by the element KEYWORDSwhich may be followed by a model DESCRIPTION.

A model can be further decomposed into any numberof genus and module paragraphs as noted by thecomposition relationships between the model andmodule and genus classes. In turn, a module element(paragraph in SM terminology) can consist of anynumber of genus and module elements. Genus elementsare the lowest level in the hierarchy. A genus elementcan have attribute types (represented as XML elements).The attributes common to all genus elements are thename, type, index, and interpretation attributes. Typecan take any one of the six values: “pe”, “ce”, “a”, “va”,“f” or “t”, corresponding to primitive entity, compoundentity, attribute, variable attribute, function or test,respectively. A genus element can have exactly one ofthe attribute types. In addition to the common attributes,each type introduces some special attributes for thegenus element. For example, the genus element of types“ce”, “a”, “va”, “f” or “t”, has two more attri-butes, namely, “calling sequence”, and “indexset”.Furthermore, “f” and “t” also introduce a “rule” whichdescribes the equation used (function description) and is

Page 7: An XML-based schema definition for model sharing and reuse in a distributed environment

Fig. 1. Model schema and instance architecture in SM. a) Model schema architecture. b) Model instance architecture.

797O. El-Gayar, K. Tandekar / Decision Support Systems 43 (2007) 791–808

represented using MathML. In effect, the genus typespecializes a typical genus by specifying whichattributes are relevant. This is denoted by the inheritancerelationship in the UML model.

5.1. Writing a model schema in SMML

When writing a model schema using SMML, certainguidelines and rules have to be followed. These rules are

Page 8: An XML-based schema definition for model sharing and reuse in a distributed environment

798 O. El-Gayar, K. Tandekar / Decision Support Systems 43 (2007) 791–808

enforced by the XML schema ‘ModelStructure.xsd’. Thefollowing is a code snippet of ModelStructure.xsddepicting genus definition:

bxsd:complexTypename="GenusType"N

bxsd:sequenceN

bxsd:element name="TYPE"Nbxsd:simpleTypeN

bxsd:restriction base="xsd:string"Nbxsd:pattern value="pe|ce|a|va|f|t"/Nb/xsd:restrictionN

b/xsd:simpleTypeN

b/xsd:elementN

b/xsd:sequenceN

bxsd:attributename="name"type="xsd:string"/Nb/xsd:complexTypeN……bxsd:element name="GENUS" type="GenusType"/N

The last statement indicates that element “GENUS” is acomplex type having elements and attributes. The name ofthe complex type is “GenusType”which corresponds to the“Genus” class in the UML model. The definition of“GenusType” in the first statement indicates that it can havea child element called “TYPE” which is the type of theGENUS element and can take any one of the values “pe”,“ce’, ”a”, “va”, “f” or “t” noted earlier. GENUS element canalso have an attribute “name” which is unique for eachGENUS element and identifies the name of the GENUS.There is a one-to-one correspondence with the SM modelschema architecture described in Fig. 1. Corresponding to agenus element, the XML schema defines a GENUSelement. Amodule paragraph is defined using aMODULEelement. The following SMML is a code snippet from themodel schema representation of the transportation problem:

bGENUS name="PLANT"N

bTYPENpeb/TYPEN

bINDEXNib/INDEXNbINTERPRETATIONNThere is a list of

bKEY_PHRASENPLANTSb/KEY_PHRASEN.b/INTERPRETATIONN

b/GENUSNbGENUS name="SUP"N

bTYPENab/TYPEN

bCALLING_SEQN

bGENUSREF refer="PLANT"/Nb/CALLING_SEQN

bINDEXSETN

bGENUSREF refer="PLANT"/N

b/INDEXSETN

bRANGENR+b/RANGEN

bINTERPRETATIONNEvery PLANT has a

bKEY_PHRASENSUPPLY CAPACITYb/KEY_PHRASENmeasured in tons.

b/INTERPRETATIONNb/GENUSN

Each GENUS element has a bTYPEN and b/TYPENtag that encloses any of the six values from the list“pe”, “ce”, “a”, “va”, “f” or “t”. For a “pe” element,the TYPE element is immediately followed by anbINDEXN element, which encloses the index value,e.g., bINDEXNib/INDEXN, and associates an index iwith the genus. Indices are useful in set-basedarithmetic.

The example shows the listing for two genera:PLANT and SUP. PLANT is a primitive entity and isassigned type as “pe” and has an INDEX elementassociated with it indicating that there can be a set ofplants. SUP is an attribute type and assigned a value of“a” for the type and has an INDEXSET associated withit identifying the set of primitive elements over whichthe genus is defined. In this example, each SUP isassociated with a PLANT through the INDEXSET andGENUSREF elements.

The CALLING_SEQ element is used to include allthe other elements to which a genus refers. INDEXSETis the set of elements that this genus is based on. Witheach attribute genus an element RANGE may beassociated which defines the range of values for theattribute. Each “f” and “t” type genus contains aFUNCTION_DESC element. For representing equa-tions, MathML is used which requires a namespacedefinition in the FUNCTION_DESC element. Forexample, a genus paragraph for element T:DEM(demand constraint for customers) in SM would be:

T:DEM(FLOW.j,DEMj) /t/; SUMi(FLOWij)=DEMj

T:DEM is defined over the set of customers, i.e.,CUST element. T:DEM is calculated for each CUSTvalue. Below is a representation for the T:DEM genus inSMML and utilizing MathML:

bGENUS name="T:DEM"N

bTYPENtb/TYPEN

bCALLING_SEQN

bGENUSREF refer="FLOW"/N

bGENUSREF refer="DEM"/N

b/CALLING_SEQN

bINDEXSETN

bGENUSREF refer="CUST"/N

b/INDEXSETN

bFUNCTION_DESC xmlns:m="http://www.w3.org/

1998/Math/MathML"N

bm:applyNbm:eq/N

bm:applyNbm:sum/Nbm:bvarN

Page 9: An XML-based schema definition for model sharing and reuse in a distributed environment

799O. El-Gayar, K. Tandekar / Decision Support Systems 43 (2007) 791–808

bm:applyNbm:selector/Nbm:ci type="vector"NPLANTb/m:ciNbm:ciNib/m:ciN

b/m:applyNb/m:bvarNbm:applyN

bm:selector/Nbm:ci type="matrix"NFLOWb/m:ciNbm:ciNib/m:ciNbm:ciNjb/m:ciN

b/m:applyNb/m:applyNbm:applyN

bm:selector/Nbm:ci type="vector"NDEMb/m:ciNbm:ciNjb/m:ciN

b/m:applyN

b/m:applyN

b/FUNCTION_DESCN

bINTERPRETATIONNIs the total FLOW arriving at a

CUSTOMER exactly equal to its DEMAND? This is

called the

bKEY_PHRASENDEMAND TESTb/KEY_PHRASEN.

b/INTERPRETATIONNb/GENUSN

5.2. Writing a model instance in SMML

A model instance is used to represent a particular setof data for a model. The XML schema file used tovalidate model instances is called ‘ModelInstance.xsd’.Using UML, we can represent the SMML vocabulary asshown in Fig. 1b. Amodel instance always starts with thetag bELEMENTAL_DETAILN denoted by the “elemen-talDetail” class. It has attributes such as ‘name’, ‘refer’,and ‘namespace’. The ‘name’ should be the name of themodel schema to which it belongs. The ‘refer’ attributemay contain the physical filename or the location for themodel schema. The way a model instance is representedin SM is through a table structure. The XML schemafollows this convention so as to keep the data repre-sentation as generic in nature as possible. The namespaceattribute should specify the address of ModelInstance.xsd to allow validating parsers to identify the schema towhich to validate against.

The root element may be followed by any numberof TABLE and PARAMETER elements in any orderas noted by the composition relationship between the“elementalDetail” class and the “parameter” and the“table” class. Each table is comprised of a set of fieldtype definitions defining a record description and aset of records. Each record is comprised of a set offield values corresponding to the field definition ofthe record description. The following is a code

snippet for the model instance file for transportationproblem:

bTABLEN

bNAMENPLANTb/NAMEN

bRECORD_DESCN

bFIELDNbNAMENPLANTb/NAMENbTYPENstringb/TYPEN

b/FIELDN

bFIELDNbNAMENSUPb/NAMENbTYPENrealb/TYPEN

b/FIELDN

bPRIMARY_KEYNbFIELD name="PLANT"/N

b/PRIMARY_KEYN

b/RECORD_DESCN

bRECORDN

bFIELD name="PLANT" value="DAL"/N

bFIELD name="SUP" value="20000"/N

b/RECORDN

bRECORDN

bFIELD name="PLANT" value="CHI"/N

bFIELD name="SUP" value="42000"/N

b/RECORDNb/TABLEN

As shown in this example, bTABLEN tag denotesthe start of a table structure. Each elemental detail tabletranslates to a TABLE element in a model instance.Each TABLE has a name to identify it uniquely. Eachtable has a record description (the bRECORD_DESCNtag) which lists the fields in the TABLE. Each field isdenoted by a FIELD tag which can have threeelements. NAME and TYPE are mandatory and definethe name and data type of the field. The TYPE ele-ment can take any of the four values: integer, real,Boolean or string. In addition there is a third field,FOREIGN_KEY, which is optional and is used onlywhen the field is related to a field in another table, i.e.,is a foreign key. FOREIGN_KEY is an empty element,meaning it has no content, and has only one attri-bute, refer, which contains the name of an existingPRIMARY_KEY field in another table. The FIELDtags are followed by optional PRIMARY_KEY orUNIQUE_KEY. PRIMARY_KEY can contain only oneFIELD element that contains a reference to one of thefield names defined in the table.

UNIQUE_KEY is used where the primary key is acomposite key, composed of more than one field asshow in the following example of a record description

Page 10: An XML-based schema definition for model sharing and reuse in a distributed environment

800 O. El-Gayar, K. Tandekar / Decision Support Systems 43 (2007) 791–808

containing foreign field references and the use ofFOREIGN_KEY tag:

bRECORD_DESCN

bFIELDN

bNAMENPLANTb/NAMEN

bTYPENstringb/TYPEN

bFOREIGN_KEY field="PLANT"/N

b/FIELDN

bFIELDN

bNAMENCUSTb/NAMEN

bTYPENstringb/TYPEN

bFOREIGN_KEY field="CUST"/N

b/FIELDN

bFIELDN

bNAMENCOSTb/NAMEN

bTYPENrealb/TYPEN

b/FIELDN

bUNIQUE_KEYN

bFIELD name="PLANT"/N

bFIELD name="CUST"/N

b/UNIQUE_KEYNb/RECORD_DESCN

Corresponding to the number of records in the table,there are as many RECORD tags or elements. Eachrecord element has the same number of FIELDelements as listed in the record description. EachFIELD element has a name and a value. EachRECORD is supposed to have a uniform structurewithin a table. This type of structure closely resemblesa table structure in a database. The table definition itselfcontains the metadata. Notice that the model instancedocument does not contain the function and test genuselement values as they can be calculated from the dataprovided. Inclusion of decision variables is optionaland if included, can provide a starting point forcalculations and should provide a feasible solution tothe problem.

What ties the model schema and a model instancetogether are the FIELD names used. The FIELD namesused should be the same as already defined in themodel or there is no way to relate it to the modelschema. The fields in the table should have the samename as the ones used to define the genus in the modelschema. So, for the transportation problem, thePLANT genus defines the list of plants. In the modelinstance too, the field name must have a value PLANTto be able to assign values to the GENUS plant. Theremight be situations where there is an element that doesnot belong to a set or is not part of a table, as it is asimple entity with just a single value. In that case, it

can be defined as a PARAMETER entity. Below is anexample:

bPARAMETERN

bNAMENLABOR_SUPPLYb/NAMEN

bTYPENintegerb/TYPEN

bVALUEN160b/VALUENb/PARAMETERN

This statement translates as LABOR_SUPPLY=160.Each PARAMETER element has a NAME, TYPE andVALUE element associated with it. The name is theGENUS name for which TYPE and a VALUE is provided.

6. Supporting architectures

SMML is a model representation language that isplatform and vendor independent, provide for model-instance independence, and provide a standardizedformat for exchanging models. The following sub-sections provide two alternative architectures supportingmodel sharing and exchange in a distributed environ-ment where SMML represent the primary mechanismfor representing models.

6.1. A centralized architecture

There are three tiers to the architecture of the system:a server, middle and a client tier as depicted in Fig. 2a.The server tier is comprised of a model managementsystem (MMS) responsible for storing, retrieving, andquerying the database of model schema and associatedmodel instances (data). All model schema and instancesare stored as XML text files using the StructuredModeling Markup Language (SMML). To facilitatemodel management functions [41], the MMS maintainsinformation about models in a relational database.Moreover, by using XML technologies such as XPath,the MMS can directly query the repository of SMMLmodels.

The middle tier is comprised of a Parser/translatormanager that manages (adds, updates, retrieves, deletes,and searches) a library of parsers/translators. The purposeof the parsers/translators is to translate platform dependentmodels into SMML. For example, GAMS and Exceltranslators can translate GAMS and spreadsheet models,respectively into SMML. By the same token, parsers areneeded to parse SMML model schemas and instances andgenerate platform specific models. Such parsers cangenerate alternate model representation such as GAMS(for which a solver needs to be invoked) or can directlygenerate model files for a specific solver.

Page 11: An XML-based schema definition for model sharing and reuse in a distributed environment

Fig. 2. System architecture for the Web-based System. a) A centralized architecture. b) A decentralized web-services-based architecture.

801O. El-Gayar, K. Tandekar / Decision Support Systems 43 (2007) 791–808

The client tier is comprised of model providers, modelconsumers, and parser/translator providers. Model provi-ders and consumersmay be using heterogeneousmodelingtools and environments (platforms) like LINDO, Excel and

GAMS.Using translators available through themiddle tier,model providers can convert platform dependent modelsinto SMMLmodels shareable on the web and then uploadthem. Similarly model consumers can download SMML

Page 12: An XML-based schema definition for model sharing and reuse in a distributed environment

Fig. 3. Sample screens for web-based system. a) Model Schema Uploading through the Web server. b) Specifying a search criteria for models.

802 O. El-Gayar, K. Tandekar / Decision Support Systems 43 (2007) 791–808

models and convert them to platform dependent modelsand use the models on these platforms.

It should be noted, however, that the componentscomprising the middle tier can be considered part of the

server tier. Likewise, translators for individual platformsmay be developed and maintained by model providers,while the development of parsers may be the responsi-bility ofmodel consumers, i.e., migrating the functionality

Page 13: An XML-based schema definition for model sharing and reuse in a distributed environment

803O. El-Gayar, K. Tandekar / Decision Support Systems 43 (2007) 791–808

of the middle tier to the client tier. Regardless, explicitlyrepresenting a middle tier highlights the importance ofparsers and translators in the proposed architecture aswellas the need to manage these parsers/translators as aresource to maximize reuse and sharing.

6.2. A decentralized web services-based architecture

Alternatively, SMML can be used to represent modelsin a decentralizedweb services-based architecture [17]. Atthe core of the architecture is a service bus providing theunderlying communication infrastructure for the variousservices (Fig. 2b). The bus supports intra and inter-organization communication among services by imple-menting web services standards such as SOAP overHTTP. Connected to the bus is a collection of decisionsupport services such as user interface services, databasemanagement services, and model management services.These services provide access to a variety of decisionsupport resources such as data, models, and solvers. Adecision support component acting as a client, can locate(by using discovery services) and access any of theservices connected to the bus irrespective of the physicallocation of the service. To facilitate intra and inter-organizational communication among services, the archi-tecture adopts XML web services in which all servicescommunicate via Internet protocols and all data messagesare sent and received as XML documents.

Model management services provide access to andmanagement of a variety of modeling resources. Theseresources include specialized solvers, model schemasrepresented as text files, and models as executablecomponents. Different types of services are needed toutilize the various resources. For executable models andsolvers, proxy services are used to encapsulate thefunctionality of existing modules as web services. Formodel schemas represented as stand-alone non-execut-able SMML models, schema wrapper services encap-sulate the functionality and purpose of the underlyingmodels and coordinate the interface with other servicesto successfully execute these models.

In this architecture, model parsers/translators andsolvers are distributed as web services. Adopting XMLweb services, discovery services are implemented as Uni-versal Description, Discovery, and Integration (UDDI)server managing information about all registered services.Discovery services can be used by model producers toregister their models and solvers as web services and bymodel consumers to locate relevant models and solvers.Similar to the centralized model, once a parser/translator iscreated and registered for a particular modeling environ-ment, it is available for use by other model consumers.

7. Case studies

Anumber ofmodels representing levels 1, 2, 3, and 4 ofstructured modeling as outlined by [28,30,31] have beensuccessfully represented in SMML including a DOSglossary, a tournament graph, a beam deflection modelfrom structural mechanics, an income statement spread-sheet, a contract as an example of propositional calculusmodeling, a Russian roulette, a blending model, a capitalplanning model, an economic order quantity (EOQ)model, a feed mix model, an instructor’s grade book, aMarkov chain model, a Product mix model, a set coveringmodel as an example of predicate calculus modeling, astaff scheduling model, a transportation planning model, aPERT model, a production planning model, a relationaldata modeling example, and a semantic data modelingexample. For illustration purposes, this section describestwo cases studies. Case study 1 demonstrates the use ofSMML via a small, yet complete example, while casestudy 2 demonstrates the use of SMML in a centralizedarchitecture through the design and implementation of aprototype system for sharing models on the Internet.

7.1. Case study 1: An SMML representation ofSATELLITE model

An earth's satellite's orbit can be disturbed by gravi-tational forces directed toward other objects that it en-counters. Based on their mass and proximity of suchobjects, we can calculate whether or not they pose a threatto the satellite's orbit. The force which an object exerts on asatellite is proportional to the product of the masses of thesatellite and the object, inversely proportional to the productof the masses of the satellite and the object, and inverselyproportional to the square of the distance between them.The proportionality factor is the gravitational constant. It isassumed that the object is a threat if it exerts enough force toaccelerate one gram by one millimeter per second, i.e., if itexerts a force of at least 10−6. A model schema for theSatellite problem just discussed is presented next:

b?xml version="1.0"?N

bms:MODEL name="Satellite" Level="2" type=

"Optimization"

xmlns:xsi="http://www.w3.org/2001/XML

Schema-instance"

xmlns:ms="http://www.dsu.edu/2004/Model

Structure"

xsi:schemaLocation="http://www.dsu.edu/2004/

ModelStructure

http://localhost/myweb/models/ModelStructure.

xsd

http://www.w3.org/1998/Math/MathML

http://localhost/myweb/models/MathML.xsd"N

Page 14: An XML-based schema definition for model sharing and reuse in a distributed environment

804 O. El-Gayar, K. Tandekar / Decision Support Systems 43 (2007) 791–808

bKEYWORDSNbKEYWORDNSatelliteb/KEYWORDN

b/KEYWORDSN

bGENUS name="SATELLITE"NbTYPENpeb/TYPEN

bINTERPRETATIONNThere is a

bKEY_PHRASENSATELLITEb/KEY_PHRASENinspace.b/INTERPRETATIONN

b/GENUSN

bGENUS name="OBJECT"NbTYPENpeb/TYPENbINTERPRETATIONNThere is an

bKEY_PHRASENOBJECTb/KEY_PHRASENin space.b/INTERPRETATIONN

b/GENUSN

bGENUS name="S_MASS"NbTYPENab/TYPENbCALLING_SEQN

bGENUSREF refer="SATELLITE"/N

b/CALLING_SEQN

bRANGENReal+b/RANGEN

bINTERPRETATIONNThe SATELLITE

has a certainbKEY_PHRASENSATELLITE MASSb/KEY_PHRASENinkg.b/INTERPRETATIONN

b/GENUSN

bGENUS name="O_MASS"NbTYPENvab/TYPENbCALLING_SEQN

bGENUSREF refer="OBJECT"/Nb/CALLING_SEQNbRANGENReal+b/RANGENbINTERPRETATIONNTheOBJECT

hasacertainbKEY_PHRASENOBJECTMASSb/KEY_PHRASENinkg.

b/INTERPRETATIONN

b/GENUSN

bGENUS name="D"NbTYPENvab/TYPENbCALLING_SEQN

bGENUSREF refer="SATELLITE"/NbGENUSREF refer="OBJECT"/N

b/CALLING_SEQNbRANGENReal+b/RANGENbINTERPRETATIONNTheSATELLITE

andOBJECTareacertain

bKEY_PHRASENDISTANCEb/KEY_PHRASENapart in meters.b/INTERPRETATIONN

b/GENUSN

bGENUS name="FORCE"NbTYPENfb/TYPENbCALLING_SEQN

bGENUSREF refer="S_MASS"/NbGENUSRE refer="O_MASS"/NbGENUSREF refer="D"/N

b/CALLING_SEQNbFUNCTION_DESC xmlns:m="http://www.w3.org/

1998/Math/MathML"N

:

:function description in MathML

:

b/FUNCTION_DESCNbINTERPRETATIONNTheOBJECTexertsacertain

bKEY_PHRASENFORCEb/KEY_PHRASENonthe

SATELLITEinnewtons,according

totheNewton’sLawof

Gravitation.b/INTERPRETATIONN

b/GENUSN

bGENUS name="THREAT"NbTYPENtb/TYPENbCALLING_SEQN

bGENUSREF refer="FORCE"/N

b/CALLING_SEQNbFUNCTION_DESC xmlns:m="http://www.w3.org/

1998/Math/MathML"N:

:function description in MathML

:

b/FUNCTION_DESCNbINTERPRETATIONNThe OBJECT

one is abKEY_PHRASENTHREATb/KEY_PHRASENto the SATELLITE if and only

if it exerts a FORCE of greater than

one millionth of a newton.b/INTERPRETATIONN

b/GENUSN

b/ms:MODELN

Since none of the element values appear more thanonce, we can combine all the elements and values into asingle TABLE element with a single record. A modelinstance is presented next:

b?xml version="1.0"?NbELEMENTAL_DETAIL name="Satellite" refer=

"Satellite.xml" xmlns:xsi="http://www.w3.org/

2001/XMLSchema-instance" xsi:noNamespaceSchema

Location="http://localhost/myweb/models/Model

Instance.xsd"N

bTABLEN

bNAMENSATELLITEb/NAMEN

bRECORD_DESCNbFIELDN

bNAMENS_MASSb/NAMENbTYPENrealb/TYPEN

b/FIELDNbFIELDN

bNAMENO_MASSb/NAMEN

bTYPENrealb/TYPENb/FIELDNbFIELDN

bNAMENDb/NAMENbTYPENrealb/TYPEN

b/FIELDN

b/RECORD_DESCN

bRECORDNbFIELD name="S_MASS" value="100"/N

bFIELD name="O_MASS" value="2000"/N

bFIELD name="D" value="200"/N

b/RECORDN

b/TABLEN

b/ELEMENTAL_DETAILN

Page 15: An XML-based schema definition for model sharing and reuse in a distributed environment

805O. El-Gayar, K. Tandekar / Decision Support Systems 43 (2007) 791–808

7.2. Case study 2

There are two types of users, model suppliers andmodel consumers. Model suppliers upload the models to

Fig. 4. LINGO Solver Application. a) SMML Model to LINGO Model C

the model repository on the Web (Fig. 3a) and modelconsumers search and download these models to theirlocal machines (Fig. 3b). These users may be usingvarious modeling tools like GAMS, LINDO, Stella, etc.

onversion. b) LINGO Solution generation using a LINGO model.

Page 16: An XML-based schema definition for model sharing and reuse in a distributed environment

806 O. El-Gayar, K. Tandekar / Decision Support Systems 43 (2007) 791–808

Since the models are written in SMML, the users need asystem that allows for easy conversion of SMMLmodelsto platform-dependent models and vice versa. Todemonstrate the ease of converting SMML models to aplatform dependent model, the research builds a stand-alone windows application for converting LINGOmodels to and from SMML. The application demon-strates that an XMLmodel schema together with a modelinstance for that schema can be integrated to generate aLINGO model. The model consumers using LINGOsolver can download the SMML models and easilyconvert them to a LINGO model. The application alsoallows the user to solve the model by interfacing with theLINGO Dynamic Link Library (DLL).

Model suppliers, on the other hand, can convert theirLINGO models to SMML models with the click of amouse and upload them to the Web repository for othersto benefit from the model written already. For thispurpose, the application takes as input a LINGO modeland generates a valid model schema and/or a modelinstance. The application has been successfully used toconvert SMML models to LINGO and vice versa. Theapplication has also been successfully used to solve aLINGO model once generated from SMML models.The case study uses a custom built equation parser inVB.NET and parses MathML equations written usingcontent markup only. Fig. 4 shows screen shots of theclient-side application environment.

8. Results and conclusion

In summary, this paper proposes an XML-basedschema and supporting architectures for sharing hetero-geneous models in distributed environments using astandardized model representation. SMML is based onstructured modeling as a conceptual modeling frame-work. Such a language will prove helpful in bringingtogether modelers using disparate modeling tools andenvironment. The paper demonstrates the proposedschema using a case study including server sidecomponents for maintaining a shared web-based modelrepository and client-side components for convertingmodels to and from SMML.

The XML-based schema leverages the synergybetween SM and XML to facilitate model representationand sharing in a distributed environment. While XMLprovides the means for sharing and exchanging man-agement models, SM provides the formalism andfoundation for such markup language. In effect,SMML as an XML-based language facilitates modelsharing by acting as an intermediate representationalmechanism for documenting the semantics and use of

models. Instead of the need for creating translatorsbetween pairs of different model representation schemes,it is sufficient to create translators between each modelrepresentation scheme and SMML. Moreover, bygrounding SMML in SM, we leverage desirable modelrepresentation features such as paradigm independence,model-data independence, and model-solver indepen-dence thereby facilitating model reuse. Aside fromfacilitating the creation of a lifetime repository ofmodels, an XML representation of models that isgrounded in theory creates unprecedented opportunitiesfor leveraging web technologies such as web servicesand recent developments in enterprise development suchas service-oriented architecture (SOA).

8.1. Limitations and directions for future research

From a model management perspective, the proposedschema provides a foundation for model sharing andrepresentation. However, issues relating to leveragingthe proposed developments beyond model representa-tion and into model composition, and integration arewarranted. Revisiting and extending the literature onmodel composition in ways that leverage XML anddistributed environments is a natural next step.

Founding SMML in SM contributes to its soundnessand completeness as it leverages the results of similarresearch on SM while having SMML as an XML-basedlanguage leverages the extensibility of XML insupporting continuous improvements of the language.However, since the research is conducted on a set ofmodels mostly taken from [26,30,31] and the LINGOUser's Guide [47], future work should expand uponthese models to include a comprehensive list of modelsfrom several modeling paradigms such as simulation,simultaneous differential equations, stochastic models,etc.

With the inherent compatibility among SM, object-oriented (OO) modeling, and XML, future researchneeds to further capitalize on such synergy to developmodeling environments that can easily translate fromSMML model representations into OO constructsexecutable in distributed environment. Future work isalso needed to standardize such a modeling languagethrough practical reviews and modifications.

On the technical front, XML supporting technologiessuch as Simple API for XML (SAX) and DocumentObject Model (DOM) provide programmatic interfacesthat facilitate the creation of programs to process andproduce XML document such as model translators.eXtensible Stylesheet Language Transformation(XSLT) supports the creation of translators by providing

Page 17: An XML-based schema definition for model sharing and reuse in a distributed environment

807O. El-Gayar, K. Tandekar / Decision Support Systems 43 (2007) 791–808

an XML-based programming language for translatingXML documents into other text formats. While suchtechnologies facilitates the creation of model translators,issues related to the performance requirements as well asthe complexity of developing parsers and translatorswarrants further investigation. Complexity relates tocost and can seriously affect the adoption and diffusionof such technology at the intra- and inter-organizationallevel. Related organizational issues relate to who (e.g.,vendors, government, and non-government organiza-tions) would create such translators and why? What arethe critical success factors for adopting and implement-ing the proposed infrastructure? Future work is alsoneeded to capitalize on the recent technologicaldevelopments in native XML databases (NXD).

Acknowledgments

This material is based upon work supported by theNational Science Foundation/EPSCoR Grant #EPS-0091948 and by the State of South Dakota. The usualdisclaimer applies.

References

[1] H.K. Bhargava, S.O. Kimbrough, Embedded languages formodel management, Decision Support Systems 10 (3) (1993)277–299.

[2] R.W. Blanning, A relational framework for join implementation inmodel management, Decision Support Systems 1 (1985) 69–85.

[3] R.W. Blanning, Model management systems: an overview,Decision Support Systems 9 (1993) 9–18.

[4] G.H. Bradley, Introduction to eXtensible Markup Language(XML) with Operations Research Examples, INFORMS Com-puter Society Newsletter, 2003.

[5] G.H. Bradley, Network andGraphMarkup Language (NaGML)—Data File Formats, presented at Ninth INFORMS ComputingSociety Conference, Maryland, 2005.

[6] N. Bradley, The XML Companion, 3rd. ed. Addison-Wesley,Boston, MA, 2002.

[7] U. Brandes, M. Eiglsperger, I. Herman, M. Himsolt, M. Marshall,GraphML, Retrieved from http://graphml.graphdrawing.org/ on(6/12/2006).

[8] A. Brooke, D. Kendrick, E. Meeraus, GAMS: A Users Guide,The Scientific Press, Redwood City, CA, 1988.

[9] H. Bunke, Attributed programmed graph-grammars and theirapplications to schematic diagram interpretation, IEEE Transactionon Pattern Analysis and Machine Intelligence 4 (1982) 574–582.

[10] R. Canonico, D. Emma, G. Ventre, “An XML Based NetworkSimulation Description Language,” presented at 7th InternationalSymposium on Distributed Simulation and Real Time Applica-tions (DS-RT 2003), Delft, Netherlands, 2003.

[11] D. Carlson, Modeling XML Applications with UML: PracticalE-Business Applications, Addison-Wesley, Boston, 2001.

[12] A.-M. Chang, C.W. Holsapple, A.B. Whinston, Model manage-ment issues and directions, Decision Support Systems 9 (1993)19–37.

[13] K. Chari, T.K. Sen, An implementation of a Graph-BasedModeling System for Structured Modeling (GBMS/SM), Deci-sion Support Systems (1998) 103–120.

[14] J. Choobineh, SQLMP: a data sublanguage representation andformulation of linear mathematical models, ORSA Journal ofComputing 3 (1991).

[15] Data Mining Group, Predictive Model Markup Language(PMML), Retrieved from http://www.dmg.org/ on (1/6/2004).

[16] D.R. Dolk, Model management and structured modeling: the roleof an information resource dictionary system, Communicationsof the ACM 31 (6) (1988) 704–718.

[17] T. Erl, Service-Oriented Architecture: A Field Guide to IntegratingXML and Web Services, Prentice Hall, 2004.

[18] K.A. Evans, K. Kamanna, J. Mueller, XML and ASP.NET, NewRiders Publishing, Indianapolis, IN, 2002.

[19] O.C. Ezechukwu, I. Maros, OOF: Open Optimization Framework,Retrieved from http://www.doc.ic.ac.uk/old-doc/deptechrep/DTR03-7.pdf on 2006(March 9).

[20] A. Finney, M. Hucka, Systems biology markup language: level 2and beyond, Biochemical Society Transactions 31 (6) (2003)1472–1473.

[21] R. Fourer, Modeling languages versus matrix generators forlinear programming, ACM Transactions on MathematicalSoftware (1983) 143–183.

[22] R. Fourer, D.M. Gay, B.W. Kernighan, AMPL: A ModelingLanguage for Mathematical Programming, The Scientific Press,Redwood City, CA, 1993.

[23] R. Fourer, L. Lopes, K. Martin, LPFML: AW3C XML Schemafor Linear and Integer Programming, INFORMS Journal onComputing 17 (2) (2005) 139–158.

[24] R. Fourer, J. Ma, K. Martin, OSiL: An Instance Language forOptimization, Department of Industrial Engineering and Man-agement Sciences, Northwestern University, Chicago, IL, 2006.

[25] M. Gagliardi, C. Spera, BLOOMS: a prototype modeling languagewith object oriented features, Decision Support Systems 16 (1997)1–21.

[26] A.M. Geoffrion, An introduction to structured modeling,Management Science 33 (5) (1987) 547–588.

[27] A.M. Geoffrion, The formal aspects of structured modeling,Operational Research 37 (1) (1989) 30–51.

[28] A.M. Geoffrion, A Library of Structured Models, Informal note,1990.

[29] A.M. Geoffrion, FW/SM: a prototype structured modelingenvironment, Management Science 37 (12) (1991) 1513–1538.

[30] A.M. Geoffrion, The SML language for structured modeling:levels 1 and 2, Operations Research 40 (1) (1992) 38–57.

[31] A.M. Geoffrion, The SML language for structured modeling:levels 3 and 4, Operations Research 40 (1) (1992) 58–75.

[32] M. Holocher, R. Michalski, D. Solte, F. Vicuña, MIDA:an open systems architecture for model-oriented integration ofdata and algorithms, Decision Support Systems 20 (2) (1997)135–147.

[33] R. Holt, A. Schurr, S. Elliott, A.Winter, GraphExchange Language,Retrieved from http://www.gupro.de/GXL/ on (6/12/2006).

[34] M. Hucka, SCHUCS: A UML-Based Approach for DescribingData Representations Intended for XML Encoding, Retrieved fromhttp://sbml.org/specifications/notation/notation.pdf on (5/30/2004).

[35] M. Hucka, A. Finney, H. Sauro, H. Bolouri, J. Doyle, H. Kitano,A. Arkin, B. Bornstein, The Systems Biology Markup Language(SBML): a medium for representation and exchange ofbiochemical network models, Bioinformatics 19 (4) (2003)524–531.

Page 18: An XML-based schema definition for model sharing and reuse in a distributed environment

808 O. El-Gayar, K. Tandekar / Decision Support Systems 43 (2007) 791–808

[36] S.Y. Huh, Model based construction with object orientedconstructs, Decision Sciences 24 (2) (1993) 409–434.

[37] C.V. Jones, An introduction to graph based modeling system: Part 1.Overview, ORSA Journal of Computing 2 (2) (1990) 180–206.

[38] C.V. Jones, An introduction to graph based modeling systems,Part 2. Graph grammars and their implementation, ORSA Journalof Computing (1991) 180–206.

[39] S. Katz, L.J. Risman, M. Rodeh, A system for constructing linearprogramming models, IBM Systems Journal 19 (4) (1980)505–520.

[40] H. Kim, An XML-based modeling language for open interchange ofdecision models, Decision Support Systems 31 (2001) 429–445.

[41] R. Krishnan, K. Chari, Model Management: Survey FutureResearch Directions and a Bibliography, Retrieved from http://www.coba.usf.edu/departments/isds/faculty/chari/model/doc.html on (3/20/2003).

[42] B. Kristjansson, Optimization Modeling in Distributed Applica-tions: HowNewTechnologies Such asXMLandSOAPAllowor toProvide Web Services, Retrieved from http://www.maximal-usa.com/slides/Montrl02/index.htm on (February 20, 2006).

[43] M.L. Lenard, Representing models as data, Journal of Manage-ment Information Systems 2 (4) (1986) 36–48.

[44] M.L. Lenard, An object oriented approach to model manage-ment, Decision Support Systems 9 (1993) 67–73.

[45] T.P. Liang, Integrating model management with data manage-ment in decision support systems, Decision Support Systems1 (3) (1985) 221–232.

[46] T.P. Liang, B.R. Konsynski, Modeling by analogy: use ofanalogical reasoning in model management systems, DecisionSupport Systems 9 (1993) 113–125.

[47] LINDO Systems Inc., LINGO User's Guide, LINDO SystemsInc, Chicago, IL, 2003.

[48] L. Lopes, R. Fourer, XML-Based Proposals for Optimization,Retrieved from senna.iems.nwu.edu/xml/ on (June 17, 2005).

[49] R.F. Lu, G. Qiao, C. Mclean, NIST XML Simulation InterfaceSpecification at Boeing: A Case Study, presented at 2003 WinterSimulation Conference, Piscataway, NJ, 2003.

[50] W.A. Muhanna, An object oriented framework for modelmanagement and DSS development, Decision Support Systems9 (1) (1993) 217–229.

[51] W.A. Muhanna, R.A. Pick, Meta-modeling concepts and tools formodel management: a systems approach, Management Science40 (9) (1994) 1093–1123.

[52] G. Qiao, F. Raddick, C. McLean, Data Driven Design andSimulation System Based on XML, presented at 2003 WinterSimulation Conference, Piscataway, NJ, 2003.

[53] B.E. Shapiro, M. Hucka, A. Finney, A. Doyle, MathSBML:a package for manipulating SBML-based biological models,Bioinformatics 20 (16) (2004) 2829–2831.

[54] R.H. Sprague, H.J. Watson, Model Management in MIS,presented at Seventeenth National AIDS, Cincinnati, OH, 1975.

[55] Y.-H. Wang, Y.-C. Lu, An XML-Based DEVS Modeling Tool toEnhance Simulation Interoperability, presented at 14th EuropeanSimulation Symposium, 2002.

[56] H.J. Will, Model management systems, in: E. Grochla, N.Szyperski (Eds.), Information Systems and Organization Struc-ture, Walter de Gruyter, Berlin, 1975, pp. 468–482.

[57] W3C Math working group, Mathmatical Markup Lan-guage (MathML), Retrieved from http://www.w3.org/tr/2003/REC-MathML2-20031021 on (6/15/2004).

[58] B.P. Zeigler, Object-Oriented Simulation with HierarchicalModular Models: Intelligent Agents and Endomorphic Systems,Academic Press, Boston, MA, 1990.

Omar El-Gayar Dr. El-Gayar is an AssociateProfessor of Information Systems at the Collegeof Business and Information Systems, and theDean of Graduate Studies and Research, DakotaState University. His research interests include:decision support systems, multiple criteria deci-sion making, and the application of decision

technologies in security planning and manage-ment, healthcare, and environmental manage-

ment. He has an inter-disciplinary educational background and training ininformation technology, computer science, economics, and operationsresearch. In addition to his academic credentials, Dr. El-Gayar has industryexperience as an analyst, modeler, and programmer. He has numerouspublications in various information technology related fields. He is amember of AIS, ACM, INFORMS, and DSI.

Kanchana Tandekar Kanchana Tandekarholds a Bachelor of Engineering Degree inComputer Science from Rajiv Gandhi Techni-cal University, Bhopal, India. She also holds aMaster of Science Degree in InformationSystems from Dakota State University, Madi-son, SouthDakota. She's currentlyworking as aprogrammer/systems analyst at Factor 360, aweb design and development company inPierre, SD. Her research interest includes

decision support systems, artificial intelligence,model management systems, data mining andwarehousing.