W3C | Submissions

Team Comment on Service Modeling Language (SML) Submission

W3C is pleased to receive the Service Modeling Language (SML) Submission from BEA, CA, Cisco, EMC (Documentum), HP, IBM, Intel, Microsoft and Sun Microsystems.

This submission defines the Service Modeling Language (SML), which is intended, according to its abstract, to be used to model complex IT services and systems, including their structure, constraints, policies, and best practices.

W3C normally refrains from standardizing XML vocabularies for specific application areas, unless they have foundational character (e.g. XML Schema, XSLT) or very wide application (HTML, MathML). Vocabularies for other areas are better standardized in other fora. But SML is not a conventional XML vocabulary. It defines no elements or attributes with any semantics specifically related to IT services or systems. Instead, it is at once a profile and an extension of XML Schema 1.0 and Schematron: an SML model (description of a system) consists of

SML can thus be interpreted as providing, at the same time, (a) a layered extension of XML Schema, which allows validation to enforce structural and referential integrity constraints within a single XML document but also across multiple documents, and (b) a subset or profile of XML Schema 1.0.

It thus relates very closely to the work of the W3C XML Schema Working Group, in the XML Activity, and slightly less closely to that of various groups in the Semantic Web Activity, in particular those responsible for RDF Schema (first the RDF Schema Working Group, later the RDF Core Working Group). The remainder of this comment summarizes the salient features of the profile of and extensions to XML Schema 1.0 provided by SML, describes their relation to the work of the XML Schema Working Group and the Semantic Web Activity, and mentions some possible next steps for work in this area.

Profile of XML Schema 1.0

SML restricts the use of XML Schema 1.0 in several ways.

To these reviewers, these restrictions seem to illustrate a certain tension in the document between viewing SML as a domain-specific language for describing IT systems and viewing it as a meta-language which specifies how to define a domain-specific language. All of the restrictions are defensible as a matter of stylistic preference, and all are recommended by at least some authorities on schema usage. But all appear potentially problematic in the specification of a meta-language, which for the most part should leave questions of style to the users of the meta-language.

Extensions to XML Schema 1.0

SML defines type, attributes, and elements in the SML namespace, all of which can be used in XML Schema 1.0 schema documents. A complete listing of these is given in section 7 of the SML specification.

The most important extensions are to support inter-document validity constraints: the sml:reference type, used for inter-document references; the smlfn:deref() extension function for XPath 1.0, which finds reference elements and retrieves the nodes they refer to; and multi-document analogues to the intra-document identity constraints of XML Schema 1.0.

At first glance, it may appear curious that the extension of XML Schema's identity constraints goes as far as it does. Surely, if all of the student records are in a Students.xml document, the uniqueness or key constraints on student records should be declared in the schema used by Students.xml, and all that's needed in other documents is an extension of the keyref constraint, which allows a keyref to point to a key defined in another document.

For situations in which the keyed records are indeed all in the same document, it might be desirable for SML's sml:keyref construct to integrate more tightly and naturally with an XSD 1.0 key constraint in the target document. But for situations in which each student record (for example) is a different XML document, the uniqueness and key requirements across the entire collection require some treatment like that offered by SML.

Relation to current W3C work

XML Schema Working Group

Viewed as a schema language, SML embodies a critique of XML Schema 1.0 from a particular angle. The profile of XML Schema effectively provides a list of schema constructs which have proven problematic for users and software developers at least in the context of SML. The extensions to XML Schema 1.0 may be interpreted as a request for enhancement, together with a design showing a possible realization of the enhancement.

But SML is properly viewed not as a schema language competing with XML Schema 1.0, nor as a revision of XML Schema 1.0, but as a layer of inter-document constraints designed to be used on top of XML Schema.

The key contribution of SML to validation lies in its handling of inter-document constraints, which can and should be layered on top of the single-document validation of XML Schema or other schema languages. Any work on SML as a language for cross-document validation should be performed in regular and extensive consultation with the XML Schema Working Group, but should almost certainly be described in a separate specification, probably prepared by a different Working Group.

It should be noted that the addition of assertions to XML Schema 1.1 may make at least some uses of Schematron unnecessary for SML. That area presents a possible incompatibility between SML and existing W3C work.

Semantic Web Activity, RDF Schema

Many groups in the Semantic Web Activity have an interest in data integration from multiple sources. The validation of inter-document references, however, is not of primary importance or interest in the Semantic Web context. More interest attaches to the imposition of constraints on the RDF graph of the information in the documents being validated, but this has no necessary relation to the original representation of the information in one or several XML documents, or to inter-document references.

Semantic Web technologies rely on the URI as the atomic unit of naming and identity; they will tend to be less useful for manipulating information about SML models which use end-point references (EPRs) instead of or in addition to URIs.

For that reason, it is not clear that any groups in the Semantic Web Activity will take an active interest in SML, but any further work on SML should certainly solicit input from the Semantic Web Activity.

Web Services

Section 3.3 of SML provides two mechanisms for reference schemes, namely Uniform Resource Identifiers (URIs) and endpoint references (EPRs). It should be noted that the Web Services Addressing specification does not define equivalence between two EPRs, and specifies that “using abstract properties of an EPR other than [destination] to identify resources is contrary to the Web Services Addressing recommendation”. The example in section 3.3.2 (EPR Scheme) therefore seems misleading in its use of EPR reference parameters. We believe that using reference parameters in an EPR that is included in an SML 1.0 document should be avoided.

Miscellaneous comments

If further work is done on these specifications, some notes on the technical content may be in order.

Next steps

There are two ways this work can progress within W3C: recharter the existing XML Schema WG to undertake it, starting from this submission, or form a separate Working Group to work on SML as a layered approach to multi-document validation compatible with and relying upon XML Schema as the lower layer, with this submission as the starting point for a requirements document. On balance the second option seems preferable.

In either case the XML Schema Working Group should look carefully at the experience of the SML developers and consider ways in which their input can improve future versions of XML Schema.

Any work on SML as a language for cross-document validation should be performed in regular and extensive consultation with the XML Schema Working Group.

Disclaimer: Placing a Submission on a Working Group agenda does not imply endorsement by either the W3C Staff or the participants of the Working Group, nor does it guarantee that the Working Group will agree to take any specific action on a Submission.

Authors: C. M. Sperberg-McQueen, Philippe Le Hégaret
$Date: 2007/07/12 15:08:14 $