algebraic and logic programming: j grabowski, p lescanne and w wechler (eds) springer-verlag...

1
Bootis gent advice derived from a high quality of knowledge.’ If a human expert’s knowledge is incorporated into a sof- tware program, it will provide a decisive advantage to whoever possesses it. Therefore if you are a novice in this field but interested in it, you just read the book and try to practise the exercises by yourself using the Crystal software provided with the book; you will obtain some benefits for your work. The book can be divided into two parts. The first, from chapter one to chapter six, gives some basic definitions, which arc not difficult to read. It also points our major features and differences between expert systems and other con- cepts, such as artificial intelligence, human expert, conventional program and so forth. By comparing and analys- ing those which may easily be confused by some nontechnical readers, it gives them clear understanding. I do really appreciate the writing style used by the author. Why should you use expert system‘? What tools should you apply in develop- ing your expert system? What steps should you follow in building a new system? To answer the above questions and solve other similar ones, the first part should be read. It might give a good solu- tion. The second part of the book is a more practical one. It mainly demonstrates what Crystal -- an expert system builder ~ can do. It is a set of software pro- grams that allows you to work through some examples. learning how to build an expert system quickly and efficiently. Together with the accompanying discs, it provides a practical step-by-step success- ful implementation about a simple expert system. I have no hesitation in recommending this book to PC users. It is suitable for those who require a straightforward no background introduction, want to build their own small system, and achieve success quickly in their working area. However, it may not be useful to a computer scientist, since some technical details and theories are not covered. The book covers all aspects that the author claims for it. I think this book is worth reading and the price is reasonable. G LI Shenyang Aeroengine Research Institute Shenyang. China Proceedings for algebraic and logic programmers Algdv~ric~ crtd /o,qic progrtrf~~r~~it~g J Grabowski, P Lescanne and W Wecbler (eds) Springer-Verlag (Lccturc Notes in Computer Scicncc Vol 343) (1988) 278 pp DM40.50 softback Thii is the proceedings of the intcrna- tioral workshop on algebraic and logic programming held in November 1988. The workshop wm the first of its kind. altcmpting to integrate pragmatic rcscarch in logic programming with more theoretical work in algebraic spccilica- tiers. The papers are accurately divided intt, the following topics by the editors: .~lgcbraic programming based on the lutegration of functions and equations into logic programs term rewriting theory as a model f;)r executing algebraic programs. c.duation solving techniques. and narrowing modularity in algebraic specifications a:~d logic programs. particularly the n&~n of incorporating abstract data t!‘pcs as algebras into programming The proceedings is comprised of 26 papers. of which six wcrc invited. The remaining 20 papers wcrc subject to rcfcrceing bq an international pro- gramme committee. All of the papers offer good and timely contributions to the field and the programme committee did an excellent job in monitoring both quality and balance among the stated topics of the workshop. Unfortunately, three of the papers appear only as one- page abstracts. The full versions of these papers would have further enhanced the proceedings. The nature of the material presented tends to be somewhat theoretical, requir- ing knowlcdpc of term rewriting theory and aigcbraic specifications. Howcvcr. logic programming rescarchcrs will not have difficult) putting the theory into practice. especially in the incorporation of abstract data types and modules. and the related concepts of type inference and polymorphism. The papers, generally being at the forefront of current research rather than tutorials, have onI> the mini- mum amount of introductory concepts. Therefore I would recommend this book primarily for rescarchcrs quite familiar with the field. For the audience at which it is dircctcd. the text is well organized ;lnd clearly prcscnted. At the nominal price for which it is otfcrcd. it is certainly a worthwhile acquisition. B BRYANT University of Alabama. Birmingham. AL. USA Programming in Strand has interesting case studies Slrcml: mw c~0tw~pt.c iii pmalld program- miq I Foster and S Taylor Prentice Halt (1989) 323 pp f32.10 soft- back Strand is a commercially available con- current logic programming language. It is rather similar in stytc to Prolog. and has features to partition programs manually on to different processors of a concurrent machine. This book serves as an introduction to programming in Strand. and to some extent to logic pro- gramming in general. and includes some interesting case studies. The book would bc most useful to someone interested in learning about this class of languages. It appears that Strand has received some use as a \ery high-level language for con- current algorithm dccciopment. The main emphasis is on the funda- mcntals of programming In Strand. Basic techniques in logic programming. such as producer-consumers. incomplete mess- ages. differcncc lists. and short-circuits. arc well covered. Both process-oriented and data-oricntcd problem-sotving tech- niques arc presented. An interesting set of problems is used to explore and cement thcsc concepts further. Mot-c advanced techniques. such as those to support ‘programming in the large’ and. more critically. parallel pro- gramming. arc addrcsscd somewhat skct- chity. While there is much potential par- ailciism in a Strand program. many of the techniques prcscnted rcducc parallci- ism by introducing extra dependencies. Rclativcly little attention is paid to mini- miring dcpcndcticics to enhance paralicl- ism. The only practical reason to use para- Icl programming is to incrcasc pcrfor- m’ince. Unfortunately. performance receives relatively little attention in this hook. One cast study dots prcscnt some spccdup numbers. but these arc not par- ticularly impressive. It would bc nice to ha\c more detail on techniques to mcrcase both absolute performance on a given number of processors and speedup when processors arc added. On the other hand. the authors write engagingly. with ;I wealth of cxampics Lmd good cxcrciscs. The inclusion of case studies is most \belcomc.The book might be useful in iI course on parallel pro- gramming. or to thoac seeking to ‘keep up‘ with parallel programming para- digms. R SC‘HOOLER Rensselaer Polytechnic. Troy. MA. USA vol 33 no 6 july’august 1991 463

