• 沒有找到結果。

Modeling imprecise requirements with fuzzy objects

N/A
N/A
Protected

Academic year: 2022

Share "Modeling imprecise requirements with fuzzy objects"

Copied!
19
0
0

加載中.... (立即查看全文)

全文

(1)

Modeling imprecise requirements with fuzzy objects

Jonathan Lee

*

, Nien-Lin Xue, Kuo-Hsun Hsu, Stephen J. Yang

Software Engineering Laboratory, Department of Computer Science and Information Engineering, National Central University, Chungli, Taiwan 32054

Received 1 January 1998; received in revised form 13 March 1999; accepted 13 April 1999

Abstract

One of the foci of the recent development in object-oriented modeling (OOM) has been the extension of OOM to fuzzy logic to capture and analyze informal requirements that are imprecise in nature. In this paper, a new approach to object-oriented modeling based on fuzzy logic is proposed to formulate imprecise requirements along four di- mensions: (1) to extend a class by grouping objects with similar properties into a fuzzy class, (2) to encapsulate fuzzy rules in a fuzzy class to describe the relationship between attributes, (3) to evaluate the membership function of a fuzzy class by considering both static and dynamic properties, and (4) to model uncertain fuzzy associations between classes. The proposed approach is illustrated using the problem domain of a meeting scheduler system. Ó 1999 Elsevier Science Inc. All rights reserved.

Keywords: Imprecise requirements; Object-oriented modeling; Requirements engineer- ing

1. 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

www.elsevier.com/locate/ins

*Corresponding author. Fax: +886-3 422 2681.

E-mail addresses: yjlee@se01.csie.ncu.edu.tw (J. Lee), nien@se01.csie.ncu.edu.tw (N.-L. Xue), glenn@se01.csie.ncu.edu.tw (K.-H. Hsu), jhyang@se01.csie.ncu.edu.tw (S.J. Yang)

0020-0255/99/$ - see front matter Ó 1999 Elsevier Science Inc. All rights reserved.

PII: S 0 0 2 0 - 0 2 5 5 ( 9 9 ) 0 0 0 4 2 - 0

(2)

requirements that are imprecise in nature. Rumbaugh and his colleagues [27]

have argued that OOM is a way of thinking about problems using models organized around real-world concepts which are usually expressed in natural languages. As Zadeh pointed out in [32], it is evident that almost all concepts in or about natural languages are almost fuzzy in nature. Several researchers such as Dubois et al. [12] and Lano [22] have further advocated that object classes with fuzzy memberships values are therefore a natural representation frame- work for real-world concepts.

As a continuation of our previous work [23,24] in using fuzzy logic as a basis for formulating imprecise requirements, we propose, in the paper, a fuzzy object-oriented modeling technique (FOOM) to capture and analyze imprecise requirements through the following two steps: (1) to identify the possible types of fuzziness involved in the modeling of imprecise requirements, and (2) to investigate the potential impacts of incorporating the notion of fuzziness on the features of object orientation.

In FOOM, we have identi®ed several kinds of fuzziness that are required to model imprecise information involved in user requirements.

· classes with imprecise boundary to describe a group of objects with similar attributes, similar operations and similar relationships;

· rules with linguistic terms that are encapsulated in a class to describe the re- lationships between attributes;

· ranges of an attribute with linguistic values or typical values in a class to de®ne the set of allowed values that instances of that class may take for the attribute;

· the membership degree (i.e. ISA degree) between an object and a class, and between a subclass and its superclass (i.e. AKO degree) can be mapped to the interval [0,1] and

· associations between classes that an object instance may participate to some extent.

The paper is organized as follows. We ®rst introduce di€erent versions of features in object orientation in the next section. Several kinds of fuzziness rooted in FOOM are fully described in Section 3. Related work is discussed in Section 4. Finally, we summarize the bene®ts of our approach and outline the plan for our future research in Section 5.

2. Features of object orientation

Object orientation is an engineering principle used to create a representation of the real-world problem domain and to map it into a software solution do- main [13]. Di€erent versions about the features of object orientation have been identi®ed, for example, (1) Coad and Yourdon [9]: abstraction, information hiding, inheritance, and methods of organization including objects and attributes, assembly structures, and classi®cation structures; (2) Rumbaugh

(3)

et al. [27]: identity, classi®cation, polymorphism and inheritance; (3) Booch [5]:

abstraction, encapsulation, modularity and hierarchy; (4) Wirfs-Brock and Johnson [30]: abstraction, encapsulation, polymorphism, classi®cation and inheritance; and (5) Blair [4]: identity, encapsulation, classi®cation, ¯exible sharing and interpretation.

We have adopted Blair's version of object orientation for, as was pointed out in [13], the ®ve dimensions help in de®ning a framework which captures all the encountered variations.

· Identity: The unique identi®cation of every object is through the use of an object identi®er. An object's uniqueness is modeled even though its descrip- tion is not unique [21].

· Encapsulation: The grouping together of various properties with an identi®- able object is usually referred to as the notion of encapsulation. The main considerations in implementing encapsulation are [13]: (1) the selection of properties to be encapsulated (e.g. attributes, operations, representations, al- gorithms, triggers, constraints, etc.), and (2) the determination of visibility of these properties.

