Modeling imprecise requirements with XML

https://doi.org/10.1016/S0950-5849(03)00015-6Get rights and content

Abstract

Fuzzy theory is suitable to capture and analyze the informal requirements that are imprecise in nature, meanwhile, XML is emerging as one of the dominant data formats for data processing on the internet. In this paper, we have developed a fuzzy object-oriented modeling technique (FOOM) schema based on XML to model requirements specifications and incorporated the notion of stereotype to facilitate the modeling of imprecise requirements. FOOM schema is also transformed into a set of application programming interfaces (APIs) in an automatic manner. A schema graph is proposed to serve as an intermediate representation for the structure of FOOM schema to bridge the FOOM schema and APIs for both content validation and data access for the XML documents.

Introduction

One of the foci of the recent developments in object-oriented modeling (OOM) has been the extension of OOM to fuzzy logic to capture informal requirements that are imprecise in nature (see Ref. [10] for a survey on fuzzy object-oriented model). Meanwhile, XML is emerging as one of the dominant data formats for data processing on the Internet [20]. XML is rapidly establishing itself as the metagrammar for interorganizational communication and becoming increasingly urgent that requirements analysts, system designer and software developers be able to: (1) model the information represented in XML, and (2) describe the relationships between the XML and the systems to process it.

In this paper, we propose (an overview of our approach is depicted in Fig. 1):

 To define a fuzzy object-oriented modeling technique (FOOM) [11] schema for modeling the FOOM requirements specifications in XML format: as a continuation of our previous work in using fuzzy logic as a basis for formulating imprecise requirements [12], we have extended FOOM along two dimensions:

  • 1.

    To define the FOOM schema for constructing requirements specifications, and for validating the model: the FOOM schema is defined based on the key features described in FOOM, including fuzzy set, fuzzy attribute, fuzzy rule, and fuzzy association, by using the XML schema; and

  • 2.

    To incorporate the notion of stereotypes in FOOM to facilitate the modeling of imprecise requirement: we extend the FOOM by incorporating three kinds of stereotype: entity, control, and interface. In addition, we also add a new stereotype, fuzzy entity to better describe the semantics of imprecise requirements.

 To transform the FOOM schema into a set of application programming interfaces (APIs) for content validation and data access in an automatic manner: a schema graph is used to serve as an intermediate representation for the structure of FOOM schema to bridge the FOOM schema and APIs for both content validation and data access for an XML document. Through the APIs generated from the schema graph, the XML documents are parsed to perform the structure and content validation, and to access the data from an object tree. The object tree is a tree-like structure for an XML document as a result of the parsing. A top-level document instance is the root of the tree with zero or more element objects as its children. An element object is defined in a recursive manner with zero or more attributes and/or text elements. In an element object, there are two kinds of methods: get and set method (see Fig. 2). An object tree serves as an internal representation of an XML document. APIs can exploit the information in the object tree to perform the content validation and access the data of an XML document.

We chose the meeting schedule problem [23] as an example throughout this paper to illustrate the proposed approach.

The organization of this paper is as follow. We first introduce the background on XML and XML schema in Section 2. In Section 3, the mappings of FOOM to XML schema and to XML documents are discussed. Several kinds of fuzziness in fuzzy objects are identified, and an extension of FOOM with stereotypes is also described. In Section 4, we propose a schema graph as an intermediate representation for an XML schema, and algorithms for transforming the XML schema into a set of APIs especially for performing the structure and content validation and data access of XML documents. The implementation of FOOM prototype is briefly described in Section 5. Related works are discussed in Section 6, and concluding remarks are given in Section 7.

Section snippets

Extensible markup language (XML)

XML [4] is a data description language standardized by the World Wide Web Consortium (W3C). XML is a sophisticated subset of SGML, and designed to describe document data using arbitrary tags. One of the goals of XML is to be suitable for use on the Web. As its name implies, extensibility is a key feature of XML; users or applications are free to declare and use their own tags and attributes. Therefore, XML ensures that both the logical structure and content of semantics rich information are

Mapping fuzzy object oriented model to XML schema

FOOM [11] is a modeling approach to analyzing imprecise requirements which extends the traditional OOM along several dimensions: (1) to extend a class to a fuzzy class which classifies objects with similar properties, (2) to encapsulate fuzzy rules in a class to describe the relationship between attributes, (3) to evaluate fuzzy class memberships by considering both static and dynamic properties, and (4) to model uncertain fuzzy associations between classes.

Transforming an XML schema to APIs

In this section, we will discuss the transformation from FOOM schema into a set of content validation and data access APIs through a schema graph. The schema graph is an extension of DTD graph [17] with typing information to serve as an intermediate representation for describing the structure of an XML schema.

Implementation

