6 6

4

0

) )

.

.2

4

-9

V V

Eds

(

s s

SPUP

1994 1994

Ramo

Isidro Isidro

19-22, 19-22,

I I

e e

GULP-PRODE'94 GULP-PRODE'94

A A

I

Barbuti Barbuti

Volum

Programming Programming

rto rto

e

VALENC

September September

DE DE

'94 '94

A A

E

Rob

C

I

CN

e e

ROD

Conference, Conference,

Spain, Spain,

-P

P

POLITt

GUL

OAD OAD

Joint Joint

Alpuent

I

UNIVERS

Proceedings Proceedings

1994 1994

Peiiiscola, Peiiiscola,

Declarative Declarative Maria Maria Foreword

'l'ht· Gruppo Ricerca.tori ed utenti di (GULP, which stands l••t Lul(ic Programmjng Researcher and User Group), is an affiliate of the Association 111 l.oKk Programming (ALP). The goals of the group are to logic programming u1m1l popular and to create opporturuties for the exchange of experiences and infor­ ttllltiOn between researchers and users working in the area for both public and private •ur,n niv.ntions. 'J'o this purpose GULP promotes many different activities such as the exchange of 111f••r111al .ion among its members and the orgaruzation of workshops, advanced ;chools 1111rlil. r; aunual Conference. 'l'hi"s time the Conference is going to be held in Spain together with the Spanish ( :11ufercnce PRODE on Declarative Programming. This represents a significative step l11warrls the exchange of research experience among European latin countries. Such a w•nl had already been pursued by GULP with the enlargement of its conferences to

~punish and French researchers. Tile main aims of this Conference are: 1) to serve as an occasion for those working i11this area which are interested in meeting and exchanging experiences; 2) to illustrate I l11• current state of the art in the area through invited talks given by well known lt'HCarchers; 3) to enable students and researchers to learn more about logic and declarative programming by means of introductory tutorials. The previous annual conferences were held in Genoa, Turin, Rome, Bologna, l'nduu, Pisa, Tremezzo, and Gizzeria Lido, and were attended each year by a growing nutnber of participants. The scientific program of this joint Conference GULP-PRODE includes papers from colleagues from many countries. The large international participation, consid­ f'Ted together with the good technical quality of the papers accepted for presentation,

11.1a further confirmation of the success of this joint event. · Disefio Portada: SUSANA VIDAL On behalf of GULP I would like to thank Marla Alpuente and all the other col­ lcugues from the Technical University of Valencia for the organization of this year Conference.

~dita:SERVICIO DE PUBLICACIONES Camino de Vera, s/n July 1994 Maurizio Martelli 46071 VALENCIA Genoa President of GULP Tel. 96-387 70 12 Fax. 96-387 79 12 mprime: REPROVAL, S.L. Tel. 96-369 22 72

>ep6sito Legat: V-2559-1994

. .

. .

. . ,i ,i

e e

. .

in in

P

es es

de de

R

her her

the the

and and

two two

just just

and and

ence ence

time time

eight eight

1994

and and

for for

Blan

Ramos Ramos

and and

Barbut

posters, posters,

nfer

and and

grouped grouped

east east

program program

Bologna Bologna

highlght highlght

Alpuent

l

the the

from from

gratefully gratefully

first first

8 8

co

committee committee

papers papers

conference

and and

Declarative Declarative

at at

by by

Sud) Sud)

the the

19-22, 19-22,

thus thus

Isidro Isidro

willingness willingness

We We

the the

the the

Politecnica Politecnica

by by

on on

this this

Marla Marla

(1993) (1993)

Madrid) Madrid)

(1988), (1988),

Roberto Roberto

is is

into into

and and

Paris Paris

possible possible

papers, papers,

Programming Programming

(1992) (1992)

especially especially

their their

program program

made made

Vandevoorde Vandevoorde

be be

to to

luated luated

preceded preceded

submitted submitted

(U. (U.

This This

(U.P. (U.P.

papers. papers.

for for

Roma Roma

the the

September September

Logic Logic

Gizzeria Gizzeria

has has

eva

like like

Riki Riki

supported supported

was was

who who

of of

refereed refereed

Madrid Madrid

Conference Conference

Universidad Universidad

would would

them them

on on

and and

60 60

were were

incorporated incorporated

presentation presentation

(1987), (1987),

work work

have have

would would

selecting selecting

the the

thank thank

(Spain) (Spain)

Joint. Joint.

of of

than than

Jouannaud Jouannaud

(1991), (1991),

authors authors

thank thank

we we

to to

by by

who who

been been

members members

and and

{1992) {1992)

Programming. Programming.

papers papers

whose whose

all all

Torino Torino

1994 1994

We We

includes includes

order order

J.-P. J.-P.

Moreno-Navarro Moreno-Navarro

like like

. .

also also

Conference Conference

the the

to to

the the

the the

the the

Peiiiscola Peiiiscola

Finally, Finally,

ya)

presented presented

J.J. J.J.

all all

bas bas

. .

also also

AU AU

of of

GULP-PRODE'94 GULP-PRODE'94

in in

(1986), (1986),

in in

organized organized

to to

lun

by by be be

reviewing reviewing

Tremezzo Tremezzo

Bristol), Bristol),

Preface Preface

GULP GULP

thanks thanks

tion

Torremolinos Torremolinos

corporations corporations

committee committee

Declarative Declarative

to to

in in

conference conference

held held

nova nova in in

Cata

would would

book. book.

been been

session session

(U. (U.

on on

and and

printed printed

Ge

the the

care care

together. together.

thematic. thematic.

(1991), (1991),

work work

ltaUan ltaUan sincere sincere

We We

tutorials tutorials

this this has has

in in

gratitude gratitude

are are

organiza

(U.P. (U.P.

Proceedings Proceedings

for for

e e

2 2

Lloyd Lloyd

poster poster

in in

are are

. .

join join our our

th

organizing organizing

their their

a a

Pisa Pisa

the the

meetings meetings

our our

more more

the the

1 1

and and

book book

Congress Congress

DE DE

J.W

Rubio Rubio

the the

for for

for for

institutions institutions

which which . .

joins joins

appear appear

by by

program program

this this

about about

DE DE

extend extend

A

of of

of of

ULP-PRODE'94 ULP-PRODE'94

PRO PRO

papers, papers,

PRODE'94 PRODE'94

the the

(1990)

conferences conferences

94 94

express express

'

-

in in

participants. participants.

to to

PRODE PRODE

G G

invitation. invitation.

contains contains

order order

al1 al1

and and

all all

s s

to to

PRO PRO

referees referees

and and

In In

ok ok

like like

advice advice

our our

o

(DEC-PRL) (DEC-PRL)

lectures lectures

. .

GULP GULP

GULP

b

abstracts abstracts

technical technical

the the

papers papers

Padova Padova

wish wish

sions, sions,

PRODE

uld uld

ULP ULP

s s

e e

mming mming

. .

, ,

-

us us

nference nference

previou

o

1994 1994

)

)

a

panish panish

he he

ontributed ontributed

ited ited

wers

all all ncia ncia

o

Roy Roy

G

ible. ible.

th

wenhuis wenhuis

r

ses

contribution contribution

luable luable

3

i pting pting

w

S

v

e

e

co

We We

LP

The The

T

a

i

9

Thi 89

l'e l'e

o o

n

d d

e e

•v

1

e e knowledge knowledge

eu e e

nt. nt.

t• t•

9

i

i

t~lencia. t~lencia.

oss

a il il

rog

ud ud

n

h

1!

:tJ

nt.

h

Val

V

1 1

p

th

inv

n

July July

W

ac

.u.

nn N

t

n•v

i

nrrc

( 1 (

thr Van Van

p l'

:

!.I !.I { {

I I < <

) )

a) a)

luny

ncia) ncia)

e

Vasco) Vasco)

Madrid) Madrid)

Madrid) Madrid)

Catalunya

Val

Cata

Malaga) Malaga)

Salerno) Salerno)

Calabria) Calabria)

Bologna) Bologna)

Sapino Sapino

Malaga) Malaga)

Genova) Genova)

Milano) Milano)

Pais Pais

Ramirez Ramirez

Rivero Rivero

.P. .P.

.C. .C.

.C. .C.

.P. .P.

. .

.P. .P.

Teniente Teniente

Scarcello Scarcello

Rodriguez Rodriguez

Sanchez Sanchez

Saenz Saenz

Quer Quer Puebla Puebla

Puyol Puyol

(UNED) (UNED)

(U (U

(U. (U.

.J. .J.

(U. (U.

(U. (U.

(U (U (U (U

(U. (U.

(U (U

(IASI-CNR) (IASI-CNR)

(U. (U. (U. (U.

(U

(U. (U.

(U (U

E. E.

F. F.

M.L. M.L.

L. L.

F. F.

B. B.

A.Ruiz A.Ruiz

M M

J.M. J.M.

C. C.

J. J.

G. G.

Ramirez Ramirez

Ramis Ramis

Vidal Vidal

Pastor Pastor

Perez Perez

Troya Troya

Rossi Rossi

Ruz Ruz

ettorossi ettorossi

Sacca Sacca

Jose Jose

Jose Jose

Penza Penza

P

Pimentel Pimentel

Plaza Plaza

Pedreschi Pedreschi

Proietti Proietti

Omicini Omicini

Olivetti Olivetti

Nardi Nardi

Palopoli Palopoli

Palamidessi Palamidessi Orejas Orejas

Oliver Oliver

co co

. .

Nieuwenhuis Nieuwenhuis Sistac Sistac

Navarro Navarro

Sessa Sessa

Verdejo Verdejo

Rodriguez Rodriguez

E. E. A. A.

W. W.

D. D.

E. E.

M.A. M.A.

Ramos Ramos

L. L.

Ornaghi Ornaghi

F. F.

A. A.

N

J. J.

D. D.

Maria Maria

Jaime Jaime

Maria Maria

German German

Maria Maria

arisa arisa

Felisa Felisa

Jose Jose

Jaume Jaume Domeni

Maria Maria

Jose Jose

Gianfranco Gianfranco

Mario Mario

Isidro Isidro

Mario Mario

Maurizio Maurizio

Catuscia Catuscia

Inmaculada Inmaculada

Robert Robert

M M

Lucas Lucas

Committee Committee

Referees Referees

Martin Martin

Moreno Moreno

Massacci Massacci

Martelli Martelli

Mello Mello

llerranz llerranz Piris Piris

Oliver Oliver

Gil Gil

Giacobazzi Giacobazzi

Leach Leach

Marino Marino Giannotti Giannotti

Greco Greco

Committee Committee

. .

L. L.

of of

P. P.

F. F.

C. C.

A. A.

J. J.

J. J.

A. A.

F. F. S. S.

A. A.

R

Javier Javier

Javier Javier

Salvador Salvador

France) France)

List List

ogna) ogna)

Madrid) Madrid)

Madrid) Madrid)

Madrid) Madrid)

Madrid) Madrid)

Blanes) Blanes)

Madrid) Madrid)

Valencia) Valencia)

Bologna) Bologna)

Pisa) Pisa)

Torino) Torino)

Organizing Organizing

Padova) Padova) Program Program

Roma.) Roma.)

Bol P. P.

Venezia) Venezia)

Pisa) Pisa)

P. P. .

.C. .C.

. .

.

.P. .P.

Gallardo Gallardo

Garcia Garcia

Garda Garda

. .