· Classi®cation: The concept of classi®cation is grouping associated objects ac- cording to common properties. Various classi®cation schemes are possible such as the set, type, and class. It is important to distinguish between the in- tentional and the extensional aspects of a particular classi®cation [13]:

 The intent of a classi®cation is the description of that classi®cation char- acteristics, therefore, the intent speci®es a predicate.

 The extent of a classi®cation is the set of objects in the current environ- ment which features such behavior, that is, a population selected by ap- plying a predicate.

· Flexible sharing: The ability for an object to belong to more than one clas- si®cation is called ¯exible sharing, which will require a ¯exible form of be- havior sharing. Techniques in achieving ¯exible sharing are based on the encapsulated properties, the considered classi®cation scheme, and the rela- tionships between classi®cations.

· Interpretation: The resolution of the precise semantics of the shared item of behavior. It is necessary to resolve the ambiguity exists in a ¯exible sharing environment. There are two steps involved in the resolution: type checking and binding. Type checking is the determination of whether operations are supported by a particular object; whereas, binding locates the correct im- plementation of the operation. However, interpretation is a feature that is more in line with the object-oriented programming aspect. Therefore, we will only focus on the other four features in FOOM.

In the next section, the four kinds of fuzziness in FOOM are fully discussed.

Features of object orientation exhibited in FOOM are also described. The notations used throughout the paper is an extension of Uni®ed Modeling Language (UML) [15].

(4)

3. Fuzzy object-oriented modeling

Fuzzy object-oriented modeling technique is a modeling approach for re- quirements engineers to model and analyze imprecise requirements. FOOM extends the traditional OOM along several dimensions: (1) to extend a class to a fuzzy class which classi®es 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.

3.1. Inside a fuzzy class

Traditionally, a class is used to describe a crisp set of objects with common attributes, common operations and common relationships. In order to model the impreciseness rooted in user requirements, we extend a class to describe a fuzzy set of objects (called a fuzzy class), in which objects may have similar attributes, similar operations and similar relationships, for example, a set of interesting books or a class of clever students. In the meeting scheduler system, the class ImportantParticipant is modeled as a fuzzy class, that is, a participant may be an important one to a degree.

A fuzzy class in FOOM is an encapsulation of a number of properties that can be classi®ed as static properties or dynamic ones1 (see Fig. 1). Static properties are viewed as integral features of an object that exist for its lifetime including identi®er, attributes and operations. On the other hand, dynamic properties are optional for an object and can be short-lived such as fuzzy rules2and fuzzy relationships.

Since a fuzzy class is a group of objects with similar static properties (i.e., attributes, operations) and similar dynamic properties (i.e., relationships and rules), the membership degree of an instance to a fuzzy class is dependent on the properties, especially the values of attributes and the values of link at- tributes. In our example, the degree that a person belongs to the class Im- portantParticipant depends on his status and his role in the meeting he attends.

The properties of fuzzy relationships and operations are discussed in detail in Sections 3.3 and 3.4 We focus on the fuzzy ranges and fuzzy rules in this section.

Attributes with fuzzy ranges: The domain of an attribute is the set of all values the attribute may take, irrespective to the class it falls into; whereas, the range of an attribute in a class is de®ned as the set of allowed values that

1We have adopted this classi®cation scheme from Zenith approach [14].

2Encapsulating rules in an object is also proposed in SOMA [18].

(5)

a member of a class may take for the attribute [16]. The range of an attribute ai in the class C is denoted as R…ai; C†. In FOOM, the fuzziness in the range of an attribute in a class may be due to either a linguistic term or a typical value.

· A class may be fuzzy for the linguistic values its attributes can take. For ex- ample, the class YoungMan has a fuzzy range for the attribute age, since a person may take young or very young as values for his age.

· The range of an attribute is fuzzy because some of its values are deemed as atypical (i.e. less possible than other values), therefore, each value the attrib- ute may take is associated with a typical degree3. In our example, the class ImportantParticipant has a fuzzy range {student/0.4, sta€/0.7, faculty/1} for the attribute status, which means that a faculty is typically an important par- ticipant, and a student is an important participant with a typical degree of 0.4.It is of interest to note that a crisp class may have attributes with fuzzy ranges. For instance, the class MeetingRegistration is a crisp class, with an attribute participant importance, which is associated with a fuzzy range.

Fuzzy rules: Incorporating fuzzy rules in object-oriented analysis can help enrich the semantics of analysis models. Using fuzzy rules is one way to deal with imprecision where a rule's conditional part and/or the conclusion part contains linguistic variables. More speci®cally, fuzzy rules in a fuzzy class play two important roles: to specify internal relationships between attributes, and to describe triggers more explicitly. These are usually neglected by most of the current object-oriented analysis approaches. Although Eckert and Golder [13]

have addressed this issue by treating attributes as objects in which the internal relationships can be described, their approach ignores the fact that internal

3The notion of typical values is adopted from [12].

Fig. 1. Properties encapsulated in a fuzzy class.

(6)