Upload: b-bryant

Post on 26-Jun-2016

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Algebraic and logic programming: J Grabowski, P Lescanne and W Wechler (eds) Springer-Verlag (Lecture Notes in Computer Science Vol 343) (1988) 278 pp DM40.50 softback

Bootis gent advice derived from a high quality of knowledge.’ If a human expert’s knowledge is incorporated into a sof- tware program, it will provide a decisive advantage to whoever possesses it. Therefore if you are a novice in this field but interested in it, you just read the book and try to practise the exercises by yourself using the Crystal software provided with the book; you will obtain some benefits for your work.

The book can be divided into two parts. The first, from chapter one to chapter six, gives some basic definitions, which arc not difficult to read. It also points our major features and differences between expert systems and other con- cepts, such as artificial intelligence, human expert, conventional program and so forth. By comparing and analys- ing those which may easily be confused by some nontechnical readers, it gives them clear understanding. I do really appreciate the writing style used by the author.

Why should you use expert system‘? What tools should you apply in develop- ing your expert system? What steps should you follow in building a new system? To answer the above questions

and solve other similar ones, the first part should be read. It might give a good solu- tion.

The second part of the book is a more practical one. It mainly demonstrates what Crystal -- an expert system builder ~ can do. It is a set of software pro- grams that allows you to work through some examples. learning how to build an expert system quickly and efficiently. Together with the accompanying discs, it provides a practical step-by-step success- ful implementation about a simple expert system.

I have no hesitation in recommending this book to PC users. It is suitable for those who require a straightforward no background introduction, want to build their own small system, and achieve success quickly in their working area. However, it may not be useful to a computer scientist, since some technical details and theories are not covered. The book covers all aspects that the author claims for it. I think this book is worth reading and the price is reasonable.

G LI Shenyang Aeroengine Research Institute

Shenyang. China

Proceedings for algebraic and logic programmers Algdv~ric~ crtd /o,qic progrtrf~~r~~it~g

J Grabowski, P Lescanne and W Wecbler (eds) Springer-Verlag (Lccturc Notes in Computer Scicncc Vol 343) (1988) 278 pp DM40.50 softback