(U (U

(U. (U.

(U. (U.

(U.P. (U.P.

(U (U

(IITA (IITA

(U

(U. (U.

(U.P. (U.P.

(U (U

(fNRIA, (fNRIA,

(U. (U.

(U. (U.

(U. (U.

(U. (U.

(U (U

. .

Ghelli Ghelli

Fabris Fabris

Gavilanes Gavilanes

Diaz Diaz

Celma Celma

Dovier Dovier

Codognet Codognet

Garcia Garcia

Ciaccia Ciaccia

.M . .

. .

. .

Casanova Casanova

G

A

M.J. M.J.

M.J M

J. J.

Gisbert Gisbert

M. M.

A

M. M. P. P.

C. C. M. M.

Garcia Garcia

i i

Aiello Aiello

i i

Hortala Hortala

no no

cc

Vicente Vicente

Carlos Carlos

Asuncion Asuncion

Moreno Moreno

lu

Cocco Cocco

Codognet Codognet

Barbuti Barbuti Lamma Lamma

pucnte pucnte

Hermenegildo Hermenegildo

Falaschi Falaschi

l

Delgado Delgado

Teresa Teresa

Giorda

Mancarella Mancarella

Casamayor Casamayor

Car

Breuer Breuer

A

Jose Jose Ciancarin

Carro Carro

Garcia Garcia

Busi Busi

Cabeza Cabeza Garcia Garcia

Brogi Brogi

Bossi Bossi

Bueno Bueno

Bagnara Bagnara

Bertino Bertino letla letla

Araujo Araujo

. .

lina lina

Agusti Agusti

. .

.C. .C.

rlos rlos

olo olo

M

D. D.

N. N.

J J

A

PT. PT.

F F

A. A.

R. R.

l're l're

E. E.

L. L.

J. J.

~a

Paolo Paolo

l':w•

Juan Juan

Maria Maria

Mauuel Mauuel

l'

Lnura Lnura

Moreno Moreno

Ann Ann

Philippe Philippe

Ntro

Pa

( (

Lutgia Lutgia

Uullt-rto Uullt-rto Mnrfn Mnrfn

3 3

2 2

92 92

77 77

62 62

46 46

31 31

18 18

140 140

125 125

107 107

Systems Systems

Proofs Proofs

Prolog

Planning Planning

Constraint Constraint

a a

Full Full

Transformations Transformations

i.n i.n

Rewriting Rewriting

Type Type

Uniform Uniform

Palamidessi Palamidessi

Abduction Abduction

Vidal Vidal

Sets Sets

m m

as as

C. C.

by by

and and

Term Term

G. G.

(almost) (almost)

elis

I I

Program Program

and and

Clauses Clauses

Programming Programming

for for

and and

Answer Answer

Hentenryd: Hentenryd:

Contents Contents

and and

Programming Programming

Parall

Programming Programming

(LCEP) (LCEP)

Properties Properties

Van Van

Ramis Ramis

of of

Conditional Conditional

Marriott Marriott

Programming Programming

Rubio Rubio

Programs Programs

and and

Programming Programming

Volume Volume

Logic Logic

P. P.

K. K.

Constraint Constraint

for for

Framework Framework

Constraint Constraint

Constrained Constrained

M.J. M.J.

Analysis Analysis

Logic Logic

Paralelo Paralelo

and and

of of

and and

Program Program

Albert Albert

Logic Logic

Declarative Declarative

Prolog Prolog

rrent rrent

with with

Pedreschi Pedreschi

Table Table

in in

of of

of of

ado ado

n n

and and

Rossi Rossi

et

D. D.

Semantics Semantics

Falaschi, Falaschi,

Gabbrielli, Gabbrielli,

Oliver Oliver

ctio

Concu

S. S.

Abstract Abstract

Concurrency Concurrency

Program Program

Constraints Constraints

and and

J. J.

M. M.

Functional Functional

M. M.

Concurrent Concurrent

Etiqu

Refinement Refinement

Interpretation Interpretation

and and

3: 3:

2: 2:

.

Dedu

oyd oyd

of of

.

of of

l

and and

Constraints Constraints

A

Advantages Advantages

L

A

and and A.l: A.l:

Lecture Lecture

Termination Termination

Nieuwenhuis Nieuwenhuis

Charlier, Charlier,

as as

Goltz Goltz

W. W.

. .

Moreno-Navarro Moreno-Navarro

Falaschi, Falaschi,

Abstract. Abstract.

Volpe Volpe

Alpuente, Alpuente,

ving ving

Giacobazzi Giacobazzi

Le Le

Nitsche Nitsche

.X-Calculo .X-Calculo

Lucas Lucas

Mascellani Mascellani

Compositional Compositional

M. M.

S. S.

P. P.

Confluence Confluence

Semantics Semantics

B. B.

El El Session Session

R. R.

An An M. M. P. P.

Characterizing Characterizing

A A

Pro

M. M.

H.-J

Session Session

John John

Analysis Analysis

Processing Processing

Types Types J.J. J.J.

Session Session

Practical Practical

System System

Robert Robert

lntegration lntegration

Invited Invited

Automated Automated Tutorials Tutorials

79 79

4 4

464 464

449 449

434 434

418 418

27 27

403 403

388 388

372 372

357 357

342 342

3

s s

n

o

g g

in

s

Programs Programs

u

s s

Static Static

on on

m

formati

to to

a

s

Logic Logic

gr

o

based based

Programs Programs

Tran

Pr

Lifting Lifting

c c

Comparing Comparing

Rossi Rossi

Extended Extended

Logic Logic

Logi

for for

G. G.

for for

red red

Languages Languages

Program Program

e

and and

es es

lX lX

Systematic Systematic

i

c

Ord

n

by by

Logic Logic

and and

Hypersets Hypersets

e

s s

Rullo Rullo

Sessa Sessa

for for

nd

e

Contradictory Contradictory

p

over over

P. P.

Policriti Policriti

e

Foundations Foundations

Interpretation Interpretation

SLD-Derivations SLD-Derivations

Winsborough Winsborough

M.l. M.l. ri ri

tatiollB tatiollB

p p

D

e

e

A. A.

d d

o

with with

e e and and

1toya 1toya

Analysi

mantics mantics

W. W.

ce

8Dd 8Dd

Pr

Compositional Compositional . . and and

e

Concurrent Concurrent

yp

-

S

T

of of

Ruggi

of of

c c

Int.erpr

J.M

and and

Abstract Abstract

Equations Equations

Pramanik Pramanik

Redu

Leone Leone

S. S.

Demoen Demoen

AND

Levi Levi

Omodeo, Omodeo,

Negation Negation

of of

an an

S. S.

Pacini Pacini

rphi

N. N.

Language-Independent Language-Independent

for for

is is and and

Ranzato Ranzato

Fili Fili

Theory Theory

Reasoning Reasoning

o

B. B.

, ,

G. G.

Program Program

and and

of of

is is

G. G.

rpretation rpretation

F. F.

and and

G. G.

E.G. E.G.

e Analysis Analysis

, ,

arnations arnations

for for

nt nt

lym

8: 8:

Abstract Abstract

c

and and

Index Index

.

e

and and

A.lO: A.lO:

o

A.9: A.9:

Int

In

P

Systems Systems

A

Deterministic Deterministic

and and

Failure Failure

-

t t

e e

c

Gallardo Gallardo Checking Checking

Quoti

Gori Gori

Analyti Analyti

Buccafurri

Pedreschi Pedreschi

ion ion

Dovier, Dovier,

Powerset Powerset

Ferrucci

Non Cortesi, Cortesi,

Codisll Codisll

Fili Fili

riviug riviug

. .

Author Author

R. R.

F. F.

Finite Finite

A. A.

e

A A

D. D. Semantics Semantics

Session Session

ess

A. A.

Termination Termination

F. F.

Solving Solving

Loop Loop

Session Session

A. A.

G. G.

Analyses Analyses

tbe tbe

The The

M.M. M.M.

Improving Improving

Abstra

Granularity Granularity

M Multipl

D

S

155 155

170 170

187 187

202 202

203 203

218 218

234 234

251 251

266 266

281 281

296 296

297 297

312 312

e e

t t

1en 1en

d' d'

pen pen

s s

the the

t

e

Logic Logic

S S

on on

inde inde

sJted sJted

Constraint Constraint

J

~r. ~r.

Transformations Transformations

ause ause

Rev

AND AND

Constraints Constraints

Based Based

CJ CJ

. .

te te

Numeric Numeric

rogram rogram

u u

Rule Rule

essa essa

p p

d d

Revisited Revisited

. .

.

Ref Ref

ams ams

aons aons

gorathms gorathms

d d

Domain Domain

UIZ UIZ

a a

t' t'

gr gr

g g

a a

R R

to to

:ral_Jelization :ral_Jelization

ama ama

an an

undant undant

l l

d d

Paralelismo Paralelismo

Parallelism Parallelism

a a

Pro Pro

viii viii

C C

IS IS

p p

Orte Orte

acement acement

un un

Comunicantes Comunicantes

R.ed R.ed

Finite Finite

I I

· ·

del del

B B

Systems Systems

p p

C C

d d

Calculus Calculus

and and

~, ~,

w:.o w:.o

Y. Y.

bleaux bleaux

. .

Languages Languages

CLP CLP

a

Re Re

· ·

an an

and and

T with with

l l

· ·

of of

Analys· Analys·

and and

and and

s s

est10n est10n

Observables Observables

and and

ogtc ogtc

licit licit

G G

L>.. L>..

Goa

ring ring

L L

of of

P P

Process Process

a a

o

. . . .

a a

Rewriting Rewriting

J J

Funcionales Funcionales of of

ory ory

il

Levi Levi

Pettorossi Pettorossi

1m 1m

Method Method

e

a

mg mg

. .

of of

' '

nal nal

t' t'

Loogen Loogen

Guerrero Guerrero

T

Gabbrielli Gabbrielli

o

Messora Messora

G

n n

Program

of of

A. A.

. .

e

Th

para para

. .

n n

ta

. . •

Program Program

c c

Term Term

C_oncurrency C_oncurrency

R

c

Theory Theory

P. P.

o

L6gicos L6gicos

Constraints Constraints

~~~:t~cD~:~~l~~~e ~~~:t~cD~:~~l~~~e

M

A

, ,

Proof Proof

Jouannaud Jouannaud

and and

of of

and and

Procesos Procesos

Logi

Fun

RPS RPS

Roy Roy

A.4: A.4:

Semantics Semantics

Lecture

and and

A.5: A.5:

Transformations Transformations Y Y

A.6: A.6:

a a

r. r.

lmplerr lmplerr

Lecture Lecture

A.7: A.7:

an an

Programs Programs

Detection Detection

Resoluti

Correctness Correctness

hlmann ds ds

iou iou

Van Van

in in

o

ular ular

Gallardo, Gallardo,

. .

Comini Comini Algebraic Algebraic

Martella, Martella,

rogramas rogramas

at at

Buffoli Buffoli

Proietti Proietti

s s

ion ion

r r

1 1

d

B

Varela Varela

•sH

LP LP

. .

ssion ssion

. .

Etal/e Etal/e tal tal

. .

nadas nadas

s

the the

an-Paerre an-Paerre

P P

modelo modelo e

th th

odula_rity odula_rity

. .

wards wards

Bueno Bueno

. .

p p

Bagnara Bagnara

ue

t e

e

s

o

6

C E

. .

o

F'

S<

M

Fixpoint Fixpoint

. .

s s

An An

M

e

~tWimizL~g ~tWimizL~g

.

n n

.

e . .

MJ MJ

Invited Invited

Unfold/Fold Unfold/Fold

S

M

T

Mo

S. S.

ss

Session Session K. K.

T

J

El El

R

en en

M

Pr~gr:ms:o~h~ Pr~gr:ms:o~h~

F. F.

M M

P

I

Invited Invited

S

~

R

in in O 336

324

309

296

283

268

253

238 221

206 191 176

and

Forum

Language

traves

efficiently

Objetos Montesi

a.

Updates

it Process

a

D.

do

Logic

Language with

to

and

Solving

Performance

Order

how

"Objectcharts":

for

Orienta.das

for

Preposicional

Martelli

and

Language

Rossi

Applications

olog

Higher

lling

M. e

C.

xi

Winkler

Programming

System

Pr

Notacion

does,

Origen

the

and

Martelli S. in Montanari

Integration

Mod

Ia and

of Integration

Specification de

Logic Database Iannello

A.

A.

Environment

Huang

de

and

Programming

a

and

Ramos

Especifica.ciones

Guerrini, G.

r

and

N.

actually edad

and

Rewriting and

o

-

VBDL

/.

f

Ruz

de

Language

G.

Guzman

Y.

entation

Logic

and

Program

Exceptions

e

Abstract

Sapino

and

d

J.J. of

Term

Toval

Palomar

Guglielmi

and

for

Algebraica Ambigu

a

.

tbe

Chittaro

Calculus

System:

'

A.

Giordano

Concurrency

A.

la

M

M.L. Implem

of

Extensions

Catania, Natural

or

Perez

Implementations L.

Extensions

Interpreter Formato

Hans,

Explicit

ObjecL-Oriented

Cuevas

L.

de

Logic

, Tarau

Verifica.cion

and

and I.

B. Reactivos and

and

and

F.

Event to

J.

W.

y an

Extension

P.

8.8:

tation nto

B.7:

Parallel Grammars B.6: with

B.5:

in Parallel

iveness

l

the

i6n

Logica

Grima

ing

Formalizacion Baldoni,

emen

Enciso,

the

Dahl,

Liquori

Moreno Cervesa la

Arcelli,

Modal

Saenz, Bruscoli Bertino,

Temporal

Devesa, Planning

Babe Sistemas

Bottom-Up

eal

A.

na .

What /. M.

M.

L. A V.

D

L. A

Session

de F.

P.

Session Da.ta.log

Tra.tamie F. E. A ~Prolog Measurement

On Express in

D A J.

Impl Session nansa.ctions

tl Vnlidac Queries cle

Session

1

16

32

47

60

75

88

102

117

132

147

161

tivas:

for

educ

CHIP

D

Databases

ana.les

C

'

ges

e

with

d

Metalogic

ua

Approach

Datos

g

'

e Ions

.

t

. d

.

with

anguages

Lao

tca

FirsL-Order orung

cac10n

ll

Network

d L

in

Bases

e

1on

t'

a

Reas

Logic Unifi

Appl"

Contents

.

I

Lanzarone

en ..

a

I

~emporal

oya

ora

emm

Prolog

mputer egra

of

.

. X

p

and

S Evaluation

Tr

G.A.

Answers

in

·

Co Databases

.

Volume Pastor

Int

.

Troya Chaopris uezas

L

Generalization

og1ca

e

M

L

Tern

. ediante

JLn~~c~

d -

and Functional

rg

1

· J

C.

a

a

Object-Orient

Databases m a. o· .

amed

and

and Intelligence

en

t

ase

M.A.

Parallel J.M.

in

B • Table

us

and and

Lazy

A Retrieval

S

f L

asamayor

Deductive

and o a

and

Jamil

d

JOn-

r

for a

Sancassani

System~

of

Objetos · osco

Basada

a

and

Cignoni

b

Calculus·

Costantini

Cane

Datalog

e Data

.

·

Integcidad

Escalada-Jmaz

Alba

M.

Artificial

J "

Assignment

ara Deductive

H.M.

S. Celm

nt

Pimentel

Implementations

:

for Extensions

T

de e

G. entre E.

.

Model

oken G.A

·

and

Explan

E.

and Updat

T

M

Models and .

buT

A Encapsulation

B.l

.

B.2:

i

'.

and

B.3:

Management

,

B.4:

es

Model for

mg

I~t~ig

·

agenza

h'

c

l

11~ana,

arcaa,

J .

A

Apro.rimacion

Vila

si~n

Decker Bertarello, Duran, P

G

Fabris

Ruggaer&

emporal

og

Arenas-Sanchez Ambriola, Bugli

.

.

Debuggmg,

.

Session

T L.

Knowledge-Based

Extending Programming S.

Ses

.

veryt

Sustamed ll

G ~~umcacton

Abductive

J.F.

V2:

Restncctones

C una

C.

Session

IDEA:

M. Optimal P.

V. A

Session

E c

LogJcos

F.J. M

A L

or or

es es

a.re a.re

s

and and

o

the the

) )

Con­

when when

proved proved

among among

clau

narr in in

, ,

c c

Clauses Clauses

of of

results results

and and

equality equality

Like Like

that

basi

use use

. .

ses ses

especially especially

for for

in in

studied. studied.

the the

clau

)automatically )automatically

ming

para.modulation

(as (as

are are

like like Rubio Rubio

completeness completeness

well-known well-known

(semi-

Spain Spain

ogram

egies egies

approach, approach,

provers provers

rained rained

, ,

techniques techniques

is is

pr

rules rules

It It

strat

rem rem

ussed, ussed,

problems problems

const

Cataluiia Cataluiia

c

ogic ogic

useful useful

Informaticos Informaticos

l

ic ic

eo

Albert Albert

proving proving

Constrained Constrained

h

dis

de de

rence rence

t

is is bas

for for

e

Barcelona

very very

, ,

deduction deduction

a.re a.re

inf

solving solving

, ,

and and

a a

ce

asis asis

equaliiy equaliiy

ial refutation. refutation.

b

{AD) {AD) Sistemas Sistemas

f f

tan

o

or

with with

with with

s

y y

by by

Abstract Abstract

E-08028 E-08028

futational futational

in

Politecnica Politecnica

tut

clauses clauses

e

become become

r

5, 5,

initial initial

(i.e. (i.e.

raint raint const

For For

means means

duction duction

in in

this this

has has e

the the

, ,

order order

d

-

instance instance

by by

In In

Lenguajes Lenguajes

{roberto,rubio}tlai.upc.ea {roberto,rubio}tlai.upc.ea

Nieuwenhuis Nieuwenhuis

was was

ories. ories.

e. e.

Gargallo Gargallo

first

equality equality for for

e

, ,

Universida.d Universida.d

nted nted

let n n

th

AD AD

Dept. Dept.

se

Pau Pau , ,

constraints constraints

orresponding orresponding

automated automated

Deduction Deduction

pre

c

comp

built-i

e

Programming

c) c)

Robert Robert

r

formula tions

of of

the the

e e

a. a.

ca

b

constrained constrained

quational quational

with with

e

of of

aim aim

ted ted

Logic Logic

ymboli

and and

a.n a.n

e e

appli

(s

c

ring ring

h

n n

e

e

T

d

her her

iv

traint traint

alidity alidity

or

g

refutationally refutationally

built-in built-in

ing) ing)

with with

working working

s

v

ot

Automa

8 8

452 452

455 455 450 450

446 446

448 448 444 444

440 440

442 442

408 408 43

423 423

366 366 393 393

379 379 351 351

on on

uti

co co

in in

Exec

On On

g g

.. .. J

g g

a a

CC

d d

og og

e e

. .

'J

fU

Oriented Oriented

t t

Algebrai Specify Specify

0

t t

Prol

c

· ·

DS DS o o

t

M M

in in

Language Language

IODS IODS

Composin Composin

Co Co

t• t•

es es

Obje

Ia Ia

Checks Checks

ca ca

for for

Programming Programming and and

Enfoque Enfoque

li li

e e

Programmin Programmin

for for

Search Search

e e

un un

Peiia Peiia

lli lli

para para

Sessa Sessa

pp pp

e

Loop Loop

st st

e e

Logic Logic

Structur

A A

Devesa Devesa

Structures Structures

l. l.

d

c c

R. R.

.

. . lin

Environment Environment

Fir

of of

es

o

Guzman Guzman

J

M

-

Specification Specification

xii xii

e e

Languag

d

r r

h

with with

e e

M -

e

and and

Logi

Data Data

and and

. .

Languag

d

Data Data

. .

r r

Toro Toro

and and

and and

Manfredi Manfredi

Inverardi Inverardi

M

FuncionaJ FuncionaJ

. .

by by

of of

etos etos

eadt

.

s s

ete

Pow

Meta

a

J

with with

U. U.

M

d d

Formal Formal

P. P. Br

ani ani cas cas

e

Higher-Order Higher-Order

Perez Perez

ev

Campo Campo

Obj Turini Turini

Deducttv

Pareja Pareja

a a

t.be t.be

ss

Heterogeneos Heterogeneos

. .

and and

a a

I

and and

Pacini Pacini and and

Cu

and and

F. F.

and and and and C. C.

· ·

SQL SQL

e; e;

teriz

rez rez

Interpr

for for Definition Definition

. .

i

and and e

J

l l

G. G.

mentations mentations

P

eortes eortes

Sanca

a a

s s

Semauti

, ,

e

and and

n Reductions Reductions

. .

Dore Dore

J. J. First First

Gonzalez Gonzalez

et

ntornos ntornos

nting nting

Too

GuUas GuUas

Galan, Galan, Th Th

c c

Torres Torres

Peiia Peiia

-

M

e

. .

Programaci6n Programaci6n

E E

t-

~~olog ~~olog

~terfac

. .

. .

. .

Param Nunez, Nunez,

Asire/li Asire/li

~

G. G.

Lora, Lora, Object Object

Contradicci6n Contradicci6n

th

Language Language

A

a a J. J.

. .

Orientada Orientada

r r

R

Impl

. .

M

rfaces rfaces

. .

I

, ,

and and

.

rpht

Ramos

y y

e

i

ep

e

Tablas Tablas

P

Renso Renso

J.L

and and

V

M

s

n n

o

ses ses

V

An An

D

. .

MuJr MuJr

de de

U I. I.

~ugm

and and

m

rams rams

vs vs

and and Int

da da

las C

a a

g g , ,

: :

o ementatJO

g

e

Index Index

en en ores

B.lO: B.lO:

B.9: B.9:

r-~ased r-~ased

era, era,

, ,

, ,

· ·

Che.cking Che.cking SRA SRA '?

Presentations Presentations

l

caci6

2.0: 2.0:

m e

. .

'd 'd

g. g.

nin

o

. .

vt. vt.

Pro

ifi

Galan, Galan, Troyano, Troyano,

r

lmpl

R

Frerre, Frerre,

ion ion

IDEA IDEA

c c

bJo bJo

tzacJOn tzacJOn

. . . . .

t

Sancassan

Mylonak1s Mylonak1s Ramos Ramos

Pastor

Agui Manfr

r r

Aquili11o, Aquili11o,

Brogi

Tubella Tubella

Ferruccr, Ferruccr, ClerrcJ ClerrcJ

s s

ss

g il Type Type

Sleep

. .

rapbtcal rapbtcal

u

. .

L L

. .

. .

. .

.L. .L.

e e e

J.A

U

G. G.

J 0

Combi D. D.

LANM, LANM,

Espec

G. G.

OASIS OASIS N. N.

J

LogicSQL

Non Non L.A. L.A. M. M.

Author Author GenerJc

Am~gamating Am~gamating

S F A A

Ged

G G

Poster Poster

Databases Databases A. A.

A A Lo TAS-n++ TAS-n++ U U

d d

Session Session

Se TGhe TGhe e

a

is

.

the

d not

but

and

pro­

itiv

hould

ic

,

­

have

ogic

s should

l

but in

ar that

intu

ap­

og

am­

ogic

pro­ l

8

l

r

e

ivity

Kowalski's

ma.de

about

so

explaine

ive

ct

ogr

th

s

swers

"decl

of

order

should

pr

and

be

,

an

answers

c

order

declarative

i

point

produ

an

eeded

ive

term

nal

first

og

resea.rche

computed,

of

can

n

l

remarks

declarat

of

first declarative

capture

is

be ctio

the

by

main

the

correct

of

idea

rent

Programming

,

to

of

fun

logic

declarat

computed

is

terminology

the

is

cur

general

ey

even

f

indeed

that k

s,

of

ramming

i

o

the

programmer

(unsorted)

the nings

analysis

the

including

og

Science

bining

are what

(that

and

some the

ea

e,

of in

cs, pr

m

does

cs

ed

m U.K.

advantages ts

(that

co

be

c),

n

ing

,

to

seriously

e

logi

stating

m

make

h

Bristol

to

summary

for

c

detail

logi

a.dvantages

em

stat

TR

exampl

a

semanti

theorem

1

of

taken

possible

Lloyd

limitation

then

Declarative

practical

definition

theore

theory.

Computer

For

I

is equir

more

with

r

involves

ness

approa

the

ibilities

Equivalently,

BS8 W.

a

e

the

of

Ab8tract

of

.

consider

it

suitable

in

the

.

involves

.

practical

of

ersity

J

I

teaching,

oss

ness

d

lism.

nt

p

e

e

but

ma

better-known

te

e

om

s:

the

informal

e

significant

esent

e qualify.

fr

some

s

soundness conclude

a

th

Univ

pr

complet

what

th

I

control,

a

The

parall

mpu

Bristol,

y, a

(in

to

declarative

Thi

of

co

discussion

heading

Programming

logics

declarativ

discuss

uction

and

a

with

on

finall

the

be

h

I

Departm

programming

,

c

ed

f

five

logic+

theory,

go

most

mming.

d

o

theory

to

ferably,

ysis that

ive

with

n

s

l

order

suitable? and

= whi

e

control.

programming,

a

i

ogra.rnrning,

e

is

Advantages

,

is

r

ogra

e

pr

.

pr

r

th is e

paper, at

to

r

it

under

h ana

proof are

Thus

the

p

tages

e

egin

c

e

s

a b

n

o

cs

,

a

t

i

high

and

1

this and,

pap

declarative how

thi whi

ry

.

og

,

extent

ted).

l

of

algorithm

adv y,

In

eo

the

l

declarativ h

program

he

t

ming

ative" meta-programming,

gramming t programming declarativ proach

in

Declar

a

ion

computation

mpu

begin

of

rmall

necessarily

What I

Practical

co

correct),

o

variety

ramming

1

Inf necessarily

not equat practica idea model be g be

a

,

­

a.

n

es

es

as

o

ew

the

u

n

e

for

years

analy

of

meant

.

.

the

etc

especially

especially

(dilferent)

techniqu

techniq

interpreta­

role

evaluation ,

integrati

some

languag

that

e

the

area

features

the the

new

trictness

l.ization)

lazy rules

th

anew,

arch

s

tract

e

accounting

Logic

r

\

of

s

e

as

own

a

tbe t

of

existing

ese

h

ab

ll

r

ul

s

g

on ges

e

c

in

,

ages:

n

parall

w

of

ction,

studied

s

M

default

spurred

was

and

as

power

parti

particular

del

it redu

langu

area. langua

semantics

ve

in

analysis

in

been

combinj

Madrid

,

illa ,

advance

and

nal

by

de

has

negation, narrowing,

previously

graph

tations)

oad active

and

,

Spain

mode

B

uages

of Informatica

ca s

expressi

clarative

g

an

e recent

and

ni

eno-Navarro

d

(e.g.,

de

ec lan

the

operatio

tract compu

proposed

of

the on

s cedo,

was programming

c

WAM,

of

as

anding

w

Mor

Madrid,

.

,

Polit

ere

Ab

st

paradigm

constraints

oflanguages

Functional

w

sho

se

power

(e.g.

Facultad

es,

to

implementations

Jo

28660

under kind

jjaorenotfi.~.ea

of integrated

Montegan

rsidad

is

normalizati

typ

e

Programming

integrated

programming

ent

te

strategies

deterministi

ogramming,

de

for

ci th.is

of r

ressive

ementation

LSTIS, niv

of

guages.

p

improvement of

ffi

languages

declarative

:

U

ing

Juan

or

e

c s

exp

lan es

i

f

c

impl

.

of

t f

tutorial

ow

o

e

e

the

objects,

og

and

l

es

up-to-da

th

th

programming

models

topi

Campus

functional

this

narr

of

and

and

principl

inter

feasible

of

,

efficient combination

and

logic

models

is

optimization

concerns

m

improve

, aim

integration

the

ature

o

following

Integration

(e.g.,

ctional Development tion) higher-order

Design features

to fr

sis

Semantics different

m

New

as

what

Recently

The The

the

U

fun

e

w

paradigm

in ago.

for

of .

,

,

.

­

y

a

r

e

e

e

is

d

is

s

in

of

in

of

of

~ of

e

ll he

by r

e

its

the

the

t

it's

th

e

this ting

was

tt

of

It

ntly

ach

that.

that

nkin

ua

from s

e

nd

i

o

is

e

s

ie

in which

by

.

of

e

rather

s

the ory

ally,

of

n) true

is

c

u

d w

H e

c

natural

provid

sense

and

o

e

e

different ea

a b

aning

i intended

on

clarativ

int

t

it

,

starts e

t

think programs

th

of is

a

c

be e

semantics

appr c vi

uffi

id

important

functional

to

concept

one

unt.

program

ally

al

d

s

gramming

m

I

the

ta

h

c

c

truth

s

given o

Typi

in

e

a

the

,

c

a

the

so

a

that

cco

.

programm

the

pr

in

the what

interpretation

not

is

thi

the a

hni

if

is

in is

the

,

of

component

c

chni

c

~-calculus

whi

so

theory

seems

e

simple

constru

is

te

to

account

t

component

it

answers

Third

a

ing

semantics.

essential

interpr

's

(An

given

logi

is

s

and

is tbe

true

functional

models

constructs

is

prefer

as

u

.

logic

declarative

h

her

theory

,

rch

c

the

be

ogic

t

in

support

programming

computing

of

h

be

l

ordinary

theory

procedure

and

,

precisely

c

intended

program

ra

l

example,

the

the

to

into

theory" ginning,

definitions

in

a

whi

of

,

by

order

e

Chu

component model

mu

can

the

approach

grams

b

the

domain

intended

computed

cs

model

1

are

for

of

o

s

of

hence

,

program

state

e

theory

r

declarative

described

defined)

approach also

in

e

pr

for

back

.

is

application.

first

a

kind ogic

proving

th

programming

ry

(say,

l

to

is

the

model

this

So,

needed

semantics

that

"

ir

of

the

tional

and

declarative

eo

functiona

ze

describe

kind

expressions e

was del

c

the

is

in

.

true

start

This

that o

the

th

ular

nt

s

completed

semanti interested

sorted

to

th

(

s

why

c

-

of

e

from

rali

,

rstandable

m

gramm

of

fun

hi

a

l

main

n

e

to

e

is

be

o

e

semantics

term theory

ory

o

of

ulus

o

n

programming

n

needed

a

dural)

theorem

es

r

e

ation

c

mbine

d

e t

language e

this! apture

as

o

e

pr

e

c e

e

ce

the

now

c parti

main

often

is

5

aning

th

und al

functional

many e

nt

co

(

mp

program

ori

be

o

d

o

rt

e

th

c tation

mod

guarantee

e

l

o c

e

a

c

y g

o

-

d

o

pla

ar

e

type t

h

nal

e

whil

te

t

c

e

pr

m

e

A

c

e

be

lizati

th s

o

n

,

s

theory

is

appli

nary

pr

the

g

l

with

a

cl

th

r

i

ffici

of collection

turn

th

in r ti

e d

n

d

m

d

rphi

approaches mantics

programmers

e e

gic

f e

l c

s .

gramm

e clarativ

that

e e

e

e

mu r

ese

d

a

mod

o

whi

supp suitabl o

s

v

nt r

o

e o

and u l

o

rm

tation

se e

in

h

l

b

o

n e

e m

functional the th

e

ord

ry

f

;1 d

t o

e

o

e

pr

e

int

an

a

e

e

wr

es

o pr

f

fun

e

to w

e

typ

e

n

formulas l

f

typ m

h

that

nt

b

at

r

ion

,

e

eo

o lym ti

s l

in

o

in

e o

t

t

d

r

e

nt

e

e

s

traditional

,

th

rpr other

uld

Th

c

o

s

e i

ce

, a

ti

e

e

th

th

as

,

e

e

o

y

to

.

. t

t

th

n c

th d p

th

e

rativ et

rty

e

ru

In

fir

prob

which

) H

ually x

nd

e

es

a

e

a p

n

ompon

b

.

, nkin sh a

s,

nguag

admit

ul

int arativ s

igning

e

e

ord

st .

e

th

f

e

e

a

o

fun Th

u

cl

of w

n

o

la

that

t

o

men

remarking

It

h

vid

d

e H

c c

as return t

e

axiom

thi

ally

w

ecl th

s

e

int

ample

ass

f

s

'l

e

,

p

compon . n

co i

e

d

prop

ts

e

x

(d

1

r

exampl e

s

rstood

fir

5e

for as

c al

c

i

cs

e

writt

al

that

e

ne

logi

e

.

what

u

by

s

e

e a

n

o

the

o

languag

i

ce

as e

axioms

h impl

wh

r

the s

ach

v

shall

each

example

o

th

d

c

n

the

for

mod

ct

be logi

worth

re

s

ni

o

to

th

e

For

,

,

r e

und

intende

f

as

e

a

ha

Ultimately

on

can

an

no

o

e

is

manti

programming

,

is

h I

This

f

.

whi

for

I

ulu

e

ce

e giv c

e

constru

programs.

be

the

used

wh

c

s

, e o

th

exp

me

6])

. n

appr

the

interpretation

],

w

[

,

it

First

is

say

understood

logic,

I tricted

restricted

(2

of (o

,

hav

whi

used

computed

tur that

Having

to

should

foundati

based the

.

es

fact can

interpretation

c

is

1

r

to

,

this

~-cal point

s

in

,

lark

have

tation.

to

that

tation

because

then

d be

pi

ar

,

e

e

are

e

w

C

In

n

ly

first

e

written

Thus

programming

e

is

o

e

typed

h

nd

ial cl

rent

int

nd

ab c

e.

rpr

N

program cs

uitably

t

s

declarative Perhaps

gram

uld

intended

o

models gram

c

i

i e

gram

t

o

e

i

functional

e

s

a

commonly

c i

notational

giv

o

o

o

r e

o

g

e

suitable

f

ll

u f

e

ru

ot

h

alculus.

xpressions

o

og

impl

emantics

tarting o

s

s

t.h

l K

i11t

pr

o pr

l

c

a int

f an mapping

i n

Thi

untyped

s o

c d e i n diff

th

pr

interpr Seco program

is types), models way.

a

sam s

s given

s

although

a p

.

.

.

­ f

­

­

­

I

­

e

is

is

to

d

to

o

as

or

be

by

ta

in­

e

nts~

the

the

th

,

em

e

e

as

e

It

with

with

situ

nded

an

,

n

rm

l

m which

.

this

, tation

e of

is

c

r

should

ciat e

the signifi

o

e

Haskell

hav

logic

written ,

ee

lational

e

e

ssors

theorem

that

ms

e intended

int

clarative

sociolog

e

ns

e

e

y

r

dominant

ts

e

l

as

o

e

rminology,

e

ions

gramming,

d

conf

e

mod

emphasizes th

base

t

e e

o

-these

betw

naturally

appr

may

th

t

sec

requirem

ati proc

e

and

below

programming it

Th

wide-ranging

th

is

because

rar interpr

.

c

Howev

pr

and

we programming

probl

symbols .

by

capture

such ,

li

.

is

is

e

e

.

this

inter an

programming

that

problem

to

strong

and

ogic

synthesis,

these

th

app

l

divide

since

programming

query

logic

hand

as

a

ar ept

sam

programming

l

explain

(directly)

interpreta

c

of

of

modelled

and

true

all

u above.

knowledg

as

at

With

bridged

historical

c

sometimes

,

formalisms

changed

apt,

is

recognized

following

the

be

logic

con

calls

possible.

functional

order

is

declarative have

the

Not

logic

predicative) it

languages,

shall

possible

,

current

ogic was

be

program

such

.

of

programming

I ,

l

parti

be

of

functions

the

and given

cannot

He

can

declarative the

very

crucial

is

other

first

with

programming

solve

than

intended

as

interpretation

in

and

meaning

fotmaHzed

Now

is

the

it entirely

of

gap

the which

the

are

logic

e

logic

to

that

in

most

is

of

th

always

predicates).

However

the

perhaps

fixed

then

that that

programming

larger

functional

methods,

time.

accessed

principles

all

approach

the

almost

limitations

is

is

,

(or

and

because,

called

Robinson.

intended

trying

(or,

be

However,

time

suitable

shows

is fact

applications

an

combination have

here

functional

declarative

over

.

programs

applications

a

s programming

should

process

'

4 many-sorted

many

of

meta-programs,

terminology

hods

the language

programming

formal

are

class

h

in

these

now

can

It

applicability

t

in

the

general

, the c

Alan

a

changing.

. such ussion,

e

"

theory

lations

for

as

this

is

c

c

su

problem

me

functional

e

is

l

of domains

this

r

class

e

the

ti

by

the

e

r

This

confusion.

that

base

,

granted

c

dis

)

fields o e

s

relational

between

that

calls

f

ipl

n

changing

of

r tation

various

ogic

u

to

such

l

ed

and

are

The o

e

themselves

o

o

base

what

nt

n

similar

functional

n

pra

s

th

arg

mod

is

appropriate gramming

fact

lymorphic as

ation

dge

e

he

.

l

s

ri

o

declarative s

u

to

o

o

o

c

o

e

i

programming

programming

rtant

a

and

e avoid

a rpr

n f

declarative

highlights

of

eas

of

ese

ry

h

p r

th r

tati

In B

o

princ

ve

In

r v

e e

ry

cti

pr

ss

e

dge

c

l

e e

o

o

ic

a

cifi

e

e

pr e .

v

u

u

to f

.

base

is

e

limits

so

g,

e s.

e

and

in

darativeness

s

so

m

int thought

gram

gram

logy

tak

data

h

e

o

way

h

e sc

rpr

e

imp

nn

,

al

l

log

o have

th

in

o

c

o a v

knowl

t

h

sp

gramming. ntify

d

gy

s o

a

s

o

di

,

th

to te

i

e

" g

o

be an

ramming

ally c

gy

o

pr

as

are

dg

is

pr

e r

ar c

r

w

l

u

e

-

e

es

e

o

knowl

usly tting

in

e

Pr id ginning

o

e

tation

l

o

e

pr

r

hnical

e

o thi it

clarativ f

of e

og

th

symbols

e it

e

v and

o

e

by

o

ifi

ta

r

th

ese

d e h

s

vi

e

b alculus

dom

th

nal

r

ec

e

e

e t

!)

pr

d

c

t n

termin

the

ec w

o

xt e

e

should

rpr se,

-

to

r

are clos

o

m

al

might

th

e

c

o

trying of

nd

e

e

~

and

knowl

logic

obvi c

sp

ti

,

th

of

ese

of

ur

rmin garded

e

,

tively

w e

H

gi

algebrai

it

, Thus point

e

termin

delled

lati e

a

e

This

is

the

c

is

o

ly

int

from

c

n r

.

o

t w

ont

th

ca

e

(pur

the co

o

.

l oth

nd

e

n

than

r

int

e

c

o

that

o logi

.

Th

f it a

ion

f

e

ur

programming

,

is

m

h

t

in

by

effe

e ing

an

o

, e

o ,

b

dominant

t

and

with

view

yed

of

t

functional

s.

bel

s

ec

h

, o

tati

above,

,

c

th

the

appli

used

t

that

wi

of

(5]

wher

e

ar nent

fact

w

pr

al

of

gi

rly

t

o

d

onal

l ight

the

o

'

return

e

st

o

ctly) ized

i

e

In rammer

rather ing

ould

s

e

e

l

s

well

r

n

example,

standard

rpr

e

lain

N

In

c

J

This

gramming

g

d

ans

hniques

emplo

includes

e

.

as

that

ld

fined

mp

pity

e

e

ov

o

s

lat

alled nd

e

o

al

e

e

e

ow

antly

e

e ec ymbols

c

r For

th

th

(I] pr

c t be fi t ph i pr m

prop that (dir program w It wasn ations int hind

the assimilators a pro fit G is d

interpreta (c language co d

s

exp

The

c c

i

o-

c c

is is

r

a a

of of

og

p

rts) rts)

l

first, first,

very very

and and

this this back back

(c) (c)

such such

type type

when when

been been

and and

as as avail­

non­ logi

logic logic

much much

there there

there. there.

hence hence

aspects aspects

a a

natural natural

f f

at at , ,

the the

detailed detailed go go

o

the the

Haskell Haskell

course course

its its

concern concern

a a

bas bas

a a

been been

does does

fits fits

to to

anguage! anguage! l

declarative declarative

bas bas

think think

functional functional

most most

(and (and

to to

least

imperative imperative

be be

a a system system

the the

and and

I I

it it

predicates predicates

programming programming just just

field field

Prolog. Prolog.

from, from,

counterpa

bas bas

e e

that that

case case

programming programming

anguage anguage l

with with at at

r r

languages languages

of of

common, common,

undergraduate undergraduate

relevant relevant

want want

of of

of of

semantics, semantics,

oth oth particular, particular,

is is

discussion discussion

Godel Godel

such such

hav

the the

system system

type type

a a while while

b

up up

since since

typical typical

, ,

. .

teaching teaching

in in

end end a a

the the

logic logic

the the

shouJd shouJd

This This

of of

(b) (b)

is is

the the

applications, applications,

the the

Bristol Bristol

don't don't

Miranda Miranda

conside

of of

in in

courses) courses)

only only

are are

the the

that the the declarative declarative

recently recently . .

to to

at at

instead instead

teaching teaching

and and

first first

and, and,

non-logical non-logical

ll ll

teachers teachers

declarative declarative

to to

there there

in in

is is

d d

language language

at at

declarative declarative

what what

eally eally

lack lack

teaching teaching

many many

e. e. finishing finishing

ents ents

parallelism. parallelism.

r

such such e e

se

curricula curricula

situation

by by

programmers. programmers.

the the

l

advantages advantages

ents ents

age age

where where

until until

u

aske

of of

avoided. avoided.

teaching, teaching,

able able

its its

GOdel GOdel

of of

that that reader reader

H

Modula.-2 Modula.-2

(e) (e)

for for

first first

be be

indictment indictment

me

stud

language

is is

they they

this this

stud

is is

debate debate

or or

be be

6o

what what

langu

(a) (a)

finally finally

suitab

the the

sufficiently sufficiently

nning nning

languag

the the

involve involve

students students

and and

eness, eness,

algorithms

encourage encourage

discussion discussion

flaws flaws

a a

eplaced eplaced

using using

, ,

side, side,

: :

e e

to to

ogic ogic

r

that that

graduate graduate

l

see see

egi

this this f f

as as

fer fer

by by

gs

problematical problematical

should should

e o

serious serious

extent, extent,

commonly commonly

of of

because, because,

us us

change change

of of

are are

r r b

masters masters

it it

a a

taught taught

e e

have have

some some

succession succession

I I r

and and

difficulty difficulty

o

is is

Miranda Miranda

f

consideration consideration

approach approach the the

aspect), aspect),

courses courses

teaching teaching

program. program.

let let

various various

serious serious to to

teaching teaching eadin

languag

helpful helpful l l

7 7

we we be be strongly strongly

f f

larg

a a b

declarativ (or (or

a a

Prolog Prolog

of of

other other

remark remark

and and

that that

o

been been

and and

(they (they

choice choice

could could

my my

d d

so so

and and

l

of of

This This

of of

imperative imperative

side, side,

surely surely

to to

as as

first first

cated cated

ery ery

[5} [5}

that that

of of

five five

v li

Godel Godel

has has

a a is is

contro

experiment experiment

advantageous advantageous

most most detailed detailed

would would

ent ent

equally equally

exity exity

shou

the the a a re re

usual usual

course course

l

n

Godel Godel

I I

as as

Godel Godel

on on

ning. ning.

arguing arguing

nicely) nicely) avoiding avoiding

as as

the the system system

characteristic characteristic

the the

claims claims

common common

to to

Prolog Prolog

comp in in

meta-programming

similar similar

there there

in

, ,

the the

very very

Also Also

of of

On On

under under

aspect aspect more more

undergraduate undergraduate

confusion confusion

a a

is is

programming programming

do do

uati

is

sewhe

comp , ,

its its

programming programming

for for

is is

of of

l

case, case,

as, as,

is is

add add

teaching teaching

(d) (d) compo

Prolog Prolog

beg

type type

declarative declarative

e

too too

sit

the the

key key t t

of of

assumption assumption

I

will will

years, years,

use use

it it

system system

ogic ogic

much much

any any

time time

present present

the the

arrival arrival

(that (that

l

also also

ogic ogic

with with

that that

of of given given

very very

l

through through

nobody nobody

le le

into into

the the

Proldg Proldg

successfully successfully This This

The The

emarkable emarkable

Science Science

themselves themselves

e e detail detail

of of

Godel Godel

In In

the the

spite spite

r

example programming programming

l

ld ld

On On

Modula-2. Modula-2.

r r the the

Godel Godel and and

teaching teaching

the the

make make

the the a a

anguages. anguages. l

A A

ake ake . .

r r

In In

sed sed

for for

the the

and and

aren't aren't

single single

For For

wou

o

u

programming programming

modu

argue argue

eason eason

m

. .

coup

in in

at at

r

for for

a a and and

cause cause

ly ly

I I

Prolog Prolog

almost almost

a a

productivity, productivity,

program program

that that

about about

try try

with with

be be

brings. brings.

greater greater

us us

, ,

find find

space space

system. system.

Prolog! Prolog!

a a

used used

choice

last last

experience experience

the the

f f

to to

the the

ity ity

to to

in in but but

et et

Compute

and and

o

simp

l

features features

been been

than than

specification, specification,

the the

(Haskell (Haskell

they they

e) e)

think think

t t

so so

l

Teaching Teaching

'

language

own own

So So implementations. implementations.

declarative declarative

using using

I I

excellent excellent

ical ical

gramming. gramming.

Miranda Miranda

In In

t t

mselves mselves

true, true,

o

module module

declarative declarative

ourses ourses

s

ncouraging. ncouraging.

e

e e

component component

of of

study study running running

pure pure

progression progression

approach approach

able able

c

urriculum to to

that that

r

e

My My

argued argued

s s

and and

Prolog Prolog ogical ogical

as as

better better

system system

pr

simp hasn

a a

i

l

c programmers programmers

Usually, Usually,

fir

th

commun

a

languages languages

and and

excellent, excellent,

2 2

Typ

programmer programmer

of of

a a

so so

a a

­

to to

or or

ed ed

et. et. eft eft l

n

the the

f

the the

are are

the the ed, ed,

and and

, ,

and and

even even

even even

been been

m

ifthe ifthe

co

may may

clever clever

since since

sense. sense.

be be

rather rather

that that

specific specific

In In

have have

btain

systems systems On On

need

are are

programs programs

software software

speaking, speaking,

o

(explicit) (explicit)

substan­

algorithm algorithm

program. program.

querying querying

not not

provide provide

have have

are are

with with

attainable attainable

advantages advantages

which which

words, words,

is is

provided provided

but but

, ,

future future

of of

declarative declarative

weak weak

is is

be be

programmer programmer

matter matter

to to

theories theories

programmers programmers

the the

either either

programming programming

likely, likely,

programmer. programmer.

programming programming

rarely rarely

be be

a a

not not of of

the the

program, program,

the the

senses. senses.

languages. languages.

by by

challenging challenging

urrent urrent

can can

applications

for for

are are

other other

bas bas

require require

c

a a

general general

the the

can can

a a

efficient efficient

However, However,

information information

in in

in in

very very

Haskell, Haskell,

ervention. ervention.

programming, programming,

logic logic

Generally Generally

In In

into into

system system

example

particuJar particuJar

practical practical

of of

doesn't doesn't

of of

in in

form form

theories, theories,

way way

concerned concerned

used used

an an

by by

. .

int

as as

processors processors

a a

should should

ma

only only

rol rol

requirements requirements

other other

component component

nly nly

a a

complexity complexity theory theory

is is

ca

the the

o

ong ong

program program

For For the the

are are

l probably probably

s s

usually usually

(and, (and,

declarative declarative

control. control.

has has

for for

ogrammers ogrammers

n

system system

provide provide

cont

a a

user user

e e really really

pr~grams pr~grams

two two

the the

such such functional functional

is is

v

time time

modern modern

used) used)

pr

simple simple

time time

query query

system

it it

practice. practice.

of of

the the will will

in in

which which

produce produce

by by

a a

ver, ver,

the the

d d

control control

declarative declarative

algorithm. algorithm.

catio

specified specified

provide provide

e

imitations imitations

give give

that that

east east l

in in

l

of of

discuss discuss

because because

li

component component

strong strong ages, ages,

the the

to to -

survi

is is

ogrammer ogrammer

which which

ld ld

since since

, ,

which which

not not

to to

be be

being being

facilities facilities

at at

the the

programming programming

programs programs

without without pr

this this

and/or and/or

How

and/or and/or typical typical

rong rong

by by

situation. situation.

part part

now now

, ,

ogic ogic . .

rstood rstood

well well

to to

comp st

l

here here

langu

programming programming

e

but but

shou

program program

her her from from

tasks, tasks, means means

either either

programmer programmer

I I

the the

user user

program, program,

, ,

does does which which

ideal ideal

that that

so so

et

component component

the the

space space ict ict

space space

east east

applications, applications,

it it

und very very

l sophisticate

band

control control

the the

queries queries

important important

occasions

employ employ

an an

the the

the the

way, way,

to to

Wh

6 6

and and

information information

at at

sense, sense,

the the

be be

. .

Prolog Prolog

correct correct

ly ly

to to sense, sense,

of of

logic, logic,

sufficient

declarative declarative

simple simple

but but

confl

on on

particular particular

c

else else

systems systems

means means

may may

have have ol ol

be be

ring ring

, ,

a a

many many

the the

due due

is is

r

on on

other other

programming, programming,

functional functional

e e

control control

desired desired

, ,

languages

or or

information information

declarative declarative

can can

le)

automatically automatically

few few

logi

extent extent

implementation implementation

of of

th

because because

rong rong

real real

for for

require require

and, and,

f f

l l

information, information,

strong strong

cont

the the

crucial a a

order order

specify specify

interpretation interpretation

st

the the

strong strong

the the

system system

answe

could could

or or

ge-scale ge-scale

sel

form

ogic ogic

the the

on on

no no

indeed, indeed,

l

out out

to to

it

it it

written written

the the

esirab

bounds bounds

of of

entirely entirely

On On

of of

that, that,

some some

the the

lar

typically typically component component

modern modern

the the weak weak

is is

d

first first

contro

by by

for for

provide provide

from from

as as

in in

a a

is is

e e

itself itself

for for

control control

in in to to

supplied supplied

) )

supply supply

and, and,

declarative declarative

c

as as

·

aries aries

ensure ensure

course, course,

wouldn't wouldn't

programming programming l l

particular particular

programming programming

of of

ways ways

is is

intended intended

is is

ly ly

to to

upper upper

for for

for

much much

with with

providing providing

of of

almost almost

licit

here here

having having depends depends

There There

restricted restricted

issues. issues.

programming programming

apart apart

can can

control control

now

totally totally

an an , ,

Typical Typical

the the

to to both both

Godel, Godel,

is is

systems systems

limin

of of

, ,

out out

e

. . is, is,

supp

efficient efficient

strong strong

exp

. .

contro

e e

provided provided

This This

have have

how how

the the

as as

procedure procedure it it

pr

programmers programmers

writing writing

very very

point point

ormally ormally

as as

desired desired

efficient efficient

her

n

of of used used

cases, cases,

the the

may may

wants wants and and

extent, extent,

about about

control control

declarative declarative

may may

feasible feasible

target

database database

declarative declarative

give give

the the

programming, programming,

roof roof

not not

programming programming

such such

be be

The The

perhaps

work work

information information

, ,

p

these these

find find

that that

speaking, speaking,

of of

s s

database database

provide provide

, ,

problems problems

out out i

to to

exceeded

and and

are are issue issue

declarative declarative

to to

providing providing

some some

require require

programmer programmer

programmer

what what system). system).

do do

can can

(or

to to

the the

currently currently

a a

strong strong

band

in in to to

sense, sense,

ms ms

f f

not not

h h

difference difference

s s

to to

to to With With

e need need

(implicit (implicit

r r c

o

work work

The The

aware aware

the the

ensure ensure

Now Now

mind mind

it control control

e

The The

ogram ogram

deductive deductive

eclarative eclarative

that that

to to

information information

are are

to to

programmer programmer

even even

in in

in in

pr

enough enough

the the after

whi overcome. overcome.

needs needs

syst

non-determinism non-determinism be be

languages, languages,

appropriate appropriate

The The (nor, (nor,

by by close close

theory theory

declarative declarative

all all

D

programmer programmer

weak weak

Generally Generally

tial tial

programming, programming, systems systems oth

able able

deductive deductive

and and

trol trol

now now a a

, ,

­

. .

, ,

. .

le le

of of

it it

is is

as as

is is

in in

for for

na

ale ale

ely ely

are are

any any the the

y y

ard

has has

For For

h h

pro­

and and

re re

mple mple

gen­

pro­ ians

ik

prac­

c

n n

. .

ce ce

c

rit

eg

In In

able)

u

si i

simp

e-sc

r

e e

o

stic stic

es es

nothing nothing

arative arative

s

ni

ee

This This

ams ams

ne

Finally

unl

program program

ncerned ncerned

nger. nger.

truction, truction,

p

rg

r

th

w

ll. ll.

o

. .

s

used used

o

a y

s s

anguages. anguages.

programs programs

ecl

rocessors, rocessors,

e

argued argued

ecid

l

ramming) ramming)

l

d

-

, ,

above above

l

s. s.

ave ave

t

co

n

k

et

practice, practice,

maj

es, es,

Nowhe

are are

d

this this

k

with with

h

s s

b

sis, sis, e e

ly

ep

rmini

i

e e

og

autonomous autonomous

co

hing hing

prog

e e

e

as

oo

y

theoret

in in

b

e

ed ed

es es

b

und l

r

l

in in

of of

pr

any any

pr

H

the the

e

ce. ce.

as as

important important

search

time-consuming time-consuming

such such

small small

lin

og og

Third

e e

gap gap

an an

to to

wid

for for

, ,

th

a a

typical typical

ana

c

est est

anguag

by by

and and . .

in in

an an

somet

program

l

that, that,

Second, Second,

fact, fact,

the the autonomously autonomously

for for

, ,

out

h h

ogic ogic

on-det

of of

Prol

but

with with

. .

be be c

y y

practi

n

of of

ignor

languag

programs programs

f f l This This

. .

program program

of of

control control

clean

(in (in

o

providing providing

them

can can

but but

mu

to to

bly bly

ge ge

having having

its its

make make

ical ical

Godel, Godel,

years

ogram ogram

ing ing

, ,

Typical Typical

advantage advantage

impl

and and

rol rol

r

means means

s

r r

ct

p

ult ult

the the

ita

m m

to to

(8], (8],

ran

an an

o

nightmare nightmare

c

ing ing

t t

al al

case case

programs programs

o

possessed possessed

ry ry

p06Sible

eatures eatures

which which

c

practice practice

the the

ramming ramming

mpared mpared

es. es.

y y

c

f

e e

o

ev

d d

a a

simple simple

pra

form

ll ll

grams! grams! as as

fr

cont

t t

r r

e e

r r

n

eo

e gramming gramming

ti

e

ass

e e

process. process.

o

co

as as

in

og

t o

e e

stematic stematic

o

c

o

diffi

e, e,

h h

without without

supported

the the

f

th

s s which which

r

a

th

wid

efficient, efficient,

c

i

pr

l

pr

ogramm

ar

babl

y s

ove

p

e e

es-

r r n

e

a a

o

, ,

about about

pra

system system

be be

es es

r

su

e

tics tics

pr

will will

C C

Hask

neral neral

r r

(in (in

, ,

ce ce

, ,

languag

pr and and

e

very very

e e

sense sense

gic gic o

very very

and and

g

f

embarr

programmers, programmers,

Ada

shielded shielded

messy messy

lo

ar

a a

hing hing

is is

pow

ical ical

is is

redibl

c

g g

say, say,

tree tree c

declarativ

must must

be be

than than

ct

Scien

between between

seman

on, on,

ost ost

too too

languag

be be

programming programming

f, f,

i

autonomous autonomous

languag

h h

tea

Furthermor

and and

has has

ong ong

e e

e e semantics semantics

9 9

o

m

and and

like like

hniques

r

formally

pra

mely mely

e e

at

not not

ramming ramming

to to

programming programming

not not

innin

e

c

gap gap to to

important important

le le

st

ramming ramming

C, C,

ec

NU-Prolog NU-Prolog

r

ramming ramming

and and

e e

t

Haskell Haskell

or or its its

, ,

og

eg problems problems

nal nal

searc

impl

e e

h h

rifi

rativ

rabl

og

, ,

ar

as as

b

og

s

are are the the

o

such such

r

mputer mputer

bugging bugging

e

e

pr

ext

an an

i

ulties ulties

nsidered nsidered

the the

Godel Godel

imp

may may

expressive expressive

Until Until

th

e

lly lly

p

v

In In

p

pr

c

e e

s

he he

in in

a

oac

d

is is

s s

t

co

c c

Co

i r

two

analyzable analyzable

great great

es es ese ese

m

se, se,

a a

. .

many many

i

e e

many many

for for

and and

declarative declarative

u

e e

have have

and and

expensive. expensive. diffi

of of

funct

Fortran

that that

g g

b

This This

Th

d d

e e

conside

s s

logi

to to app

with with too too

to to

o o

the the

. . s s

programming programming

ly ly

oi

d

as as

ies ies

teaching teaching

e e

lutioniz

more more of of

crucial. crucial.

ie

t

, ,

t

ey ey

inning

av

, ,

ed. ed.

can can

iv

Of Of

future, future,

l

loop

Naish Naish

dern dern

illustrat

of of

wher

ed ed plagu

k

ili

ulty

ogrammers ogrammers

clarativ

have have

ry ry

just just

synthesis, synthesis,

Havin

rt

c

r

eg o

than than

evo

c

. .

search search

e

languages languages

to to

a a

mantic mantic

ply

r

o

ar ar rat

te te

p

nfined nfined

declarative declarative

b

such such is is

eo

d

eally eally

e

fa

M

nally nally

e

r

h h

ason

igning igning

Lee Lee

se

the the

has has

n

co

and and

e

ar

th

, ,

ram ram

ent ent diffi

widespread widespread

r

nt nt

sim

be be

es

difficu

l

es, es,

upp

es es

e e

must must

r r

ing ing

first first

is is

e

the the

suc

e

s

nguage nguage

e e

task. task.

ch ch

by by

e e

-

ontext ontext

ntrol ntrol

id

t t

m m

decla

e

c c

infini

o o

prohibitive

og

th

c

s

f f

a

t

f f d

the the

e e

l

m m

ud

th

e e

uag

It It

margi

e e

co

o

ev

e e

in in

o pr

above, above,

tion. tion. into into

b

e

ed ed

anguages

g

whi

b

st

e e

GOd

, ,

quit

merit merit

y y

l

u

. .

e e

in in

mu

oble

d

amm

th

t

ult ult

d d

rn rn

r

the the

r

nt nt

provid

elegant elegant

b

e e

o o

e

e

c

e e

anoth

eventually eventually

nl

s, s,

o

d d

e e

lan

p

gr

t

pron

avoid avoid

get get

i

syst

ri

d

g

h h

e

o

ovi

-

s s ssue ssue

breadth o

in in

in

th

ly ly

ora

i

i m

c

r

semanti a

sed sed

o

i

ntrol ntrol

and and

g g

antics antics

must must

a

o o

, ,

ly ly

lv

y y

u

pr

o l

t

diffi

pr

ing ing

r

if if

rabl

will will

m e

the the

e, e,

-

ll

ticians

co

ll ll

whatever whatever

so rr

l l

cont

cs cs

Semantics Semantics

whi

g g

a

e

y y

ntics ntics e

his his

ik

sufficie

believe believe

ly

h h

the the

e

t\S t\S

d d

problem problem

0 0

, ,

o

l

r r

Lngu

is is r

sem

ga.p ga.p

o

ramming. ramming.

k

e e

I

exp

l l

a

ide

• •

nmcl

c

t·vc

r

Tbis Tbis

11

T

C

lltllin

I

I I

iul

11

tnpl

L

b

lt lt

o o

g g

I I

ri1

ve

w w

us

dt

m

un

, ,

H • •

ca

u

og

u

l.

rol

t

l

ptimization

11

uw

ll

'

II

.J o

t

11 11

l

xn

1111 1111

ll

ture ture cuse

hut hut

wide 1

ti

whi

theo

lu

P

11 11

o Nor Nor

""d ""d

uudcniab

' I

twmantics twmantics

1

IJIIi

11c tu tu

Kiln

3 3

KNI.mm '

O

pt

c c

1111 1111

ll

t~t

ll

' I

ult~Jtlt ult~Jtlt

'u

~/lil

' '

t t

II

, ,

, ,

r r

­

e e

w w

of of

of of

d

to to

ns ns

to to

all all

o

on on

in

e

out out

hat hat

ate ate

ap­

the the

the the

ons ons

o

and and

this this

i

i

t

gely gely

k

pro­

ntly ntly

pro­

ring

e e

, ,

s s

ainly ainly

kn nt nt

othe

First, First,

e

rying rying

cause cause

e

of of

fewer fewer

won't won't

point, point,

ers ers

e e

ec

major major

e

e

d

lar

th

e e cat

cat

e e o o

process process

ced ced

only only

working working

th

t assump­

li

ch

by by

teaching teaching

program program

cert

qu

task

turn

th

down down

th

Note Note

p

computer computer

exploiting exploiting

effici

the the

this this

is is

task task

stud

a a

chosen chosen

t t

e e

. .

can can

is is

be be

explain explain

floun

symptom symptom appropri

ap

that that

appli

key key

first first

work? work?

is is

unreasonabl

by by

, ,

clearly clearly

of of

and and

the the

At At

this this

and and

a a

with with

a a

, ,

beginning beginning to to

ntrodu

is is

the the

is is

his his

etec

writ

i

ps

t

at at

more more

n

g g

d

rization rization

rs rs

e e

an an

the the fully fully

r r

programm

interpretation interpretation

as as

r

by by

this this

e

handled handled

o

to to

as as

out out

and and

oo

s, s,

e

t t

d d

f

amming amming

l

red. red.

rything rything

'

to to

should should

the task task

rammer

with with

primary primary

h

e

ar

was was simple simple underlying underlying

e e

e

hing hing

c and and

, ,

d

ment ment

all all

v

ion

r r

b

n s

e: e:

h h og

this this

programmer programmer that that

ogr i

cessin

e

e

age age

ly ly

clarative clarative

c

e e

en

equi

this this

eac

t t

task task

here, here,

e the the

e e pr

pr

r

st st

t

cat

solved solved

ogic ogic

c

on

some some

compute

d

l

student student

programmers programmers

pro

This

concerned concerned

e e

cker cker

space space int

th ogramme

whi

t t

fa

this this

e: e:

infinite infinite

With With

mak

simpl

be be is is

that that

mu

ve, ve,

. .

to to

be be

th

, ,

i

langu

requir

and and

taken taken

efficiency efficiency

pr

ebugge

e e

for for

any any

qui

the the

e e

ou

the the

appli

d

list list

for for

are are

as as

the the

ct that that

encouraged encouraged

to to

[6), [6),

sn't sn't

to to

concentrating concentrating

to to

th

of of

i

e e

will will

of of

in in

l

h h

very very

f f

key key

d d

for for

ence ence

c

be be

the the

of of

have have

we we o

the the

check check

h

is is

a a

ee

languag

ient ient

support, support,

I I

carry carry

su

task task

as as

n

instru

, ,

a a

written. written.

about about

assumption assumption

as as

to to

Given Given

s s

simp

languag

Modula-2

program program

e

ach ach

nts nts

p06Sible p06Sible ogram ogram

ounce ounce

approach approach

There There

ce ce

al

. .

r r

r

, ,

s s

o

tation tation

e e

gramming

xample, xample,

is is

and and

bugging bugging

beginning beginning

l

id

ugging ugging . .

ns ns

we we

o

the the

p

suffic

e

in

o

e

declarative declarative

e

it it

as as

f

su

bug

o

o

ese

the the

th

e e

very very

S

the the

an an

d

r

, ,

u

e e

eb

hould hould s s

pr

a a

ti

last last

f f

i

is is

of of

goa for for

. .

pr

h

rpr

Then, Then,

do do

d

program, program,

First

o

appr

t

component component

e

, ,

es

8 8

or or

r r

For For c c

s s

language language

advantage advantage

it. it.

fly fly

f

main main

s s

a a

As As

e

computer computer

such such

. .

and and

e

that that

the the

in in

qu

natur declarative declarative

int

e e

. .

ative ative

again

Shap

e e

, ,

makes makes

s, s,

. .

this this

. .

h

logi

r

program program

a a

bri

informally

some some

t

of of

making making

th

in in kind

take take

below

ce ce

into into

equirea equirea

fact fact

costly costly

lJed

variou

bug bug

r

program

points. points.

model model

support support

the the

task

e e

the the

but but

On

declar

Ehud Ehud

am am

and and

on. on.

a a

her her

nguage nguage

only only

with with

declarative declarative

on on

answe

programmer

, ,

the the

can can

put put

lain lain

th

. .

language

of of

feasible

I I

series series

the the

of of

la aving aving

as as

ot

dural dural

if if most most

programm

intended intended

e e

g g

be be

by by

be be

this this outline outline

squeezing squeezing

a a

to to

h

gram gram

a a

of of

contro

language language

to to

beginning

. .

tail

nt nt

w

e e

ce

o

of of exp

n n

in

run run

I I

s s

programming programming

e

Naturally, Naturally,

e

n

first first

an an

is is

, ,

wn wn

tarting tarting

in in

I I

k

e

, ,

th

d

the the

on on

ch ch

pr

s

ay

o

e e

ative ative

m

anguage anguage age age

is is

limitati

inning inning

a

, , pro

n

l

l

wrong wrong

eve

the the

that that

has has

r

e. e.

is is

as

e

rative rative

a a

by by

e e

o

as as

in in

o

, ,

won't won't

a a

kn

, ,

handle handle e

students

r r

eg

g g

e e

sp

f f

this this

, ,

should should

in in

e

am am

e e

writt

B

t t

o

that that

it it

tim

, ,

ar

di

'

of of

stat

and and

~bugging ~bugging

solely solely

, ,

by by

carefully carefully

decla

n

appr

imp

y y

component component

's 's

erest erest

d

starting starting

advant

h h

s s

be be

gging gging

c

declarative declarative

beginners

r

a a

suitabl

and and

the the

etation

int

oes

be be

progr

n n

an an

r

a a

first first issues issues

e e

bu

rammin

appropriat

illustrati

idered

debugg

much much

east, east,

to to

is is

modelled modelled

Essentially

whi

e

finall

l

take take

interpretation interpretation

ly ly

ry ry

ca

logic logic

techniqu

h h d

d

of of

entire entire

. .

at at

t t

, ,

of of

for for

the the

is is

c

can can

programmer programmer

answe terp

rpretation rpretation

ng ng

a

on

k

using using

rammer

the the

language. language.

mak m m

Fortunately

s s

, ,

a

i

prog

too too

and and

Typically

cons

nt

c

ircumstances

to to

s s

am, am,

a

. . te

e e

g g

component component

o in

ntrol ntrol

the the

e

d d

'

c

. .

s s

advocate advocate

. .

r

r on on

all all

use use

e e

r

og

gorithmic gorithmic

n

r

r e

h h

thi

lly lly

l

nd nd

in

ecessa

again again

at at t t

d d

r

th

way way

ing ing ti

b

ut I I

m

co

e

e

ly

t t

dlo

a

gging gging

e e

mm

e. e.

n

a

pr

e

og

ons ons

og

f f

e

e

o

ases ases

l

gic gic

i

a

n n

ssi

u

s s a

ntrate ntrate

o o

m

eing eing

e e

ex

ca

n n

o

y y

l

app

ntended ntended

ma

oac

ea

d d

o

th

b

ramming ramming

r

e e

t

id

pr

i

pr

ect

b

l

r r

nd

Wh

e

N

Finally

B

ot ot

ca

s

ce

thods

eb

mm

mi

s s

n n

many many

rk rk

o

cat

e e

th

n

ll

e e

rr

e

n

n

tai

bug bug

amm

quir

og

e e

d

og

a

te

o

e e

ot ot

r r d

o

li

ata

r

r

e

h

e

easo

easib

s s

thi

t

n

m th

r

a a

ti

o

of of

inf

tended tended app

ca

p

w ignor a a

co

carry carry

are are f

in

g

pr

in in

the the appli and and

r

d

pr

w co

th

gram

is is

i co

d g

. .

a a

g g

to to

. . l l

to to

t

fa-­

­

to to

of of

88 88

is is

pr

s

pre>­

pr

da

the the

l

much much

pr

right right

which which

direct direct

most most

tra.n&­

a a

being being

lot lot

make make

a a

. .

things things

riously, riously,

e

mmin

tai

current current a a let let

rapidly rapidly

e

contro

have have

people

hat hat

Second, Second,

e

enerally enerally

split, split,

s

id

is is

to to

example, example,

the the

appear appear

clarative clarative

g

am am

d

. .

nally nally

important important

. .

will will

e Ordinary Ordinary

of of

little little

o

object object

is is

d

. .

and and

are are

and and still still

on on

key key

many many

For For

provide provide

t fact

[5])

we we

much much

about about

and and

responsibility responsibility

close close

he he

gram gram

, ,

e e

r prog

uages uages

. .

ifications

us us

improving improving

ers ers t

precludes precludes

gramming gramming

o

e e

d d

in in

as as

ta-progra

(

g

meta-programs)

range range way way

th

g

o

ogic ogic

traditi

e

, ,

e

s s

ec

l

r

The The the the

r

program

in in pr

degree

improving improving

provide provide

~

and and

. .

M

of of

lan

really really

mm

sp

la

control control

Current Current

s s eta-programming eta-programming

set

e e

and and

, ,

i

program program

c

(the (the h h

. .

a a

the the

ta e

ta-p

m

c

given given

r

it it

n n

programming programming

have have

bases bases

wider wider

simplifies simplifies

gra

e

-

programming programming

, ,

o

e e

they they m

s s

make make

anguages

o

es es

asonably asonably

and and

i

rative rative

ramming

l

taking taking

concern

a a

m

l l

ional ional

from from

e

mu

e

es es

data. data.

nt nt

g

ative ative a a t

e

scien

pr

r

e e

didn't didn't

to to

ce ce tivity tivity

e

r

congenial congenial

c

transform

of of

to to

to to

c

r r

b

ev

as as

-scal

meta

l

so so

h h pro

ompilers

sin

imp logic logic

mentation

cla

to to

c

includ

are are

c

situati

fun to to

n n

claim claim

wledge wledge

Finally

e gramme

e

this this

rative rative

that that

s s

c c

made made

a

e

nguag

full

o

o d

e

language, language,

n

h h s s

ow-

s, s,

o . . a

l

s s

rn rn

c

r

l

arises arises

and and

o

produ

i

a a

assimilators assimilators

e e

pr

mpute

e and and ogi

but but

kn

this this

e

tak

ailable ailable

pr

compon

once once

l

thi

programs programs

o impl

in in

p imp

that that

Lisp Lisp ati

c

ce ce av

whi

c

of) of)

a

of of

. .

i

of of

of of the the

and and

a a

reasonably reasonably

program) program)

viding viding

shows Mod

But But

But But

bugg

t t contribution contribution r r

so) so)

have have

ient ient

s s ramming ramming

and and

o

nt nt

og og

logic logic

. .

out out

r

m m

e

. .

e

esponding esponding

l

about about

e ns ns

c

cho

with with

o

o

d

ng ng

o

pr

e e

og

o

rr

appli

i

nt

big big

fr

with with

imperativ

e

effi

th no no

as as

Pr

some some

co

a a

of of

11 11

declarative declarative

object object

ason ason

opportunity opportunity

a-pr

a a

numb

h h

supp

rpreter mpon

an an programmer programmer

rightly rightly

e in in

th th

design design

. .

c

languages languages

turned turned

r

i

e

programming programming

gramming o

the the

et

a a

has has

c away away

in in

have have

ts ts

w

shows, shows,

in in

those those gramm

m m

su

anguages anguages

the the

nt

in in

it it

m

class class

w w

l

(the (the

program program

c c c

i

to to

, , e

o

, ,

applicati

programming programming

o

than than

of of

compon

r r

(and (and

weakly weakly

pr

tical tical

th th that that

to to

by by

future

programming

c affe

o ta-pr

meta--programming meta--programming

logi

o

programmers. programmers.

but but just just

foll

problem. problem.

c c

-

ist ist

the the

ly ly

e

n n

b

e e

a

Thus Thus

probl

s

Since, Since,

e

whole whole

gi

of of

, , easie

ynthesizing ynthesizing s

tand tand

ntrol ntrol

ftware

m

pra n

. .

all all

h

on

. .

o

et

e e

s

mostly) mostly)

of of

not not

ated ated

l t

near near

r r

the the

(th

c c

making making

so

language language

l

co

so so

argument argument

co

of of

, ,

program program

o

m

th

to to

component component

f

e

languages

l l

same, same, this this

task

al

l

e e

(or (or

of of

still still

continue continue

ing ing

the the

l l

programming programming

tasks

rt rt interested interested

ol ol

del del

and and

programmers programmers the the

al

ms ms

is is

s s

grams

and and under

re re

r

o

adversely adversely

o

becoming becoming , , regard. regard.

t t goa

e

ress ress programming programming

First, First,

o

many many

o

the the

'

(The (The

in in

we we

of of

s s

are are

G

e e

peop

. .

to to n

solving solving

virtually virtually . .

pr

only only

manipu

nal nal

e-sc xp

r

e

-

kind

ign

e

another another

o cont as as

e

s urpri syst

supp forward forward

this this

gram gram

t t

ogic ogic

Thi

ar

s

ti

l

the the

from from

clarative clarative

were were

o

are are

c

part part

t.ely t.ely

and and

larg to to

characteristi

e

r r

deal deal

in in

with with

the the

s s

a

ubstantia

ok ok

pr ong ong

e

d

r r

h h

e e meta

together

uses uses

l

as as

flawed

s

nerally nerally

c

o rtan

ultimat

o

base base

underlie underlie

al al fun

ast ast

l

e e

declarative declarative

little little

f

, ,

tail. tail. e e

to to

e

i

o

on on a a

e

r

t

gramm

Only Only

e ordinary ordinary

g

ing ing

88 88

up up

l

a

rtun

c

rath

o

productivity productivity want want

writ

in in c d

people people

whi

declarative declarative

programming programming

is is with with

, ,

the the

o

ent

, ,

to to

t t

dge dge can can

at at

fa

effectively effectively

imp

pr

get get

is is

very very

lieve lieve

s

generally generally

to to

rs

e

which which

Meta-Programming Meta-Programming

of of

e

vel vel

r r

to to

e e tance tance

program

o o e

riously riously

ess

progress progress

le le

rch rch d d

unf

r r

e e

are are

In In

t

e

e

ju

rodu

s

b

m m

uages uages

wl

It It

clarativ ify ify

we we

e

l

ngly ngly

b

e

t t

Having Having

e e

th

mixed mixed

se

e e

h e

p

i

e

-

pl

J J

o

y y

g

e e

rm

y y

o

t

t

chniques chniques

ad ad

rtainly, rtainly,

es es iliti

id

r r

e e

d upport. upport. e

n

e e

s s

e

w

o

c

asi

i

r

bu esea

o m

assi r

and and tr s

v

pec

eo

f o

class class

t.e

h O

grams)

a

kn

or or

gram gram

5 5

r

it.tl

Th

o

r

a a

e

f

a

L

l

s

f

s

l

a

l ordinary ordinary

Ce

th

grammer grammer

p

ccss sys

a a

u u

e e

d d

ts ts

a a

te te

e e

a a

. .

a a

ac- an an

l

e

to to

e

n n

g

r r

th

del del

and and

l

see see

If If

is is

can can

o

te

a

ab with with

tb

I I

fo

ce ce

low­

. .

their their

mistake mistake

them them

really really tools tools

there there

e e

place place

, ,

G

t t

of

ideal say, say,

r

equired equired

where where

wast

where where

efficient efficient

a a partly partly

r

, ,

and and

as as

of of

no no

s scienti

t; t;

program­

no no

ver

upgrading upgrading

unnece&­

of

tools tools

the

l l

r r uccess uccess

easy easy

e

difficulties difficulties

being being

an

e

which which

e

s ntire ntire

n n

eviden

words, words,

has has

is is

isn't isn't

t

which which

e, e,

e

ages ages

is is

say, say, being being

o code, code,

where where only only

plane plane

consequence consequence

efficien of of

ev

r r

aimply aimply

away away

it it

and and l

, ,

have have

How

r r

languages

achieving achieving

log log

where where

. .

programming programming

the the

evant evant mput

pt pt

good good

l

time time

was was

but but

ow-

e

othe

langu

impor

ove

from from

l

of of e

hence hence

otherwise otherwise reasonably reasonably

e e

tasks tasks

t t

s s

e! e!

co

w to to

i

they they

which which

Pro Pro

exampl

c

r r

e e

sc between between

. .

higher higher a a

s

chance chance

ac

irr

In In

Prolog

hms

and and

written written

e e

h h

~ ~

so so

r

applicati o

all all

t

languages languages

far far

c

r

di

avoided, avoided,

east east

. .

e e

th

by by

a a

mak

l

pla

and and e

r

For For

inevitable inevitable

and and

at at

su

a of of

nce nce

ori

ntation, ntation,

t t

an an

pure pure

to to

find find

to to

and and

e

e

s

at at

. . g

to to

Th

) )

more more

f f

r

isn't isn't

ystem ystem

declarative declarative

maintaining maintaining

many many

l

1

Prolog

very very

m

of of

s e

al

. .

fir

f f

C C

for for

e e

g

out out

way way

The The

o

already already

argely argely

o class class ectness ectness

is is

of of

justify justify

l

but but assert/ret

on

uch uch

applicabl

exposed

its

should should

nt nt

ignored ignored

diff

; ;

ce ce

rr

y y

e

the the

programs, programs,

want want

l

trying trying

of of

no no

impl

n

m

to to

even even

i

programming programming

e e

it it

so so

m m

be be

c

e co

Prol

process process

tly tly

ying ying

be be

r

e

are are

is is

class class

in in on

cost cost

d d

r

an an

ated

th

t

e

regard regard

or or

we we

, ,

see see

ces ces c

ec

rmation rmation

e e

which which

s

e e

effi

e e

se

in in

application, application,

language language

e

ly ly

in in

community I I

algorithm algorithm

I I o

and and

time time

the the

, ,

u

car can can

t t (

the the

sy

than than

C, C,

, ,

diff

th

pi

dir

Th

difficult, difficult,

ce

r r

nt nt

l l

is is

ther

there there

programs. programs.

i

easi

that that

ompli

evel evel

is is

mean mean

e

optimize optimize

l

and and

c

programming programming

each each

the the

n n

the the

t t

till till

their their

that that

transf

and and

y y

been been

w w

e

level level

be be

c

rk rk

gram

a a

about about

a

oo oo

o

issues issues

f f

onge

or or

s s

e e

attention

o

l

t o

can can

t t

as as

10 10

larative larative

l

th

f

fa

widely-used widely-used

and and

pract

'

o

effici

c

their their

m

a a

and and

w

e e

ow ow

ia ia

pr

Fortran, Fortran,

and and

t t

r thi

l

s are

on on

implemen

programming programming

tim

de

i

at at

ut ut

with with

ogramming ogramming facilities facilities

ca ca

often often

is is

a a

os

the the

anguages. anguages.

r r

of of he he

r

a a

l

o

s

substantia

to to

qui

rtant rtant

t

e

by by

this this

desirable desirable

assert/retract assert/retract

way way

ms ms nt nt

logic, logic,

p

reason reason

most most

much much

m

e e

which which

se se

much much

e

o

e

the the

d d

e

at at

r ntat

rithm rithm

e

ab

e e e e

c c

scratch scratch

has has

e e

y y

e

ce ce

of of shouldn

for for

analyze analyze

o

or or

l

se

of of

th

t t

th

pres

h h

analy

imp

semanti

happy happy

c C C

pla

ignor

alg logi

som som

Productivity Productivity

takes takes

y-u

probl s s pend pend

imply imply

highly highly

be be gramm

i l

move move

) )

employ employ that that

from from

ita ita

ctive

on on

ry ry

mos

in in

o

e e

ing ing

in in

in in

2

es es

e e

problems problems

programming programming

e

reason reason

whi

s s s

e

we we

to to

nuinely nuinely

k

the the

implem

ctively ctively

transform transform

pr

v

th

ar

program program

e

av

a

s s

well well

eff

e

, ,

wide

t

can can

, ,

g

h

or or

argument argument

and and

O(n

m

only only

must must of of

effort effort

start start

, ,

uld uld

work work

eff

be be

providing providing

e e<:all4e e<:all4e

to to

semantics semantics

n n

f f

l

cified cified

o

s s

t t

b

programming programming e e

very very

e

o

ce ce

ientist

from from

e

r r

theory theory

ram

mean mean

h

an an

i

of of

ally ally

ally ally

to to

d d

of of

rm

uage

e

ilities ilities

. .

p

t

ob s

current current

y y os

cL cL c

c

\N

e

a a sc

gramming gramming

thi

o

c

g

s a

w-level w-level

s s

c

of of

og

e e

they they

which which

semantic semantic

o

Oft

, ,

ce ce

r r

pr

o

ac

at

. .

r

current current

m is is

fa

, ,

in in

l

tm

pr

assignment assignment

c

kind kind

would would

s

p

be be

lan

typi typi

pr

Nor Nor

, ,

claim claim

labl li

n

the the body body

don't don't

r r

s s

the the

han

lve lve

e

cost cost

language, language,

versu

e

the the

transf

l m m

h h

eo . .

I I

in in

ally ally

the the

learly

is is

c

e

f f

r r

so

e e

programmers programmers

e

code. code.

e e

l

ulties

to to

itself itself

these these

y y

b~inning

that that e

r

avai

C

Thl

, ,

e, e,

omp

this this

n) n) c

about about s. s.

e. e.

e e

ignment ignment

l\g

c

programm

mm

s s

to to

rable rable

. .

y y o

ob compute

an

ts ts

J

thm yze yze

of of

whi

is is ed ed

a

Programmer Programmer

s. s.

e

s~

th

r

expensive

a a

r

that that

ri

log log

work work

pr

rn rn

an

A

ting ting

diffi

examp

clarative clarative

languages), languages),

id

o

rammers rammers

ny ny

I I

mg>

s

m m

e

ing ing c

t

tool

s

anoth

ing ing

All All

i

e e

gram gram l l

og

h h r r

gram ce

l

ilure

o

anal

The The

(n (n

clarativ

analyz

t

nd nd n

pically

al al

y

this this

o

o

n

o

og

e e

a

s s

e

mpa

fr

oes oes a a

av

alg

f th

pr

e

ve a

upport upport i

ex

y

ming ming

o o

f

rithm

O

a M

4 4

arily arily

tr

a a d

r

o o (

d

languag

d

co

e

t

pr

h

s wi

pr

allow allow

ar

pr

co

t

l

s

of of

manifes

T co . ,

­ l

­ ­

­ r

e

e

e

s

l

e-

ll of in

to

or

ve

so be

ng

.

lu

f

ar

ect

th

the ese

m

run

iv

and j

ti

seri­ Fur

then

r t

This This

ati

tially

eca

e

rativ

paraJ

eva r

Th

ob ties

ailable

ions ing .

and

severa

s.

mpute

t

ut amount li

ploiting

possib

y uited

whether

ce.

,

ysis

par

mpu

l

u

fitting

and

l using anguages

luator

transpar­

on clara

co

n cat

-s l ter

more ex

progra

mpiler

associated

s,

e

co

on.

o- li l decla

declar

Now

i be

faci

es

ill uters

r d

is

tial e

co many ely-av

ana

eva

By .

ve

t

by comp

sed

Scie

of

programs i et e

. comp

r once

u er new l

ems app the

c

r

ancing

word

l

par

el e

l

on

f

will

that e

compu

b e applying

Wid

Th

ll

comp o

"Iequir onizat

arati

parall

b

ut ba

ro . that

.

class

just

usually that

expli hr lel a

run

p r

mput by

partial

ecl uired directly

considerable

r e e

other an

parall

para

e

e

resulting

d be

n

what

this co

c

re re

a

el

ram oad

eq

program

b

simply th th o

bution

l a

r

producing l

f

ete

In

,

the in sync

Comp in programming

ramming

su f

e

r paral

o , ri

o

- war at have .

og

-

parallel g

e

the

o

t

rall ll uld t

r

es

harnessing t

amounts k

h

oge

with

f

But

og in m

. a

a o

t

p t h

save

ers

r

g t

s

in

on

s

h c

p run

and

hav . so

of

li

con ing

one

that s

object m , e

meta ch

to par

plici

make

evaluator uge

interp

oin l

e

al

in

be

can

l stead

whi

h g

ce

giving

the

eadloc

vely

surface both

im

or

ma

rammin

in way

was

d

ctivity

is

ob

n

rtran the meta-p

l will

e

a

n each

ren

ramm

is

by

research

can

run

hard

e

paral

o h

pr f

e f [t

r

h

t rator ll anguages F e o

o program associated ff o m

og ich quire

o

partial l possible prog

ous r

those

e i

f eve

i s

e

effecti

e

be

s

with aluator

f n

d r

clarative n

e pr

li are

e?

ese

ope r as

h ara -

o

e

wh

e

ng m

ev n

e o

r

p s

ca

th the

d e

th

obv e h guages

r

r

-ge

3

o

ogram

class , l

esearc sed

I h

c

es

f 1 e r

ca

e

r

bl

a

u

g implicit sequential

ems

ges

u

again of

cope object

l

on

.

w

scratch o lan

an

s n lti

ute

communication

e

concentrate

a

and

c p

possibl

parall

i b vi

ob pr

cu rammi

to using gua

l

entrat

es

s rpret

to

y,

the

parti mpiler

mp

c

r

of

pr

on

specialization

over og

ffi

h

so used n og to

te

much

an l will

ideas

ult l

l e

discernibl

co co

e -suited !

what

intense

rallelism

di

s

enc

to

c

I

a

in

pr

h e

co . ll

f

l

e t

d

y

th

being

t

oac r have

e

rr

important run e f

I o

pa and

are n

ramming

the

provides

,

nl

s -

th

o

w

e

an

anguag

begun

hin

rally

diffi

l them

o

d but

by to

e c

and

e og

ea

actica

e

rr declarative

e

Or

,

r

oitation

thi the compute y othe

appr way r n

e

programming

l

l

towar

l

a ,

over

e

p

ar

espect

r concu For

tak

parall

-pr ma

of '

der

r

being g

class

of o which

l

The m

using .

solv f

specialize

the exp the o an

time

s

many

. is

rs ntal

is

allel

concu

likely

hardJ

li

e

enab

r

all

will

e be

rn,

e, e

meta that

make

l

all r

we

e

press rallel many

th with

me

s

achieved

pa

e

to

t

mer l

, eme

parallelism f input

to to potentia

the

with

h

r h ave

r

r

h - also rall

ex o

pa sa g

e

s

c c

terpreter

h

h g While

oo

b anguages as functional

tive

am e

s

designe c mod t

ey a l

o

e t

i

in

in

facilities

ete

anguages . be

t

e

approach k are

and

r

l a

mi

e

currently

th examp

top whi program

known

d-pa declarative!

e

w

erato

,

s mu

on

on

n

emain

an ld r

can

is n

n

r

th

at

erp

o

that

the

progr

o

the

An

t f

mor

For

rammin in ou

becaus

declara

uter

-ge

ming quired

well

int

ul

construct

e,

r

compared t)

sh e ing og

have

r

program y

rmati

e

l

ures the

ample

and r

l

es e

ete

faster ci

is

o

arative was

o e

Parallelism

il l

ams, solutio

r

at believe adequate

p

it h f

r r

li anguages

ly r

ll

p

t One,

t ex h l

y,

task. to

r

r

ect

lu Declarative I

l

ect I

comp rm c

time

a

j . ve

s as

part

og

programmer

ogram

decl

ufficiently)

ans ductions

l

e

mp

r

r u

n

hit

i

e

anguages

e

s s

final ate

comp com p through For tr eva what ha 6 with (s i thei ob powe p a a r the of I c para the mu o Parallelism ( programming the cl l i o ent

.

a

r

as

is

ct

ce

of al­ be u­

e

of In nt ant

the

be

Fu­ vel

a

n

is

hid­

the

how

over r suf­

tion the self­

e

with

inal

ev

The oited l

ev

d

l uator l

is,

rather to

some

ly r l ca

w

ctures declar­

e

eval .

proved ato

e

mpil

r

r

such

can not r o

mming a

r e l

t

opme

program, sees abstr orig

ow- ru

l

thi is

a

e program exp approach

l

N

co e

for

eva

is

e

it

important

tia st

experie e

it .

appli

has ene

hav r

a of

of contain

to

h

partial

-

be

Th the

restricts

following

one

t

effective

from

advantage tools dev

regained.

evaluator

at

an

r-g pa

.

progr

ush eter erprete

se

ch

evaluated

e compl ct,

r of

self i

object.

ge

s

s

u be p

th the

and an i

t

a

partial can

much

along,

y int -generato oits

ffe

es

pil

e

vel u the r

l

is

which

wh

an e of ld

type a \~aluator

ive e

pl

meta-programming

g

When

l

program

h as

e

the es

e

n

ile

ogram

-

partial

e declarative l

in

r interp

hav

ex

, a

efficiency

m

com

rtiall easily The

a l e, e.

e

pr

e

almos index

practical

th and

obtained

wit a

version

e shou

this

mp

h s,

st a

co

effect

h

p

t

an e.

onethe

o is

facilities

the

encies this th

is

typ

t co t

, t can programmers

engineering i

n

h i

on object

tiveness a are

c

mu

parti

(This

c

n

a

y

of

of

techniqu

.

gramming

educe

ra

then

ns r

h which

then

such o ng

but

tio

clarativeness

the

First

to

write

a data o the

whi

representing

which

ogram

one

e

e impossibl

ineffi vi

achieved

ly

pr

is

of languag ,

r allows

o

weak d

ample, ecla

lf

-

abilit

lua is pr

ive, t

significan pecialized to

of rator muc

e

is a

d

speaking,

t

ha

rati

.

program

h

the

towards high

ex

b

eat software

all tor n

c

ces

cept,

et

y

ing

is programming

nput

f

term

ts

eva l o in

e

i

uato ene n

s a ect

ect

gr

how

o

l

i l

so

ope

m This provid j

a

s a s ect du

p

era uator ct

ucial

ty

es,

i

whi

l exity For co

o al e n r

ed

r-g

l as

.

illustration

mm

retain

r

wan ob

shows es

l

to

c of mov e

e

provides? eva

ogic

declara r

can

obj

l

Stri

aluati

eva

h

an 12 t

clear

log

of it

intr rest abili

[3]

pil

i

the

a

an partia

c too

o

e

useful

ogra ev r

the still

,

an ,

the

y

is r?

comp

result advanced y

type

oac application n ntly

f

l given l

in

languag with

Pr

pr r tial d

- ey

er e

int

e

o

f

r r

com it e

wa k

ver

l

ieve

s

yet that

c

partial

a

clarative a

Programs,

r

ev

, mpiler-g i e

applic rammer

th

be

the a the

of

h

e

a

p sel be -

that

app

abstractness

w e Wh

is

r

nting n i

d

rw

be

co

og r

og

ac

By o

e ce o

l o

valuator

is

evitab Partia

o

ard

advantages. e

an th f and sufficie

a

[5], ossib f

and a u

e

so H self How

pr

c

, and ese

a

in

f

p

the

J

d l

eg r

an

is

Th .

n

on

d. o

r

num e

c

er-generato a

to

it

g

r

er-generato

ective mm

Godel

ep

ses which

for type

by

r il ff

imperative

pro it ati

u

lev

ved. preter. r

e

se ializati e

piler

r

i away. approach

r rge

ega rrying

this key

ri purely

mpil

obtain exin

partia

to

r

a

tl and

n

ogra

Syntax cla e

grams

ata l programming)

makes gh luator rm

e

ing r

ca

f

practical d

and uator. o

co

ed

e

d in

f

h

l

spec l evalu inte com r comp o version hi

t

ind the

To

l

esentatio

the of not

es, o

in

Th

p

a p a eva suppo

e

s

a

a

this

e a

e

d es l Godel. ram

s

pr

s.

) the

eva e i

to input

was d d

.

th

id

e

e,

SAGE

thi

this at l r og

-generato

procedure

in

Th as

ogramme shown.

eve

r

it

e

as

l out compi everyt

tive

eads

ov

ovi

r

e

d

clause

ion

a

ast

modul l

partial

and to

h

pr to

t

rator the

lf

ul

e

abstract .r

r

pr pr

ab ce

,

shoul

partial

e

and

es.

or

un

property has

ara o

m function

id

l the n f

significant

ut

essential

whe

in y

as I?artial pecializ

(which

programming. e at

proof

an mpi

to f y itse g

examp

the s

the h s l.

whkh

e cont

o

o is

gro

the

meta-pr

programming

e,

l

r

-ge declarative,

k

w co

decl

n

l

-

a

inp

ce

ing

projec

r

to

med

what

o

SAGE

n terms

o

e

a

lf ter, sys s m

edic

e r

a es

e i Gode

ex

s ta F

a basic

able

successf

ly

e l

l

o i

,

n .

du

r

as

Pr into th e

c ponding

types

al g pr as

fo from

e

h r rative

that rai

o fr

r e, e liLi

ibilities ndant

s

li

O

d ialized

se

e

Now it m

provide n o

es l

h in rpr

e e. But b

r

mp

mpil

possib

e

c

o

claratively

50 n

une

llr

du

v ad t o

ala o an

cspect. amu

oss ack intr 1 ilnd Go oo >ec s Vriting ~ • Lpp icient ran > ~eo : Lo nuc 'tiv e >rr :o u ::> tat e av .o 1ith !Su · . •ay 11p

-

e e . . it it

. . ly

of of

­

rt rt

e

east east

are are

the the

the the

l

not; not;

both both

does does

so

when when

and and

lan

came came

way

false

re re g g

failed failed

wid

in in

many many

field's field's

many many

uding uding

elegant elegant

mput­

of of

of of

lve lve vidence vidence

logical logical

l

{at {at

think think

y y

-

between between

between between

e facilities, facilities,

.>.-Prolog .>.-Prolog

the the c

periodic periodic

l

ese ese

Prolog's Prolog's

co

does does

the languag

so

no no

I I

min

and, and,

generally generally

expected. expected.

ers ers

in

differences differences

the the

An An

is is

Godel Godel

ilities ilities

th

fields fields

have have out out

non

introduced introduced

to to

, ,

c

se se t t

to to

son son

many-sorted many-sorted

. .

ideas ideas

i

is is

. .

u

simp

. .

rs

fa

programming programming

from from

inherit inherit

still still

s s

system system

i

but but

l l

dramatic dramatic

rectified rectified

iB iB not

the the

ea

combinations combinations

making making

, ,

is is

ages, ages, there there

Haskell Haskell

list list

y

these these

anguage anguage

ca

carry carry

been been

best best

l

myself, myself, feasible feasible

erences, erences,

research

program

ogic ogic

in in

trying trying

differences differences

have have

l

nature nthesis

15 15

compar

ly ly

Apart Apart

logi

e e

that that

been been

the the

diff

but but

importan

does does

e

-

Godel Godel

how how the the

a a

rather rather

h

the the

sy

programming programming

langu

fact, fact,

general general

there there

have have

ogic ogic

n

t programming programming

are are

logic logic

-

approaches approaches

e e

approaches approaches

l

a a languages languages

programmers programmers

elegant elegant fore fore

r

o

and and

ve ve

of of

on on

of of

last last

e

[9}: [9}:

in in

n

practical practical

functions

entir

cases. cases.

ic ic

in in

ha

this this

and and

attempts attempts

e e

mo

and and

lities, lities,

small small

and and

including including

rder rder

are are

meta

logic logic

more more

, ,

order order

the the

ther

be be

ot

fields fields

today today ci

log

e e

other other

other other

succeeded succeeded

Haskell Haskell

high high

these these

or or

-o

logic logic

Prolog Prolog story story

r r

f

, ,

fa

ch ch

if if

example, example, many many

e argument argument

wr o-rder o-rder

declarative declarative

(and, (and, separated. separated.

to to

hi

Th

embodied embodied

and and

of of

of of

fields fields

not not

and and

would would

special special

over over

many many

the the

some some

but but

h h

so so

both both

its its

whi

ve.ry ve.ry

use use

functional functional

For For

her her c

many many

g g

me me

many many

the the

high

the the

people, people,

languages languages

higher

e e

nctional nctional

that that

programs programs

as as

g

ideas ideas

o

-

far far

e e

two two

e e

approach

important important

facilities, facilities,

e e are are

reasons

of of

to to

are are

fu

hi

most most

nt nt

yet yet

find find

whi

l l

Turner Turner

ally ally e so so

revived revived

me me

whil and and

c

Prol

from from

Th

the the

such such

lds lds

, ,

the the

great. great.

wher

many many

asset asset

. .

shows shows is is

facilities. facilities.

believ

to to

functional functional

e

s, s,

they they

has has

both both

situation situation variations variations of of

ooks ooks

And And

there there

order order

l

of of

fi

e e

typi

I I

mom

15 15

anguages anguages

er er

could could

severa

h h

l

[4])

David David

community community

not not

. .

c

most most

a a

exhibit~d exhibit~d

handles handles

and and

that that

top top

ined ined

important important

lculu

anguage anguage

this this

and and

is is

that that

the the

ideas ideas

nt nt

we we

example, example,

l

ll ll

but but

declarative declarative

be be

ucceed ucceed e

seems seems

e

rams rams

for for whi

programming programming

while while

been been a a

s

ago, ago,

if if

of of

-ca meta-programming meta-programming

on on

higher higher

t t

ns ns

s s

languages

, ,

I

whatev

>.

languag

og

of of

t

oduce oduce

For For

it it

ic ic

non-determinism, non-determinism, comb

important important

. .

that that

language language another

fields fields

this, this,

pr

is is

pr

mom Hask

same same a a

g

could could

log

have have

; ;

with with

that

curious curious

g g r r

built built

e e

years years

mputing mputing

orge

o o

programmers), programmers), but, but, gramming gramming

s s

o

f

o

clarativeness clarativeness

programming programming

t

h e e

the the

s s

l

f

one one

o

the the seriously, seriously,

e

t

co most most

philosophy philosophy

make make

u

o

Godel Godel

number number

extensio

d

ogic

' '

e e

programming programming

of of

pr

desirable desirable

l

modules, modules,

eals eals

earlier earlier

Ten Ten

very very

at at

a a Pr

one one

of of

in in

there there to to

mak

its its

ogic ogic form

h h

. .

y y

ic ic ic ic

l

constraint constraint Haskell Haskell

programming programming

(explicit) (explicit)

ramming ramming the

with with

the the

ness ness

Logic Logic

e e hav

lf lf

considerable considerable

rev

problems. problems.

es, es,

g

e

er

tempt tempt

to to

ogrammin

og

og

cal cal

. .

on on

producing producing ovide ovide

eac

easons easons

v

many many

of of

l l

by by

es, es, ct ct as as

r

order order

at

programming, programming,

pr

essentially essentially

typ

pro

in in

seems seems

in in

world world

l l

briefly briefly

logic logic

be be

both both

a-pr

rativ

the the

decade, decade,

provid present present

, ,

it it programme, programme,

ogic ogic

practi

et

the the

l

promises promises

est est

first first

destroy destroy

r r

while while

ona Goede) Goede)

the the

r

intera

e e happening happening

provides provides

needed needed

been been

m

provides provides by by

c c

to to

ecla

l

, ,

e e and and

ei

seems, seems,

ast ast

similarities similarities

te

semantic semantic

would would

languag

rti

l

es es

d

various various

this this

in in

combined

is is

ly ly

because because

capitalize capitalize

th

th

would would

to to

it it

in

e

re re

that that

and and

are are

what what

rphi

tur

including including

be be

h h

e-sca

languages languages to to

in in

the the

asse

have have su

o of of

It It

e e

are are

of) of)

U U

rar

, ,

distinguishes distinguishes

rmore

problems

this this

ago ago

ea

non-determinism

Godel Godel

Godel Godel

mentioned mentioned e

many many e e

rg

declarativeness. declarativeness.

f

e

m

e e

existence, existence,

that that

taken taken is is

nt nt

inly, inly,

k

es es

a

urrent urrent

studied studied

r

and and

l l

lim

l

e e

hieved, hieved,

rs rs

e

c

o o

impact impact

lds lds

Prolog's Prolog's

c

as

its its

oly

ilur ot; ot;

a

n

e

ursts ursts

part part

s s

Over Over

ame ame

ece

nnd nnd

f f

fields

liSO liSO

a

functional/logic functional/logic

bould bould

[7] [7] that that

nt

functional functional

i

u

a

p

and and

f f

uag

ll u.re u.re

t

r

fi

(ma

b

s

hes

i

f

t~

What What

is is

Th

ing ing

o

.

features features

had had

approac ye

Furth

o

and and

g

co l

hut hut

. .

is is

is is

in in

to to

be be

gic gic

be be

for for se­

For For are are

the the

run run

g g

an; an;

has has

o

ner

and and

that that

l

logic logic

with with

bugs bugs

o

rams rams

goals goals

h h

l

e e

more more

make make

escue. escue.

c r

an

o

r

is is

will will

pulling pulling

here here

in in

og

a

now now

but but

parallel parallel

restrict restrict

of of

actually actually

amount amount

m

intended intended

Pr

pr

aspect aspect

a a

can can

the the

whi

sequential sequential

which which

goals goals

declarative declarative

the the

claim. claim. possible possible

declarative, declarative,

this this

a a

Prolog's Prolog's

hers hers maintained maintained

not not

without without

the the

they they

a.saert, a.saert,

we we on on

c

e e

class class

goals goals

must must

of of

is is

either either

running running

. .

lesson lesson

to to

that that

b

convenient convenient

greater greater

of of

be be

dominant dominant

is is

on on

do do

those those

this this

do do

implementation implementation

iB iB

is is

these these

research, research,

efficient efficient

to to

as as

another another

y y

the the

The The

resear

nd nd

l

itself itself

large large

hot hot

very very

these these

the the

for for

is is

case case

s o

ograms ograms

is is

language, language,

years years

. .

debugging debugging

preserve preserve

comes comes

ost ost only only

considerable considerable

else else

is is

nonvar, nonvar,

indeed indeed

Prolog) Prolog) r r

pr

up

a a

programs programs

m

community, community,

the the

far far

of of

bey

to to

parallel parallel

or or

declarative declarative

lism

not not

many many

current current

running running

advantages advantages

typical

e

by by

e e

will will

. .

var, var,

by by

ir ir

r eithe

many many

h h system system

There There

-

l l

the the

For For

their their

The The

computer computer

c

e

ems ems

whether whether

pure" pure"

of of

er

. .

language, language,

bug bug

it it

evidence evidence

as as

in in

"

implementation

that that

th

mo

in in

programming, programming,

wants wants

program program

for for

the the

mu

ts ts

still still

parall

d d

l

debugging debugging

f f

all. all.

e ramming ramming

the the

probl

bug bug e

Now Now

transparency transparency

o

the the

that that

. .

e e

Prolog Prolog is is

of of

but but

difficulties difficulties

bugg e

d

such such

one one

declarative declarative good good

ear ear programming programming

them. them.

practica

esu

og

: :

. .

if if know know

But But

d

, ,

at at

parallel parallel

r

cl

if if

, ,

it it of of

illustrated illustrated

the the

is is to to

pr

a a

parallel parallel

exploited

find find

to to

, ,

n n

run run

not

the the ran ran

the the

is is

program program

n n

(so-call

of of

re re

clear

the the

ee

be be

to to

o

conclusion conclusion

its its

e

. .

subject subject

or or

b

further further

remarks

declarative declarative

declarative declarative able able

ogic ogic

suggest suggest

of of Prolog, Prolog,

is is

programming programming

l

oitation oitation

og og

l

l

the the

declarativ

a a 14 14

Clearly

be be

Th

This This

a a

needs needs

the the try try

no no

of of

way

can can

exploited

be be

, ,

features features

the the

well well

. .

has has

in in

difference difference

the the

and and

computer. computer.

system system

exp rs

Pro

language

declarative declarative

to to

(especially (especially

to to

using using

e

as as

be. be.

be be

will will

routinely routinely

lesson lesson

it it has has

m m

correct correct

in in

checking checking

t t

and and

general general

s

no no

of of

A A

that that

aspects aspects

make make

discussion discussion

the the declarative declarative

to to

be be

to to unning unning

. .

escape escape

r

the the

a a

can can

ram ram

jus

eatures eatures

answ

riously

rammer rammer

are are

rs rs

effort effort

th~t th~t

to to

and and

can can

core core

to to

lism lism

l l f

computer. computer.

e

easier easier

. .

se

og

of of

~ ~

some some

og

possible possible

way way

e

ecific ecific

o

non-logical non-logical

~ore ~ore

Prolog Prolog

hkely hkely

ca

makes makes

transparent transparent

pr

e e

we we

sequential sequential pr that that general general

with with paralleli

act act

to to

agam agam

sp

they they

the the

f

follows

works works

declarative declarative

lB lB

.e .e

a a

The The

th

encouraging encouraging

a a

the the that that

way way

hard hard

in in

of of

nsequently, nsequently,

the the

logi

ramm

if if

th

llel llel

missing missing

-

r r a a

less less

programmers programmers

parall

the the

as as

a a

a is is

in in

e

y y

lism lism

of of

co

parallel parallel

the the

og

lizing lizing r r

all all turn turn

program claiming claiming

s s

e

b

program program

Once Once e

as as

i

or or

or or

as as

o

it it

a a

see see

amount amount

non

all all

there there

task task

arative arative

f

pr

ll

par

section section

ge ge

of of

.l

d d

various various

rath e e

find find

inhibit inhibit

re re

the the

to to

m m

on on

the the e e

now now ed

anguage, anguage, who, who,

e

s in in

e e

l

for for this this

the the

dec

that that

parall

~

anguage. anguage.

while while

I I

la

para to to

more more

implicit implicit

of of

l

this this

hard hard

ar

e e

, ,

e

to to

cause

wrong wrong

sp~t

is is

run run

or or

a a

n n

ll

h h

red1bl

of of

for for

of of

s s

exploitation exploitation

ial ial

t t

programming programming

on on

possible possible

that that

programming programming

.c

knowl c

of of

statements statements

far far

in in to to

in in

mor

m

greatly greatly

nt nt

very very

inordi~ate inordi~ate

future future

on on

g g

ru

e e

particular, particular,

first first e e

semant1cs). semant1cs).

, , discussed discussed

e e

para

in in

be be

c

r

a a

so so

t

ou

etatio

enoug

th

a

arch arch

espec

th

Discussion Discussion c

an an

eally eally

In In

r

ntially ntially

.

declarat1veness declarat1veness

uter uter

e

is is

conclude conclude

i~ i~

reas

rammmg rammmg

r r r

: :

.

tstin

programmer programmer

am

rpr

near near

amount amount programmer programmer

proble

r

The The

gramming, gramming,

s s

es

1 1

Implicit Implicit

.

e

ults ults

covered covered

r

og

a

clarative clarative tb tb

o must must

e e

aving aving e e

e e

programming programming

hi

s

eve ot ot

e

e

l

es

pr

n

programmin~

H 7 7

take take

pr

int example, example,

th

d w1

wtuch wtuch a~art a~art

part~cular part~cular

one. one.

r present present

it it

comp

cons

the the seque the the

c

The The

takes takes

th

the the ~IC88 ~IC88 a a

T

o~ o~

cl

1mpl1c1t 1mpl1c1t quential quential th

retra d1 .

.

,

.

-

l

C.

ll

A

.

be

be

.

e

29

.

Lan­

K

J

1994

Tech­

hnical

,

c

appear

will

1988 will .

Bristo

edition,

Hask

r

o

r

and

and

pages temporal

Te

University

of

T

te

Symposium

,

.

Press

the

survey

easie

1.3.

grea

second

and

Hoare

A

1994

.

ith

, MIT :

the

language

w

the

ag,

Science

,

Programming

R.

Kowalski

l Diversity

.

Languages,

1988

U

combined.

A

A.

,

. ,

version

.

.

,

R rmatik

be

nference

Addison-Wesley,

Logic

better

C

o

.

ramming

anguage

In

Co

l

Press

In

Language. Inf

.

language,

gramming

the

og

Computer

.

g Science

r

o

cope

r

o nal

r

pr

l

should

manual

of

Springer-Ver

pr

o

e

exploited

Fii

c

fo

o

MIT

.

e

can

.

Programming

c

Pr

be

ng

ogi

-

nal

i

l

27

rnati

o

A

8

ren

e

uator

e

and

Programming

l

can

of

Comput

which

Institut

into

Int

ref

-

programming

Programming

81()-

programming

specifications

of

functi Eva

a

17

.

Department

a

that

e l

Logic

view

l

programming

r

l

del

Fifth

Programm

the

e

1992 pages

Go

ove

make

,

make th

on

Functional

functions

Partia

logic

formalisms

.

f

Nu-prolog

Logic Project,

e An

of

l

ttle o Max-Planck

The

can

executab

.

can

,

a

r

of

and

27(5),

. Department

l.

e

issue

parallelism

e

e

.

e

, nce

as

,

Programming.

Se

w

t

w

e

.

yd

i

,

201

ries.

is

c es

dings

Mathematica

-

e nal o

c i

ial

e ntation.

e

c

I

Mill ration

,

o

es

Zob g

ee

e

S

llig Harrison

Ll

ec

94

c

.

.

e

ti

.

.

-

clarative"

eg

m

th

o

.

l985

c

l Lo

e

J

D

e

-

Sp

Noti

,

impli

d

Int

W

Pr

int

"

.

of

.

fun

P.G

1988

Self-Applicab

clarativ

J

e

Programs

ramming

of

editors

s, al

PhD

e

and

.

and

impl

g r

MPl

Foundations

.

applications

of

d

A

.

declarativ

.

Th

e-Hall

new

to

et

and

c

and

of

.

Pro

ds

ces

1994 l

ournal

edi

Machine

oyd

J

n

l

,

more bourne,

fie

more

,

Godel

Thorn

Programming

SJGPLAN

amount

l

need

.

L Turner

Hill

Gurr.

Report

parallel

Fasel

.

e

e Field

.

Prenti

.

Logic .

Hanus

Nadathur

M

A

wen

Me

The

A.

J A.

port

. M.

.

.

aspects the

its W The We

Th

Th

C

o

H

.

.

n

.

.

.

e

54.

o

D

Shepherdson,

J r 1987.

of

M G B

in P guage Logic J

January A nical

A.

C

J

• •

)

]

]

]

]

7]

5

6

f8]

(9]

[

[ ( l4

(2

[3

[I]

Refere

,

­

.

of

e.

so

l

in

ap­

ex­

the

and

new

task:

such

soft­

more

order some

many

appli­

of

point,

various

ed

achieve

ogram­ peop

ogram­

cope

ideas

ntly

ed

r

e

of

r

absolves

"static".

the

of (in

c

e

.

p

n

amming

p

approach.

of

r of

first

to

r

declarative

e

of

Much

e

g

cts not

cts

intended

. ory e

o

best c this

as

curr

.

We

e

hniques,

of

e

programming

this e

c

starting

imperative pap

pr advan

do

ang

s

th

es

r

asp

th

te verification,

s

logi

asp

e

way.

advantage

the

of

a

such

think in

thi

essentially

theory processes

of

ions.) is

ficiency

functional ation improving

good

most

the

t

t

e

c

'

is

techniques take

in

wider

d

a

or

many

in

of possibl

the

a

generaliz

elegant and

solu

truth

of

don

logics,

languages areas.

temporal

declarative

hoc

can

are

appli

to

temporal

declarative

this

synthesis,

I ogics

l

an

made

users

limitatioDB

of

.

make

program

from

4d

synthesis

the

for

the

makes

good

in

the

a

(Actually,

which

to

but

ication

the

logics

such

.

l

of

with

statement

research

with

points

standard of

ies,

on that

program

available

with

r

t

computing

remedied

app rather

n nerators

ogrammer

duction

s

declarative

i

elegant

needed

i

r

e

finding

the

order

e

on

programming

p

in g

facilities

d

well e

to

-

aspect

we

the

advantages

tter

othe is

c

ma r

an

a

gramming

e

e e

is

formalism ntribution

theory

e temporal

, o

e

such

all

b

to

ted

difficul

mming

l

16 from

ogi

a

right as

co

l

remarks

th a

e

th

interaction

og

based

es

tim

hniqu

at

l

with

esort

of

mpil

r

to gr

h

s

key

w

es

ec

of

'

o

c

big

t

o

cope

co

mod

Pro

temporal

It

n

a

to

optimization,

inter

pr

.

some

meta--pr

. cope

left

the

important

mu

existing

e having

as

g

programming

in

kinds

key

egarded a

can the

is

is includ

to ,

r

are

has

a processes),

not

programming

have

computation this

h

community

in with

c

such

is

from

be

euphoria

that

makin

do to

same

all

ed

significantly

program

ls

there

including

programming

which

computer

v

is

,

e

that

far

currently

of the

summariz

oo

example

th t

and

by

sol

I

paid

approa

r

semantics

the

declarative

, logic,

onclude

all grammers

programming gramming

o

and e industrial

the

still e

c

e

ons bugging

n ng

l

o

which

o

F tly

task

t

i

grammers ,

of

e b ,

are i gramming )

o

ic c

by

r iv

reason

s

i

e

o

c

ivity

programming

ones onstruction.

o d .

pr

.

pr

t

to

a der

analysis

s

ly

s

in

r

t

are

intersects

r clarative

d

ee

e s

to

og rmalisms

gi imp e

l xa ct

e

e

pr

p

l

e

e

which could us

y,

o

c c

e u

o s

o

se

e

l

id

l

l

d f

e o The

lv .

n

e

e du

amid

a

w

e

nclu

t

clara

e

e

wi y ation

.

o

and

ngin

resu

xampl

a e

gram

so

of e

s

rativ

eeds

and

co e

,

e

s,

e

mati primary

k et

o

d

ve"

uag pr

n

s

oft

subgoal

hav

p

e

b

f

e

r

Obvi

g

t

r

e

clarativ be e

e

em

a higher clarativ pr

n

o

s

rpr

e

e

ltim

e

ired ecla

. d

nal

rm

es

o

l

se

rati

(f

clarativ

nd d

rh y o

s

ations

o

Declarative

U

Conc o

ming

to lan te

D Th Having suitabl as D m Th

war Th

sy h i u

or

es

a

e f

c

e

a

n

that

c l

s

it applications

d

o

d

nti

c

P

o

ct wa

d

a

• • gramming •

• i

e

ll

w

.e

ec

Li

e

o e

o

ct

e

ting

or

r

ut

d

a.

h un

h

t

a

og

s ~se

l'h :

n f w al.l cind :;.ppli

~ :> . ~ · 3y

. :>

are are l l

In In

we we

to to

The The

any any

to to

be be

No No

tool tool

the the

com­

there there

ttle ttle

nodes nodes

idea idea

repre­

can can

tool. tool.

eve

e e

abeled abeled

y y B B

com­

, ,

l

l

l l

system system

e e

r r

all all

e e

e e

are are

adapted adapted

fabricated fabricated

ab

which which Hewlett­

planning planning

r

still still

th

therefore therefore

arcs arcs

a

this this , ,

use

view view

RP RP

ts ts

basic basic

Th

-MRP -MRP

supported supported hard

is is

at at

quantity-per. quantity-per.

. . 1

c

mmary. mmary.

(BOM). (BOM).

algorithm, algorithm,

constraints constraints

determined determined

the the

by by

higher-

to to

and and

-M since since

's 's

expected expected

arts

the the

the the with with

management management

su

1

have have

arcs arcs

he he

are are

amming. amming.

Basically

the the

p

called called

r

in in

rd

a a

Appendix Appendix

the the

data

has has

be be

produ

e e

the the

normally normally

es. es. user user is

user user

called called and and

We We

with with

how how in in

The The

, ,

cka

are are

way, way,

ains ains

us by by

whose whose

Prog

l

is is

graph, graph,

defined defined

hased hased

There There

bas

ct, ct,

Pa

are are

materials materials

developed developed

c

the the

bow bow

equired, equired,

the the

a

algorithm. algorithm.

r

for for

additional additional

exp

this this

system system

of of

cannot cannot

are are

e e

contains contains

on on ogic ogic

pur

is is

BOM BOM

dat

needed

was was

1 1

L

th

In In

bow bow

preferences, preferences,

4 4 figure figure

familiar familiar

produ

m m te

acyclic acyclic

also also which which

the the

2.

bill bill

ewlett-

. .

returned returned

. .

subparts. subparts.

company. company.

, ,

allows allows

is is

, ,

algorithm, algorithm,

the the

who who

investigate investigate

H

by by

industry. industry.

adding adding

his his

sys

t t

a a

the the

this this

its its

I

mechanism, mechanism,

he he

in in

which which

to to

details details

hich hich

planning-related planning-related

of of

-

; ;

was was

to to after after

in in

, ,

rmation rmation

. .

by by

external external

By By

w

ned ned

explain explain

called called

Section Section represent represent

o

r

system

and and

Section Section

ntiation

d d

hes hes

in in

ing ing

out out

is is

directed

and and

information information

e

r

tu c

inf

Constraint Constraint

eter

we we

that that

parts parts

e r

in in

terms terms

a a

strategies

support support

sta

r

can-build can-build

parent the the planners, planners,

us

system

added added

support support

3, 3,

part part

them them

sets sets

in

as as

the the

in in

bran

data data

a a

by by

section, section,

the the

set set

with with

stored stored the the

be be

Planning)

ogy ogy

contained contained

and and

according according

9 9

ution ution

interp

other other

MRP MRP

enginee

l

ted ted

is is

1

of of

in in

examples. examples.

from from

database database projection. projection.

rent rent

with with

nol

so

paper paper providing providing

e en

can can decision decision

next next

aint aint

ents ents

und und

All All

Section Section

explained explained decision decision

further further

ch

e e

parts parts a a

res

particular particular

o

diff

other other te

between between

user user

th In In which which

This This

expressed expressed

t. t.

r

some some

by by

data data

This This ep

as as

c

. .

r in in outline outline

rstandable rstandable

inating inating

g

amiliarity amiliarity

constr

and and

certain certain

in in

managers managers

f

one one e

ion ion

at at the the

the the

be be

command command

particular particular

and and

refine refine a

t

k

details details

the the

a a

oduct--related oduct--related be be

commands) commands) contained contained

y y

. .

to to

r

a a

la

data, data,

l

by by

orig

r r Requirem

the the CLP. CLP.

used used

und

e is is

p

produ

knowledge knowledge

e

r

ac

can can

and and

interactive interactive

and and

nents nents

can can

by by

of of

solution solution

Bristol, Bristol,

a a

ised ised

o nical nical

MRP MRP

detailed detailed

about about

B are are

supp ts ts

r

parts parts

arcs arcs

covered covered

basic basic

assume assume

und

algorithm rials rials

used used

an an

e e

data data

Data Data

ch hild hild

a a

of of

aints aints

e

yse yse

s s

en

of of

l to to

r

of of

te

d d

products

no no

al al

illustrated illustrated

tigations tigations

we we

e

set set

dati!--

refining refining

d d i r r

are are

feasible. feasible.

c

intuitive intuitive

e

Mat

es ana

give give

is is

ent-c

ve ve product product

subcomponents. subcomponents. general general

products products

All All of of

able able

units units

const

e e

ede

systems systems

subcomp

various various

h h

. .

ha

relat

inv to to availabl

paramete and and

par knowledge knowledge

ive ive

of of

ally ally

be be

ne

maintained maintained and and

4] provided provided

hni

s s

c

to to

can-build can-build

requirem

numb

ct

eac

paper, paper,

, ,

A A w

their their

answer answer

e e

lanning lanning

into into

example example most most

by by

Laboratories, Laboratories,

is is

to to

our our types types

the the

knowledge knowledge

ra

[3

systems systems that that

ion

MRP MRP

P

e

of of

his his

basi

r r

the the

type type

for for

oduct-

er er

the the

. .

hav

language language

ound ound

our our

Tec

two two

the the

smallest smallest

r

cat

is is

two two

Int

access access

rd

e e

Pr

li

detailed detailed

e e

o

acte

the the

r r nting nting

1 1

presenting presenting

e e

In In

how how

analysing analysing

nfined nfined

r

W

il

.

.

MRP MRP

supported supported

ow ow

hind hind e

o

paris

t

Nodes Nodes

with with

nstraint nstraint

f

. . r

fine fine

BOM BOM se

pecified pecified

posed posed

e

ar

bas bas

h

In In

2

Packard Packard

process process

to to

pub

co {

Various Various

e

e

2 2 ave ave

ha

s

t~ mand mand

Appendix Appendix

in in

b

backg

.

previous previous

what what

information information

r

(

co

translated translated c

i

be be

h

a a

of of

an an

are are

the the

cial cial

one one

r

been been

using using

given given

means means

. .

ogram­

reasons reasons

l

a a

r

develop develop

.is .is

any any

to to

which which

planning planning

not not

p

parts parts

con11idered con11idered

too

to to

lem lem

at at

comme

prob­

ic ic

successfully successfully by by

designed designed

terms. terms.

limited, limited,

-

the the

bas bas

ua.lyse ua.lyse

ob

a a

meet meet

og

availability availability

l

in in

a.llows a.llows

manufacturing manufacturing

is is

problems problems

of of

various various

pr

blem blem

Constraint Constraint

of of

constraints constraints

-

since since

to to

any any

going going

o

d d

have have

algorithm algorithm

ocess ocess

the the

e or or

hnical hnical

e e

the the

m

e e

r r

f

pr

on on

varied varied

that that

e e

e

pr

ec

ar

~planning ~planning

build build

acity acity

we we can-build can-build

t

th

-

on on

ider rd

nature nature

Ger

, ,

and and

s

in in o

s s e

, ,

the the

c c

ecifying ecifying

cap

advanced advanced

by by the the

opment opment

understand, understand,

can

and and

Sets Sets

based based quite quite can-build can-build

in in

complex, complex, sp

el con

is is

ion

uag

an an

to to

knowledg

used used

schedule schedule

firms firms

-

g

be be ev

provided provided market market

e e ment ment

ct

ing ing

by by

the the

can-build can-build

d

b

Berlin

solve solve

e e

lv

ed ed

be be

e

and and

on on

lan

dynami

her her

our our

ar ar

th

to to

so

domain domain

to to

l

returned returned

may may

been been

the the

tly tly

restri

ot

(MRP) (MRP)

to to

of of

of of

the the

ec

his his

System System

production production

12489 12489

applying applying

Solving Solving

Plurung Plurung

has has

support

has has

of of

dir

- . .

5, 5,

from from

knowledge knowledge

difficult difficult

e e

when when

particu ctions ctions

b m m

e e

y y

Refin

ew ew

During During

Answer Answer

l ibility ibility

solution solution

ri

i

completed completed

a.lgorithm a.lgorithm

Nitsche Nitsche

subcomponents subcomponents

that that

and and

v

an an ementation ementation

MRP

means means

. .

e e

the the

c

Planning Planning

demands demands

est

quality, quality,

cannot cannot

b

plan plan

an an

r

eas f

in in

bstract bstract

of of

chanis

to to

and and

intuitiv

maintaining maintaining

.is .is

A

he he

or or

impl

data data

int int

t

nts nts

Chaussee Chaussee

me

This This

nning nning

and and

user user

general general

purchases purchases

[email protected] [email protected]

the the

e extreme

and and

and and

. .

s s

needed

s s

Requirements Requirements

: :

such such

set set

as as Michael Michael

a

d d

of of

e e

and and

problem problem

it

n n

r

ra

the the

cannot cannot [5]

is is

s s

o

n n

how how

a

time time paper paper

lution lution

duction duction

ate

[1] [1] t

most most

s s subtask subtask

for for

o

. interpreter.

s s

Pl

traint

swer swer

ow ow

so

ig s

a a

e e

mg mg

s

support support

h

pr

E-mail

an

thi

Rudower Rudower

world world

is is

?ns ?ns on

es:

Requirem

Th

a a

-

c

the the

lysi

amount amount

Materials Materials

components components

of of

ormatio

organise organise

exactly exactly

support support

producti

inv

of of

a

reas

. .

lem lem

mmand mmand

of of

required required

real

inf

mponent

~o ~o

ion ion

e e

strategies strategies

CLP('R) CLP('R)

en en

Con

rials rials of of

in in

e e

co ogramm

k k

ob

a a

decision decision

e

g g

th

told told

large large

tool tool a a

FIRST, FIRST,

ct

pr

Pr

hav

the the

ta.s

Th

terms terms

constra.J.nt constra.J.nt

, , how how

An to to

a a

terms

e e

inveslig~tes inveslig~tes

u

executable executable

sin presents presents

c c

subco

ramming. ramming. be be

kind kind

. .

Mat

of of

a a

ub

vi

nning nning

in in

U

':e ':e JD JD

th

s

e e

an. an.

og

of of

ral ral

. .

background background

l

an an

& &

e

od

pla

GMD GMD

Log1

p

not not

to to

fin

any any

Pr

e. e.

that that

n

re re

r

e

paper paper

occu:

e

r management management

-

decides decides

interactive interactive

powerful powerful

t

g

on on

The The

for

products

~an-build ~an-build

can

chnique chnique

i

hing hing

e

e

t t

amt amt

futur~

ling ling

t

sy_st.em, sy_st.em,

r

b

s

1t 1t

and and

add add

In

An An

Logic Logic

implicitly implicitly

. .

expressed expressed

This This

lem lem

r1thm r1thm

delivered delivered , ,

pany pany

urc~ urc~

Owing Owing

cess, cess,

T~e T~e

o

mo

the the final final

odu_ct

f f

eso

111 111 ~lg

done

Const

rning rning MRP MRP

pro

manufactu

not not

schedu

production production etc. etc.

r

m m ~r

~1me establis com

1 1 o

a a

not not

of of

the the

the the

the the

not not

this this

that that

can­

A. A.

that that

there there

takes takes

-build -build

are are

Thus, Thus,

of of

is is

varies varies

of of

of of

output output

profile. profile.

general general

the the

smallest smallest

problem problem

can

from from

presented presented

can-build can-build

ndix ndix

describing describing

end end

Obviously, Obviously,

the the

e

items items

part part

ost ost

use. use.

of of

They They

non-ground non-ground

sum sum

. .

. .

mirumwn mirumwn

items items

the the

a a

m

e

includes includes

. .

the the

of of

the the

.

stage. stage.

because because

i

the the

App

o o

as as

, ,

, ,

the the

resources resources

can-build can-build

for for

later later

the the

user

versa

this this

in in

als

a a

profile profile

of of

many many

certain certain

use

can-build can-build

as as

· ·

usually usually

consecutively consecutively

at at

day day

until until

algorithm algorithm

ca1Jed ca1Jed

instance instance

for for

the the

a

It It

solving solving

by by

a a

vice vice

number number

introduced introduced

occurs

is is

manufactured manufactured

bow bow

the the

by by

the the

given given

later later

build build

always always

60 60

left left

that that

demand demand

all. all.

is is

and and

which which

are are

be be

The The

r r

amount amount

is is

.

by by

~ ~

day day

given given

manner manner

for for

. .

. .

at at

ground ground

working working

are are can-

deferred deferred

the the

d d

es es

s s

requires requires

considered considered

d d o

l

i

e

e

can can

N4 N4

eft eft

above, above,

lar lar

is is

imposed imposed

day

35 35

l

ot ot

indicate indicate

same same

the the

n

rat

s s

this this

+ +

represented represented

cu

ser ser

rithm

this this

built built

profile profile

~ ~

e

u

be be

every every

, ,

o

to to

many many

that that

is is

satisfi

stock, stock,

problem, problem,

d d

variab of of

the the

. .

part part

is is

l

ly

algorithm algorithm

algorithm algorithm

constraints constraints

N3 N3

thus thus

gen

s

N4 N4

alg

single single

a a

parti

be be

i.e

the the

, ,

nondeterminism nondeterminism

+ + bottom-up bottom-up

may may

a a

, ,

how how

Taking Taking

a a

the the

to to

ADd ADd

of of

items items

from from

a a

constraint

N4

mentioned mentioned

on on

day day

on on

of of

can-bui

problem problem

ut ut

variables variables

~ ~

in in

has has

and and

21 21

instance instance

Obviou

nothing nothing

2•N2 2•N2

can-build can-build

product product

with with

1 1 . .

nstrained nstrained

0 0

can-build can-build

.

profiles profiles

+ +

an an

the the

problem, problem,

nsidered

nt nt

co

valid valid

intermediate intermediate

outp

The The

ditjonal ditjonal

bottom-up bottom-up

incremental incremental

built built

that that

n n

Whenever Whenever

N4, N4, , ,

is is

. .

e e

co

our our

ad

o

certain certain

th th

ility ility

with with

some some

demand demand

number number

are are

an an

children. children.

th

~ ~

availability availability

diately, diately,

be be

a a

of of

curre

e

2•Nl 2•Nl

can-build can-build

lab

part

0 0

are are

subproblems. subproblems.

Wi

time

for for

, ,

·

part part

t t

its its

calculated calculated

the the

. .

4,20)] 4,20)]

ular ular

osed osed

first. first.

on on

the the

e e

vai

N4)] N4)]

c

,

l

, ,

complications complications

the the

that that

can can

40

a

mm

like like

since since

is is

i

or or

4,60)] 4,60)]

to to

modified modified

can-build can-build

4,0)] 4,0)]

N3, N3,

accumulated

intervals intervals

consideration

15

day

ofi

to to

imp

< <

and and

a a

same same

d(4

what what

the the

outline outline

possibility possibility

,

~ ~

parti

the the

designed designed built built

curren

pr

split split

~ ~

to to

be be

that that

smaller smaller

look look

day day

a a

5)

0 0

or or

at at

used used

N3 N3

,

to to run run

the the

ve ve

be be

children children

the the

3,0),d( 3,0),d(

the the

N2 N2

under under

(

stock stock

+ +

lution lution

day day

can can

nstraints nstraints

product product

ha

e e

into into

d{3,0),d( d{3,0),d(

traints traints

N2, N2,

that that build build

are are

,

we we

manufactured, manufactured,

that that

for for

+ +

-

s

in in

so

parts parts

BOM BOM

for for

n n

can can

co

built built

the the

following following

handle handle

particular particular

might might

bow bow

dimension, dimension,

n

10),d(3,10),d( 10),d(3,10),d(

5),d{3

0)

ns ns

o

~ ~

portionally portionally

informal informal s s

e e

a a

we we

,

,

part part

be be

e e

o

e e

o

of of

d(2,N2),d(3,N3),d(4,N4)} d(2,N2),d(3,N3),d(4,N4)} on on

, ,

A A

can co

Nl Nl

0 0

th

each each

from from

ses ses

be be

,

aU aU

2•N2 2•N2

to to

is is

all all

on on

o o day, day,

th

tion tion

includ

, ,

u

down down

pr

t

that that

tern

An An

d{2

d(2

items items

r r

the the

in in

,

5, 5,

,

i i

+ +

ducti

lu

o

d d

odent odent

of of

unit

For For

to to

Nl

f

to to th

o

can can

O)

of of

with with

~ ~

conditi

of of

ral ral

,

bas bas

built built

so

cases cases

each each

l

pr

nted nted

e e

~ ~

order order

epe

typical typical

profile profile

r r

h h

em em

many many d

number number

has has

o

l

c

account account

[d(l,Nl) Nl Nl

2•Nl 2•Nl

d{

be be 0 0

broken broken

rithm. rithm.

ning ning

n n

decision decision

seve

[d{1,5)

[

ese

(d(l,O),d{2,0),d

[d(1,5),d(2, [d(1,5),d(2,

Each Each rval rval

Th

A A

The The

F

rylbing rylbing

u

duct duct

b

l

pa.gate

I I

c c

s s

Appendix Appendix

the the

e

o o

mber mber

w w

s

o

lution lution

pr

c c

o

o

c c an

so

h

roduct roduct

'

l

e

r

o

r

lli

11 11

ltilclren ltilclren

nn nn

h

.

l

nl

.

r

pr

1

uumber. uumber.

t

l111ild l111ild

p

i i

f•ve

l

l1

pr

aut

Clf Clf

1111 1111 Ho

11

u pl

r

' wt\8 wt\8

t

a

ln ln

L11ne-

1

, ,

­

a a

is is

in in

an an

ns ns

to to

(in (in

are are

are are

ate ate

are are

the the

The The

part part

{the {the

it it

and and

uses uses

able able

ce ce

sub

is is

being being

us us

many many

got?" got?"

ctio

d d

uction uction

single single

rs) rs)

is is

, ,

system system

period. period.

balance balance

become become

se

that that

a a used used

. .

represent represent od

for for

BOM BOM

can-build can-build

time time

shrinkage shrinkage

fun

figures figures

and and

However, However,

ermedi

-pe

purchased purchased

dependent dependent

bow bow

in in

pr

parts, parts,

have have

availability availability

be be

to to

introdu

int

technological technological

part part

algebra. algebra.

used

be be

the the

but but

-MRP -MRP

the the

reversing reversing

e e

and and

system system

1

, ,

not not

we we

cycle cycle

purcha

algorithm algorithm

manufacturing manufacturing

is is

the the

ar

parts parts

to to

of of

cycle. cycle.

planning planning

for for

a a

the the

by by

on-hand on-hand

and and

it it

e e

demand demand

quantity the the

the the

defines defines

on on

instantiated

we we yield yield

and and

the the

of of

where where

impossible impossible

Our Our

the the

actually actually

after after

means means

of of

respectively respectively

changes changes

, ,

if if

epresents epresents

nondeterminism nondeterminism

interval interval

place place one

hav

), ),

as as

the the

the the

part part

things things

r

fabricated fabricated

Many Many

it it

used used

. .

of of

numbers numbers

>) >)

es es

r

which which

r

of of

ems ems

1 1

updates updates

e

. .

lost lost

can can

which which

unit unit " "

this this

balance balance

time

ring ring

for for

plannjng plannjng

the the

it

always always

than than

modified modified

that that

parts parts

, ,

in in

e

us

parts parts

small small

(such (such

et et

just just

. .

g

a a

day day

is is

children

databases, databases,

sum sum

I)

are are that that

Such Such

making making

restrictions restrictions

plan

want?

is is

the the

to to

with with

basically basically

not not

inform~ion inform~ion

what what

plan; plan;

important important

sense, sense,

introduc more more

reasons

many many

its its

fabricated fabricated

those those

structure structure

model model

Engine

regular regular

the the

day day

to to

on-hand on-hand

we we

at at

planning planning

context context

in in

are are

of of

are are

parts parts

BOM) BOM)

is is

build build

data data

built built

time. time.

the the

how how

various various

This This

each each

on on

fabricated fabricated

from from

which which

the the

some some

quantities quantities

Algorithm Algorithm

data data

the the

. .

of of

supply supply

and and

neering neering

numbers numbers

plan plan

be be

(and (and

what what

erest erest

various various

capacity) capacity)

in in

,

for for

the the

expected expected

, ,

the the

for for

In In

units units

the the

this this

encounter encounter

and and

over over

mplemented mplemented

cate cate

on on

lf

part part

day, day,

lated lated

i

d{ d{

int

is is

is is

. .

e e

e

smallest smallest

e

20 20

engi

strategy. strategy.

parts

in in

e e

changes changes

for for

part part

Day Day

r can can

and and

basic basic

w

h

-

its

of of

indi

t

build build

(i.e., (i.e.,

asked asked

available available

up up

supply supply

many many

as as

have have

that that

The The

-

parts, parts,

plans

pairs pairs

to to

to to

the the

BOM BOM

be be

manufactured manufactured

essential essential

. .

products products

changes changes

or or

we we merely merely depends depends

working working

of of

percentages percentages

comprises comprises

is is

part part

is is

"What "What

part part

how how

time-varying time-varying

purchased purchased

be be

soon soon

the the

is is

planning

it it

part part

number. number.

(again, (again,

produce produce

nontrivial nontrivial

purchased purchased

of of

bottom

all all

list list

in in

as as

etc.) etc.)

to to

might might

normally normally

and and

Engineering Engineering

needed needed

d, d,

Problem Problem

data data

subcomponents, subcomponents,

is is

several several

a a

some some

properly

data data

real real

which which

ce

multiple-usage multiple-usage

relation relation

not not

current current

manufacture manufacture

interval interval

the the

each each

purchased purchased

red red

s, s,

intervals. intervals.

is is

in in

intervals intervals

asking: asking:

are are

not not

a. a.

stock stock

of of

stored stored explicitly

Again, Again,

represent represent

have have

to to

e e

when when

sto

an an

purchased purchased

This This

. .

as as

the the

al al

rial

of of

"pure" "pure"

,

for for

which which

gs gs

Hence, Hence,

s s

ements ements

For For

e

manufacturing manufacturing

and and

e e

does does

lated lated

are are

numbers numbers

ed ed produ

. .

and and

of of a. a.

e used used

called called

to to

. .

process process

changes. changes.

erv

data data

r

s s

th

problem problem

I) I)

important important

ted ted

-

thin

mat

stock

of of

our our

the the

data data

be be

int

t t

intervals, intervals,

day

are are

need

requu

day. day.

profile profile

in in

product product

and and

ocess ocess

numb~r

day day

figures

all all

very very parent-child parent-child

basic basic

r

Can-Build Can-Build

use use

as as

are are

can can

(e.g. (e.g.

An An

p

specifying specifying

actually actually

relat1ve relat1ve

Wha

intermediat

company company

meaning meaning

construction construction

days days

question

"

product

on on

other other

represen

information information

They They

kept kept

each each

the the

plan plan

the the

is is

each each

the the

of of

manipulation manipulation

atte~ atte~

can-build can-build

fulfil fulfil

and and

quality quality

l

of of

the the

nted nted

plan plan working working

mand mand

engineering engineering

The The

the the

the the

urces urces

which which

r r

of of

e

MRP MRP

0 0

ns, ns,

d d

ly ly

of of

become become

nts nts

t1me t1me

d

ly ly

the the

ese

manufacturing manufacturing

e

bmld bmld

If If e

Other Other

r

While While

the the

From From

what what

~vailability ~vailability

eso

e~e

The The derive derive

the the

v

r

e e

ual ual

ere

e

stea

easo

s

o o

the the

r

is is

For For

called called

mt

repr

particular particular

:Ugorithm. :Ugorithm.

v1ew v1ew

cons1dered cons1dered

number number

su~ply su~ply ~ ~

uruts uruts

an? an?

on on stock, stock,

~~~ ~~~

th

curren~ly curren~ly

wh1ch wh1ch

t

over over

(available (available

available available

an an

2.2 2.2

m

they they

Can-build Can-build

u in

pr

enti

of of

components components product). product). a

to 2

to

.

the at

his

i

the

are

one

total

of

~here

(even

iterDB

sums

them.

if

all

all

results

ntain

i

of

describe

product,

wants they

possible,

the

therefore

meets

aome

additiOnal

contained for

t

ma

both

be

w

bothered

above~

Thts

displayed

tsfies

o

no

~act

We

if

are

and

to

best .

all between

e.

is

pairwi_se

be

d

in

be Such

sat

cb;Ni

.

that

number as possible

as

because

.

S

w S

that

i.

user

particular

this

not

that

mishL

~oes

examples

all

II changes). profit),

. early

the

b;N;

cannot

we

one

da;N; he

need

products

as to

directly

for

sattsfied appropnat solut10~s

t

I:

profiles of

ring

if

or constrain~)

user

constraints

be

dependenctes instance

cb;

dancy,

cd certain

interpreter

importance.

one

algorithm

S

manufactured

to

demand.

~0

nal

where

S a

the

needed

o

e 1denng

its !he.

ground

parts

enginee

removed

redun meaning

da;

th

e

the

one

can-build

ground

are constraints

or

of

and

their want

elds

f

be

similar

production

Cons

.

da;N;

additi

yi

.

thes

and some

he

a little

to

~0

e

cating

t

command ).

can-build

can

I:

type

on

th

of

latter

of

ries.

N; first

parts

for

by

(or

0

period)

analysis. might

ground

(except

indi

is 23

the

The

find

our

because

of

~

this

rding

the

utions

LP('R.

set

into

l

nts

to

as possible

of

C

by

Each

based

user

aint

time

following

sort

catego

cco

implies

value

set. r

be

maximised

go

a

e

So

a

of

a;N;

implied

be

numbers

cd

to

s higher

ced

th

es.

product

different

the

s

this

be

two

i

or

I:

emoves maximised

many

f

S wants

const

is

r

rm

ll .

rtain

c

of be

shall of

constrai

e built

in

as

availability te

b

ce

fixed.

might

each profil S

constraints

(or

produ ound

sha

the

be

all

set

and

e implementing now

r

a in

to

constraint

constraints.

cb;N; to

b

the

format

more

two

of

to

G

would

can-build

is

day

for

a;N;

nts

I:

has comparing

or

on

constraints ~0

value

raint

the

solution.

other n

resources classified

are

shall

I:

product,

cheds

production

decision

of

given

of

solution

maller check

of

s

same

can-build

the one

program

be

is

the

cts

to .

easo

output

const

r

His

ly

words,

product way

by

.

a

the

us

.

character

equireme

e.g

0 the

a

general

can

product

types

ter

r

particular

imposed

certain

ed

product

s

general

la

be available

a

produ

this

of

a

ground

main

other

even a minimum hi

implies

algorithm a

constraint

priority

nable

find

to

Comparing

er

e

.e.

most

manufactured

All Of if of i A Each All

a

On of

involve In

impli A

Constraints

to

rement.s

us

most

certain

significant

t But

ress

The

• •

The •

satisfied,

2To

e

trictions

orb; the

nstraints them n

.

3

se

qui

.

• e

es

higher-level

are co

(II exp

rc b

r

3 in nil hnve 11 lu Th

The

or

in

to

as

to

ng

the

not

the

, but

user

plan con­ that

con­

used

what

algo­

build

when build

types

linear es

is

target

in

-

left

is

cannot

,

cannot

aiming

ground

of

cy,

general

need

contain

solution

the

n

program of it

is

a

is

can

can-

o

o

two

we

other

the

instance

to

and

epresenti

parts

CLP('R)

he

provid als set

r

variable All

system

reas

all

involve

a might

in

can-build

subcomponents

needs

cases,

being

general

during

production

0;

from

redundan Thus,

contained

any

they

a

it.

refinement

only

the

to

Nj

because

of

0.

from

interest

solution

to

user

constraints

solution

as

solution

on

planners)

most

is

by

variables but

Another needs

and

CLP('R.)

purchased

will

and

free

(written

.

algorithm.

common

algorithm

equal than

practical

The

each

he

the

of

apd

sis e

much

algorithm

ancies

be

N;

the .

This

f or

to days,

the

eter

dundancies

general

o

turned

involve e

ater

explicitly

imposed

e

by executed r

e

particular

most and re

analy simpl

rpr redundant

with

ot

sharing

,

products

gr

than

n

one.

redund

te

c

that

be

ted

section,

constraints

valu most

set

simplex

possible

the

in

For

S

and

managers certain

a

quite

about rela

user. . availability information

level

aints

query)

best

a

the (6).

the

d.

d

r

on

be

greater

problem

really

products

constraints

aiNi

the

output

constraints

by

top-

the

the

actually

specify

the

normally d

constants previous

22

ements. assign

detail

is

ibility. ever,

accumulated

using il I:

liminating

to

in c

emove emove

to

the

w

is variables on

the

as the command

r

information

r

ri

o , e

can to

Const or

the eas

whatever

problem e

values

cannot

f

are

These H of

0 several the constraint

be

on be

products

requir ral

what

some

the in

.

.

can-bu

~

ave way manufacturing

eaning

num

ysis

ctions

for

ene

h

l

all

Ideally,

which

can introduced

their

m

a

answer

g

ri

into

the ld

raints

extract contained

easily

o algorithm

(the

about a;N;

re

figures

est

no temporary

analysis ln edundancies

constraints

certain

variables

interactive

b are

between

r

to

r of

go

imposed

nontrivial

being

part must

find

they

example

I:

of

can

a

Ana

c

algorithm

const additional ew

ch

an

to

for

be

ost

to

n

ground the

advance

is

clear

user

much

s

the

Redundant

compa m are

o( CLP('R.).

how

beings r

each

his

by

whi

and

e in further

variables

in

ll oduct

ant

r will

Aspects

of

to

one the possible.

can-build

o w

a

format

te

all

pr

have

f

ai

from

and

properties

temporary

they

e

from

man

eliminating

w

for

can-build numb

the

those

remove our

not

a;,

hu

constraints

able

of introduce

'compromises'

each

see realised

provide

of

allows

variables

meets

module

Such

r

always constraints

implementation

by

thousands by

profile

the

can

o

be

identify

first

uild

expressed

on (i.e.

and

certain

f

to

and

does are

solution task

can

therefore are

constraints

advance,

General

Removing

not

ns

we

to

rs

program; our

This be

Constraint

it

on

e

of

. But s

e which

i

dundant

in

can-b

taken

ly

We

one

output

ln

Since The

e

.

ll)

th

r

e

luti

e

ecisio

f

ithm,

3

3.1 As produced

since can-build and possible order uniquely tell kind

d ar easi starting-point Normally w straints 3.2 the so temporary

the variables numb executing this for original arithmetic execution. r in numbers

straints o

. .

­

A A

is is

in in

ts ts

to to

r

the the

the the

the the

itly itly

. .

case case

pro­

The The

c

. .

part, part,

same same

parts parts

items items

view

After After

which which

name, name,

which which

rather rather

by by

bas bas

period period

effo

always always

a a

user user

analyse analyse

, ,

number number

be be

current current

a a

. .

of of

of of

analysis analysis

Demand Demand

set. set.

is is

for for

stored stored

the the

of of

displayed

impli

command command

projection projection

which which

to to

which which

to to

. .

commands commands

this this

the the

the the

a a

time time

at at

to to

(as (as

or or

and and

in in

maximise maximise

f

and and

to to

a a

under under

priority, priority,

this this

demand

section

subset subset

the the

user user

respectively

name name

, ,

and and

but but

number number

(specified (specified

items items

period

arbitrary arbitrary

of of

particular particular

maximised maximised

, ,

user user

set set

plan plan

parts parts

the the

Programming

constraint constraint

command command

the the

day

the the

constraint constraint

and and

of of

the the

which which

an an

a a

no no

program, program,

period period

the the

the the

, ,

time time

solution solution

the the

being being

produced produced

build build

previous previous

all, all,

Each Each

format format

constraints constraints

Logic Logic

However, However,

interval interval

all all

conunands, conunands,

decreasing decreasing

to to

single single

is is

defines defines

undo undo

t t

time time

enable enable

ation ation

possible"), possible"),

. .

allows allows

c

introduced, introduced,

, ,

i.e. i.e.

a a

the the

neral neral early

constraint constraint

number number

reason, reason,

for for

new new

, ,

e

value value

as as

maximise maximise

rain

redundancies

g

the the

both both

allowing allowing

defined defined

set

itself. itself.

their their

) )

in in

t

nning nning

are are

for for

, ,

that that

added added

general general

appli

st st

la

and and

keyword keyword

of of

this this

syntax

to to

this this

o

p

specified specified

mand

the the

and and

early early

facilities facilities

m

e e

an an

e

min( min(

are are

Cons

command command

current current

ducing ducing

l

the the

st, st,

d

m

, ,

The The

o

For For

o

max max

satisfied satisfied

li

defines defines

as as

for for

In In

minimum minimum

e e

system

ntioned ntioned

the the

specifies specifies

5 5

be be

the the

. .

the the

number number

e

. .

wh

be be

e e

by by

intr

a a

th

any) any)

com

rementally rementally

than than

constraint constraint

period period

removal removal

the the

m

e e

a a

These These

c

of of

prototype prototype

constraints constraints

l l

e e

th

r r

s s

r-friendly r-friendly

d d

argument argument

25 25

t

parts parts

fy fy

(if (if

e

in

th

e

for for

ssible ssible

e

once once

may may

to to

th

s

e

be be

o

e e

store store

s

r r

terms

by by

time time

viously viously

us

d d

p

an an

or or

new new

o

cifi

after after

ati

e , ,

. .

e

th

rath

goal. goal.

e

interface

to to

cannot cannot

al al

bes bes

d

()

), ),

i

as as

pr

c

origina

specification>:. specification>:. as as

traints traints

This This

the the

no no

s s

projection.

o o s r

of of

sp

s

ce

may may

ms, ms,

. .

very very

nt nt

e e

d d

al al

r r

n

d d

ording ording

e

. .

mmand mmand

lon

e

enter

d

e e

e

e

c

e

u

o

esc

user user

du

n n t

a a

It It

it

th

e

s o

interpreter interpreter

. .

c

and and

d

o

co

c

o

ar

is is ifi

e e

nd

ac

i

eq

constraints constraints

as

returned returned

techni

LP(n) LP(n) traint

s s

. .

e

ord

many many

of of

Interpreter Interpreter

a a

r r

or or

pr

s

p

e e

ec

th

ct

specification> specification>

se se

p

d

command

planning planning

d d

ign ign

C

displayed displayed

r r

n

e e

amples

certain certain

p

e

e

e

y y

in in

d d

appli

e e

e

s s

by by

x s

ete

es

items

specification> specification>

e

part e

b

co

a a

is is

ut

d d

d

Th

valu is is

command, command,

("as ("as

been been

r r

c

e

e e

d d b

ts ts

any any

tion tion

of of

. .

o

next next

a a

a a

e

allow allow

c

produ

item

c

to to

th

stor

set set

command command

c:an c:an

numb

n n f

specifi

exe

s s

additional additional

has has

as as

du

day day

o

of of

n

interpr

call call

the the

constraints constraints

o

on on

under under

i

ti

system-d

s> s>

yet yet

be be

the the

multipurpo

the the

part part

specified specified

ec

names

ra

express

pr

demand demand

produ

the the

a a

or or

s

t

separat

number number

. .

, ,

part part

e e

each each

if if

to to

Command Command

given given

give give

command command

of of

part part

assigned assigned

ones ones

of of

are are

one one

rs rs

by by

now now

th

is is

value

part part

e

made made

is is

specification>::

to to

cons

ne:d ne:d

is is

commands commands

on on

problem problem

the the

is is

previously previously

number number

constraint constraint

b

the the

total. total.

second second

to to

of of

third third

command command

a a

first first

any any

m

ting ting

or or

of of

the the

mands

The The

ed ed

s

he he

terms terms

constraints constraints

finement finement

and and

c

, ,

e e

shov shov

manufactured manufactured

t

just just

been been

part part

pted pted

raints raints

nu

e

alised alised

command, command,

ed ed

ord ord

re re

xi

xplain xplain

e e

list list

. .

d

ified ified

r

build build

e

database)

ify ify

e

in in

Se

li

e

Other Other

n n

)f )f

du

Optimisation Optimisation

s s

The The

The The

The The

There There

r

The The

h h

-

com

al al

wh.ich wh.ich

11

a a

th

ce

important important

e

a

c

nst

t

o

n

e e

yw

mm

om

e e

g g

me

f f

f f

list list

ave ave

r r

e

esto

l\cb l\cb

o

o o

s s

A A

.

r

th

t

k

Li

o

pr o

pr <

i

i ea

mod th

lu

npp

du

be be fix

co

(two (two co

t

o

Hpcc ra

c

nre nre

h

nnd nnd

W

3.4 3.4

. .

­

is is

of of

t

of of

all all

to to

c

the the

ast ast

if" if"

es) es)

Let Let

the the

the the

e

c

can

is is

three three

than than

l

or or

early early

either either

define define

cycle. cycle.

upper upper

that that

ur

to to

, ,

product product

all all

at at

further further

o

allow allow a

terms terms

problem problem

function function

terms terms

with with

as as

produ

with with

can-build can-build

we we

can-build can-build

ater ater

first first

maximise maximise

constraint constraint "what "what

done done

is is

of of

res

e e

in in

e

some some

the the

No No

in in

e e

of of

a a

"sufficiently "sufficiently

value value

gr

product. product.

or or

the the

P3 P3

the the

f

aell aell

sam

. .

in in

satisfied

target target

sum sum

criterion criterion

hav

planning planning

P2.s P2.s

citly citly

common common

be be

same same

ts

to to

are are

changes changes

li

to to

e e

possible possible only. only.

c

criteria criteria

be be

terms terms

as as

the the

we we

e e

particul~ particul~

the the

Like Like

no no

th

the the

consistent consistent

same same

Then Then

the the

as as

greater greater

exp

in in

to to

a a

them them

. .

day) day)

abl

inconsistent inconsistent

. .

explicitly explicitly

ring ring

in in

of of

for for

profiles profiles

produ

is is

equal equal

of of

value value

the the

to to

constraint-

(i.e. (i.e.

optimisation optimisation

ee

good good

be be

have have

try try

be be

What What

ld ld

day

P4 P4

or or

that that

. .

always always

as as

are are later later

an an

(using (using

for for

not not

day day

value value

written written

t t

optimisation optimisation

to to

engin

and and

single single

function function

then then

products products

written written

and and

are are

products)

P2 P2

consideration consideration

same same

optimisation optimisation

be be

than than

an an

might might

the the

leas

can-bui

if) if)

week week

solutions solutions

each each

might might

today today

P3 P3

be be

one one

the the

at at

program

lllAilufactured lllAilufactured

and and

esources esources

target target

we we

might might

many many

for for

r

optimisation optimisation

be be

under under

is is

interval interval

next next

can can

only only

several several

for for

cannot cannot

the the

forces forces

demand demand certain

Pl Pl

specify specify

of of

greater greater

as as

Introducing Introducing

P3 P3

current current

Pl Pl

that that

a a

or or

user user

of of

storing storing

the the

profiles profiles

constraints constraints

to to

comparable comparable

specifying specifying

P4 P4

overproduction. overproduction.

product product

same same

be be

of of

can-build can-build

that that

might might

24 24

constraints constraints

they they

(and (and

of of

that that

the the

a a

of of

case. case.

type type

implicit implicit

of of

preferences. preferences.

for for

profiles profiles

build build

one one

that that

user user

not not

the the

The The

if if

user user

product product

Then Then

of of

profiles profiles

avoid avoid

on on

build build

an an

cost cost

total total

. .

-

his his

or or

this this

to to

the the

, ,

are are

(for (for

always always

the the

total total

possibility possibility

ground ground

either either

above, above,

the the

in in

from from

can

day

same same

function function

by by

maximised. maximised.

above above

t t

items items

Demand Demand

specify specify

Pl Pl

all all

~he ~he

wish wish

c

define define

constraints: constraints:

beginning beginning

optimisation optimisation

constraint constraint

buil~

n n

d d

. .

constraints constraints

can-build can-build

e

solution. solution.

allow allow

the the

imposed imposed

be be

three three

e

of of

commands commands

we we

. .

satisfies satisfies

can-build can-build

500 500

~t ~t

same same

ts ts

.

f f

t.of t.of

ducing ducing

can-build can-build

profiles profiles

o

c

if if

the the

tak

o

e

target target

o

c

IIlliWlUse IIlliWlUse

e e

to to

ground ground

the the

are are

~

produ

d d

the the

umulated umulated

e e

last last

o o

rather rather

ld ld

ac

defin

e

th

t

best best

i

bound

b

If If

is is

e e

consideration. consideration.

ms ms

cc

normally normally

introduced introduced

intr

e e

the the

valid valid

e

g g

the the

a

r r

current current

r r

beunst1c beunst1c

from from

r r

bu

already already

produ

the the

to to

e

e

for for

~nal ~nal

4 4

number number

but but

it

ground ground

~to ~to

lik

_-

.

other other

o

additional additional

be be

of of

whether whether

f

, ,

ran

he he

not not

constraints, constraints,

set. set.

e e

maximum

on on

of of

e

what what

constraints constraints

a.n

t

the the

they they

s s

are are

low

two two

value value

P4

P2 P2

c

d

uld uld

to to

has has

und

the the

is is

to to

an an

cumulat

Like Like

r

tak

o

two two

can-build can-build numbers

two two

motivat

its its

f f

a a

1200 1200

nd

c

to to

w

nt nt

on on

as as

of of

ide ide

o

a

a

r r

constraints constraints

as as

e

. .

range range

e

to to

e e o

mand mand

to to

and and

that that

not not

ec

as as

numbers numbers

m

have have

e

-

e

d

and and

han han

numbers

above, above,

th

can-build can-build

d

whose whose

put put

the the

number number

1on 1on

ord~ring ord~ring

.t

the the

~

or or

ground ground

equal equal

s

good good

to to

several several

1

comm

es es

constraint constraint

defining defining

does does

stat

followmg followmg

10 10

l

products products

order order

o~

equal equal

s~tisfied. s~tisfied.

s s

Consider Consider

number

the the

ec

Le~ Le~

Consid

buJ)d buJ)d

as as

or or

or or

d

Demand Demand

Optimisation Optimisation

tot~l tot~l

In In

• •

the the

• •

Tw~ Tw~

be be

the the

be be

Unlike Unlike

Th}

Th.is Th.is

poss1ble poss1ble

partial partial

4

3

nontnv1al nontnv1al

constraints constraints

one one

to to

can-build can-build

of of

exactly exactly

examp

to to

means means

numbers numbers

by by

a a

·

better better

bound bound

~ompan~ ~ompan~

provide provide

the the

as as

IS IS

The The

manner manner

current current

• •

constraints constraints

ground", ground", rmmediately rmmediately ne

25

and

efi

then

algo­

some

of

r

raints

allows

Lecbni­

an

n

and

and

n

oducts

const

that

stead

o

ow

pr

in

profiles

:max

handling

using

subsequentially

their

of

based

analyse

items

is

first

to

provided

necessary

:total

multiple

by

20

P1

can-build

p1 as

een

of

capable

b

The

for

introduced

is

system

analysis

t

such

maintaining

on

has

I

are

specified

ground

written

output

The

is

ucti

.

the

ints

r

od

had

planning

ra

in

knowledge.

total

pr

ete

a

anguage) r

s

Planning,

we

l

a

CLP('R).

of

mechanism

possible

const

terp

total

27

ing

been

as

result

in only s

CLP

a

constraint

solution

above

u

users

intuitive

ements

a

get

and

have

the

support

gives

by

early

and

ollowing

f

define

we

as

ground

Requir

and

enables

(N4)

with

to

problem

command

the

would

P2

the

,

a case

12

N4) N5)

equal(12)

0)]

12})

12))

: decision ,

max

r

of

. that

uild

+ = +

want

via

=

]

(generated

tte

level

result

,d{3, .

5)

Materials

information N3 la

3)]

tool

.

,

solutio!!

,

.

N4

total f

now 2

,0)

,0),d(3,20))

can-b

a

:

ractive

top

o

(

sets

the

e

d ral

(2,0),d(3,

the

,

e

pl

d(2,5),d(3

ces

d{2

d

max(N1 max(N2

early

,

the

,

int

the

:

immediately everything

early

equal(12)

in

of

= :

10),d(2

implicitly

=

might

gen ,0)

,O),

,

changes

at

1

r

An answer

early,

a1

{

10

ad

e

features

introduces

N5

max(N3)

command

N4

solve

d(l,lO) .

e

that s

presented

( [d(l,O)

gives (d(1,5),d(2,0)] [d(1,0),d(2

(d t

[d(l [d(l [d(l,N4),d(2,13-N4)]

introdu

l:

total

u

<

h

e

ven

ring

s

management

most

: : + = : + ducing total:

tot : : i

c

:

: :

to

is

:

:

ta

Summary

l

g

in

rms o ih

w

ee

e

l

o )

e

'

traint

P2

l'l

P1 P2

Pl

N4

l'2 f

J P2

s

have

l specified

t

t

Note

ve. Nl N2

N3 I

Pr

If s

whi all: i

p2 This

pl Th th

[

' [

add

:

o

u

e

c

ugin

:.l l\1

o

ldvanced

W

rithm t

4

co t c nr

c

11h

p

1111

,

.

We

are

not

the

and

may

min­

basic

'basic'

do

visible

P1

as

manner

P2:

his

which

user

We

maximum

the

not

of

to

if"

for

a

g

the

(such

ng

examples.

produced,

are

four

hat

d

,

products

.

be

yield

"w

few

solution.

profile

ts

a

a

returned:

eturnin

NS).

the

r

which

en

any can

raints)

at

is

in

, satisfie epresenti

f

+

r

or

o

for

Afterwards

command

P2

be

const

-

e N4

ithm

of

h

par~

r

can-build

to

t

constraints

them

+ ~0

system

o

requirem

set

solution

called

time.

are

the

are

alg

the

N3

interpreter

the

is

his

much

using these

d

+

any on

by

7

that

6

sed general

at

how

N2 removing

numbers

N5,

constraint

constraints

+

uced

satisfies

can-build

.

out

25

considering

26

$

comman

raints

algorithm

most

build

le:£

25

-

satisfying

5

0 the

15,

the maximi

ld

best

the

(not

constraints

<

ntrod

find

CAD

i

retrieved

$

P2

f is

const

N4

by

constraints

o

N4,

examp

max(Nl

with

modified

To

N5

the

constraints,

+

that und

P2

N5

~

the

and o

and

=

use

+

of

er

following 10

can-bui

0

+

)

N3

some

N4)]

Pl

This

and

, N5

$

-

N4

the

constraints

ound

eturned

the

with

N4 N3)

the f ce

with

non-gr

N3,

following

10 furth

+

,

constraint

for

PI

constraints

+ e

12 stored

N4

is

If

B

5

all

~

'

, on r

5)]

th

20,

produced.

used

of

N4

rodu

0

be

,

N3

the

t or

,N

15

in

,

f

5

projection

is

N4

.

+

in

10

figures).

+

,

$

a

illustrate user.

ems

N2

d(2,25-N3

soluti

d(2

,

N3

$

it

generates

20

intervals

N3

solution

al

~ specifying

we

output

N5

is

r

first

-can

+

the additional

of

5

Appendix

+

l:max

0

N4

2•N2

,N4)

nstraints

explicitly

r

+

,

l:shov:

set.

or

ult

in

N2

co

(l,N4),

+ ound f +

m

introduces

the gene

N3

N2

ota command

r

e

Nl

es [d(l,Nl),d(2,N2),d(3,N3)) [d(l,N4),d(2,N5)]

(d(1,0),d(2,0),d(3,

[d(l

N4

produces

(d

t

whole

g

r

+

ground

might

:

~0

Examples

th

algorithm section

5

production

+

:

around"

~

:tota

< a

e

numbe

give

N1

on P1: P2:

0 2•N1 most 2•Nl

10

Pl: P2

5

B

P2:

shown

redundant. The which Nl all

The

Any

This

The

The p2

this til

-

7

6

n

2

play

o

"

the un

imum

3.5

requirements

constraint

also P explicitly

In

total

ment.i

following

n

. .

l l

of of

in in

to to

the the

e e

erial erial

1992

by by

lik

part part

ividua

Labs Labs

d

Imp

products products

Technical Technical

providing providing

as as

in

at at

Technology Technology

partly partly

would would

an an

Complicating Complicating

parts. parts.

these these

and and

. .

I I

September September

of of

)] )]

and and

1.2.IBM 1.2.IBM

for for

-

performed performed

foundation foundation

USA, USA,

comments. comments.

form form

Computing Computing

, ,

a a

is is

ondon. ondon.

Research Research

fabricated fabricated

of of

Hewlett-Packard Hewlett-Packard

L

P2 P2

Version Version

-

the the

of of

all all

algorithm algorithm

useful useful

involved. involved.

eights

work work

rk rk

in in

and and

Germany Germany

H

from from

for for

[d(l, [d(l,

in in

not not

Pl Pl

their their

College, College,

partment partment

Manual, Manual,

e

profile profile

Ministry Ministry

are are

ting ting

for for

further further

D

Owen Owen

can-build can-build

rial rial

e e

profiles profiles

e

Cusanuswe

conducted conducted

wri

Church Church

Yorktown Yorktown

th

the the

products products

of of

30)) 30))

20)) 20))

Imp

m m

,

tbe tbe

Steve Steve

29 29

German German

o

was was

by by

referees referees

(1,10),d(2,15)} (1,10),d(2,15)}

for for

fr

at at

shrinkage, shrinkage,

by by

(d(1

(d(1,

(d

Availability Availability

. .

Center, Center,

the the

and and

Germany. Germany.

Programmer's Programmer's

Catholic Catholic

availability availability

instead instead

by by

in in

and and

paper paper

BOM BOM

rs rs

cCabe cCabe

: :

e

P5 P5

P4 P4

P3 P3

ld ld

returned returned

studies studies

the the

1

Part Part

M

Chan Chan

mainly mainly

e

ts ts

this this

e e

yi

anonymous anonymous

Roman Roman

Research Research

CLP('R.) CLP('R.)

tion tion

discussions

in in

numb

u

shows shows

. .

the the

e e

Frank Frank

David David

supported supported

Figure Figure

The The

time, time,

funded funded

sol

Commerce Commerce

thank thank

3.5

by by

of of

Watson Watson

to to

al.: al.:

fruitful fruitful

table table

and and

. .

were were

postgraduat

cycle cycle

J

run run

et et

presented presented

project project

. .

edgemen

respectiv

general general

l

as as

T

wish wish

Section Section

tze tze

many many

supervisors, supervisors,

the the

in in

London London

grants grants

Chamber Chamber

during during

most most

studies studies

also also

following following

for for

such such

Hein

my my

l l

y y

research research

k k

own own

N. N.

Report, Report,

WISPRO WISPRO

given given

We We

M

The The

h

llege llege

MFT). MFT).

The The

t t

lors, lors,

s

udent udent

s

[l] [l]

s s References References

Lbe Lbe

(B

nc

u

British British

Bristo

t>t

project project

than

Co

Acknow

The The

i

f

j

. .

­

t t

l

in in

to to

u

the the

the the

C. C.

have have

es

esent esent

days) days)

r

of of

merge merge

"works "works

or or

as as

profile profile

details details

f

profile

e e

we we

e e

subcom

e e

e e

, ,

r

products products

shown shown

repr

can-build can-build

r

ording ording

th

e

algorithm. algorithm.

o

and and

(indicating (indicating

availability availability

a a

availability availability

of of

cc

th

build build

to to

M

a

are are

-

quantity-pers quantity-pers

several several

C C

st st nt nt

profil

the the

d d

ew ew

different different

e

r r li

e

list. list.

ofile ofile

n

in in

products products

of of

can

a a

common common

Adjust Adjust

pr

a a

on on

availability availability

simplicity

n n

order order

curr

(4b). (4b).

a a

othe

e

generate generate

r

C. C.

ild ild

of of

of of

in in

possible possible

in in

and and

total total

empty empty

All All

bu

child child

mention

Products Products

can-build can-build

-

. .

and and

for for

is is

inherent inherent

list list

ons ons

od od

child

top~level top~level

its its

C

3. 3.

current current

the the

throughout throughout

considers considers

sharing sharing

quantity-pets quantity-pets

can

done done

of of

one one

it it

reas

point) point)

peri

same same

a a

its its

for for

total total

ect ect

is is

day day

P2 P2

what what

e e

same same

tabase tabase

the the

that that

with with

as as

ocedure ocedure

dir

algorithm). algorithm).

list list

use use

For For

the the

on on

the the

this this

da

into into

ingl

the the

use). use).

Top-Level Top-Level

pr

and and

calculate calculate

C C

difficulties difficulties

this this

at at

the the

finds finds

the the

the the for for

with with

of of

, ,

the the

a a s

and and

Pl Pl

give give

t t

planning planning

to to

for for

ed ed

shrinkage shrinkage

in in

profiles profiles

the the

later later

resources resources

all all

ha

change change

take take

to to

period. period.

us

List List

merge merge

t

algorithm algorithm

into into

passing passing

of of

from from

of of

or or

the the

parts parts

before

for for

a a

and and

28 28

f

C C

and and

do do

are are

(3b) (3b)

together together

profile profile

{3) {3)

of of

The The

, ,

step step

for for

nning nning

products products

left left

build build

for for

some some

-

product product

a

, ,

do do

yield yield

according according

is is

blem blem

pl

part part

and and

, ,

quantity-pers quantity-pers

, ,

with with

part

o

availability availability

above above

can

days days

[7] obtained obtained

it it

e e

splitting splitting

lation lation

pr

engineering engineering

(3b). (3b).

e

ursive ursive

g g

th

the the

r

simple simple

in in

es es

every every

profile profile

considered considered

part

(3a) (3a)

l

time

d d

what what

our our

ec

(3c) (3c)

an an

r

of of

-

availabmty availabmty

ly ly

ofi

of of

rkin

of of

Algorithm Algorithm

two two

is is

step step

multiple-usage multiple-usage

e e

een een

o

buil

current current

difying difying

s s

e e

pr

different different

sage sage

. .

continue continue

Algorithm Algorithm

. .

-

child child

e e

b

given given

s s

o

w

cycle cycle

-

lt

r

(3a)

t

of of

it

~h

e

of of

(8)

,

Products Products

nt

ttems ttems

(m

can

to to

to to

e

are are

(i.e. (i.e. esu

th

esent esent

and and

. .

not not

in in

the the

cu.rrent cu.rrent

r

~ist ~ist

outlin

list list

throughout throughout

multiple-usage multiple-usage

availability availability

pr

part part

C C

e e

e e

es es

(indicating (indicating

from from

par

e e

the the

d d

a a

subsequent

an an

a a

th

ding ding

h~ h~

e

th

Can-Build Can-Build

that that

the the

many many

ng

nondeterministic nondeterministic

we we

th

r

the the

can-build can-build

multiple-u

over over

around around

part part

nt nt

C C

e e

of of

a a

not not

1: 1:

et et

The The

cha

now now

hang

s s

n n

es es

profile profile

how how

accordmg accordmg

Add Add

Split Split

the the profile profile

acco

G

Solve Solve

If If

ese

. .

algorithm algorithm i

is is

Th

c

Note Note

e

explained explained

fil

pr

. .

C C

C C

P3

o

e e

un

1. 1.

section, section,

(c) (c)

(a) (a)

(a) (a)

Can-Build Can-Build

(b) (b)

Example Example

~anufactured

{b) {b) f f

mt1ahse mt1ahse

the the

ar

G:n.er~te G:n.er~te

current. current.

I

pr

I U U

Take Take

we we

nt nt

chtldr

e

be be

this this

4) 4)

crementally crementally

(2) (2)

(1) (1)

( (

ere ere

(3) (3)

Figure Figure

remain remain

pon

B B

Algorithm Algorithm

properly

m ~he ~he

about about

to to

H

A A

Appendix Appendix

In In

steps steps engineering engineering 30

[2] N. Heintze et al.: On Meta-Programming in CLP('R). Proc. of the North American Conference on Logic Programming, The MIT Press, 1989.

[3] Getting Started with l-MRP. Internal Paper, Knowledge Based Progr. Dept., Hewlett-Packard Labs Bristol, January 1992. Types as Constraints [4) BTS Models/ BTS Requirements Specification. Internal Papers, Knowledge Based Progr. Dept., Hewlett-Packard Labs Bristol, May 1992. · · in Logic Programming and

[5) Type Constraint Processing J . Jaffar, J-L. Lassez: Constraint Logic Programming. Proc. 14th ACM POPL I Conference, pp. 111-119, Munich, January 1987. Haris-Joachim Goltz [6) J-L. Lassez, T. Huynh, K. McAloon: Simplification and Elimination of Redundant Linear Arithmetic Constraints. Proc. of the North American Conference on Logic National Research Centre for Informatics' Programming, The MIT Press, 1989. and Information Technology, GMD-FIRST Berlin [7] M. Nitsche: Solving the Can-Build Problem Using Constraint Logic Programming. Rudower Chaussee 5, D-12489 Berlin, Germany MSc Thesis, Imperial College London, 1992. email: gol tz«lf irst. gmd. de

[8] M. Nitsche: Solving the Can-Build Problem Using CLP('R) - A Case Study. Submitted to PLILP '94. Abstract A concept of types and type sorts for logic programming is introduced. In­ stead of defining "well-sorted" terms and substitutions, type constraints and type sort constraints a.re defined, where the approach is based on term models. A type is interpreted as a. set of object terms (data terms) and a. type sort is interpreted as a set of types . .Parameters of types can be object terms and type variables. Types are defined by means of type rules, where type rules can be r~ garded as rules for the generation of t.he elements belonging to the corresponding type. The definitions of types and type sorts can be transformed into definite clauses and the least Herbrand model of these definite clauses can be used for the semantics. Computing with type constraints and type sort constraints is discussed and a strategy for type constraint processing is proposed. Type con­ straint processing is based on SLD-resolution with a specific computation rnle.

l Introduction

1l'he paradigm of constraint solving plays a more and more important role in knowl­ lldge based systems and problem solving since it combines great expressive power wlt.l1 declarative programming. Constraint logic programming (CLP) is an elegant jl,(·neralization of logic programming where the basic operation of logic programming, the unification, is replaced by the more general concept of constraint solving over a r.mnputation domain. Structuring the universe of discourse is a successful method in the field of knowl­ edge representation and automated reasoning. The introduction of types and sorts provides an appropiate means for such a structuring of the universe. Much research hn.s been devoted to this task, and several proposals for various type systems have been made.