relationships not only exist in between attributes, but also among other en- capsulated properties.

Fuzzy rules are an optional feature for a fuzzy class in FOOM and are thus classi®ed as a dynamic property. Fuzzy rules are used to describe the internal relationship or external relationship. In the former, fuzzy rules describe the relationship between attributes inside a class. For example, in Fig. 2, a rule ``if the role is a sta€, the participant importance is less important'' describes the relationship between the attributes role and participant importance. In the latter, fuzzy rules are used to describe the relationship between two di€erent classes.

3.2. Fuzzy classi®cation

Perceptual fuzziness refers to the compatibility between a class and an object (i.e. ISA), and the class membership between a class and its subclass (i.e. AKO) [31]. In FOOM, we extend crisp class memberships to fuzzy class memberships by allowing the existence of perceptual fuzziness. In this section, the notion of inheritance and how it e€ects the perceptual fuzziness are elaborated. A novel approach to calculating the membership degree of an object to a class and a subclass to its superclass is also proposed.

3.2.1. Subclassing and subtyping

Inheritance plays an important role in object-oriented analysis and design.

Generally, inheritance is separated into two di€erent concepts: implementa-

Fig. 2. An example of a fuzzy class.

(7)

tion inheritance and subtyping inheritance [8]. Implementation inheritance refers to the sharing of representation and implementation code between a subclass and its superclass. In contrast, subtyping refers to some kind of conformance between a subclass and its superclass in terms of their inter- faces.

Subclassing is concerned with how a class is implemented, that is, a new class is constructed from a parent class by reusing some or all of the parent's operations [3]. In general, a subclass can be constructed through:

· Extension: add a new operation.

· Rede®nition: retain the original interface but recode a particular method.

· Restriction: inherit a subset of operations.

On the other hand, a type de®nes an abstract interface and can be viewed as the speci®cation of objects behavior [1,13]. There are three kinds of typing relationship: subtype, same type, and supertype. In the speci®cation level, the subtype±supertype relationship can be de®ned in terms of the weak form of the principle of substitutability [8]:

S is a subtype of T if substituting an object of type S wherever an object of type T is expected does not introduce the possibility of type errors.

To guarantee the weak form of the principle of substitutability, the fol- lowing syntactic conditions are imposed.

· The subtype must provide at least all operations of its supertype.

· For each operation in the subtype, the corresponding operation in the super- class has the same number of arguments and results.

· The type of the arguments of the supertype's operations conform to those of the subtype's operations.

· The type of the result of the subtype's operations conforms to the type of the result of the supertype's operations.

It is well known that subclassing and subtyping are not necessarily re- lated [3,13], namely, a subclass may be of di€erent typing relationships:

subtype, same type or supertype, to its superclass. If the subclass does not inherit the behavior of its superclass, a problem may occur: when an in- stance of the subclass is passed to a subprogram expecting an object of the superclass, the subprogram may produce unexpected results. In FOOM, a subclass is guaranteed to be either a subtype or a same type of its super- class, that is, the weak form of the principle of substitutability is main- tained.

3.2.2. Perceptual fuzziness between classes and subclasses

Traditionally, the AKO relationship between a class and its subclass is crisp, that is, an instance of a subclass is also an instance of its superclass. In FOOM, an instance of the subclass may be an instance of its superclass to some extent, i.e., the AKO degree ranges from 0 to 1.

(8)

As the weak form of substitutability is maintained in FOOM, a subclass is constructed through extending new operations, rede®ning the inherited operations, adding new attributes or modifying the inherited attribute ranges.

The AKO degree between a subclass and its superclass can be determined by examining the following situations:

· Extension of operations and attributes: In this case, an instance of the sub- class carries all properties of its superclass, and is seen as an instance of its superclass. The AKO degree between the classes is equal to 1.

· Rede®nition of the inherited operations: In this case, only implementation of the operation is rede®ned, an instance of the subclass still possesses the be- havior of its superclass. Therefore, an instance of the subclass is viewed as an instance of its superclass.

· Modi®cation of the inherited attribute ranges: In FOOM, since the attribute range in the superclass and subclass are allowed to be fuzzy, the attribute range in the superclass may include the attribute range in the subclass to some extent. In this case, an instance of the subclass is an instance of its su- perclass to a degree.

The perceptual fuzziness of an object to a class or a subclass to its superclass are calculated by evaluating both the static properties and dynamic properties.

It is also important to note that not all attributes are necessarily related to the perceptual fuzziness. Referring to our example, the membership degree of a person to the class ImportantParticipant can be obtained by checking his status and his participant importance in the meeting he attends. Other properties such as his address, preference set or exclusive set are irrelevant to the perceptual fuzziness. An attribute that may a€ect a perceptual fuzziness is called a Focus Of Attention (FOA) attribute. Therefore, the attribute status is classi®ed as a static FOA attribute, and participant importance a dynamic FOA attribute.

