ebook img

Software Prototyping in Data and Knowledge Engineering PDF

413 Pages·1999·26.298 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Software Prototyping in Data and Knowledge Engineering

Software Prototyping in Data and Knowledge Engineering Mathematics and Its Applications ManagingEditor: M. HAZEWINKEL CentreforMathematicsandComputerScience, Amsterdam, TheNetherlands Volume 497 Software Prototyping in Data and Knowledge Engineering by Giovanni Guida Gianfranco Lamperti and Marina Zanella Dipartimento di Elettronica per I'Automazione, Universita degli Studi di Brescia, Brescia, ltaly SPRINGER SCIENCE+BUSINESS MEDIA, B.V. A C.I.P. Catalogue record for this book is available from the Library of Congress. ISBN 978-94-010-5849-0 ISBN 978-94-011-4267-0 (eBook) DOI 10.1007/978-94-011-4267-0 Printed an acidjree paper All Rights Reserved © 1999 Springer Science+Business Media Dordrecht Originally published by Kluwer Academic Publishers in 1999 Softcover reprint ofthe hardcover Ist edition 1999 No part of the material protected by this copyright notice may be reproduced or utilized in any form or by any means, electronic or mechanical, inc1uding photocopying, recording or by any information storage and retrieval system, without written permission from the copyright owner. To Chiara, Luci, and Piercesare. Table of Contents Preface xiii Acknowledgements xvii 1 The Prototyping Approach to Software Development 1 1.1 Linear Software Development . 2 1.2 Software Prototyping . . . . . . . . . 3 1.2.1 Paper-Based Prototypes. . . 4 1.2.2 Computer-Based Prototypes. 4 1.3 Iterative Software Development 4 1.3.1 Spiral Model . . . . . . . . . 5 1.3.2 Star Model . . . . . . . . . . 7 1.4 The Evolutionary Perspective of Software Development 7 1.5 User-Centered Software Design and Development 8 1.6 Software Prototyping Approaches. 10 1.6.1 Concept Prototyping . . . 10 1.6.2 Evolutionary Prototyping . 11 1.6.3 Incremental Prototyping . . 12 1.7 Classification of Software Prototypes 13 1.7.1 Demonstrators . . . . . . 13 1.7.2 Only-a-model prototypes 14 1.7.3 Evolutionary prototypes. 14 1.7.4 Breadboards 15 1.8 Software Prototyping and Prototypes. 15 1.8.1 Concept Prototyping and Demonstrators 15 1.8.2 Concept Prototyping and Only-a-Model Prototypes 15 1.8.3 Evolutionary Prototypingand Evolutionary Prototypes 17 1.8.4 Concept Prototyping and Breadboards. 17 1.9 Goals of Software Prototyping. . . . . 18 1.10 Prototyping and Software Evaluation. 20 1.10.1 Verification and Validation .. 20 1.10.2 Testing 21 1.11 Involvement and Role ofUsers in Software Prototyping 22 1.12 Misconceptions about Software Prototyping . . . . . . . 23 vii viii TABLE OF CONTENTS 1.12.1 Hacking . . . . . . 24 1.12.2 Pretty screens. . . 24 1.12.3 Rapid prototyping 25 1.13 Rules of Software Prototyping . 25 1.14 Requirements for Software Prototyping Environments 28 1.15 Object-Oriented Programming and Prototyping . 29 1.16 Object-Oriented CASE Tools for Prototyping . . . . . 31 2 Overview of Database Technology 33 2.1 Extended Relational Databases 36 2.2 Deductive Databases 38 2.3 Object Databases. . 39 2.4 Active Databases . . 41 2.5 Temporal Databases 45 2.6 Spatial Databases. . 47 2.7 Multimedia Databases 49 2.8 Data Warehousing 51 2.9 Data Mining ..... 53 3 Overview of Knowledge-Based Technology 57 3.1 Knowledge-Based Systems. . . . . . . . . . . . . . . . . .. 61 3.2 The Challenge ofKnowledge-Based Systems. . . . . . . .. 64 3.3 Knowledge-BasedTechnology: Techniques,ToolsandMethod- ologies . . . . . . 65 3.4 KBS Techniques .. 67 3.5 KBS Tools. . . . . . 68 3.6 KBS Methodologies 70 3.7 Beyond Knowledge-Based Technology: A knowledge Mana- gement Perspective . . . . . . . . . . . . . . . . . . . . . .. 71 4 Data and Knowledge Intensive Systems 73 4.1 Computer Problem-Solving 74 4.1.1 Early Steps . . . . . . . . . 74 4.1.2 The Evolution 75 4.1.3 The Concept of Knowledge 77 4.1.4 Knowledge-Based Programming. 79 4.2 Data and Knowledge Intensive Systems 82 4.2.1 A General View of Data and Knowledge Intensive Systems. . . 82 4.2.2 Sample Cases . . . . . . . . . . . . . . . . . . . . .. 84 4.3 Design Issues . . . . . . . . . . . . . . . . . . . . . . . . .. 88 4.3.1 Data and Knowledge Intensive Application Domains 88 4.3.2 The Design Process 89 TABLE OF CONTENTS ix 4.3.3 Life Cycle Requirements. . . . . . . . . . . . . . .. 94 4.4 The Role ofPrototyping . . . . . . . . . . . . . . . . . . .. 95 4.4.1 Prototyping in data and Knowledge Intensive Systems 96 4.4.2 An Innovative Perspective. . . . . . . . . . . . . .. 97 5 The Prototyping Hierarchy 99 5.1 Approach and Architecture 99 5.1.1 Star Architecture. . 101 5.1.2 Waterfall Architecture 102 5.1.3 Tree Architecture. . . 103 5.1.4 Parallel Architecture. 104 5.1.5 Incremental Architecture 105 5.2 Reference Application . . . . . . 107 6 The Relational Layer 111 6.1 Relational Paradigm . . . . . . . . . . . . . . . . . . . .. 111 6.1.1 Static Model . . . . . . . . . . . . . . . . . . . .. 111 6.1.2 Relational Database ofthe Reference Application. 113 6.1.3 Dynamic Model. . . . . . . . 115 6.2 Relational Prototyping Language . . . . . 129 6.2.1 Creation ofrelations in RPL ... 129 6.2.2 Manipulations ofrelations in RPL 130 6.3 Prototyping by Relational Techniques .. 135 6.4 Prototyping the Relational Layer . . . . . 140 6.4.1 Relational Virtual Machine Language 140 6.4.2 Implementation Issues . . . . . . . . . 147 7 The Extended Relational Layer 153 7.1 Extended Relational Paradigm . . . . . . . . . . . . . . .. 153 7.1.1 Static Model . . . . . . . . . . . . . . . . . . . . .. 153 7.1.2 Extended Relational Database of the Reference Ap- plication. . . . . . . . . . . . . . . . 156 7.1.3 Dynamic Model. . . . . . . . . . . . . . 159 7.2 Extended Relational Prototyping Language . . 174 7.2.1 Creation of Complex Relations in EPL . 175 7.2.2 Manipulations of Relations in EPL . . . 175 7.3 Prototyping by Extended Relational Techniques. 178 7.4 Prototyping the Extended Relational Layer . . . 179 7.4.1 Extended Relational Virtual Machine Language. 179 7.4.2 Implementation Issues . . . . . . . . . . . . . . . 184 x TABLE OF CONTENTS 8 The Deductive Layer 191 8.1 Deductive Paradigm . . . . . . . 191 8.1.1 Datalog.......... 198 8.2 Deductive Prototyping Language 209 8.2.1 Creation ofthe extensional database in DPL 209 8.2.2 Creation ofthe intensional database in DPL . 210 8.3 Prototyping by Deductive Techniques .... 211 8.4 Prototyping the Deductive Layer . . . . . . . 213 8.4.1 Deductive Virtual Machine Language 214 8.4.2 Implementation Issues . . . . . . . . . 222 9 The Object Layer 229 9.1 Object Paradigm . . . . . . . . . . . . . . . . . . 229 9.1.1 Data Model . . . . . . . . . . . . . . . . . 229 9.1.2 Formal Definition of an Object Database 243 9.1.3 Object Database ofthe Reference Application. 245 9.1.4 Object Manipulation . . . . 249 9.2 Object Prototyping Language. . . . . . 258 9.2.1 Creation of Objects in OPL . . . 258 9.2.2 Manipulation of Objects in OPL 260 9.3 Prototyping by Object Techniques . . . 268 9.4 Prototyping the Object Layer . . . . . . 272 9.4.1 Object Virtual Machine Language 272 9.4.2 Implementation Issues . . . . . . . 277 10 The Active Layer 283 10.1 Active Paradigm . . . . . . . 283 10.1.1 Active Rule Execution 286 10.2 Active Prototyping Language 290 10.3 Prototyping by Active Techniques 294 10.4 Prototyping the Active Layer . . . 298 10.4.1 Active Virtual Machine Language 298 10.4.2 Implementation Issues . . . . 301 11 Prototyping Techniques Integration 309 11.1 Integrated Paradigm . . . . 3110 11.1.1 Data Model. . . . . . . . 310 11.1.2 Data Manipulation. . . . 311 11.2 Integrated Prototyping Language 313 11.2.1 Data Definition in IPL . . 313 11.2.2 Definition of Global Concepts in IPL . 322 11.2.3 Data Manipulation in IPL . . . . . . . 326 TABLE OF CONTENTS Xl 12 Mapping Prototypes to Relational Databases 347 12.1 Transforming Passive Rules into Active Rules 348 12.1.1 Materializing Derived Data 348 12.1.2 Monolithic Materialization 351 12.1.3 Incremental Materialization . . . . . . 352 12.1.4 Incremental Materialization of Derived Attributes 355 12.1.5 Incremental Materialization of Views. . 359 12.1.6 Coping With Recursively Derived Data . . . 362 12.2 Mapping Schemas 364 12.2.1 Mapping Classes Involving Simple Attributes 365 12.2.2 Mapping Inheritance Hierarchies . . . . . . . 366 12.2.3 Mapping Classes Involving Complex Attributes 367 12.3 Mapping Declarative Expressions . . 372 12.4 Mapping Procedural Code. . . . . . 374 12.5 Mapping Nonrecursive Passive Rules 377 12.6 Mapping Active Rules . 378 12.6.1 Micro-mapping . 379 12.6.2 Macro-mapping. 380 12.6.3 Meta-mapping . 383 References 387 Index 403

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.