WJET  Vol.8 No.2 , May 2020
New Interface Complexity Metric on XML Schema
Abstract: With increasing usage of a web services today, user required to consecrate reasoning energy to learning the complexities of the interface as opposed to the content. Interface complexity measures the degree of complexity encountered between the user and digital medium like website. This paper presents a New Interface Complexity (NIC) Metric, which partially based on existing schema metrics to weigh human insight of recent service interface; taking into account elements and attributes of XML documents implemented in World Wide Web Consortium (W3C) XML Schema (WXS) to reduce the structure affecting the effort for comprehending schema documents. The NIC metric is able to draw conclusions about the perceived qualities: interoperability, extensibility and flexibility. It was discovered that there are significant correlations between NIC metric and existing measures. Automating, this practice would be beneficial to developers and designers, as it would help to provide useful feedback in software project design to check the quality of documents for easy maintenance and properly used of XML data for distributed applications.

1. Introduction

A complex interface can confuse the user in a mild situation and completely estrange them in an extreme case when designing web-based applications. Web services technologies are very manure stack of technologies which are getting great recognition. With the emergence of this prodigious recognition; web applications should be developed as fully autonomous components to run on different types of platform provided by web services more rapidly, easily and cheaply than ever before [1] [2] based on open standardized suite of technologies such as Extensible Markup Language (XML) [3], Hyper-Text Transport Protocol (HTTP) [1] [2] [4], Simple Object Access Protocol (SOAP) [1] [2] and Web Service Description Language (WSDL) [1] [2].

The function of web services requires a service provider and consumer to exchange messages through the mechanism of XML documents: used for representing and transporting data to and from integrated applications public interface [5]. In order for XML document to provide a shared understanding about data exchange between applications XML documents require well design of XML schema [5]. In XML background data representations are made by designing schemata which can be in different XML schema languages. The most favored XML schema languages for generating XML documents are Document Type Definition (DTD) [3] [6], XML Schema Definition/World Wide Web Consortium XML Schema (XSD/WXS) [7] [8] [9] and Regular Language for Next Generation (RNG) [10] [11] [12].

2. Review of Related Works

In the software industry today researchers have focused on measuring complexity of service description like any other software artifact on size, data, building components, mapping process and qualities. Regardless the context usage; much of the success of individual web service depends on the quality of its interface because in practice it is the only information source consumers have available when reasoning about the functionality offered by the service [13]. XML schema documents have many measurable attributes to quantify different aspect of complexity and have streamlined complex applications in web services into lightweight [14]. For examples, [15] proposed metrics based on quality: according to these metrics, the quality of XML documents has great impact on the design quality of its schema document therefore their metrics measured the reusable, extensible and understandable of XML schema documents in web engineering process respectively and provided valuable information for improving the quality of XML based system.

A set of metrics of XML schema for both manual and automatic mapping processes was developed [16]. The metrics based on well-established metrics analyzed the complexity and mapping effort of a business documents standards prior to actual mapping process. With XML document typically large, there is need to find ways of improving their ease of use and maintainability by keeping their complexity low, [17] focused on different ways of keeping complexity low by determining the complexity of XML documents based on various syntactic and structural aspects of the documents. The findings is on documents with higher nesting levels, had more weights and could be viewed more complicated as compared to the documents with lower nesting level. References [18] and [19] formulated a metric that aimed at measuring complexity of an XML schema through its internal structure and recursion. They further developed measure adopted metrics on communication information theory [20] and ARS metric [21] targeted at finding the structural complexity of DTD schema language [22]. Their metric is more realistic and could be useful in differentiating DTDs of the same size.

A study that assesses human perception on some recent services interface complexity metrics was presented by group of authors [23] following the metrics suite [24]. The metric suggests that a service that is not complex for a software application in terms of time and space required to analyze it, will not be necessarily well designed in terms of best practices for designing web services. An interface complexity measure was designed that takes into account—interaction complexity: an important aspect of complexity of a component-based system [25]. The metric showed that the effect of this parameter on complexity of a component-based system is quite significant and appear to be logical to fits the intuitive understanding. Reviewed was done on existing schema metrics based on different XML schema languages [26] to show how recent each metric is, its effectiveness, how good and comprehensive complexity measure the metric has; Another metrics developed improved schema entropy and interface complexity adopted DTD metrics to measure complexity of schemas for the assessment and improved quality of software product using RNG [27]. The metrics assist application developers in writing less lengthy codes by ensuring that a given XML documents satisfies the desired data transported among applications.

3. The Proposed Metric (NICWXS)

Following the formulated metrics [27] which measure the assessment and improved quality of software product using RNG, this metric is presented as New Interface Complexity (NIC) metric using WXS schema language and then likened with existing measure. The metric is defined as:

NIC WXS i = 1 NEC ( FOC i 2 / NE ) + NA (1)

where NEC is the number of equivalence class.

FOCi is the frequency occurrence of class.