The criticality of an FOA attribute indicates the relevance of the attribute to a perceptual fuzziness. For example, the attribute participant importance is more relevant than the attribute status while examining if a participant is an important one, therefore, it is assigned a higher criticality. To determine the criticality of attributes, we utilize the Analytic Hierarchy Process (AHP) [28], which compares pairwise attributes according to their relative criticality. We use CRI…ai; C† to denote the criticality of an FOA attribute aito the perceptual fuzziness for the class C. After the process of AHP, criticalities of attributes are normalized, that is, P

ai;2FOA…C†CRI…ai; C† ˆ 1, where FOA(C) is the set of FOA attributes for the class C.

The membership degree of a class in its superclass has to account for the criticalities of the FOA attributes and the degree of inclusion of the range of each FOA attributes of the class in that of its superclass. Supposed that the class C is a superclass of the class D. The membership degree of the class C in the class D is denoted as AKO(D,C), and de®ned as

(9)

AKO…D; C† ˆ X

ai2Att…C†\FOA…C†

CRI…ai; C†  AKOai…D; C†

‡ X

Ek2A…C†

X

bj2Att…hC;Eki†\FOA…C†

CRI…bj; C†

0

@  AKObj…D; C†

1 A;

where A…C† is the set of classes associated with C, Att(C) is the set of attributes in C, and Att…hC; Eki† is the set of link attributes in the association hC; Eki which is established between the classes C and Ek. The degree AKOai…x; C† is the AKO degree with respect to (w.r.t.) the attribute aiand AKObj…x; C† refers to the AKO degree w.r.t. to the link attribute bj.

To calculate AKOai…D; C†, we also need to examine whether the fuzziness of R…ai; C† is of the type of linguistic terms or typical values.

· In the case of linguistic terms, the membership degree is de®ned as the fuzzy inclusion of R…ai; D† into R…ai; C†:

AKOai…D; C† ˆ INCI…R…ai; C†jR…ai; D††:

The degree of inclusion of fuzzy sets is de®ned as INCI…AjB† ˆkA \ Bk

kBk :

Note that INCI…AjB† ˆ 1 if and only if A  B, and INCI…AjB† ˆ 0 if and only if A \ B ˆ ;. Therefore, ISAai…D; C† ˆ 1 if and only if the range of aiin the class D is included in the range of aiin the class C, and ISAai…D; C† ˆ 0 if there is no intersection in between.

· In the case of typical values, the membership degree is de®ned by a fuzzy in- clusion based on Godel's fuzzy implication [10]:

AKOai…D; C† ˆ INCG…R…ai; C†jR…ai; D††:

The fuzzy inclusion INCG…AjB† between the fuzzy sets A and B is de®ned as:

INCG…AjB† ˆ inf

s …lB…s† ! lA…s††; where lB…s† ! lA…s†

ˆ 1 if lB…s† 6 lA…s†;

lA…s† otherwise:



Note that INC…R…ai; C†jR…ai; D†† ˆ 1 () 8s; lR…ai; D†…s† 6 lR…ai; C†…s†, that is, the range of the attribute ai in the subclass is included in the corre- sponding range of its superclass. More speci®cally, the subclass inherits attri- butes from its parents by specializing their ranges.

It is also required to examine whether the fuzziness of R…bi; hC; Eki† is of the type of linguistic fuzziness or typical values while calculating AKObj…D; C†:

(10)

· In the case of linguistic terms, the membership is de®ned as the fuzzy inclu- sion of R…bj; hD; Eki† into R…bj; hC; Eki†:

AKObj…D; C† ˆ INCI…R…bj; hC; Eki†jR…bj; hD; Eki††:

· In the case of typical values, we have

AKObj…D; C† ˆ INCG…R…bj; hC; Eki†jR…bj; hD; Eki††:

3.2.3. Perceptual fuzziness between classes and objects

The class membership between an object and a class is crisp, that is, the ISA degree of an object to a class is either 1 or 0. In FOOM, a perceptual fuzziness between an object and a class is allowed. An object may belong to a class to a degree. In the meeting scheduler system, a person may belong to the class ImportantParticipant to some extent.

The ISA degree between an object and a class can be established either explicitly or implicitly [3]. In [17], the ISA degree is explicitly given, and used to derive the values of attributes of the object. Therefore, an object shares part of properties from its base classes. In FOOM, the ISA degree is implicitly de- termined by the structure of classes (see Fig. 3).

The membership degree of an object x in a fuzzy class C is denoted as ISA…x; C†, and de®ned as:

ISA…x; C† ˆ X

ai2Att…C†\FOA…C†

CRI…ai; C†  ISAai…x; C†

‡ X

Ek2A…C†

X

bj2Att…C;Ek†\FOA…C†

CRI…bj; C†

0

@  ISAbj…x; C†

1 A;

Fig. 3. An example of perceptual fuzziness for ISA relationship.

(11)

where ISAai…x; C† is the membership degree of the object x in the class C with respect to (w.r.t.) the attribute ai, and ISAbj…x; C† refers to the membership degree w.r.t. to the link attribute bj. Both static properties (object attributes) and dynamic properties (link attributes) are required for computing the membership degree of an object in a class.

To calculate ISAai…x; C†, we need to examine whether the fuzziness of R…ai; C† is of the type of linguistic terms or typical values.

