KNOWLEDGE BASED DECISION SUPPORT SYSTEM ... - IEEE Xplore

4 downloads 1333 Views 714KB Size Report
E-mail: maya@iwisel. iwi.uni-sb.de ... knowledge-based systems and software marketing. ... system for competitive software audit - an intersection domain.
WLEDGEmBASED DECISION SUPPO PETITWE SO Maya Daneva CIM T Z , InstitutJicr WirtschaJsinformatik, Altenkesseler str. 17, Geb. B2 D - 661I5 Saarbriicken, GERMANY tel. (0681) 97 62 224,fax: (0681) 7 75 19, E-mail: [email protected]

Juliana Peneva, Rossen Rashev, Radostina Terzieva SoNare Engineering Dept., Institute of Mathematics, Bulgarian Academy of Sciences Acad. G. Bontchev st., bl. 8 I I 13 So$a, B ULGARIA E-mail:[email protected]

ABSTRACT

The goal of the present paper is twofold. On the one hand we attempt to bridge the gap between the development of knowledge-based systems and software marketing. On the other hand we develop a knowledge-based decision support system for competitive software audit - an intersection domain between software marketing and software engineering. Our solution i s based on an integrated model of a software enterprise where marketing and engineering decisions are considered jointly [7].

There is a growing trend in the use of the knowledge-based techniques in business and marketing decision making. Nevertheless a few investigations on the topic of marketing decision support in software industry have been reported. The goal of the present paper is to gain inside the development of a knowledge-based system for decision support in a competitive software business environment. Analysing the company's decision structure we derive a procedure for a competitive software audit and determine the use cases. A general architecture of a knowledge-based decision support system is proposed. Object modeling and problem solving methods are briefly discussed. The solution of two different decision making problems is illustrated by proper case studies.

The remainder of this paper is organized as follows. The next section deals with the decision structure for a company operating in a highly competitive environment. The business process of competitive software auditing is discussed and use cases are determined. In Section 3 general architecture of a knowledge-based decision support system for competitive audit is proposed. Section 4 is devoted to object modeling. Finally the use cases are illustrated by two studies.

1. INTRODUCTION

2. SOFTWARE COMPETITIVE AUDIT. USE CASES

Recently there is a trend to apply AI based systems in marketing. The main research topics are [7]: modeling marketing universe of discourse (UoD); 0 choosing proper decision making methods; 0 representing data and knowledge uniformly. The first topic addresses the modeling of objects, relationships and actions in various marketing situations when a decision has to be made. Decision making methods prescribe how to process marketing units so as the right object for achieving a certain marketing goal can be identified. Data and knowledge integration deals with strategies for automatic knowledge acquisition by using a previously accumulated decision making experience. Current investigations characterized by: 0

on

these

research

issues

Modern enterprises work in a tremendously competitive environment. Marketing situations subjected to decision making are complex, dynamic and highly uncertain [6]. A typical decision structure for such an enterprise is given in Fig.1. There are five decision levels: from company to a program for user satisfaction. Each level possesses a set of own decisions factors which give optional solutions the managerial staff should consider. There are many alternatives to be examined. Knowledge and data to assess the right strategy come from different sources and are voluminous. Thus a knowledge-based decision support system to assist managers in their activities becomes the needed tool. This system will capture and interpret marketing knowledge and data. Also it will reduce the number of alternative decisions and will rank them in order to conform the stated marketing or business goal.

are

a close relation to a certain business;

a lack of a holistic view to highlight particular links among these research topics. As it concerns software business no significant AI based solutions have been proposed yet. e

Generally in a software company decisions address three business topics: software quality improving; software processes reengineering; 0 competitive market positioning. Taking into account decision emphasis we propose to consider decisions as being initiative and operational ones. They are spread over all levels in Fig. 1.

For a software company it is very important to develop efficiently both marketing and engineering strategies. Considering the current state-of-the-art one could expect that the decision making process might be facilitated by developing a knowledge-based system.

0-7803-2559-1/95 $4.00 0 1995 IEEE

1974

r-[-)=,

2. Select competitors. Choose products of a certain software class according to the stated goal. 3. Specify the type of product. Describe completely the software product characteristics and establish measurement rules. An example of software measurement "dashboard" is given in [5]. Carry out the measurement. 4. Review the products. Apply methods for software benchmarking and competitive analysis on the base of auditing information. 5. Interpret results. Establish rules for using the auditing results to solve the stated business problem. 6. Develop documentation. Create report to present the results of each stage of the procedure.