NE is the total number of element nodes in the graph.

NA is the number of attribute an element of WXS has in a particular XML documents.

3.1. Algorithm for the NICWXS Metric

The NIC metric is based on the effort required in understanding the XML documents and the information contained in the WSDL. Number of Attribute (NA), Number of Equivalence Class (NEC), Frequency Occurrence of the Class (FOCi) and Number of Element (NE) are the parameters used for the approach of this metric; given in the algorithm below:

• Step 1: Start by identifying root of the schemas and all the elements.

• Step 2: Identify the root parent, child elements and the attributes.

• Step 3: Input root.

• Step 4: Input the child elements FOC.

• Step 5: Input the attributes.

• Step 6: Input NEC.

• Step 7: Represents the attributes.

• Step 8: Identify and set up references.

• Step 9: Define the reference.

• Step 10: Set NIC = 0.

• Step 11: Connect the references to the main schemas.

• Step 12: Set FOC occurrence [i] = 0.

• Step 13: Se NE [i] data type = 0.

• Step 14: Set NA [i] attribute type = 0.

• Step 15: Initialize NEC = 0.

{i} While NEC ≥ 1.

{ii} NICWXS = Summation NEC[i]FOC[i]^2/NE + NA.

• Step 16: End.

3.2. Data Flow Diagram for NICWXS Metric

The data flow diagram showed the process in which FOC i 2 is divided by the NE and then adds NA to it as seen in Figure 1.

3.3. Illustration of NICWXS Metric

Demonstration of NICWXS metric is given as sample schema Manuscript SD/No 34 in Appendix 1 as FigureA1 and the rest of the schemas are provided as web links in Appendix 5. The directed graph representation of the schema is given in Appendix 2 as FigureA2 and from the directed graph representation of this schema; evaluation of the equivalence classes is labelled in Appendix 3 as FigureA3. The empirical validation of the resulting listing is calculated from Equation (1); the analysis goes thus:

• Analysis of WXS schema Manuscript.

NIC WXS i = 1 NEC ( FOC i 2 / NE ) + NA

Figure 1. Data flow diagram for NICWXS metric.

1 2 + 1 2 + 6 2 / 8 + 1 = 5.75 .

4. Results and Discussions of NIC Metric

Discussion on results obtained from a total number of sixty-five (65) schemas acquired from WSDL implemented in WXS is shown in Appendix 4 as TableA1; listings and directed graph representations showed the complexity values between NICWXS metric and DSERSWXS (existing measure). The applicability of NICWXS and DSERSWXS revealed the effort required in understanding the information contents of the metric when implemented in WXS. It was observed that some schemas had similar NE yet their complexity values were different because their schema had more diversity in their class elements. At the same time some schema had equal elements and equal complexity values because they had equal fan-in and fan-out values, same listings and same directed graph representations therefore, complexity value for each metric is known based on their element count; more so, more element can contain more repetition.

The comparative study of NICWXS and DSERSWXS is depicted in the graph shown in Figure 2. Review of this graph disclosed that NA is closely related and considered in NICWXS metric than DSERSWXS which differentiate their complexity values therefore; schema documents with many inheritance features give greater complexity values due to high degree of extensibility, interoperability and flexibility qualities.

4.1. Conclusion

The NICWXS metric made more sensitive measurement in understanding the information content contained in the schema documents. The applicability of

Figure 2. Relative graph of NICWXS and DSERSWXS.

NICWXS metric was evaluated by different schemas from WSDL implemented in WXS to prove its robustness and effectiveness. The results showed that NICWXS had greater complexity values because of many inheritance features therefore, exhibited the complexity of schemas very clearly and accurately with high degree of extensibility, interoperability and flexibility thus, reduced maintenance effort and this made it suitable measure. However, NICWXS metric can be likened with other schema languages to see the effectiveness of this metric; therefore the future work may be geared towards this aspect.

Appendix 1

Figure A1. WXS schema for manuscript.

Appendix 2

Figure A2. Directed graph representation of manuscript.

Appendix 3

Figure A3. Equivalence classes of WXS schema manuscript.

Appendix 4

Table A1. Complexities measure for NICWXS and DSERSWXS metrics.

Appendix 5

Web Links, Last Visited 2008., Last Visited 2008., Last Visited 2008., Last Visited 2008., Last Visited 2008., Last Visited 2008., Last Visited 2008., Last Visited 2008., Last Visited 2008., Last Visited 2008.

Cite this paper: Sotonwa, K. , Olusi, T. and Adeife, O. (2020) New Interface Complexity Metric on XML Schema. World Journal of Engineering and Technology, 8, 168-178. doi: 10.4236/wjet.2020.82014.

[1]   Erl Thomas, E. (2004) Service Oriented Architecture: A Field Guide to Integrating XML and Web Services. Prentice Hall Publishers, Upper Saddle River.