· In the case of linguistic terms, the membership degree is de®ned as the degree of inclusion of the value of ai of x into the range of aiin C, that is

ISAai…x; C† ˆ INCI…R…ai; C†jV …ai; x††;

where V …ai; x† is the value of x for ai.

· In the case of typical values, the membership degree is de®ned by lR…ai;C†V …ai; x†, that is,

ISAai…x; C† ˆ lR…ai;C†V …ai; x†:

Similarly, to calculate the membership degree w.r.t. to a link attribute, we also need to check to see whether the fuzziness of the range of the link at- tribute's values is of the type of linguistic terms or typical values.

· In the case of linguistic terms, the membership degree is de®ned as the degree of inclusion of the value that bjtakes for the link hx; ei into the range of bjin hC; Eki, where e is an instance of Ek connected with the object x:

ISAbj…x; C† ˆ INCI…R…ai; hC; Eki†jV …ai; hx; ei††:

· In the case of typical values, we have ISAbj…x; C† ˆ lR…ai;hC;EkV …ai; x†:

In our example, supposed that we have the following information in the meeting scheduler system:

R(status, ImportantParticipant) ˆ {student/0.4, sta€/0.6, faculty/1.0}

R…participant importance; h ImportantParticipant; Meeting i† ˆ important V (status, John) ˆ ``student''

V (role, John) ˆ ``sta€''

V …participant importance; h John; M101 i† ˆ less important CRI(status, ImportantParticipant) ˆ 0.3

CRI(participantimportance, ImportantParticipant) ˆ 0.7

The value V (participant importance, John) is derived by the rule ``if the role is sta€, the participant importance is less important''. To calculate the mem- bership degree of a participant John to the class ImportantParticipant (abbre- viated as IP), we ®rst calculate the membership degrees w.r.t the FOA attributes status and participant important (abbreviated as pi).

(12)

ISAstatus…John; IP† ˆ lR…status; IP†…student† ˆ 0:4; and ISApi…John; IP† ˆ INC…important j less important† ˆ 0:6:

Therefore, we have

ISA…John; IP† ˆ CRI…status; IP†  ISAstatus…x; IP† ‡ CRI…pi; IP†

 ISApi…x; hIP; Meetingi† ˆ 0:54:

It should be noted that the importance degree of John is dynamically de- termined by the meeting he attends. The example above describes that: ``John is a more or less important participant (since the degree is 0.54) for the meeting M101''.

3.2.4. Discussion

The concept of fuzzy clustering is somewhat similar to fuzzy classi®cation in our approach: an entity (or object) can belong to a cluster (or a class) to some extent.

The primary objective of clustering techniques is to partition a given data sets into clusters. The concept of fuzzy clustering has been applied to the area of software engineering to the analysis of software systems structure, such as automatic clustering of a large number of program modules [2,26]. Techniques used to measure the distance between data include fuzzy similarity measure and fuzzy inclusion measure.

In FOOM, we use fuzzy inclusion technique to compute the compatibility degree between a class and an object, and the class membership between a class and its subclass (i.e., perceptual fuzziness). Instead of using fuzzy inclusion technique to clustering data, our focus is to determine the compatibility be- tween objects based on their properties (i.e. attributes, operation, and associ- ation). In Table 1, we compare di€erences between our approach and fuzzy clustering.

Table 1

A comparison of fuzzy clustering and FOOM

Objective Application in soft-

ware engineering

®eld

Measure

Fuzzy

clustering Data partition [10] Clustering program

module [2,26] Similarity, inclusion measure [26]

Perceptual

fuzziness Compatibility between

entities and concepts [31] Class classi®cation in

FOOM Inclusion measure in

FOOM

(13)

3.3. Uncertain fuzzy associations

Links and associations are means for establishing relationship among ob- jects and classes. A link is a physical or conceptual connection between object instances. For example, John work-for Simplex company. An association de- scribes a group of links with common structure and common semantics. For example, a person work-for a company. In traditional object-oriented ap- proaches, only crisp associations are introduced, namely, an object either participates in an association or not.

Usually, certain and precise knowledge about an association is not always available in the user requirements; furthermore, usersÕ observations are sometimes uncertain and imprecise. Therefore, an adequate management of uncertainty and imprecision in the phase of requirements analysis is an im- portant issue. The distinction between imprecise and uncertain information can be best explained by Dubois and Prade [11]: imprecision implies the absence of a sharp boundary of the value of an attribute; whereas, uncertainty is an in- dication of our reliance about the fuzzy information.

A uncertain fuzzy association is allowed in FOOM. The imprecision of an association implies that an object can participate in the association to some extent, whereas uncertainty is referred to the con®dence degree about the as- sociation. To represent the imprecision of an association, a special link at- tribute is introduced in FOOM to indicate the intensity that objects participate in an association. Fuzzy truth value, such as true, fairly true and very true, is used to serve as the representation of uncertainty for its capability to express the possibility of the degree of truth.

A link between x and y which is an instance of the association R is repre- sented as a canonical form in FOOM:

…link attribute; hx; yi; degree of participation; s†;

where the ®rst component of the quadruple is a link attribute of an association.