Thii is the proceedings of the intcrna- tioral workshop on algebraic and logic programming held in November 1988. The workshop wm the first of its kind. altcmpting to integrate pragmatic rcscarch in logic programming with more theoretical work in algebraic spccilica- tiers. The papers are accurately divided intt, the following topics by the editors:

.~lgcbraic programming based on the lutegration of functions and equations into logic programs term rewriting theory as a model f;)r executing algebraic programs.

c.duation solving techniques. and narrowing modularity in algebraic specifications a:~d logic programs. particularly the n&~n of incorporating abstract data t!‘pcs as algebras into programming

The proceedings is comprised of 26 papers. of which six wcrc invited. The remaining 20 papers wcrc subject to rcfcrceing bq an international pro-

gramme committee. All of the papers offer good and timely contributions to the field and the programme committee did an excellent job in monitoring both quality and balance among the stated topics of the workshop. Unfortunately, three of the papers appear only as one- page abstracts. The full versions of these papers would have further enhanced the proceedings.

The nature of the material presented

tends to be somewhat theoretical, requir- ing knowlcdpc of term rewriting theory and aigcbraic specifications. Howcvcr. logic programming rescarchcrs will not have difficult) putting the theory into practice. especially in the incorporation of abstract data types and modules. and the related concepts of type inference and polymorphism. The papers, generally being at the forefront of current research rather than tutorials, have onI> the mini- mum amount of introductory concepts. Therefore I would recommend this book primarily for rescarchcrs quite familiar with the field. For the audience at which it is dircctcd. the text is well organized ;lnd clearly prcscnted. At the nominal price for which it is otfcrcd. it is certainly a worthwhile acquisition.

B BRYANT University of Alabama. Birmingham. AL. USA

Programming in Strand has interesting case studies Slrcml: mw c~0tw~pt.c iii pmalld program-

miq

I Foster and S Taylor Prentice Halt (1989) 323 pp f32.10 soft- back Strand is a commercially available con- current logic programming language. It is rather similar in stytc to Prolog. and has features to partition programs manually on to different processors of a concurrent machine. This book serves as an introduction to programming in Strand. and to some extent to logic pro- gramming in general. and includes some interesting case studies. The book would bc most useful to someone interested in learning about this class of languages. It appears that Strand has received some use as a \ery high-level language for con- current algorithm dccciopment.

The main emphasis is on the funda- mcntals of programming In Strand. Basic techniques in logic programming. such as producer-consumers. incomplete mess- ages. differcncc lists. and short-circuits. arc well covered. Both process-oriented and data-oricntcd problem-sotving tech- niques arc presented. An interesting set of problems is used to explore and cement thcsc concepts further.

Mot-c advanced techniques. such as those to support ‘programming in the large’ and. more critically. parallel pro- gramming. arc addrcsscd somewhat skct- chity. While there is much potential par- ailciism in a Strand program. many of the techniques prcscnted rcducc parallci- ism by introducing extra dependencies. Rclativcly little attention is paid to mini- miring dcpcndcticics to enhance paralicl- ism.

The only practical reason to use para- Icl programming is to incrcasc pcrfor- m’ince. ‘ Unfortunately. performance receives relatively little attention in this hook. One cast study dots prcscnt some spccdup numbers. but these arc not par- ticularly impressive. It would bc nice to ha\c more detail on techniques to mcrcase both absolute performance on a given number of processors and speedup when processors arc added.

On the other hand. the authors write engagingly. with ;I wealth of cxampics Lmd good cxcrciscs. The inclusion of case studies is most \belcomc. The book might be useful in iI course on parallel pro- gramming. or to thoac seeking to ‘keep up‘ with parallel programming para- digms.

R SC‘HOOLER Rensselaer Polytechnic.

Troy. MA. USA

vol 33 no 6 july’august 1991 463