[2]   McDowell, A., Scheider, C. and Yue, K. (2004) Analysis and Metrics of XML Schema. SERP Proceedings of the International Conference on Software Engineering Research and Practice, Las Vegas, 21-24 June 2004, 308-320.

[3]   Van der Vlist and Eric (2002) The W3C’s Object Oriented Descriptions for XML: XML Schema. Document Markup Language, O’Reilly, Sebastopol.

[4]   Gourley, D., Totty, B., Sayer, M., Aggarwal, A. and Reddy, S. (2002) The Definitive Guide. O’Reilly Media.

[5]   Malik, A.S., Boyko, O., Atkar, N. and Young, W.F. (2001) A Comparative Study of MR Imaging Profile of Titanium Pedicle Screws. Acta Radiologica, 42, 291-293.

[6]   Bray, T., Jean, P. and Sperberg-McQueen, M.C. (2004) Extensible Markup Language (XML) 1.0 W3C Recommendation. Third Edition, World Wide Web Consortium (W3c).

[7]   Visser, J. (2006) Structure Metrics for XML Schema. Proceedings of XATA, Portugal, 2006, 1-12.

[8]   Binstock, C., Peterson, D., Smith, M., Wooding, M., Dix, C. and Galtenberg, C. (2002) The XML Schema Complete Reference. Addison Wesley Professional Publishing Co. Inc., Boston.

[9]   Thompson, H.S, Beech, D., Muzmo, M. and Mendelsohn, N. (2004) XML Schema Part 1: Structures. 2nd Edition, W3C Recommendation.

[10]   ISO/IEC (2000) Information Technology: Text and Office Systems Regular Language Description for XML (RELAX) Part, Relax Core, DT 225-1.

[11]   ISO (2002) ISO/IEC TR 22250-1:2002: Information Technology Document Description and Processing Languages, Regular Language Description for XML (RELAX) Part 1: RELAX Core. Technical Committee, 36.

[12]   Makoto, M., Dongwon, L., Murali, M. and Kohsuke, K. (2005) Taxonomy of XML Schema Languages Using Formal Language Theory. ACM Transactions on Internet Technology, 5, 660-704.

[13]   Marco, C.J., Manuel, R., Alejandro, Z. and Marcelo, C. (2010) Revising WSDL Documents: Why and How. Internet Computing, 14, 30-38.

[14]   Tyler, T. (2009) Minimizing Complexity in User Interface, Articles Design and Development, Vvyre, London, October 2009.

[15]   Thaw, T. and Khin, M. (2013) Measuring Qualities of XML Schema Documents. Journal of Software Engineering and Application Scientific Research, 6, 458-469.

[16]   Pichler, C., Strommer, M. and Huemer, C. (2010) Size Matters: Measuring the Complexity of XML Schema Mapping Models. 6th World Congress on Services, Miami, 5-10 July 2010, 1-6.

[17]   Qureshi, M.H. and Samadzadeh, M.H. (2005) Determining the Complexity of XML Documents. Proceedings of the International Conference on Information Technology Coding and Computing, Las Vegas, Vol. 2, 416-421.

[18]   Basci, D. and Misra, S. (2009) Data Complexity Metrics for XML Web Services. Advances in Electrical and Computer Engineering, 9, 9-15.

[19]   Basci, D. and Misra, S. (2008) Complexity Metric W3CXML Schema, Web Services, WSDL, SOAP.

[20]   Shannon, C.E. (1948) A Mathematical Theory of Communication. Bell System Technical Journal, 27, 379-423.

[21]   Boxall, M. and Araban, S. (2004) Interface Metrics for Reusability Analysis of Components. Proceedings of the 2004 Australian Software Engineering Conference, Melbourne, 13-16 April 2004, 40-51.

[22]   Basci, D. and Misra, S. (2011) Document Type Definition (DTD) Metrics. Romanian Journal of Information Science and Technology, 14, 31-50.

[23]   Marco, C., Mateos, C., JoseLuis, O.C., Alejandro, Z. and Misra, S. (2013) An Evaluation on Developer’s Perception of XML Schema Complexity Metrics for Web Services. 4th International Workshop on Software Quality, Vol. 7972, 475-486.

[24]   Basc, D. and Misra, S. (2011) Metrics Suite for Maintainability of Extensible Markup Languages Web Services. IET Software, 5, 320-341.

[25]   Usha, K. and Upadhyay, S. (2011) An Interface Complexity Measure for Component-Based Software Systems. International Journal of Computer Application, 36, 46-52.

[26]   Sotonwa, K., Olusi, T. and Olabiyisi, S. (2019) Review of Metrics on XML Schema Languages. International Research Journal of Computer Science, 6, 700-708.

[27]   Sotonwa, K.A., Olabiyisi, S.O., Omidiora, E.O. and Oyeleye, C.A. (2019) Development of Improved Schema Entropy and Interface Complexity Metrics. International Journal of Research in Applied Science and Engineering Technology, 7, 611-620.