The value that a link hx; yi takes for the link attribute is described in the degree of participation, which represents the degree that objects x and y participate in the association R. The value is a linguistic term such as very high, high or low.

The fuzzy valuation s is a con®dence level of the fuzzy association, whose value is a fuzzy truth value.

For example, an important participant can identify his preference for lo- cations and the intensity of his preference (see Fig. 4). Sometimes it is not certain whether a participant prefer a speci®c location or not. To model the relationship between important participants and locations to be an uncertain fuzzy association prefer will help the meeting scheduler system to resolve con¯icts and make a most convenient schedule. A link attribute preference is associated with the association prefer to indicate the degree of preference. By stating that a link between John and L102 is …preference; hJohn; L102i;

(14)

strong; very true†, we mean that it is very true that John strongly prefers the location L102.

Constraints with imprecise information are also allowed in FOOM, called soft constraints. For example,the requirement ``a meeting location should be as convenient as possible for all important participants'' is modeled as a soft constraint on the associations prefer and take place.

3.4. Polymorphism

Polymorphism is one of the most characteristic features of object-oriented approaches. An operation may apply to many di€erent classes is polymorphic, that is, the same operation takes on di€erent forms in di€erent classes. Several techniques have been proposed to support polymorphism, for example, over- loading, coercions, parameter polymorphism, and inclusion polymorphism [3].

Inclusion polymorphism is adopted in FOOM. Inclusion polymorphism allows a function to operate on a range of types. The range of types is deter- mined by subtyping relationships. With inclusion polymorphism, a function de®ned on a particular type can also operate on any subtype. Since FOOM maintains the weak form of the principle of substitutability, an operation de-

®ned in the superclass is viewed as a polymorphic operation.

4. Related work

A number of researchers have reported progress towards the successful in- tegration of fuzzy logic and object-oriented modeling in the Fuzzy Logic and Software Engineering literature, e.g. [12,16,17,19,20,29], which can be classi®ed into three categories based on their intended modeling purposes:

Knowledge representation for AI systems: Lano has proposed to combine fuzzy reasoning and object-oriented representation for the real-world infor- mation [22]. A knowledge base is organized as a class hierarchy for repre- senting concept categories, each class corresponds to a fuzzy set, whose membership functions is the proximity metric de®ned for the class. Learning is the process that transforms a knowledge base and a new example to a new knowledge base.

Fig. 4. An example of fuzzy association.

(15)

To support an approximate reasoning in systems based on prototypical knowledge representation, Torasso and Console have de®ned a formalism for the representations and a general evaluation mechanism to deal with the form of knowledge [29]. Each frame has three kinds of weighted attributes: neces- sary, sucient and supplementary. The evaluation mechanism is based on fuzzy logic: the fuzzy match between prototypical description and sets of data is based on possibility theory and the relevance measure of each slot.

To handle vagueness and imprecision in an expert system, Leung and Wong [25] integrate fuzzy concepts into object oriented knowledge represen- tation. Relationships between classes may be crisp or fuzzy, which is depen- dent on the types of classes. If the relationship is fuzzy, the certainty factor of class variables and rules in a class will be modi®ed in the subclass. An ap- proach to querying fuzzy objects and the fuzzy relations between classes is also proposed.

Data modeling for database systems: In [12], Dubois and Prade have advo- cated that classes can be intensionally described in terms of attributes which are distinguished between the range of allowed values and the range of typical values. The degree of inclusion between a class C1and a subclass C2 is com- puted by comparing the ranges or the typical ranges of C1 with the ranges or the typical ranges of C2. Three kinds of inheritance are proposed: typical in- heritance, normal inheritance and atypical inheritance.

In [19], the problem of object recognition is viewed as a classi®cation problem, which is characterized by an objected-oriented knowledge represen- tation and control strategies based on fuzzy pattern matching procedures.

Taxonomies of classes are represented by hierarchies of frames. Which class matching the unknown object is decided by fuzzy matching theory based on possibility theory. The matching process is seen as a quanti®cation of similarity and di€erences of both objects, and the computation of these measures strongly depends on the types of the prototypes and object ®elds and the weight of each

®eld.

Bodogna et al. [6] propose a Fuzzy Object Oriented model for manage- ment of crisp and fuzzy data. Their work develops a fuzzy graph-based data model, which intends to generalize a graph model so that imprecision and uncertainty can be managed at di€erent levels. To formulate imprecise que- ries and retrieve precise or imprecise object with a degree of plausibility as- sociated with them, fuzziness is managed in two level: imprecise in the data themselves and knowledge of the data, i.e., uncertainty in the information on the data.

Object-oriented modeling for conventional software systems: George et al.

have utilized the ranges of fuzzy values of classes and objects for computing the degree of inclusion and membership, respectively [16]. To measure the class memberships, a similarity metric is formulated to measure the nearness be- tween attributes' values in a superclass and its subclasses (see Fig. 5).

(16)

