Conceptual XML for Systems Analysis Reema Al-Kamha PhD Dissertation Defense Supported by NSF
2 Motivation Since XML is now a standard for data representation There is a need for A simple conceptual model for XML Tools to Develop schemas for XML data storage Reverse-engineer XML storage structures to a conceptual model for further development
3 Dissertation Contributions Conceptual-XML (C-XML) Transformations C-XML to XML Schema (to develop schemas for XML data storage) XML Schema to C-XML (to reverse-engineer XML storage structures to a conceptual model for further development) Observations and recommendations
4 C-XML
5 Conceptual XML (C-XML) C-XML has good conceptual-modeling characteristics Satisfies conceptual modeling requirements [Nec06, SW06,Wild05] Graphical notation Formal foundation Structural independence Reflection of the mental model n-ary relationship sets Cardinality for all participants Ordering Allowance for irregular and heterogeneous structure …
6 Transforming C-XML to XML Schema
7 exists [0:*] (Course(x) Student(x1) Semester(x2) Grade(x3) )) --> C-XMLXML Schema
8 Algorithm Overview Generate a forest of scheme trees Translate an individual object set Translate an individual node Create a root node Add global uniqueness constraints Translate generalization/specialization hierarchies
9 (Student, StudentID, StudentName, FirstName, LastName, (MiddleName)*, (Course, Semester, Grade)*)* Generate Scheme Trees
10 (Course, Department)* Generate Scheme Trees
11 (GradStudent, Advisor)*(UndergradStudent)* Generate Scheme Trees
12 (Student, StudentID, StudentName, FirstName, LastName, (MiddleName)*, (Course, Semester, Grade)*)* (Course, Department)*(GradStudent, Advisor)*(UndergradStudent)* Generate Scheme Trees
13 Student, StudentID, StudentName, FirstName, LastName MiddleName Course, Semester, Grade Course, Department GradStudent, Advisor UndergradStudent (Student, StudentID, StudentName, FirstName, LastName, (MiddleName)*, (Course, Semester, Grade)*)* (Course, Department)*(GradStudent, Advisor)*(UndergradStudent)* Generate Scheme Trees
14 Individual Object Sets...
15 Nodes Students CoursesGradStudents UndergradStudents MiddleNames Course-Semester-GradesMiddleNames Students Student MiddleName CourseGradStudent UndergradStudent Course-Semester-Grade
16 Nodes... <xs:element name="Semester-Course-Grade" minOccurs="0" maxOccurs="unbounded">......
17 Nodes exists [0:*] (Course(x) Student(x1) Semester(x2) Grade(x3) )) -->
18
19 Root Element Students CoursesGradStudentsUndergradStudents......
20 Uniqueness Constraints <xs:element name="Student" maxOccurs="unbounded">...
21 Generalization/Specialization
22 Transforming XML Schema to C-XML
23 XML Schema C- XML
24 Algorithm Overview Generate object sets for each element, attribute Specify built-in data types and simple types in the data frame XML parent-child connections become binary relationship sets minOccurs, maxOccurs, and use become participation constraints
25 Attribute Transformation
26 Element Transformation
27 Choice Transformation
28 Sequence Transformation
29 Key Constraints Transformation
30 SubstitutionGroup & Extension Transformation
31 Observation on Transformations Our transformations to and from C-XML are not inverses of one another However, C-XML XML Schema C-XML XML Schema
32 Observations & Recommendations
33 C-XML is More Expressive than XML Schema Extra, unneeded sequence structure … …
34 C-XML is More Expressive than XML Schema Extra, unneeded sequence structure … …
35 C-XML is More Expressive than XML Schema Extra, unneeded sequence structure … …
36 C-XML is More Expressive than XML Schema Generalization/specialization constraints UndergradStudentOID(x) or GradStudentOID(x))--> not GradStudentOID(x))--> InstructorAdvisor(x))-->
37 C-XML is More Expressive than XML Schema Participation constraints for child elements exists[0:*] y(State(x) has Order(2) in Sequence-k(y))) -->
38 Recommendations Extending XML Schema Extend the all structure Support generalization/specialization constraints
39 XML Schema is More Expressive than Traditional Conceptual Models Traditional conceptual model languages do not support: Sequence structure Choice structure Mixed-content Any and anyAttribute structures
40 Recommendations Enrich conceptual modeling languages Order lists of concepts Choose alternative from among several Specify mixed content Use content from another data model
41 Conclusions Extended conceptual modeling for XML Developed transformation algorithms: C-XML to XML Schema XML Schema to C-XML Explored the equivalence of C-XML and XML Schema Basic transformations are not inverses But inverse transformations exist Observations and Insights Expressive Power Recommendations
42 Future Work Provide mathematical proofs Make the prototype tool practical Continue with this work in several activities in system analysis, design, development, and evolution XML database design and development Reverse Engineering Integration