to implement

I

I

Analysing the decision structure we determine two use cases for our system:

\ 1

Use Case 1 The manager should make an initiative decision. Then the system is expected to gain current company's position on the market, user satisfaction level, schedule range, etc.

User Satisfaction program

Use Case 2 Given an initiative decision the manager should find the best strategy i.e. an operational decision has to be made. Then the system has to generate different competitive scenarios. Various strategies for keeping or regaining company's competitive edge have to be checked. For example what would be the profit of a promotion strategy, image enhancement or quality improvement? The system is expected to gain on future company position on the market. As a result by considering the real marketing constraints, the manager is submitted the best alternative to obtain the stated business goal.

Fig. 1'. Decision structure of a company in a competitive environment,

Initiative decisions conform questions of the pattern "what should be done", e.g. what to improve, what to reengineer, what to market. They identify starting points for improvement program:; and the chances for achieving some significant recognition (IS0 9000 Certification, Capability Maturity Model Level 3, 4, 5). Also initiative decisions enable a company to compete in the market gaining a best-in-class position.

3. SYSTEM ARCHITECTURE Operational decisions stress over "how it should be done" e.g. how to improve, how to reengineer, how to market. Within a decision level the manager has to match capability, software technology, time and financial schedule against right combinations of market share, revenue on investments and the related marketing or business goal.

The general architecture of a knowledge-based decision support system for competitive auditing is given in Fig.2. Taking into account the system's complexity we propose an open architecture. The approach permits a dynamic system extension by new modules or by replacing old components with enhanced and reengineered functionality. Also the system offers an open functionality i.e. the user is able to define own classes and their instances in order to describe a given UoD. New rules and computational models can be easily added. Thus the system can be tuned to fit specific user requirements.

To support both types of decisions we apply two approaches: software benchmarking and competitive analysis. The software benchmarking is a continuous process which involves the collection, analysis, reporting and comparison of a useful set of "data points" for our company with those of other enterprises [3]. The competitive analysis comprises the study of software competitors by modeling the software market. So, the relationships between company's intention and the results of the uncontrollable marketing factors e.g. competitors and user behaviour can be derived. Software benchmarking and competitive analysis are both forms of competitive audit. The competitive audit is defined like reviewing all aspects of the enterprise with the purpose to anticipate the strategic implications of company's strengths and weaknesses and the changes in the firm's competitive position [12].

We view the system architecture as a configuration of "components" and "connectors" [1 11. Components establish the primary points of computations in the system and connectors specify the communications between the components. To provide a high degree of flexibility three distinct components have been designed. Next we briefly describe them as well as the way they interact each other. 1. Marketing Item Comparator (MIC). This is the main system component for executing generic user queries and audit cases. It is built from three active modules: a) Task Analyzer - the module examines the user request and elicits knowledge from its description. Two kinds of knowledge are captured: descriptive knowledge about the static structure of the modelled UoD that are intentional (e.g. class specifications) and extensional (e.g. class instances) U61; procedural knowledge about inference procedures (set of rules) and computation functions (solving methods) applicable to the descriptive knowledge.

The analysis [5] of the reports of worldwide known computer associations in benchmarking, e.g. Standard Performance Evaluation Corporation, Transaction Processing Performance Council and Business Application Performance Consortium, led us to the following procedure for competitive software audit: 1. State the goal. Formulate the business problem and identify decisions which would be made on the base of software audit results.

1975

a The Task Analyzer determines the type of the user request and invokes the Task Processor which manages the task execution. b)Sewice Kernel - this module performs three basis functions: processing of data and rules; handling solving methods; * processing of audit cases; The Service Kernel consists of three components: Task Processor; Processing Unit; Audit Case Module; each having a different function. Depending on the user request the Task Processor communicates with the Processing Unit or the Audit Case Module. If an auditing case should be considered, the Audit Case Module determines the descriptive and procedural knowledge i.e. which methods and rules to apply over the objects. The deriving services fall in two groups: applying a solving method to a set of objects; 0 applying rules to objects. The difference between these services is in the type of procedures involved: calculation versus inference ones. To fulfil the deriving services the Audit Case Module communicates with the Processing Unit.