Graham [17] has focused on the derivation of unknown values of attributes through the use of a-kind-of relation (AKO), generalized modus ponen and defuzzi®cation techniques [17]. In Graham's work, the notion of an object is extended to that of a fuzzy object in two ways: (1) attributes' values may be fuzzy, and (2) AKO is a matter of degrees. The AKO degree between classes is assumed to be known by a system, and unknown attributes' values are derived through AKO, generalized modus ponen and defuzzi®cation tech- niques.

In [20], the focus has been on the representation of uncertain information based on a generalized fuzzy sets notation. Gyseghem et al. represent fuzzy information as fuzzy sets and uncertainty by means of generalized fuzzy set. A generic class Fuzzy-Set is introduced to capture fuzziness associated with at- tributes. Uncertain information is modeled by a kind of generalized fuzzy sets in which each element of the universe is associated with a fuzzy truth value {p/true, n/false}.

However, none of this work is devoted to the development of an object- oriented technique for informal requirements, but either to the formulation of class memberships (e.g. [12,17]), or to the representation of prototypical knowledge as in [29,19]. Furthermore, features of object orientation are not fully explored in these work. Types of fuzziness in consideration are also somewhat limited. Comparing FOOM with previous researches, FOOM o€ers several important bene®ts (see Table 2):

Fig. 5. Modeling meeting scheduler system using FOOM.

(17)

· FOOM provides a more comprehensive modeling technique by considering di€erent kinds of fuzziness that are usually found in user's requirements.

· These approaches only consider static attributes in computing the class membership, which neglects the fact that a fuzzy class is a fuzzy set of objects with similar attributes, operations and relationships. FOOM not only takes static attributes into account, but also relationships.

· FOOM is more general an approach than non-fuzzy ones in that FOOM can model both crisp and imprecise requirements. The benchmark against non- fuzzy modeling techniques can be evaluated based on the following aspects:

focus of modeling, ranges of attributes in a class, association between class- es, and the classi®cation mechanism.

5. Conclusion

As was pointed by Borgida et al. [7], a good requirement modeling approach should take the problem of describing natural kinds into account; furthermore,

Table 2

Integrating OOM with fuzzy logic: a comparison

Focus Fuzziness

Attribute Association Classi®cation

Property Evaluation Non-fuzzy

technique Modeling crisp require- ments

Crisp value,

crisp type Certain,

precise Static,

dynamic Crisp

FOOM Model

imprecise requirements

Linguistic fuzziness, typical values

Degree of participa- tion, uncer- tainty

Static,

dynamic Fuzzy implication

Bordogna

et al. [6] Imprecise datamanagement

Type,

class Link

strength, uncertainty

Static Explicit

Dubois

et al. [12] Uncertainty in

hierarchy Possibility

distribution No Static Fuzzy

implication George

et al. [16] Imprecise data in data base

No No Static Fuzzy

similarity Graham

[17] Fuzzy object Linguistic

fuzziness No Static Explicit

Granger

[19] Object

recognition Uncertainty No Static No

Leung and

Wong [25] Approximate

reasoning Linguistic

fuzziness No Static Explicit

Tarosso and Cam- bell [29]

Approximate

reasoning Possibility

value No Static No

(18)

Zadeh have indicated that almost all concepts in or about natural languages are almost fuzzy in nature [32]. In this paper, we have proposed an approach to incorporating fuzzy concepts into object-oriented systems for modeling im- precise requirements. Several kinds of fuzziness involved in user requirements are identi®ed: fuzzy classes, fuzzy rules, fuzzy ranges of attributes, perceptual fuzziness, and uncertain fuzzy associations.

Our approach o€ers an important bene®t: to extend traditional object-ori- ented techniques to manage di€erent kinds of fuzziness that are rooted in user requirements.

Our future research plan will consider the following tasks: (1) to explore the possibility of extending FOOM to handle trade-o€ analysis among con¯icting requirements, and (2) to investigate the dynamic behavior in a fuzzy class.

Acknowledgements

This research was supported by National Science Council (Taiwan, Republic of China) under grants NSC87-2213-E-008-019.

References

[1] M. Ancona, Inheritance and subtyping, in: Proceedings of the Symposium on Applied Computing, 1991, pp. 382±388.

[2] L.A. Belady, C.J. Evangelisti, System partitioning and its measure, Journal of Systems and Software (1981) 23±29.

[3] B.S. Blair, Object-Oriented Languages, Systems, and Applications, Pitman, London, 1991.

[4] G. Blair, What are object-oriented systems? in: G. Blair et al. (Eds.), Object-Oriented Languages, Systems and Applications, Pitman, London, 1991, pp. 108±135.

[5] G. Booch, Object-Oriented Analysis and Design with Applications, Benjamin/Cummings, Menlo Park, CA, 1994.

[6] G. Bordogna, D. Lucarella, G. Pasi, A fuzzy object oriented data model, in: Proceedings of the Third IEEE Conference on Fuzzy Systems, 1994, pp. 313±318.

[7] A. Borgida, S. Greenspan, J. Mylopoulos, Knowledge representation as the basis for requirements speci®cation, Computer (1985) 82±91.

[8] R.G. Clark, Type safety and behavior inheritance, Information and Software Technology 37 (10) (1995) 539±545.

[9] P. Coad, E. Yourdon, Object-Oriented Analysis, second ed., Springer, Berlin, 1990.