We adopted Java as the programming language for the FOOM prototype (see Fig. 15). In this prototype, a user can use the UML-like notation [3], [15] to model and document user's requirements with a specific XML schema (i.e. FOOM schema). Basic notations of FOOM (e.g. class, relationship, fuzzy-AKO, fuzzy-ISA, etc.) are provided for describing the specification. The user can construct the object/class diagram and specify the internal characteristics (e.g. fuzzy constraints, fuzzy rules,

Related work

XML is a data format for structured document interchange on the Web. It provides a framework for tagging structured data by allowing developers to define an unlimited set of tags to bring great flexibility. In general, XML serves three different sorts of role in the extant approaches:

Conclusion

In this paper, we have proposed: (1) defining the FOOM schema for modeling the FOOM requirements specifications in XML format, as well as incorporating the notion of stereotypes to facilitate the modeling of imprecise requirements; and (2) transforming the FOOM schema into a set of APIs through the use of the schema graph as an intermediate representation for content validation and data access in an automatic manner.

In our approach, the FOOM schema provides a useful representation for modeling

Acknowledgements

We thank Mr. Ying-Yan Lin for his help in implementing the prototype. This research is supported by National Science Council (Taiwan) under grants NSC90-2213-E-008-031 and NSC91-2213-E-008-012.

References (24)

  • J. Lee et al.

    Modeling imprecise requirements with fuzzy objects

    Information Sciences

    (1999)
  • J. Lee et al.

    Structuring requirement specifications with goals

    Information and Software Technology

    (2001)
  • K. Turowski et al.

    Representing and processing fuzzy information—an XML-based approach

    Knowledge-Based Systems

    (2002)
  • C. Berkley et al.

    Metacat: a schema-independent XML database system

    Proceedings of the International Conference on Scientific and Statistical Database Management

    (2001)
  • P.V. Biron, A. Malhotra, XML Schema part 2: datatypes, W3C Recommendation, May 2001,...
  • G. Booch et al.
    (1999)
  • T. Bray, J. Paoli, C.M. Sperberg-McQueen, E. Maler, Extensible Markup Language (XML) 1.0 (second edition), W3C...
  • A. Deutsch et al.

    Storing semistructured data with STORED

    Proceedings of the ACM SIGMOD Conference on Management of Data

    (1999)
  • D.C. Fallside, XML Schema part 0: primer, W3C Recommendation, May 2001,...
  • D. Florescu et al.

    Storing and querying XML data using an RDMBS

    IEEE Data Engineering Technology Bulletin

    (1999)
  • I. Jacobson
    (1992)
  • M. Kay, XSL Transformations (XSLT) version 2.0, W3C Working Draft, December 2001,...
  • Cited by (30)

    • Data modeling and querying with fuzzy sets: A systematic survey

      2022, Fuzzy Sets and Systems
      Citation Excerpt :

      They identify the fuzziness in the fuzzy relational databases and then give the formal approach to map the fuzziness into the corresponding fuzzy XML documents. Instead of the fuzzy relational databases, Lee et al. [135] propose the fuzzy object-oriented modeling technique schema and Lee and Fanjiang [136] discuss its mapping into fuzzy XML documents. Note that the mappings proposed in [104] and [136] return fuzzy XML documents rather than a fuzzy XML DTD/Schema.

    • Modeling fuzzy data with XML: A survey

      2016, Fuzzy Sets and Systems
      Citation Excerpt :

      These types of fuzzy data actually correspond to type-3, type-5 and type-6 fuzzy data representations identified in Section 3.1. The fuzziness in the fuzzy XML data considered in [28] comes from the fuzzy object-oriented modeling technique (FOOM) schema proposed in [29] because the FOOM schema is mapped to the XML schema and to the XML documents. Several kinds of fuzziness in fuzzy objects are identified in the FOOM schema, mainly including attribute with linguistic values, attribute with fuzzy sets and fuzzy classes.

    • Construction of fuzzy ontologies from fuzzy XML models

      2013, Knowledge-Based Systems
      Citation Excerpt :

      Also, since XML is imposing itself as a standard for representing and exchanging information on the Web, topics related to the modeling of fuzzy data can be considered very interesting in the XML data context [51]. In order to represent and handle fuzzy information in XML documents, some research studies were done in modeling and querying imperfect XML data by considering different aspects [5,28,38,44,45,49,51,52,58,62,64]. Also, in order for ontologies to represent and reason on fuzzy knowledge, some efforts have been made to propose fuzzy ontology definitions by incorporating fuzzy logic into ontologies [17,19,20,40,53,59,63].

    • Universal fuzzy system representation with XML

      2005, Computer Standards and Interfaces
    View all citing articles on Scopus
    View full text