Information Systems Frontiers

, Volume 17, Issue 4, pp 917–946 | Cite as

Model-driven approach to modeling and validating integrity constraints for XML with OCL and Schematron

Article
  • 168 Downloads

Abstract

The idea behind Model Driven Development (MDD) (Miller and Mukerji 2003) is to model the software system on several layers of abstraction. A designer starts from the very abstract specification (independent of the platform and language used) and progresses to more concrete models (using platform-specific constructs) and finally to code. Ideally, each step of the transformation of the model from the more abstract to the less abstract is achieved by a declarative transformation obtained (semi-)automatically. In our previous work, we have developed an approach for designing XML schemas based on MDD. We showed that a set of XML schemas representing different views of the same problem domain can be first modeled in a platform-independent level with a uniform conceptual schema expressed as a UML class diagram. Then each XML schema can be modeled as a view on this uniform UML class diagram. In this paper, we further extend our approach to modeling XML schemas using UML class diagrams with modeling integrity constraints using Object Constraint Language (OCL). We show that an integrity constraint expressed at the platform-independent level as an OCL expression can be translated to an expression at the XML schema level which can be used to validate XML documents. In particular, we propose a method which translates an OCL expression at the platform-independent level to a Schematron expression. Schematron is a language which enables to express integrity constraints at the XML schema level. We show that our approach saves time and prevents from errors made by designers when expressing Schematron constraints manually.

Keywords

Integrity constraints OCL UML XML Schematron Conceptual modeling 