[10] D. Dubois, H. Prade, Fuzzy Sets and Systems: Theory and Applications, Academic Press, NewYork, NY, 1980.

[11] D. Dubois, H. Prade, Possibility Theory: An Approach to Computerized Processing of Uncertainty, Plenum Press, New York, NY, 1988.

[12] D. Dubois, H. Prade, J.P. Rossazza, Vagueness, typicality and uncertainty in class hierarchies, International Journal of Intelligent Systems 6 (1991) 161±183.

[13] G. Eckert, P. Golder, Improving object-oriented analysis, Information and Software Technology 36 (2) (1994) 67±86.

(19)

[14] Z.P. Kemp et al., Zenith system for object management in distributed multimedia design environments, Information and Software Technology 34 (7) (1992) 427±436.

[15] M. Fowler, K. Scott, UML Distilled: Applying the Standard Object Modeling Language, Addison-Wesley, Reading MA, 1997.

[16] R. George, R. Srikanth, F.E. Petry, B.P. Buckles, Uncertainty management issue in the object- oriented data model, IEEE Transitions on Fuzzy Systems 4 (2) (1996) 179±192.

[17] I. Graham, Fuzzy objects: inheritance under uncertainty, in: Object Oriented Methods, Addison-Wesley, Reading MA, 1994, pp. 403±433.

[18] I. Graham, Migration using SOMA: a semantically rich method of object-oriented analysis, Journal of Object-Oriented Programming (1993) 31±42.

[19] C. Granger, An application of possibility theory to object recognition, Fuzzy Sets and Systems 28 (3) (1988) 351±362.

[20] N.V. Gyseghem, R.D. Caluwe, R. Vandenberghe, UFO: uncertainty and fuzziness in an object-oriented model, in: Proceedings of the Internationl Conference on Fuzzy Systems, 1993, pp. 773±778.

[21] S.N. Khosha®an, G.P. Copeland, Object identity, in: Proceedings of the Conference on Object-Oriented Programming Systems, Languages and Applications, 1986, pp. 406±416.

[22] K. Lano, Combining object-oriented representations of knowledge with proximity to conceptual prototypes, in: Proceedings of Computer Systems and Software Engineering, 1992, pp. 442±446.

[23] J. Lee, J.Y. Kuo, Fuzzy decision making through trade-o€ analysis between criteria, Information Science: An International Journal 107 (1998) 107±126.

[24] J. Lee, J.Y. Kuo, New approach to requirements trade-o€ analysis for complex systems, IEEE Transactions on Knowledge and Data Engineering 10 (4) (1998).

[25] K.S. Leung, M.H. Wong, Fuzzy concepts in an object oriented expert system shell, International Journal of Intelligent Systems 7 (1992) 171±192.

[26] T. Raz, A.T. Yaung, Application of clustering techniques to information systems design, Information and Software Technology 37 (3) (1995) 145±154.

[27] J. Rumbaugh, M. Blaha, W. Premerlani, F. Eddy, W. Lorensen, Object-Oriented Modeling and Design, Prentice-Hall, Englewood Cli€s, NJ, 1991.

[28] T.L. Saaty, The Analytic Hierarchy Process, McGraw-Hill, New York, NY, 1980.

[29] R.B. Terwilliger, R.H. Cambell, Please: executable speci®cations for incremental software develoment, The Journal of Systems Software 10 (1989) 97±112.

[30] R. Wirfs-Brock, B. Wilkerson, L. Wiener, Designing Object-Oriented Software, Prentice-Hall, Englewood Cli€s, NJ, 1990.

[31] V. Wuwongse, M. Manzano, Fuzzy conceptual graphs, in: G.W. Minean, B. Moulin, J.F.

Sowa (Eds.), Conceptual Graphs for Knowledge Representation, 1993, pp. 430±449.

[32] L.A. Zadeh, Test-score semantics as a basis for a computational approach to the representation of meaning, Literacy Linguistic Computing 1 (1986) 24±35.

參考文獻

相關文件

To take these connectives into account, we proposed the use of disjunctive normal form (DNF) to obtain a uniform representation of the requirements. Requirements in DNF form can then

A fuzzy Petri nets approach to modeling fuzzy rule-based reasoning is proposed to bring together the possibilistic entailment and the fuzzy reasoning to handle uncertain and

This paper proposes a holistic multi-domain, multi-task (i.e. slot filling, domain and intent detection) modeling approach to estimate complete semantic frames for all user

In this paper, we have proposed: (1) defining the FOOM schema for modeling the FOOM requirements specifica- tions in XML format, as well as incorporating the notion of stereotypes

This paper presents a new approach based on genetic algorithms to solving the single- vehicle pickup and delivery problem with time window constraints (1-PDPTW).. In partic- ular,

In this paper, we aim to develop a transparent object detection algorithm which can detect the location of transparent objects in color image.. Due to the

Niemeyer, ‘a generalized approach to partial discharge modeling’, IEEE transactions on

In this paper, we have studied a neural network approach for solving general nonlinear convex programs with second-order cone constraints.. The proposed neural network is based on