DESIGN AND DEVELOPMENT OF KNOWLEDGE-BASED SYSTEMS
FROM LIFE CYCLE TO METHODOLOGY
Giovanni Guida
Department of Electronics for Automation, University of Brescia,
Italy
Carlo Tasso
Department of Mathematics and Computer Science, University
of Udine, Italy
JOHN WILEY & SONS
Chichester New York Brisbane Toronto Singapore
__________________________________________________________________________
__________________________________________________________________________
PREFACE xvii
I PROCESS MODEL, LIFE CYCLE, AND METHODOLOGY
1 THE TECHNOLOGY OF KNOWLEDGE-BASED SYSTEMS 3
1.1 Basic Concepts 3
1.1.1 Knowledge-based systems: a definition 3
1.1.2 Knowledge-based systems and traditional software systems: distinctive features and complementary roles 9
1.1.3 The architecture of knowledge-based systems 17
1.1.4 Knowledge-based systems: some classifications 19
1.2 Knowledge-based system processes 22
1.2.1 Process model, life cycle, and methodology 22
1.2.2 Knowledge-based systems and traditional software systems
development 24
2 LIFE CYCLE AND METHODOLOGY 31
2.1 Objectives and Requirements 31
2.2 Knowledge-Based System Life Cycle 33
2.2.1 Life cycle organization 33
2.2.2 Phases outline 33
2.2.3 Variations of the reference life cycle 39
2.3 Knowledge-Based System Methodologies 41
2.3.1 Methodology organization 41
2.3.2 Launching and managing a methodological project 41
2.3.3 Identifying activities and designing methods 49
II THE PRIMARY PROCESSES: ANALYSIS
3 OPPORTUNITY ANALYSIS 53
3.1 Phase Overview 53
3.1.1 Motivations and objectives 53
3.1.2 Inputs and products 54
3.1.3 Phase structure and task outline 55
3.1.4 Project team composition 56
3.2 Start-Up 59
3.2.1 Step execution 59
3.2.2 Task 0.1: Verification of prerequisites 60
3.2.3 Task 0.2: Writing of management report 60
3.2.4 Task 0.3: Planning of opportunity analysis 61
3.3 Analysis of the Existing Organization 61
3.3.1 Step execution 61
3.3.2 Task 0.4: Analysis of objectives 61
3.3.3 Task 0.5: Process and structure analysis 64
3.3.4 Task 0.6: Analysis of the level of automation 68
3.3.5 The concepts of area and domain 69
3.3.6 Task 0.7: Identification of areas and domains 71
3.4 Analysis of Opportunities 71
3.4.1 Step execution 71
3.4.2 Task 0.8: Characterization of domains 71
3.4.3 Task 0.9: Identification of knowledge problems and
definition of potential KBS applications 73
3.4.4 Task 0.10: Definition and characterization of opportunities 75
3.5 Synthesis and Release 79
3.5.1 Step execution 79
3.5.2 Task 0.11: Construction of the master plan 80
3.5.3 Task 0.12: Writing of draft opportunity analysis report 80
3.5.4 Task 0.13: Presentation and acceptance of results 81
3.5.5 Task 0.14: Revision of opportunity analysi 82
3.5.6 Task 0.15: Writing of final opportunity analysis
report 82
4 PLAUSIBILITY STUDY 83
4.1 Phase Overview 83
4.1.1 Motivations and objectives 83
4.1.2 Inputs and products 85
4.1.3 Phase structure and task outline 86
4.1.4 Project team composition 88
4.2 The Concept of Plausibility 92
4.2.1 Defining plausibility 91
4.2.2 Evaluating plausibility 91
4.3 Start-Up 92
4.3.1 Step execution 92
4.3.2 Task 1.1: Verification of prerequisites 92
4.3.3 Task 1.2: Writing of management report 94
4.3.4 Task 1.3: Planning of plausibility study 94
4.4 Initial Analysis 94
4.4.1 Step execution 94
4.4.2 Task 1.4: Process and structure analysis 95
4.4.3 Task 1.5: Analysis of the level of automation 95
4.4.4 Task 1.6: Verification of domain 95
4.4.5 Task 1.7: Characterization of domain 97
4.4.6 Task 1.8: Identification of knowledge problems and verification
of potential KBS application 97
4.4.7 Task 1.9: Characterization of potential KBS application 98
4.4.8 Task 1.10: Writing of management report 98
4.5 Basic Definitions 99
4.5.1 Step execution 99
4.5.2 Task 1.11: Analysis of requirements 99
4.5.3 Task 1.12: Definition of project goals 101
4.5.4 Defining specifications 102
4.5.5 Task 1.13: Definition of functional specifications 105
4.5.6 Task 1.14: Definition of operational specifications 105
4.5.7 Task 1.15: Definition of technical specifications 106
4.5.8 Task 1.16: Definition of acceptance criteria 106
4.6 Analytical Assessment of Plausibility 107
4.6.1 Step execution 107
4.6.2 Task 1.17: Assessment of technical feasibility 109
4.6.3 Task 1.18: Development of draft technical design 111
4.6.4 Task 1.19: Assessment of organizational impact 113
4.6.5 Task 1.20: Development of draft organizational design 115
4.6.6 Task 1.21: Development of global project plan 115
4.6.7 Task 1.22: Assessment of economic suitability 116
4.6.8 Task 1.23: Assessment of practical realizability 123
4.6.9 Task 1.24: Assessment of opportunities and risks 125
4.7 Synthesis and Release 127
4.7.1 Step execution 127
4.7.2 Task 1.25: Global evaluation of plausibility 127
4.7.3 Task 1.26: Writing of draft plausibility study report 129
4.7.4 Task 1.27: Presentation and acceptance of results 130
4.7.5 Task 1.28: Revision of plausibility study 130
4.7.6 Task 1.29: Writing of final plausibility study
report 132
5 CONSTRUCTION OF THE DEMONSTRATOR 133
5.1 Phase Overview 133
5.1.1 Motivations and objectives 133
5.1.2 Inputs and products 134
5.1.3 Phase structure and task outline 135
5.1.4 Project team composition 136
5.2 Start-Up 138
5.2.1 Step execution 128
5.2.2 Task 2.1: Verification of prerequisites 128
5.2.3 Task 2.2: Writing of management report 140
5.2.4 Task 2.3: Planning of construction of the demonstrator 140
5.3 Basic Choices and Definitions 140
5.3.1 Step execution 140
5.3.2 Demonstrator types 140
5.3.3 Task 2.4: Identification of demonstrator goals 142
5.3.4 Task 2.5: Identification of sub-problems and sample cases 143
5.3.5 Task 2.6: Definition of demonstrator specifications 144
5.4 Analysis and Design 144
5.4.1 Step execution 144
5.4.2 Task 2.7: Conceptual modeling 145
5.4.3 Task 2.8: Selection and acquisition of the basic development environment 145
5.4.4 Task 2.9: Technical design 146
5.5 Development 147
5.5.1 Step execution 147
5.5.2 Task 2.10: Implementation of the empty system 147
5.5.3 Task 2.11: Implementation of the development support
system 147
5.5.4 Task 2.12 Knowledge acquisition planning 147
5.5.5 Task 2.13 Knowledge elicitation and protocol analysis 149
5.5.6 Task 2.14: Knowledge coding 149
5.5.7 Task 2.15: Knowledge integration and verification 149
5.6 Demonstration, Evaluation, and Synthesis 150
5.6.1 Step execution 150
5.6.2 Task 2.16: Demonstration 150
5.6.3 Task 2.17: Evaluation 153
5.6.4 Task 2.18: Writing of demonstrator report 154
III THE PRIMARY PROCESSES: DEVELOPMENT
6 DEVELOPMENT OF THE PROTOTYPE 157
6.1 Phase Overview 157
6.1.1 Motivations and objectives 157
6.1.2 Inputs and products 158
6.1.3 Phase structure and task outline 159
6.1.4 Project team composition 163
6.2 Start-Up 164
6.2.1 Step execution 164
6.2.2 Task 3.1: Verification of prerequisites 164
6.2.3 Task 3.2: Writing of management report 165
6.2.4 Task 3.3: Planning of development of the prototype 166
6.3 Design Principles 166
6.3.1 Knowledge-based system design: concept and goals 166
6.3.2 The dimensions of design 173
6.3.3 Paradigm-driven, task-driven, and model-driven design 175
6.3.4 Design for maintainability and extensibility 177
6.4 Knowledge-Based System Development Tools 178
6.4.1 Software systems and tools for KBS development 178
6.4.2 The basic development environment 182
6.4.3 Commercial tools 183
6.4.4 Proprietary tools 189
6.4.5 Selecting the right KBS development tool 190
6.5 Conceptual Design 196
6.5.1 Step execution 196
6.5.2 Task 3.4: Knowledge analysis and modeling 196
6.5.3 Task 3.5: Design of the conceptual model 198
6.5.4 Task 3.6: Definition of prototype specifications 198
6.6 Technical Design 199
6.6.1 Step execution 199
6.6.2 Task 3.7: Design of the logical model 199
6.6.3 Task 3.8: Definition of the specifications of the
empty system 203
6.6.4 Task 3.9: Definition of the specifications of the development support system 204
6.6.5 Task 3.10: Selection and acquisition of the basic
development environment 204
6.6.6 Task 3.11: Detailed design of the empty system 205
6.6.7 Task 3.12: Detailed design of the development
support system 206
6.7 Construction of the Empty System and of the Development Support System 206
6.7.1 Step execution 206
6.7.2 Task 3.13: Implementation of the empty system 207
6.7.3 Task 3.14: Implementation of the development
support system 208
6.8 Development of the Knowledge Base 208
6.8.1 Step execution 208
6.8.2 Task 3.15: Selection of the knowledge sources 210
6.8.3 Task 3.16: Knowledge acquisition planning 215
6.8.4 Techniques for knowledge elicitation 217
6.8.5 Task 3.17: Knowledge elicitation and protocol analysis 228
6.8.6 Task 3.18: Knowledge coding 232
6.8.7 Task 3.19: Knowledge integration and verification 233
6.9 Evaluation and Synthesis 233
6.9.1 Step execution 233
6.9.2 Task 3.20: Prototype testing and refinement 233
6.9.3 Task 3.21: Prototype evaluation 234
6.9.4 Task 3.22: Writing of prototype report 234
7 IMPLEMENTATION, INSTALLATION, AND DELIVERY
OF THE TARGET SYSTEM 237
7.1 Phase Overview 237
7.1.1 Motivations and objectives 237
7.1.2 Inputs and products 239
7.1.3 Phase structure and task outline 240
7.1.4 Project team composition 242
7.2 Start-Up 245
7.2.1 Step execution 245
7.2.2 Task 4.1: Verification of prerequisites 246
7.2.3 Task 4.2: Writing of management report 246
7.2.4 Task 4.3: Planning of implementation, installation, and delivery
of the target system 246
7.3 Preparation 247
7.3.1 Step execution 247
7.3.2 Task 4.4: Analysis of target environment 247
7.3.3 Task 4.5: Definition of specifications of the target system and
of the maintenance support system 249
7.3.4 Approaches to target system implementation 250
7.3.5 Task 4.6: Definition of the approach for target system implementation 252
7.3.6 Task 4.7: Design of target system and of the maintenance support system 253
7.3.7 Task 4.8: Organizational design 253
7.4 Production and Installation 254
7.4.1 Step execution 254
7.4.2 Task 4.9: Production of the target system and of
the maintenance support system 254
7.4.3 Task 4.10: Organizational intervention 254
7.4.4 Task 4.11: Installation 256
7.4.5 Task 4.12: Field testing and refinement 256
7.5 First Release and Experimental Use 257
7.5.1 Step execution 251
7.5.2 Task 4.13: Writing of draft manuals 257
7.5.3 Task 4.14: Training of users 259
7.5.4 Task 4.15: First release and experimental use 260
7.6 Final Release 260
7.6.1 Step execution 260
7.6.2 Task 4.16: Refinement of the target system and
of the maintenance support system 261
7.6.3 Task 4.17: Writing of final manuals 262
7.6.4 Task 4.18: Certification and acceptance 262
7.6.5 Task 4.19: Final release 262
7.6.6 Task 4.20: Writing of target system report 263
7.7 Legal Aspects 263
7.7.1 Property rights 263
7.7.2 Liability issues 267
IV THE PRIMARY PROCESSES: OPERATION
8 MAINTENANCE AND EXTENSION 273
8.1 Phase Overview 273
8.1.1 Motivations and objectives 273
8.1.2 Inputs and products 274
8.1.3 Phase structure and task outline 275
8.1.4 Project team composition 277
8.2 Preparation 278
8.2.1 Step execution 278
8.2.2 Approaches to maintenance and extension 278
8.2.3 Task 5.1: Definition of the strategy for maintenance
and extension 281
8.2.4 Task 5.2: Training of the maintenance team 282
8.3 Observation 283
8.3.1 Step execution 283
8.3.2 Task 5.3: Collection of operation reports 283
8.4 Intervention Set-Up 285
8.4.1 Step execution 285
8.4.2 Task 5.4: Analysis of operation reports and verification of
prerequisites 285
8.4.3 Task 5.5: Writing of management report 285
8.4.4 Task 5.6: Definition of new specifications 285
8.4.5 Task 5.7: Identification of the appropriate
intervention type and planning 287
8.5 Maintenance 287
8.5.1 Step execution 287
8.5.2 Task 5.8: Revision of the knowledge base 287
8.5.3 Task 5.9: Writing of maintenance report 288
8.6 Extension 289
8.6.1 Step execution 289
8.6.2 Task 5.10: Revision of the target system and of the maintenance support system 290
8.6.3 Task 5.11: Writing of extension report 290
8.7 Release 290
8.7.1 Step execution 290
8.7.2 Task 5.12: Installation, field testing, and refinement 290
8.7.3 Task 5.13: Updating of manuals 291
8.7.4 Task 5.14: Training of users and of the maintenance team 291
8.7.5 Task 5.15: Certification and acceptance 291
8.7.6 Task 5.16: Release 291
8.8 Intervention Closing 293
8.8.1 Step execution 293
8.8.2 Task 5.17: Updating of KBS history 293
8.8.3 Task 5.18: KBS development planning 294
V THE SUPPORTING PROCESSES
9 SUPPORTING PROCESSES 299
9.1 The Role of Supporting Processes 299
9.2 Quality Assurance 299
9.2.1 Basic concepts 299
9.2.2 The scope of quality assurance 300
9.2.3 Planning quality assurance 301
9.2.4 Quality checks and corrective actions 302
9.2.5 Quality control records 302
9.3 Verification and Validation 302
9.3.1 Basic concepts 302
9.3.2 Verification 304
9.3.3 Validation 309
9.4 Documentation 311
9.4.1 Basic concepts 311
9.4.2 A pragmatic approach to documentation 313
VI THE MANAGEMENT PROCESSES
10 MANAGING A KNOWLEDGE-BASED SYSTEM PROJECT 317
10.1 Project Management: Objectives and Components 317
10.2 The Project Team 318
10.2.1 Professional roles 318
10.2.2 Project team structure and organization 320
10.3 Controlling and Directing Project Development 328
10.3.1 Why, when, and what to control 328
10.3.2 Project planning and re-planning 328
10.3.3 Goal orientation 331
10.3.4 Productivity 332
10.3.5 User and management satisfaction 333
10.4 Failure Types and Causes 334
10.4.1 How knowledge-based system projects fail 334
10.4.2 Why knowledge-based system projects fail 335
10.5 Management for Success 336
10.5.1 Management rules 336
10.5.2 Twenty issues for knowledge-based system
project management 339
11 MANAGING A KNOWLEDGE-BASED SYSTEM
INITIATIVE 347
11.1 Innovation Management: Objectives and Components 347
11.2 Knowledge-Based Technology and Innovation 349
11.2.1 Knowledge-based technology: a powerful leverage
for innovation 349
11.2.2 Starting up innovation: issues and problems 350
11.2.3 Pushing innovation forth: issues and problems 352
11.3 Introducing Knowledge-Based Technology into an Organization 352
11.3.1 Approaches to knowledge-based technology 352
11.3.2 Defining a strategy 358
11.3.3 Getting started: key success factors 360
11.4 Ensuring Development and Monitoring Progress 362
11.4.1 Establishing a knowledge-based systems department 362
11.4.2 Going from external support towards autonomy 364
11.4.3 Marketing knowledge-based technology throughout
the organization 366
11.4.4 Monitoring the progress of a knowledge-based
system initiative 367
11.5 Managing Human Resources 369
11.5.1 Acquiring human resources 369
11.5.2 Training paths 370
11.5.3 Implementing training courses 373
11.5.4 Re-training 377
11.5.5 Continuing education 383
11.5.6 Training non-technical members of the project team 384
11.6 Managing Research and Development 385
11.6.1 Basic concepts 385
11.6.2 The paradigm of applied research 387
11.6.3 The paradigm of innovative experimentation 388
12 PRACTICE AND EXPERIENCE 391
12.1 Exemplary Cases: Concept and Objectives 391
12.2 Exemplary Cases 392
REFERENCES 431
SUBJECT INDEX 471
__________________________________________________________________________
Knowledge-based systems (KBSs) have been rapidly growing over the last decade and are now considered a crucial factor for innovation and competition. Their impact on industry and business applications has been impressive and convincing. However, the number of real operative applications is still limited. Knowledge-based technology still largely relies on empirical methods and is not supported by sound and general design and development methodologies. It is more like handicraft than engineering, and it lacks several of the desirable features of an industrial process, such as reliability, repeatability, work-sharing, controllability, cost estimation, and quality assurance.
The development of a new technological field depends on two factors:
the scientific and technical progress which provides the basic
components of the technology, and the methodological progress
which prescribes how to use such components effectively for the
construction of useful applications. In the KBSs field these two
dimensions have not developed in an organic and balanced way.
While a very rich and sound collection of basic techniques is
available, the methods for applying them in a systematic way to
solve real problems is still in an early stage of development.
A primary need today is to devise robust and effective methodologies
for the design and development of KBSs. This way, the bottleneck
which presently hampers the large-scale application of
knowledge-based technology can be overcome, thus boosting the
diffusion of KBS applications.
Purpose of the book
This book focuses on the methodological aspects of design and development of KBSs. The analysis of specific techniques for building KBSs is outside its scope. This choice is motivated by the perception that what is primarily needed today to develop successful KBS applications is not a larger and deeper technical know-how, but a more disciplined and structured development methodology. In fact, KBS projects usually do not fail due to scarce or wrong technical know-how, but for a lack of technical management. To manage a KBS project successfully within an acceptable time span and a reasonable budget, it is necessary to face several issues, including: the definition of a suitable approach to technology transfer, the assessment of potential application domains, the adoption of correct and effective methods for KBS design and development, the selection of appropriate development tools, the integration of the KBS in the target application environment, the management of maintenance and extension.
There is a large and rapidly growing number of very good books that focus on the technical aspects of knowledge-based technology, but only a few try to illustrate the practical engineering principles which should guide the design and development of a KBS and the relevant project management techniques to be adopted. This knowledge, a precious know-how that designers and project leaders acquire through practical experience, is usually conveyed only partially in the literature and has never been presented in a well-organized and structured way.
Therefore, this book aims to illustrate how to exploit knowledge-based technology in the most effective and appropriate way. It does not focus on the transfer of technical knowledge, but rather on the methods that make it possible to apply this technical knowledge in a correct and goal-oriented way. This book does not deal with the specific technical mechanisms used to build a KBS. It does not face issues such as knowledge representation, search techniques, user interfaces, justification, qualitative reasoning, distributed architectures, etc., but it concentrates on how to use such elements in the design of a real system and on how to manage the development process. The above topics which are purposely left outside the scope of the volume are well-covered by several text-books and technical publications.
Teaching how to manage a KBS project to success is a challenging
issue, which cannot be achieved only through a book. A book can
help transfer professional know-how in a disciplined and effective
way, but cannot transform an apprentice into an expert KBS project
leader.
Organization and structure
The book is organized around the central concept of KBS life cycle, understood as a reference framework for defining and organizing the tasks and activities that must be carried out to design, to produce, and to maintain a KBS, independently of the various methodologies that may be adopted to put them into practice. Therefore, the life cycle specifies "what" to do and "when", while a development methodology focuses on "how" to actually execute the tasks and activities prescribed in the life cycle. While we believe that it is possible to identify a concept of life cycle which is abstract and general enough to be assumed as a reference for a very large class of application contexts, the same is not possible for the concept of development methodology. This is much more concrete and specific, and therefore it basically depends on the objectives and characteristics of the application environment where it is expected to be applied. Thus, while the book proposes a specific life cycle concept, called KLIC (KBS Life Cycle), it does not develop a full methodology. Instead, it provides the fundamental ideas which can enable an organization to build its own.
Three standpoints have inspired the concept of KLIC:
anticipating potential problems in KBS development, in such a way as to reduce risks and to ensure a smooth project management;
controlling the explorative attitude and the iterative approach typical of KBS development, so as to reduce time and costs;
gradually establishing clear and transparent design principles in order to ensure a more sound and controllable development process and, at the same time, a higher quality of the delivered KBSs.
The book includes twelve chapters and is structured in five parts:
Part I - Process Model, Life Cycle, and Methodology, after a brief account on knowledge-based technology, introduces the concepts of KBS process model, life cycle, and methodology. The main concepts of the KLIC life cycle are then illustrated, and an original approach to the design and construction of a KBS methodology is proposed.
Part II - The Primary Processes: Analysis illustrates the first steps of the process of KBS design and construction. More precisely, it focuses on phase 0 'Opportunity analysis', phase 1 'Plausibility study', and phase 2 'Construction of the demonstrator' of the KBS life cycle. Such phases are supposed to explore, from different perspectives, the opportunity, feasibility, and appropriateness of candidate KBS projects, before starting the development effort.
Part III - The Primary Processes: Development focuses on phase 'Development of the prototype' and phase 4 'Implementation, installation, and delivery of the target system' of the KBS life cycle, which constitute the central part of a project. Phase 3 includes the three fundamental design steps of conceptual modeling, design of the logical model, and detailed system design. It encompasses the choice of the software tools to be adopted for the development of the prototype. It includes the set of activities specifically dedicated to the construction of the knowledge base, which constitute the most peculiar activity of knowledge-based technology. Phase 4 concludes the design and construction process and ends with the delivery of the KBS for operational use.
Part IV - The Primary Processes: Operation focuses on phase 5 'Maintenance and extension' of KBS life cycle. It encompasses the whole duration of the operational life of a KBS and deals with those activities which can make the exploitation of the benefits of a KBS more effective and of longer extent.
Part V - The Supporting Processes focuses on the three main processes that support the KBS life cycle, namely: quality assurance, verification and validation, and documentation development.
Part VI - The Management Processes discusses the principles
which should be applied to guide a KBS initiative to success,
be it a specific KBS project or the global effort of introducing
and exploiting knowledge-based technology within an organization.
Such principles are derived from practice, and are illustrated
through a collection of exemplary cases reporting successful
projects and failed initiatives.
Audience
This book is primarily intended as a text-book for an advanced course in KBS project management. Therefore, it is designed to be used as teaching material for advanced courses, continuing education, and management seminars. However, it may also be profitably used as a reference hand-book by anyone involved in KBS design and construction. Finally, it can be also a useful tool for individual reading and study.
The book is particularly addressed to:
graduate (and undergraduate) students developing KBS projects as term assignments or thesis work;
KBS designers and knowledge engineers who aim to expand their competence in the critical domain of technical project management;
project managers, technical advisors, and technical decision makers in any field of science, technology or business who want to have a concrete insight into knowledge-based technology, its application and its use.
The book does not provide an introduction to knowledge-based technology.
Its use requires a prerequisite knowledge of the basic artificial
intelligence techniques.
Giovanni Guida and Carlo Tasso