References

  1. Abiteboul, S., Benjelloun, O., Milo, T. (2008). The Active XML project: an overview. VLDB Journal, 17(5), 1019–1040. http://dblp.uni-trier.de/db/journals/vldb/vldb17.html#AbiteboulBM08.CrossRefGoogle Scholar
  2. Arenas, M., Fan, W., Libkin, L. (2008). On the complexity of verifying consistency of XML specifications. SIAM Journal of Computer, 38, 841–880. http://dl.acm.org/citation.cfm?id=1.405087.1405100.CrossRefGoogle Scholar
  3. Badica, A., Badica, C., Popescu, E. (2006). Implementing logic wrappers using xslt stylesheets. International multi-conference on computing in the global information technology (Vol. 0, p. 31).Google Scholar
  4. Boag, S., Chamberlin, D., Fernández, M.F., Florescu, D., Robie, J., Siméon, J. (2007). XQuery 1.0: an XML Query Language, W3C. http://www.w3.org/TR/xquery/.
  5. Bouchou, B., Ferrari, M.H., Lima, M.A.V. (2011). Attribute grammar for XML integrity constraint validation. In Proceedings of the 22nd international conference on database and expert systems applications—volume part I, DEXA’11 (pp. 94–109). Springer, Berlin, Heidelberg. http://dl.acm.org/citation.cfm?id=2035368.2035378.
  6. Booth, C.K.L.D. (2007). Web Services Description Language (WSDL) version 2.0 part 0: Primer, W3C. http://www.w3.org/TR/wsdl20-primer/.
  7. Codd, E.F. (1972). Relational completeness of data base sublanguages. In R. Rustin (Ed.), Database systems: 65–98, Prentice Hall and IBM Research Report RJ 987. San Jose, California.Google Scholar
  8. Conrad, R., Scheffner, D., Christoph Freytag, J. (2000). XML conceptual modeling using UML. In Conceptual modeling—ER 2000. Lecture Notes in Computer Science.Google Scholar
  9. Demuth, B., & Hussmann, H. (1999). Using uml/ocl constraints for relational database design. In Proceedings of the 2nd international conference on The unified modeling language: beyond the standard, UML’99. Springer, Berlin, Heidelberg. http://dl.acm.org/citation.cfm?id=1.767297.1767359.
  10. Dominguez, E., Lloret, J., Perez, A., Rodriguez, B., Rubio, A.L., Zapata, M.A. (2011). Evolution of XML schemas and documents from stereotyped UML class models: a traceable approach. Information and Software Technology, 53, 34–50.CrossRefGoogle Scholar
  11. Eclipse Model Development Tools (MDT). http://www.eclipse.org/modeling/mdt/.
  12. Fan, W., & Libkin, L. (2002). On XML integrity constraints in the presence of DTDs. Journal of ACM, 49(3), 368–406. doi:10.1145/567112.567117.CrossRefGoogle Scholar
  13. Gaafar, A., & Sakr, S. (2004). Towards a framework for mapping between UML/OCL and XML/XQuery. In UML.Google Scholar
  14. Holstege, M. (2012). Type introspection in XQuery. In Proceedings of Balisage: the markup conference 2012, Balisage series on markup technologies. Mulberry Technologies.Google Scholar
  15. Hussmann, H., Demuth, B., Finger, F. (2000). Modular architecture for a toolset supporting OCL. In UML: advancing the standard, UML’00. Springer.Google Scholar
  16. ISO/EIC (2006). Information technology Document Schema Definition Languages (DSDL) part 3: rule-based validation schematron. ISO/IEC 19757-3.Google Scholar
  17. Klímek, J., Malý, J., Nečaský, M. (2012). eXolutio project. http://exolutio.com.
  18. Klímek, J., & Nečaský, M. (2012). Formal evolution of XML schemas with inheritance. In Proceedings of international conference on web services 2012.Google Scholar
  19. Malý, J., Mlýnková, I., Nečaský, M. (2011). XML data transformations as schema evolves. In ADBIS ’11: proceedings of the 15th advances in databases and information systems. Springer, Vienna.Google Scholar
  20. Malý, J., & Nečaský, M. (2012). Utilizing new capabilities of XML languages to verify OCL constraints. In Proceedings of Balisage: the markup conference 2012, Balisage series on markup technologies.Google Scholar
  21. Malý, J., Nečaský, M., Mlýnková, I. (2012). Efficient adaptation of XML data using a conceptual model. Information Systems Frontiers, 1–34. doi:10.1007/s10796-012-9375-8.
  22. Mandel, L., & Cengarle, M. (1999). On the expressive power of OCL. In FM’99 – Formal Methods, Springer (Vol. 1708).Google Scholar
  23. Miller, J., & Mukerji, J. (2003). MDA Guide Version 1.0.1, Object Management Group. http://www.omg.org/docs/omg/03-06-01.pdf.
  24. Murata, M. (2002). RELAX (Regular Language Description for XML), ISO/IEC DTR 22250-1. http://www.xml.gr.jp/relax/.
  25. Murata, M., Lee, D., Mani, M., Kawaguchi, K. (2005). Taxonomy of XML schema languages using formal language theory. ACM Transactions, 5(4), 660–704.CrossRefGoogle Scholar
  26. Nečaský, M., Klímek, J., Malý, J., Mlýnková, I. (2012a). Evolution and change management of XML-based systems. Journal of Systems and Software, 85(3), 683–707. http://www.sciencedirect.com/science/article/pii/S0164121211002524.CrossRefGoogle Scholar
  27. Nečaský, M., Mlýnková, I., Klímek, J., Malý, J. (2012b). When conceptual model meets grammar: a dual approach to XML data modeling. Data & Knowledge Engineering, 72, 1–30. http: //www.sciencedirect.com/science/article/pii/S0169023X1100125X.CrossRefGoogle Scholar
  28. Nentwich, C., Capra, L., Emmerich, W., Finkelstein, A. (2002). xlinkit: a consistency checking and smart link generation service. ACM Transactions on Internet Technology, 2(2), 151–185. 10.1145/514183.514186.CrossRefGoogle Scholar
  29. Object Management Group (2007). UML 2.1.2 Specification. http://www.omg.org/spec/UML/2.1.2/.
  30. Object Constraint Language Specification (2012). OMG. http://www.omg.org/spec/OCL/2.3.1/.
  31. Phan, B., Pardede, E., Rahayu, W. (2013). On the improvement of active XML (AXML) representation and query evaluation. Information Systems Frontiers, 15(2), 203–222. doi.10.1007/s10796-012-9363-z.CrossRefGoogle Scholar
  32. Richters, M., & Gogolla, M. (2002). OCL: syntax, semantics, and tools. In Object modeling with the OCL, Springer. (Vol. 2263, pp. 447–450).Google Scholar
  33. Routledge, N., Bird, L., Goodchild, A. (2002). UML and XML schema. In ADC’02, ACS.Google Scholar
  34. Salem, R., Boussaïd, O., Darmont, J. (2013). Active XML-based Web data integration. Information Systems Frontiers, 15(3), 371–398. doi:10.1007/s10796-012-9405-6.CrossRefGoogle Scholar
  35. Saxonica (2012). Saxon XSLT Processor 9.4., http://saxon.sourceforge.net/.
  36. Sparx Systems. Enterprise Architect. http://www.sparxsystems.com.au/products/ea/index.html.
  37. Technische Universität Dresden. Dresden OCL. http://www.dresden-ocl.org.
  38. Tim Bray, C.M.S.-M., & Paoli, J. (2000). Document type declaration.Google Scholar
  39. W3C (2001). XML Linking Language (XLink) version 1.0 recommendation. http://www.w3.org/TR/xlink/.
  40. W3C (2010). XProc: an XML pipeline language recommendation. http://www.w3.org/TR/xproc/.
  41. W3C (2011). XML Path Language (XPath) 3.0, working draft 13. http://www.w3.org/TR/xpath-30/.
  42. W3C (2012). XML Schema 1.1. http://www.w3.org/TR/xmlschema-1/.Google Scholar
  43. W3C (2012). XQuery and XPath data model 3.0, working draft. http://www.w3.org/TR/xpath-datamodel-30/.
  44. W3C (2012). XSL Transformations (XSLT) version 3.0, working draft 10. http://www.w3.org/TR/xslt-30/.
  45. Wenfei, F., & Jerome, S. (2003). Integrity constraints for XML. Journal of Computer and System Sciences (JCSS), 66(1), 254–291.CrossRefGoogle Scholar
  46. Zschaler, S., Demuth, B., Schmitz, L. (2014). Salespoint: A Java framework for teaching object-oriented software development. Science of Computer Programming, 79, 189–203. doi:10.1016/j.scico.2012.04.005, http://dblp.uni-trier.de.

Copyright information

© Springer Science+Business Media New York 2013

Authors and Affiliations

  1. 1.XML and Web Engineering Research Group, Faculty of Mathematics and PhysicsCharles University in PraguePragueCzech Republic

Personalised recommendations