Article Preview
Top1. Introduction
Data object modeling is a process to creatively extract and abstractly represent a real-world problem by data models based on constraints of given computing resources. Abstract Data Types (ADTs) are a set of highly generic and rigorously modeled data structures in type theory (Guttag, 1977; Broy et al., 1984; Cardelli & Wegner, 1985; Stubbs & Webre, 1985), which is an abstract logical model of a complex data structure with a set of predefined operations. A number of ADTs have been identified in computing and system modeling such as stack, queue, sequence, record, array, list, tree, file, and graph (Broy et al., 1984; Mitchell, 1990; McDermid, 1991; Wiener & Pinson, 2000; Wang, 2007; Wang, Ngolah, Tan, Tian, & Sheu, 2010). ADTs possess the following properties: (i) An extension of type constructions by integrating both data structures and functional behaviors; (ii) A hybrid data object modeling technique that encapsulates both user defined data structures and allowable operations on them; (iii) The interface and implementation of an ADT are separated where detailed implementation of the ADT is hidden to applications that invoke the ADT and its predefined operations.
Graphs are a typical data object for modeling a system of hierarchical and networked components in computing and system architectural description. Graphs are the most complicated data objects in system architectural and behavioral modeling beyond records, lists and trees. Graphs are a well studied ADT supported by both computer science and graph theory as a mathematical structure (Harary, 1969; Lipschutz & Lipson, 1997; Bondy & Murty, 2008).
Definition 1. A graph (G) is a tuple of a finite nonempty set of nodes N and a finite nonempty set of edges E, i.e.:
G≙(N,E),e=(ni,nj)∈E,1≤i,j≤|N|^i≠j (1)
where a node,
n ∈
N, is an indexed structure such as a record or array of information and∕or functions; and an edge,
e=(
ni,nj)∈
E, is a relation between a pair of nodes.
Graphs can be classified into the categories of simple, weighted, directed, and weighted_directed graphs. The simple graph has been formally described in Definition 1. The weighted and directed graphs are characterized by the weighted or ordered edges E, respectively. Based on Definition 1, the weighted, directed, and weighted_directed graphs can be derived as follows.
Definition 2. The weighted graph (G*), digraph (
), and weighted_digraph (
) are extensions of the simple graph as follows, respectively:
(2)
(3)
(4)where
and
denote a normal and ordered edge, and
the weight of an edge.