The Processing Unit is built from: * Object Manager; Rule Manager; Solving Method Manager. The Object Manager administrates the Object Base which contains entities of the UoD. It provides the functionality of an object data management system [2]. Object descriptions are considered as assertional knowledge granules which may be used to condition and then to exploit operational knowledge (rules). Objects can be created, updated and destroyed by the rules. The Rule Manager processes rules which determine decision values, tests for action non-feasible conditions and tracks the state-space to arrive at a solution. Each rule has the form: sztuation+action. The situation part of a rule describes its triggering conditions in terms of more or less completely defined objects. The action part gives the solving methods to be performed in the event of triggering. The situation of each rule is compared with the state description in the Object Base. The situation that agrees with the current state description has its solving method (action) modifying the Object Base to bring about some desired result. The Solving Method Manager is responsible for handling the Solving Method Library containing algorithms which determines how domain-specific knowledge is used for solving a given problem [13]. In our implementation two groups of methods have been included: a classification methods (algorithm of Anderson [l] and QR approach [4]). These methods compare and rank alternatives on the base of the multicriterial theory. The solution is chosen from a set of given alternatives. e simulation methods (modeling software market [lo]). c)Store Manager - it controls the access to the Repository. 2. Repository. It consists of three parts: an Object Base, a Rule Base and a Solving Model Library. The Object Base contains entities from the UoD. An object is a concept, abstraction or thing that crisps boundaries and meaning for an user task [9, 151.

The Rule Base comprises sequences of rules specifying the event dependent behaviour of the system. The Solving Model Library contains computational modules (procedures) for object processing depending on the user request.

3. User Interface. This is a graphical tool which supports users in their auditing and processing activities. It provides an interactive interface to the system. By supporting OLE 2.0 and DDE user is given the possibility to customize the communications with MIC. The interaction among the components is presented in Fig.2.

V

Store Manager

+

Fig.2. General architecture of a knowledge-based decision support system for competitive auditing. 4. OBJECT MODELING

The Object Base contains entities of the considered UoD. The object data management system conforms the ODMG-93 standard [2].The object model, the object definition language (ODL), the object manipulation language (ODL) and the object query language (OQL) are in compliance with the ODMG framework. According to the standard a binding for C++ programming language has been specified. We have chosen the ODMG-93 standard for its consensus-based object model which is a superset of the ODM object model [17]. In this way we define an application specific profile of the object model. D e f l An enterprise object is a triple , where: a N is a human-meaningful name for the object; ID is a unique identifier that is independent of any object characteristics; V = { v,, v2, . _ _, v,J is a list of values for the set of properties pertinent to the object; this list defines the object state.

Example 1:

1976

Enterprise objects are categorized into types. All objects of a given type have a common range of states and common behaviour.

In our system inheritance applies to implementation i.e. inherited operations are overridden by a subtype.

D e f 2 A.n enterprise type is a triple , where: * TN is the name of the type; t' = {A,, A,, ..., A,,J is a set of characteristics; 0 = {O,, O, ..., 0,Jis a set of operations.

The characteristics (properties) may be attributes of the object itself or relationships between the object and other objects. Attributes (instance variables) contain literal values and are simple. Relationships can be viewed as complex attributes of two kinds: references and collections (lists, sets, arrays). Operatimons are applied to objects of a given type and they are defined by signatures as follows: b(x,:t,, x2:t2, ..., x,,,.~t,,,)+(y,:t',,y,:t;, ..., y,,:t& e,,...,eJ where: d is the operation name; x,, J C ~ ,..., x, are m arguments with types t,, t2, ..., t,; y,, J ? ~..., , y,, are n results with types t',, t>, ..., t',,; e,, eI. ..., ek are the names of any error conditions the operation can raise.

For the use cases described below we determine the following types: MARKET, ENTERPRISE, PRODUCT, QUALITY, USER, MARKET-SHARE, PLATFORM. Example 2: consider the user groups pUSI%.GROUP

pUSER-GROUP =

PI

lpI

USEX-GROUP

,O

USER_GROUP

Fig.3. Object type hierarchy.

Object types and schema are specified by a graphical ODL. Their implementation is in C++. For this reason in the rest of the paper examples are given in C++.

USER-GROUP

1

9P2

rJSEX-GROUP =

,

UserTaste;

P2 'JsEX-GRo'Jp = MumberOfUsers; oUSER-GROUP

where:

USEX-GROUP 01

USm-GROIIP

{ 01

Example 3: class PRODUCT : public Persistent-Object { public: String name; String producer; PRODUCT(const char* name);//constructor String GetName ( ) ;

USI%-GROUP 9

02

1

stands for Userlndeference

USEX-GROUP 02

=

stands for ShowUserTaste

Userlna'eference:(Product-I: PRODUCT, Market-I: MARKET)

1

+(UserSatisfaction :int, Exceptionl)

class SOFTWARE-PRODUCT : public Persistent-Object, PRODUCT{ public : String platform; SOFTWARE-QUALITY SoftwareQuality; SOFTWARE(const char* name, char* producer, char* platform, SOFTWARE-QUALITY* Q) : PRODUCT ( name, producer) ;

Show UserTaste: () +(UserTaste : int, ExceptionS)

Objects types are related in a subtypehpertype hierarchy. An example is given in Fig.3. Subtyping allows refinement of object types i.e. if B is a subtype of A, an object of type B can be usedl whatever an object of type A may be used. So, PRODUCT is further specialized in SOFTWARE-PRODUCT, SOFTWAREPRODUCT splits in DB-SYSTEM, WORD-PROC, SPREAD-SHEET, etc. types. All of the attributes, relationships, and operations defined on a supertype are inherited by the subtype. If Ops(PR0DUCT) and Ops( SOFTWARE-PRODUCT) are the set of operations for PRODUCT and SOFTWAE-PRODUCT types, then:

1 class USER-GR0UP:public Persistent-Object { public: int NumberOfUsers; int UserTaste; USER-GROUP ( int i, int j) ; void ShowUserTaste ( 1 ; int UserIndeference(PR0DUCT product, MARKET market)

1. For each operation O Y C TE Ops( PRODUCT)

there exists a corresponding operation SO€ TWARi-PRODUCT E Ops( SOFTWARE-PRODUCT) 0, yielding the same result.

2. Ops( SOFTWARl-PRODUCT)

a Ops( PRODUCT).

1 1977

Information is retrieved in two ways:

spreadsheet market. Hundred instances of the object type USER-GROUP have been created. The instance of the type PRODUCT-MARKET contains a set of instances for every Spreadsheet of the UK Market. The collected data are given in ~141.

I. Through navigation relationships in ODM; we use the C++ syntax to create, delete, identify, reference and invoke operations on a persistent object. Example 4: ProductExcel = new(database SOFTWARE-PRODUCT( 'Intel, MS-Windows', 'Microsoft', 'MS Excel 5 . 0 ' , Q )

We specify the following objective to the system: Objective: Find the best product-positioning strategy for Supercalc 2. The system simulates the UK software market by taking into account the user defined parameters which represent the initial product-positioning strategy (Fig.4.).

2. Through the OQL which allows the definition of predicates on object properties. Objects are queried by their names. Highlevel primitives to deal with collections have been provided. Explicit update operations miss as there exist methods defined on objects for this purpose,

20 , 18 16

5. APPLICATION

14 12

To show the use of our system let consider two decision making problems specified in terms of objective and competitive products.

10 0

6

Use Case 1 Objective: Identify the best software product on the market. Software Class: Database Management Systems. Software Characteristics: the analyzed features are given in Table 1. [8]. Characteristics: Price/Performance Reliability Ease of Learn Flexibility Quality of Output Understandabilitv Userfriendliness OS Compatibility

4 2

0

Weight: 8 7 10 4 6 8

m Supercalc

Visicalc Sympfony Framework II Multiplan 2

Lotus 123 81 Smart Spsheet Supercalc 4

0Supercalc 2 0 Supercalc 3 Open Access Multiplan 3

Multiplan Framework Lotus 123 I1

Fig.4. Simulation I Distribution of the market among the competitors.

9

The result shows that these strategy is not successful. To improve the product positioning the user chooses one of the system proposed alternatives - the penetration pricing. The results of applying the penetration pricing strategy which is a successful one are given in Fig.5.

3

Table I Products: Ingres, Oracle, Sybase, Focus, Informix [8].

Two cases with equal characteristics weights defined by MIC system have been examined. The software has been ranked by applying the QR approach [4]. The results are presented in Table 2. Software Products: Informix Sybase Ingres Focus Oracle

Rank I: 1 2 3 4 5

Rank 11: 1

3 2 5 4

Table 2. Use Case 2 We use the simulation software market model [IO] to find the best product-positioning strategy for Supercalc 2 on the UK Spreadsheet market. Considering the software market model and the proposed procedure for decision support by productpositioning [14], we define the proper object types, create instances, insert the rules and the solving method in the system.

Fig 5 Simulation 2 Distribution of the market among the competitors

The object types are: PRODUCT-MARKET, USER-GROUP, PRODUCT. Instances of this type are created to present UK

In addition the system presents an analysis of the possible competitors' actions to regain market positions. The main

1

Supertalc

o Lotus 123 Smart Spsheet

i m Supercalc 4

1978

1 '

o Supercalc 2 n Multiplan ovisicalc Supercalc 3 Framework 1 Sympfony P Open Access BULotus 123 II 6 Framework I1 Multiplan 2 _______ E Multiplan 3 _.__ -

=

_J

competitor Lotus 1-2-3 is not able to break the good positioning of Supercalc 2 by using any strategy (see Fig,6 and Fig.7).

extending system functionality by including additional problem solving methods; increasing the system's performance and efficiency. 6. ACKNOWLEDGEMENTS This research is partially supported by the Ministry of Education, Science and Technology under grant 1406. The authors would especially like to thank Mr. D. Dimitrov for his discussions and comments on object modeling and system implementation. 7. REFERENCES [ 11 E. Anderson, "Heuristics for Software Evaluation and

Selection", Software Practice and Experience, Vol. 19, No. 8, August, 1989, pp. 707-717. [2] R. Cattell, "Object Data Management", Revisited Edition. __ Addison-Wesley 1994. Supercalc Visicalc Supercalc 2 Multiplan Framework Sympfony [3 Supercalc 3 P Lotus 123 [3] M. Cunnane, "Benchmarking as a Step toward Quality and 0 Smart Spsheet Framework II =Open Access Lotus 123 II Productivity Improvement", Workshop on Assessment of IT I msuciercalc 4 aMultiDlan 2 mMultiolan 3 Organizations, Antwerpen, January, 1995, pp. 110-1 18. Fig.6. Simulation 3. [4] M. Daneva, "Knowledge-based Approach to Software Marketing Modeling and Support", BAS, Institute of I* 16 Mathematics, PhD Dissertation, 1995. I [5] M. Daneva, "Software Benchmark Design and Use", IFIP WG5.7 Working Conference on Reengineering the Enterprise, Galway, 1995, to appear. [6] M. Daneva, "MIM Formalism: an Approach to Marketing Modeling and IMS Development", IEEE Intern. Con$ on Systems, Man and Cybernetics, Vancouver, 1995, to appear. [7] M. Daneva, "Model-Based Decision Support Technology for Software Marketing", IASTED Intern. Conf on Simulation, Cancun, Mexico, 1995, to appear. [SI DATAF'RO, "Report on Sofhvare Computer System", Series Software, 1993. [9] P. Desfray, "Zngenieriedes objets", MASSON, Paris, 1992. [lo] E. Eskenazi, R. Rashev, "Modeling Software Market", ACM Bul International Conference on Computer Applications, Varna, Oct. 4-6, 1993, pp. 1-7. Fig. 7. Simulation 4. 1111 D. Galran, D. Perry, "Software Architecture: Practice, Potential and Pitfalls", Panel Introduction, International 5 . CONCLUSION Conference on Sofmare Engineering, 1994, pp. 363-364. The present paper concerns the development of a knowledge[121 H. Meffert, "Marketing Management", Gabler GmbH, based system for an intelligent audit decision making. We Wiesbaden, 1994. present a general architecture and a prototype system MIC [131 T. Puppe, "Systematic Introduction to Expert Systems", carrying out much of the drudge work in competitive software Springer Verlag, 1993. audit. The applicability of the proposed approach has been [141 R. Rashev, "Product-Positioning by Software Market examined by analyzing the decision making in specific Model", in Proc. of First Int. Con$ INFORMATICS'94, Sofia , activities such as benchmarking and market growth November, 8-10, 1994, pp. 180-188. forecasting. The system MIC has been validated for more than 50 real cases each time matching an independent expert's [I51 J. Rumbaugh et al, "Object-Oriented Modeling and opinion. During system testing the rule base has continuously Design", Prentice-Hall, 1991. been refined so as to give a right conclusion. The system's runs [16] G. M. Sacco, "The Fact Model: a Semantic Data Model and evaluation process are fully documented in [4]. for Complex Databases, Information Systems, Vol. 13, No. 1, 1988, pp. 1-11. Our future work consist of: [17] R. Soley, W. Kent, The OMG Object Model, in Modern exploring the system usage to solve other decision Database Systems, Won Kim Ed., Addison -Wesley, 1995, making problems; pp.18-41 ~~

~

r I-- ---

1979