The key contributions of this paper are the adaptation of a simple first-order logic for expressing consistency relationships of elements in XML documents, the formal specification of a semantics that enables the generation of hyperlinks between inconsistent elements, and a light-weight architecture for delivering this as a service via the Web. We show in particular how we made use of our language to express the constraints of the UML FoundatiodCore package and to write rules that relate UML documents to Z specifications. We present an evaluation of the performance of our implementation against several industrial size models. xlinkit may be used at h t t p : //www.xlinkit .corn. Mainstream software engineering makes use of informal to semi-formal notations for systems specifications, most prominently the UML. With systems growing in complexity and tight constraints on resources and expertise, distributed development often becomes a necessity. The aim of this work is to support distributed software engineers in managing the consistency of their specifications. Contrary to previous work on constraint checking, we adopt a tolerant approach to inconsistency, shifting the focus from preventing to detecting and pinpointing inconsistent relationships. We present a formal basis for checking the consistency and linking the elements of distributed, heterogeneous data in XML. We show how this can be applied to semi-formal software engineering content, most notably the UML. We outline a service, xlinkit, that has been developed to support The extensible Markup Language (XML) [3] has gained acceptance in the business and software development world as an open standard and as a mechanism for bridging data heterogeneity problems. XML has simplified the creation of domain-specific markup languages. Software engineering is an obvious application area where many languages have been developed. Most importantly for the examples in this paper, the XML Metadata Interchange (XMI) [24] standard supports the storage of MOF [22]-compliant models in XML format, in particular it includes a DTD for the UML as an example application. XML is accompanied by a set of powerful technologies, which we will briefly review. m a t h [6] supports the selection of sets of elements from XML documents by standardising a language for paths in trees. m i n k
The xlinkit language REF is an XML-based language for specifying consistency rules between XML documents using a restricted set of first order logic and XPath expressions.
Static consistency checking for distributed specifications
Proceedings 16th Annual International Conference on Automated Software Engineering (ASE 2001)
Proceedings 16th Annual International Conference on Automated Software Engineering (ASE 2001)
Computer Science