• Nem Talált Eredményt

DESCRIPTION OP TEE SYSTEM

4. Bata processing

Every system must help the user when working with it.

He must have an elementary access to the information in the data base and appropriate methods for its processing, which includes an elementary transformations of data and some more complex processings. The described system can easily extract information from the data base according to speci­

fied conditions, which can be used for easy creating the thematic maps. The elementary transformations are needed in most of the cases and include the changing of the scale,

coordinate system and cartographic projection.

The more complex processings include possibilities for overlay or logical intersect of spatial data sets having the same geographic coverage, creating one data set with complex attributes, also calculating various spatial relationships / adjacency, linkages/ not stored evidently in the data oase.

Using the Z - coordinates / altitude above or below sea level/

the isolines can be drawn, and for small areas to draw the surface of the investigated terrain in 3-D coordinate sys­

tem. There are also possibilities for measuring areas, lengths and distances.

5. Application

The described cartographic system is intended for assisting the archaeologists both in propagating the

archaeological information by means of illustrative maps, and in facilitating their own work during the investigations.

The plans with the exact registration of the archaeological finds are very useful for further investigations on the same places*

1. Nagy, G. and S. Wagle, "Geographic Data Processing", ACM Computing Surveys, Vol. 11, No. 2, June, 1S7S*

2* Newman, W.M. and R.F. Sproull, Principles of Interac­

tive Graphics, 1S7 9•

3. Uno, S., and Matsuka, H. A General Purpose Graphic System for Computer Aided Design, 6th Annual Confe­

rence on Computer Graphics and Interactive Techniques, SIGGRAPH, 1979.

S T A R

A Q B E - o r i e n t e d D a t a b a s e M a n a g e m e n t S y s t e m

M a r g a r e t a D r a g h i e i

R a d u Berc a r u , E l e n a Saf t o m , Tiber iu G á l o s V l a d Mihail, lati a n a D a b i j a

R e s e a r c h I n s t i t u t e for C o m p u t i n g C e n t r e C o rn p u t e r s T e o h n i q u e a n d

I n f o r rn a t i e s Oradea, R o rn an i a Buchares t , R omani a

A b s t r a c t

The p a p e r c o n t a i n s an o v e r v i e w of a r e l a t i o n a l d a t a b a s e m a n a g e m e n t s y s t e m c a l l e d STAR, w h i c h is b e i n g i m p l e m e n t e d on IBM P C c o m p a t i b l e R o m a n i a n

rn i c r o c ornputers, w i t h a s p e c i a l a c c ent on the s o l u t i o n s for q u e r y d e s c r i p t i o n and e v a l u a t i o n .

1. S T A R - O b j e c t i v e s and g e n e r a l a r c h i t e c t u r e

The large scale p r o d u c t i o n and use of m i e r o and -professional p e r s o n a l c o m p u t e r s have d e t e r m i n e d the n e c e s s i t y for v e r s a t i l e s o f t w a r e to c o p e with the large d i v e r s i t y of user

re qu i r ernent s .

In the f i eld of d a t a h a sc management, progress has b e e n very f ast and sy sterns 1 ike dB A ‘áE 1I ,

R base, Knowledge-man, Data B a s e M a n a g e r I l and m a n ­ ót h e r s hav e q u i c k l y r e c e i v e d w i d e acce p t a n c e .

A d i s t i n c t c l a s s of users, e s p e c i a l 1y o r i e n t e d t o w a r d s p e r s o n a l c o m p u t e r s are the so c a l l e d " n o n-prof es s i o n a 1 " u s e r s w h o s e rn a i n c o n c e r ri b e s i d e s good p e r f o r m a n c e , is with f l e x i b l e ope r at i on arid e a s e of use .

T h e r e l a t i o n a l a p p r o a c h h a s been a d o p t e d , t o

large a m o u n t s of d a t a stored as s t a n d a r d files.

In o rder to c o n c e n t r a t e on the -essence of the

The r e l a t i o n s g e n e r a t e d by the two o utput o p e r a t o r s can be d e f i n e d as:

(4)

o l : { a : 3 < s,t > é R 1x R 2 , (a = s .A )A c 1 A c 2 c>2: { a : 3 (s , t )€ R 1x R 2 , ( a = t , B ) A c 1 A c2

We c a l l "query c o n t e x t " , the set £s,t) of tuple v a r i a b l e s , and r e f e r to it by X.

A s s i g n i n g v a l u e s to each t u p l e v a r i a b l e in X, we get a "context v a l u e " d e n o t e d by (X).

As r e s u l t s of q u e r y a n a l y s i s , we get:

(al) T h e set of t u p l e v a r i a b l e s : s: R a n g e Rl,

t: R a n g e R2 (in ex. 1)

(a2> T h e set of c o n d i t i o n s s p e c i f i e d in the query lines, see (1); the set of tuple v a r i a b l e s o c c u r i n g in the e x p r e s s i o n of a c o n d i t i o n is c a l l e d c o n d i t i o n cont e x t . We have, for e x a m p l e 1 :

c 1: s . B < t.B , c o n t e x t c 1:£ s ,t } ,

< 1 ■ )

c2: t . A < s . A , c o n t e x t c 2 : £s , t } .

<a3) T h e set of output o p e r a t o r s a p p l i e d to f i e l d s in the 1 ines, see (2); a c o n t e x t is de f i ned for o u t p u t o p e r a t o r s as well

o l : p r i n t s . A , c o n t e x t ol:£s}, (2- )

o2 p r i n t t.B , c o n t e x t o 2 : £ t ) .

S c a n n i n g all v a l u e s of a q u e r y context X is done by n e s t i n g the loops c o r r e s p o n d i n g to the tuple v a r i a b l e s in X. The o r d e r of loop n e s t i n g d e f i n e s an o r d e r i n g r e l a t i o n ">" on the set X. In (3) we h a v e s > t, but we s h o u l d notice that (4) is i n v a r i a n t no m a t t e r what o r d e r (s > t or t > s ) is c h o s e n .

It is n e c e s s a r y that:

<d4) a term i n a l n o d e c/o is s u b o r d i n a t e d to the t u p l e v a r i a b l e min c o n t e x t c / o

>

(d5) an o r d e r i n g r e l a t i o n is e n f o r c e d b e t w e e n the s o n s of a n o n t e r m i n a l n o d e

(d5.1> the c o n d i t i o n s c c o m e b e f o r e the first n o n t e r m i n a l nod e

(d5.2> the o utput o p e r a t o r s o c o m e a f t e r the last n o n t e r m i n a l node

3. The E v a l u a t ion A l g o r i thm

If, when s c a n n i n g the e x e c u t i o n tree in r o o t - l e f t - r i g h t order, for every n o n t e r m i n a l nod e s

we g e n e r a t e the s e q u e n c e

R a n g e R:s

i f not ci then next s ;

m m »

i f n o t c ^ t h e n next, s ; R a nge R 1 : t*

■ ■ ■

e n d r a n g e t1 ;

(5 ) . . .

R ange Rn: t -n j

■ ■ ■

e n d r a n g e t n ; exec O/t 5

■ ■ ■

exec o P ; e n d r a n g e s ;

the r e s u l t i n g a l g o r i t h m e n s u r e s the e v a l u a t i o n of

F o r e x a m p l e 1 we have:

The e x e c u t i o n tree is

w h e r e cl, c 2 a n d c3 are n o n t e r m i n a l n o d e s and > is no longer a t otal o r d e r i n g r e l a t i o n on X.

c 1: s.B < u. A , c o n t e x t c 1: t s , ul c2: t.A < u . B , c o n t e x t c2: tt,ul o l : print s . A , c o n t e x t o l : tsl c>2: print t . B , co n t e x t o2: t u

The f o l l o w i n g a l g o r i t h m is g e n e r a t e d : P r e d l ( c l ):= f a l s e ;

R a n g e R3 : u

P r e d 1(c2;u >:=Predl(c 3 ; u ):= false;

R a n g e R 1 : s

if not cl then next s;

if not P r e d l ( c 3 ; u ) then R a n g e R2:t

if not c2 then next t;

P r e d l ( c 3 ; u ) : = t r u e ; exec o2;

e n d r a n g e t ;

if n o t P r e d l ( c 3 ; u ) then next u;

P r e d l ( c 2 ; u ) := t r u e ; e x e c ol

e n d r a n g e s ;

if not P r e d l ( c 2 ; u ) then n e x t u;

e n d r a n g e u;

Ue have:

P r e d l ( c 3 ; u ) : 3 * s » * ) 6 RlxR2, cl A c2

P r e d l ( c 2 ; u ) : 3 ( s , t ) 6 RlxR2, c l A P r e d l ( c 3 , u >

P r e d l ( c l ) : 3 u € R3, P r e d l ( c 2 ; u ) .

L o o p t is i n c l u d e d w i t h i n loop s, but its e x e c u t i o n is c o n d i t i o n e d by P r e d l ( c 3 j u) (loop t is not e x e c u t e d for all the v a l u e s of t u p l e v a r i a b l e

s ).

E x a m p l e 2 ' ( e x a m p l e 2 w i t h o u t o u t p u t o p e r a t o r o l )

R e f e r e n c e s

AN ALGEBRAIC APPROACH TO KNOWLEDGE STRUCTURING

h! HOANG HOP

Hanoi State's Committee for Science and Technology Hanoi - VIETNAM

A B S T R A C T An algebraic approach to knowledge structuring is proposed which aims to show some preliminary aspects of knowledge representation, a so-called "generalized AND/OR graph" is defined and then combined to the structure of a such knowledge.

K E Y W O R D S Knowledge representation, "generalized AND/OR graph."

1. INTRODUCTION

Firstly, we present a knowledge algebra, then define a

"generalized AND/OR graph". Some propositions and theorems are shown which affirm the admissibility of the construction.

Our approach is based on some algebraic and analytical tools over a vector space which clarifies the combination of concepts

from logics, relational structures and measures.

2. BASIS CONCEPTS AND DEFINITIONS [2], [4], [5], [6 ]

2 . 1 . D e f i n i t i o n (pseudo-metric space). Let S be a finite set

of definite objects from realworld, and let F be a finite set of functions f (1 £ q £ n) such that

'd.

The author receives one-year's fellowship from the Ministry of Culture and Education of Hungarian People 's Republic and work at BME-HEI under the scientific direction by Dr. Gábor Németh - Head of Comp. Tech. Dept at HEI.

(i) f : S x s -» W +

q

where S x S is the Cartesian product of S and IR+ is the set of all non negative real numbers.

(ii) fq satisfies the following conditions.

(a) V s ^ ,s2 e S

W s 2 > * fq (s2 's 1 >

(b) Vs 6 S f (s,s) = 0 q

S with F, denoteí (S,F)}, are named the pseudometric spaces f is called the distance function.

q

2 . 2 . d e f i n i t i o n (pseudodistance matrix). Call a matrix

D = (df.) 1 < i , j < k where l j J —

d ij = fg(s^,Sj) vsi ,Sj 6 S, 1 £ q £ n.

a pseudodistance matrix.

2 . 3 . D e f i n i t i o n (pseudo-Euclidean space). Call a vector

space V a pseudo-Euclidean space if there exists in V an inner product <.,.> satisfying the following conditions

(i) <u1+u2 ,v> = <u^,v > + < u ^ ,v> V u ^ ,

(ii) <cu^,v> = c<u^,v> V U 1 e V, (iii) < U 1,v> = <v,u1>

V U 1, V 6 V (iv) <u1,v> = 0 , Vu 1 6 > II A

u 2 ,v 6 V c 6 1

V = o

2 . 4 . D e f i n i t i o n (vector representation). Let /•••»V be the p pseudo-Euclidean subspaces in V such that with

P arbitrary i,j that i ^ j , fl = {0} and V = ty ^ Define a mapping g such that

g: ( (S, F) } -v {Vv ...fV }|g(S,f ) = V p } Call such g a vector representation of {(S,F)}.

2 . 5 . D e f i n i t i o n (equivalence relation). Let r be an arbitrary

relation in V, r is called an equivalence relation in V if the following conditions are held

(i) Vv € V, v r v (ii) V v 1 ,v2 € V, v 1 r

V 2 = > v 2 r V 1

(iii) V 1 ,v2 ,v3 6 V ' V 1 r v 2 & v 2 r v 3 = > v 3 r v.,

2 . 6 . P r o p o s i t i o n . { (S ,F ) } generates a set of pseudo distance m a t r i c e s .

2 . 7 . P r o p o s i t i o n . The set of all pseudodistance matrices forms a vector space with the usual operations on matrices. Consider a family of all subsets of the p-ary Cartesian product of V, denote R .

2 . 8 . P r o p o s i t i o n . R is a relational algebra.

2 . 9 . A f o r m a l p r o c e d u r e f o r k n o w l e d g e s t r u c t u r i n g .

Step 1. Choose functions f (1 £ q £ n) (heuristically) then define all pseudodistance matrices.

Step 2. Determine the function g.

Define a problem-oriented relational algebra on basis of V.

Determine an available equivalence relation r.

Classify all elements of V into equivalence classes.

Actually, there exists a natural quasi-order in P

^ v , , we return to theorem of Birkhoff that in our scopes, which has some interesting meanings.

P

2 . 1 0 . T h e o r e m . (Birkhoff, 1937). For "ff v the relation

a= l

(v1 #...,vp ) Q ( v 1 ' ,. . . ,v'p ) if ((vjj,..., Vp) 6 r =>

P (v1 , • • . /v ) 6 r, r 6 Tf V £

i SL= 1

defines an one-to-one mapping s from R to the family of all quasi-orders Q on yjp- v .

Jl=l 1

2 . 1 1 . D e f i n i t i o n (knowledge algebra). A knowledge algebra

is the following triplet

A = < { ( S ,F ) } , V, R> .

where {(S,F)} pseudometric spaces V - pseudo-Euclidean space

R - relational algebra on basis of V.

2 . 1 2 . D e f i n i t i o n (knowledge). Knowledge is an equivalence

class generated by an equivalence relation over V.

Step 3.

Step 4.

Step 5.

3. GENERALIZED AND/OR GRAPH

AND/OR graphs play a key role in the area of problem solving which is based on the first order predicate logics (see 8 ).

We propose here a new concept which theoretically generalize the class of AND/OR graphs.

3 . 1 . A s c h e m a t a o f g e n e r a l i z a t i o n There are 3 types of conjunctive AND.

There are 3 types of disjunctive OR.

( A l ) . i l l . A N D . Let A, B two arbitrary sentences A 1*1 B if A ,B happen within an interval of time by two forms.

• A happens before B, denote A b B,

• A happens after B, denote Aa B,

We put the estimation table for A B as follows:

B A

C 1

ao 3 1 b

o

12

b , t.

1 b

o e l V 1 0 0

b l V 2 e 2 0 1

ao 0 0

£ > V 3 a i

C 2

0 1

V 4 e 4

where a

o - (for A) means that A is false and happens after B.

a 1 - (for A) means that A is true and happens after B.

bo - (for A) means that A is false and happens before B.

b 1 - (for A) means that A is true and happens before B.

The same explains are applied to B.

v 1 , v 2 , v , v 4 € [0,1] and depend on the semantic of A and B.

0 _< e ^ « 1 0 <_ e 2 ^ 1

0 < e2 £ 1 0 < e 4 <_ 1

( A 2 ) A N D . It is understood as the usual meanings.

(A3). well-AND; A, B happen within the time interval

[t^',t2 '] 3 [t^,t2 ] by two forms similar to definition of ill-AND. The estimation table is as belows

A

B a

o

a

1 b

o

4

b i

bo 0

v i 0 0

b i v '

2 1 0 1

a

o 0 0 0

s

t 2

a i 0 1

v i 1

v^j > v^ , v 2 > v i , v 3 > v 3 ' v 4 > v 4 anci theY depend on the semantic of A and B.

( 0 1 ) i l l . ~ 0 N - With the same forms of happening like above,

the estimation table of A 1i1'B is

0 £ Y j « l ; 0 _<y^ « 1 0 < Y2 — 1’ 0 < y^ £ 1

U 1,U2 ,U3 ,UA 6 ^°’1^

(i=l,...,4) depend on the semantic of A, B.

(0 2). It is understood as the usual meaning.

( 0 3 ) w e l l - O R . The estimation table of A well B is as follows.

u : u l’ 2 *

u3 ’ u4 u4 ’ u J , u2 * , u^ QlO ,1]

3 . 2 . D e f i n i t i o n (generalized AND/OR graph).

A random graph is named "generalized AND/OR graph" if the following conditions are fulfilled:

(i) its nodes are pairs of (sentence, time p o i n t s ) ,

(ii) its edges are one of the below operations ill-AND,AND, we 11-AND

ill-OR, OR, well-OR.

3 . 3 . T h e o r e m . The set of all generalized AND/OR graph is isomorphic to

At = <{(S,F)}, V t , Rt>

where (S,F) - pseudometric spaces.

V t - a pseudo-Euclidean space for wchich it is combined by two spaces, a I-dimensional Euclidean space for the time-like vectors, and a(n-1)-dimensional Euclidean space for the feature-vectors,

R - a relational algebra over V, in which each relation is associated to a time point.

4. CONCLUSION

In this paper, our limited purpose is a firstly to propose a structure of knowledge. The results in this paper are the

first steps for us to reach further ones in another paper later.

5, ACKNOWLEDGEMENTS

We would like to thank Dr. G. Nemeth for the scientific and administrative helps during the time we stay at H E I .

REFERENCES

[1] Cohn, P.M., Universal Algebra, New York, 1965.

[2] Dieudonné, J., Fondements d'analyse mathématiques, Dunod, Paris, 1960.

[3] Diday, E., Simon. J.C., Clustering Analysis, in Comm, and Cybers, 10, Ed. by K.S. Fu. Springer-Verlag,

New York, 1980, pp. 47-92.

[4] Goldfab. L., An Outline of a New Approach to Pattern Recognition, in Control and Computers, vol. 13, Nr. 2, 1985.

[5] Grenander, U., Lectures on Pattern Theory, 3 volumes, Springer-Verlag, Berlin, 1978.

[6 ] Ha Hoang Hop, Truong Cong Dung, Algebraic aspects of matching problem (to appear).

[7] Lauriére, J.L., Representation et utilisation des connaissances. Techniques et Sciences Informatiques, vol. 1 . no. 1 . 1982.

[8 ] Nillson, N.J., Principles of Artificial Intelligence, Springer-Verlag, Berlin, 1981 (first Edition).

[9] Rosenfeld, A., Fuzzy graphs, in L.A. Zadeh "Fuzzy Sets and their Applications to Cognitive and Decision Problems" Acad. Press, 1975.

T h e C D L P r o g r a m m i n g S u p p o r t E n v i r o n m e n t f r o m D r e s d e n

M a n u e l J o i k o

I N T R O D U C T I O N

At t h e i m p l e m e n t a t i o n o f s y s t e m s o f t w a r e o r so- c a l l e d " l a r g e s o f t w a r e " f o r e v e r y k i n d o f c o m p u t e r t h e r e i s to t a k e c a r e o f p r o d u c i n g c o r r e c t , a d a p ­ t a b l e , p o r t a b l e , a n d e f f i c i e n t p r o g r a m s . T h i s s o f t w a r e q u a l i t y i s i n f l u e n c e d b y the m e t h o d s a p p ­ l i e d i n i t s d e s i g n , b y t h e l a n g u a g e c h o s e n f o r i t s c o n s t r u c t i o n , a n d by the t o o l s u s e d .

P r o d u c i n g l a r g e s o f t w a r e q u a l i t a t i v e l y d i f f e r s f r o m p r o d u c i n g s m a l l s o f t w a r e . T h e m a i n p r o b l e m i s t o o v e r c o m e t h e h i g h c o m p l e x i t y o f t h i s k i n d o f s o f t w a r e . P r o g r a m m i n g - i n - t h e - l a r g e t h a t m e a n s a l s o o r g a n i z a t i o n o f an o r d e r e d c o l l a b o r a t i o n b e t w e e n a l l w h i c h a r e e n g a g e d i n m a n i p u l a t i n g the p r o d u c t a l l o v e r the s o f t w a r e - l i f e c y c l e . T h e p r o d u c t i o n o f

s y s t e m s o f t w a r e i s s i m i l a r to t h e p r o d u c t i o n o f o t h e r t e c h n i c a l p r o d u c t s . A c c o r d i n g to t h i s p r o ­ j e c t p l a n n i n g a n d p r o j e c t m a n a g e m e n t p l a y an i m p o r t a n t r o l e . T h e r e i s t o c o n s i d e r t h a t t h e t r a ­ d i t i o n a l p r o g r a m m i n g l a n g u a g e s i n c l u d i n g t h e c o n ­ n e c t e d t o o l s w e r e d e v e l o p e d f o r the p r o g r a m m i n g - i n - t h e - s m a l l .

T o p r o d u c e c o r r e c t s o f t w a r e i t i s s u i t a b l e t o u s e a l a n g u a g e w h i c h s u p p o r t s s t r u c t u r e d p r o g r a m m i n g

a n d s t e p w i s e r e f i n e m e n t t e c h n i c s . F u r t h e r m o r e t h e l a n g u a g e s h o u l d g i v e p o s s i b i l i t i e s t o s p e c i f y the p r o p e r t i e s o f d a t a a n d a l g o r i t h m s . A n a l o g o u s to a l g e b r a i c a l s p e c i f i c a t i o n s in n u m e r i c a l m a t h e m a ­ t i c s the s p e c i f i c a t i o n s f o r s y s t e m s o f t w a r e s h o u l d be d e s c r i b e d by m e t a l i n g u i sti cal m e a n s b e c a u s e o f t h e n o n n u m e r i c a l n a t u r e o f t h o s e p r o g r a m s . T h e p r o g r a m m i n g s y s t e m s h o u l d i n c l u d e u s e r - f r i e n d l y e r r o r d i a g n o s t i c s b a s e d on the s p e c i f i c a t i o n s . An i n t e r a c t i v e d e b u g g i n g t o o l u s i n g t h e o b j e c t n a m e s

o f the s o u r c e p r o g r a m i s i n d i s p e n s a b l e t o p r o v e t h e c o r r e c t n e s s . F u r t h e r m o r e d e s i r a b l e i s the a u t o m a t i c g e n e r a t i o n o f a d e b u g g i n g e n v i r o n m e n t

f o r i n c o m p l e t e p r o g r a m s . F o r the a d m i n i s t r a t i o n o f l a r g e s o f t w a r e a d a t a b a s e - m a n a g e r i s a v e r y p o w e r ­ ful t ool a l s o .

A d a p t a b l e p r o g r a m s s h o u l d be p r i m a r y r e a d a b l e . The i d e a l s h o u l d be a c h i e v e d i f t h e r e i s o n l y one l a n g u a g e l e v e l h a n d l e d a l l o v e r the s o f t w a r e - l i f e ­ c y c l e a n d t h e p r o g r a m i s t h e d o c u m e n t a t i o n i t s e l f . An u s e r f r i e n d l y l i s t i n g g e n e r a t o r i n c l u d i n g p r e t

-•? t y - p r i n t e r , c r o s s - r e f e r e n c e r , a n d s o on s h o u l d

I

s u p p o r t the r e a d a b i l i t y . T h e u s e d l a n g u a g e s h o u l d fi

r

h a v e a m o d u l e a n d a l i b r a r y c o n c e p t . A l a n g u a g e

I . ¥

o r i e n t e d e d i t o r a n d a n i n t e r a c t i v e i n t e r m o d u l a r a n a l y z e r i n c l u d i n g s e g m e n t a t i o n s u p p o r t s h o u l d be a v a i l a b l e t o p e r f o r m t h e p r o g r a m m o d i f i c a t i o n s . A h i g h d e g r e e o f p o r t a b i l i t y c a n be a c h i e v e d o n l y by using a h i g h - l e v e l l a n g u a g e i n c l u d i n g t h e p o s s i b i l i t i e s o f v a r i a b l e t a r g e t c o d e g e n e r a t i o n .

F i n a l l y , t h e c u r r e n t d e v e l o p m e n t l e v e l of t h e m o s t a v a i l a b l e p e r s o n a l c o m p u t e r s d e m a n d s f o r e f f i c i e n t p r o g r a m s i n r u n - t i m e a n d m e m o r y s p a c e . T h e r e f o r e we s t i l l n e e d o p t i m i z e r s on the s o u r c e - / i n t e r m e ­ d i a t e - c o d e l e v e l a s w e l l a s on t h e t a r g e t - c o d e one. T o h a v e the p o s s i b i l i t y o f u s i n g a l l m a c h i n e p r o p e r t i e s is a l s o i n d i s p e n s i b l e f o r p r o d u c i n g e f f i c i e n t c o d e .

A c c o r d i n g t o t h e s e c l a i m s a g r o u p a t t h e T e c h n i c a l U n i v e r s i t y of D r e s d e n i n 1 9 7 4 s t a r t e d w i t h t h e d e v e l o p m e n t of a p r o g r a m m i n g s u p p o r t e n v i r o n m e n t b a s e d on the s y s t e m i m p l e m e n t a t i o n l a n g u a g e C D L p r o p o s e d by K O S T E R i n 1971 /2/.

T H E S Y S T E M I M P L E M E N T A T I O N L A N G U A G E C D L

The m a i n i d e a o f K O S T E R by d e f i n i n g C D L w a s t h e i n v e s t i g a t i o n of A f f i x G r a m m a r s c o n s i d e r i n g i t a s a p r o g r a m m i n g l a n g u a g e . O u r C D L i m p l e m e n t a t i o n r e a l i z e s f i v e i m p o r t a n t c o n c e p t s .

The c e n t r a l r o l e p l a y s t h e p r o c e d u r e c o n c e p t . A C D L p r o g r a m c o n s i s t s o f d e f i n i t i o n s o f s e v e r a l p r o c e d u r e s ( a c t i o n s a n d p r e d i c a t e s ) . T h e i r f u n c ­ t i o n s a r e d e f i n e d b y the c a l l s of o t h e r p r o c e d u r e s . In t h i s w a y the m e t h o d o f s t e p w i s e r e f i n e m e n t on a p r o b l e m o r i e n t e d l e v e l i s d i s t i n ­ g u i s h e d s u p p o r t e d . O n e a c h r e f i n e m e n t l e v e l t h e p r o b l e m t o be s o l v e d i s n a m e d i n t h e w a y of l i n g u ­ i s t i c a b s t r a c t i o n . T h e i n t e g r a t e d d e c o m p o s i n g m e c h a n i s m s u p p o r t s n o t o n l y the m e t h o d s of s t r u c

-t u r e d p r o g r a m m i n g , b u t e n f o r c e s s y n t a c t i c a l l y t r e e - s t r u c t u r e d p r o g r a m s .

B e c a u s e i t is i m p o s s i b l e t o c o n t i n u e t h e d e s c r i p t i o n o f a p r o c e d u r e by c a l l i n g of o t h e r p r o c e d u r e s e n d l e s s , C D L h a s the m a c r o c o n c e p t on the l o w e s t r e f i n e m e n t l e v e l t o d e s c r i b e the b a s e a l g o r i t h m s . T h e s e m a c r o s a r e d e f i n e d by u s i n g t h e m e a n s of t h e t a r g e t m a c h i n e . In t h i s w a y a l l p r o ­ p e r t i e s o f t h e t a r g e t l a n g u a g e c a n be u s e d b y C D L p r o g r a m m i n g . F o r e a c h p r o j e c t i t i s p o s s i b l e t o d e f i n e i t s o w n base m a c h i n e . In t h i s w a y C D L i s a n o p e n - e n d e d l a n g u a g e .

F u r t h e r m o r e C D L h a s a m o d u l e c o n c e p t w h i c h p e r ­ m i t s to d i v i d e a C D L p r o g r a m i n t o o n e m a i n m o d u l e a n d s e v e r a l a t t a c h e d m o d u l e s . E a c h m o d u l e i s s e p a ­ r a t e l y c o m p i l e d a n d c o n t a i n s a n e x a c t i n t e r f a c e s p e c i f i c a t i o n w ith the i m p o r t - a n d e x p o r t - c o n n e c ­ t i o n s to o t h e r m o d u l e s .

The d a t a c o n c e p t of C D L i s v e r y s i m p l e . It a l l o w s o n l y to d e f i n e d a t a b y d e t e r m i n i n g t h e n a m e , t h e m e m o r y s p a c e n e e d e d a n d the s c o p e . On the o t h e r side C D L s u p p o r t s d i s t i n g u i s h e d t h e d e f i n i t i o n of a b s t r a c t d a t a . The p r o p e r t i e s o f t h e s e d a t a a r e d e f i n e d o n l y b y the o p e r a t i o n s , w h i c h a r e e x e c u t e d o v e r t h e m .

F i n a l l y , t h e l i b r a r y c o n c e p t o f C D L a l l o w s the c o l l e c t i o n o f all d e f i n i t i o n s o f b a s e a l g o r i t h m s a n d c o n s t a n t s in one m o d u l e . T h e s e o b j e c t s c a n be u s e d in e a c h o t h e r m o d u l e w i t h o u t s p e c i f y i n g or d e f i n i n g t h e m once m o ^ e . S o t h e l i b r a r y c o n c e p t

p e r m i ts m a c h i n e de fi n e d w o r k in w a y .

the d i v i s i o n o f p r o b l e m o r i e n t e d a n d o r i e n t e d c o n s t r u c t s . If m a c r o s a r e o n l y in the l i b r a r y , t h e n i t i s p o s s i b l e to

the m o d u l e s o n l y i n a p r o b l e m o r i e n t e d

T H E C D L P R O G R A M M I N G S U P P O R T E N V I R O N M E N T

In the f o l l o w i n g p a r t the c o m p o n e n t s o f t h e p r o ­ g r a m m i n g s u p p o r t e n v i r o n m e n t a r e s h o r t l y d e s c r i ­ b e d . The i n t e r a c t i o n m e d i u m of a l l t h e s e t o o l s is a v i r t u a l d a t a m e m o r y o f 1 2 8 k b y t e s .

1. L a n g u a g e Ori e n t e d Edi t o r C L E D )

W i t h the e d i t o r i t i s p o s s i b l e to e n t e r a n d m o d i f y C D L s o u r c e t e x t e s s y n t a x o r i e n t e d i n a n i n t e r a c ­ t i v e way. T h e e d i t o r h a n d l e s the t e x t e s i n an i n t e r n a l m a n n e r ( E D D ) .

2. M o d u l a r A n a l y z e r ( A N A ) .

T o t h i s c o m p o n e n t b e l o n g t h e l e x i c a l a n d s y n t a c t i ­ c a l a n a l y z e r s , t h e i n t e r m e d i a t e c o d e s y n t h e s i z e r , a n d t h e s e m a n t i c e k e c k e r . I t p r o d u c e s a n i n t e r m e ­ d i a t e p r o g r a m IP i n the v i r t u a l m e m o r y . T h i s i n t e r m e d i a t e p r o g r a m i s a l i s t s t r u c t u r e w h i c h is v e r y s u i t a b l e f o r o p t i m i z a t i o n s .

T h e s e t o o l s a r e s u r r o u n d e d by a p r e t t y - p r i n t e r P P R ) a n d a c r o s s - r e f e r e n c e r ( C R F ) .

3. I n t e r m e d i a t e C o d e O p t i m i z e r ( I C O )

T h e i n t e r m e d i a t e c o d e o p t i m i z e r p e r f o r m s o n l y m a c h i n e - i n d e p e n d e n t o p t i m i z a t i o n s . It a n a l y z e s t h e i n t e r m e d i a t e p r o g r a m i n t h e v i r t u a l m e m o r y a n d r e ­ s t o r e s the o p t i m i z e d p r o g r a m b a c k . The o p t i m i z a t i o n s w h i c h a r e p e r f o r m e d a r e d e s c r i b e d

now:

- P r o c e d u r e s w h i c h a r e n o t r e a c h a b l e f r o m the r o o t s of t h e p r o g r a m g r a p h a r e d e l e t e d .

- D a t a w h i c h a r e d e f i n e d b u t n e v e r u s e d w i l l be o p t i o n a l l y d e l e t e d .

- P r o c e d u r e s w h i c h a r e c a l l e d s t a t i c a l l y o n l y a f e w t i m e s , a r e r e m o v e d b y c o p y i n g t h e p r o c e d u ­ r e ' s b o d y i n s t e a d o f t h e c a l l .

- A r e t h e r e s o m e e q u i v a l e n t e n d s of a l t e r n a t i v e s , t h e y a r e u n i t e d a n d w i l l be r e p r e s e n t e d i n t h e t a r g e t p r o g r a m o n l y o n c e .

- D i r e c t r i g h t r e c u r s i v e p r o c e d u r e c a l l s a r e r e p l a c e d by j u m p s to t h e s t a r t of the p r o c e d u r e . - In c a s e o f e q u a l a c t u a l p a r a m e t e r s f o r o n e f o r ­

m a l p a r a m e t e r i n e v e r y c a l l o f a p r o c e d u r e , t h e p a r a m e t e r - l i s t i s d e c r e a s e d by s u b s t i t u t i n g t h i s f o r m a l p a r a m e t e r by the c o m m o n a c t u a l p a r a m e t e r . - T o s a v e m e m o r y s p a c e i t i s a d v a n t a g e o u s to

r e m o v e s o m e c a l l s by i n t e r n a l p a r a m e t e r l e s s p r o ­ c e d u r e s .

4. V a r i a b l e T a r g e t C o d e G e n e r a t o r ( T C G )

T h e e x p e n s e of s e r v i c e a n d f u r t h e r d e v e l o p m e n t of a p r o g r a m m i n g s y s t e m i s v e r y h i g h i f t h e r e i s a s p e c i a l c o d e g e n e r a t o r on e v e r y h o s t m a c h i n e f o r e a c h t a r g e t l a n g u a g e a n d o p e r a t i n g s y s t e m . T h e e x p e r i e n c e s h o w e d t h a t l a r g e p a r t s o f c o d e g e n e r a ­ t i o n a r e i n d e p e n d e n t f r o m t h e t a r g e t l a n g u a g e t oo.

T o s t a n d a r d i z e the c o d e g e n e r a t o r s a l l m a c h i n e -d e p e n -d e n t a l g o r i t h m s w e r e p u t a w a y f r o m t h e g e n e r a t o r . S o the r e m a i n i n g p a r t i s m a c h i n e - i n d e ­

p e n d e n t a n d c a n be c o n s i d e r e d as b a s i c o p e r a t i o n s of a p r o g r a m m a b l e a u t o m a t o n . In a p r o g r a m f o r t h i s a u t o m a t o n i t i s p o s s i b l e t o r e p r e s e n t t h o s e g e n e r a t i o n p a r t s w h i c h a r e i n f l u e n c e d b y t h e

t a r g e t l a n g u a g e . T h e c o d e g e n e r a t o r b e c o m e s a n i n t e r p r e t e r o f t h o s e s p e c i a l p r o g r a m s . B y w r i t i n g d i f f e r e n t s p e c i a l p r o g r a m s a n y t a r g e t c o d e i s p r o - d u c a b l e by o n l y one c o d e g e n e r a t o r .

T o g e t a n e f f e c t i v e c o d e g e n e r a t i o n on the one h a n d a n d a l s o a n a c c e p t a b l e c o m f o r t o f w r i t i n g

s u c h p r o g r a m s on the o t h e r h a n d , i t w a s c r e a t e d a s p e c i a l T a r g e t C o d e G e n e r a t i o n L a n g u a g e ( T G L ) to f o r m u l a t e the p r o g r a m s . A s i m p l e T G L - c o m p i l e r ( T G L C ) t r a n s l a t e s t h o s e p r o g r a m s i n t o a n i n t e r n a l f o r m ( T G D ) w h i c h i s s u i t a b l e f o r a n e f f e c t i v e c o d e g e n e r a t i o n .

5. V a r i a b l e T a r g e t C o d e O p t i m i z a t i o n C T C P )

An i n s p e c t i o n o f t h e t a r g e t c o d e s h o w e d t h a t

p r o g r a m s w h i c h a r e o p t i m i z e d in a m a c h i n e - i n d e p e n ­ d e n t w a y o n l y c o n t a i n s o m e t y p i c a l u n e f f i c i e n c i e s . A g o o d c o m p i l e r - s y s t e m s h o u l d a v o i d s u c h p o i n t of c r i t i c i s m b y p e e p h o l e o p t i m i z a t i o n s on the t a r g e t c o d e l e v e l . The i d e a o f a p o r t a b l e t a r g e t c o d e o p t i m i z e r i s s i m i l a r t o the v a r i a b l e c o d e g e n e r a ­ t i o n . The c o d e - i n d e p e n d e n t a l g o r i t h m s a r e s u m m a r i ­ z e d to the t a r g e t c o d e o p t i m i z e r . T h e d e p e n d e n c i e s f r o m t a r g e t c o d e a r e d e s c r i b e d i n a s p e c i a l T r a n s ­ f o r m a t i o n a l L a n g u a g e C T R L ) . T h i s l a n g u a g e b a s e s on the f o r m a l i s m of a t t r i b u t e d t r a n s f o r m a t i o n a l g r a m ­ m a r s .

A p r o g r a m of t h i s l a n g u a g e d e s c r i b e s the s y n t a c t i c a l s t r u c t u r e o f the t a r g e t c o d e a n d s o m e s e m a n t i c a l a s p e c t s w h i c h a r e i m p o r t a n t f o r t h e o p t i m i z a t i o n s . F u r t h e r m o r e it c o n t a i n s the p a t t e r n s f o r o p t i m i z a t i o n c o n d i t i o n s a n d t h e t r a n s f o r m a ­ t i o n s . T h e o p t i m i z e r w o r k s l i k e a n i n t e r p r e t e r o v e r the i n t e r n a l r e p r e s e n t a t i o n o f a T R L - p r o g r a m m ( T R D ) p r o d u c e d by the T R L - c o m p i l e r ( T R L C ) .

6. I n t e r a c t i v e D e b u g g i n g T o o l ( C D T )

The v a r i a b l e t a r g e t c o d e g e n e r a t o r o f the C D L - s y s t e m is a w e l l - s u i t e d i n v e n t i o n f o r i n t e r a c t i v e d e b u g g i n g . B y a m o d i f i e d g e n e r a t i o n d e s c r i p t i o n - a n e w T G L - p r o g r a m - i t i s p o s s i b l e t o g e n e r a t e a t a r g e t c o d e w h i c h c o n t a i n s a l l i n f o r m a t i o n s n e c e s ­ s a r y for i n t e r a c t i v e d e b u g g i n g on a C D L s o u r c e l e v e l . T h e C D T p r o v i d e s a l o t of f u n c t i o n s :

- s e t t i n g t r a c e - a n d b r e a k p o i n t s ,

- s e t t i n g c o n d i t i o n s w h i c h c a n be c o n n e c t e d w i t h o t h e r f u n c t i o n s ,

- i n s p e c t i o n o f a l l a c t i v e p r o c e d u r e s for e x a m p l e to c o n t i n u e w i t h a n y s u c h p r o c e d u r e y o u l i k e , - s h o w i n g a n d c h a n g i n g o f a n y d a t a y o u wan t ,

- s t a r t i n g t h e d e b u g g i n g a i d o f t h e o p e r a t i n g s y s t e m f o r d e b u g g i n g on the t a r g e t lev e l ,

- c o l l e c t i n g s t a t i s t i c a l d a t a a b o u t r u n - t i m e ,

- i n t e r r u p t p o s s i b i l i t i e s d u r i n g t h e t e s t b y t h e o p e r a t o r ,

- p o c k e t c a l c u l a t o r f u n c t i o n s ,

- s h o w i n g C D L s o u r c e s d u r i n g t h e t e s t .

F u r t h e r m o r e C D T p r o v i d e s 6 d a t a types, h a r d c o p i e s , f i l e s e r v i c e a n d h a n d l e s e r r o r s w h i c h n o r m a l l y w o u l d c a n c e l the p r o g r a m . T h e C D T i s w r i t t e n i n C D L a n d s o h i g h l y p o r t a b l e .

7. I n t e r m o d u l a r A n a l y z e r ( I M A )

T h e I n t e r m o d u l a r A n a l y z e r is a n i n t e r a c t i v e s y s t e m w h i c h a n a l y z e s the r e l a t i o n s b e t w e e n the m o d u l e s o f a C D L - p r o g r a m . It g i v e s a l o t o f i n f o r m a t i o n s a b o u t the w h o l e p r o g r a m as a s u p e r c r o s s -r e f e r e n c e r . F u r t h e r m o r e I M A s u p p o r t s the s e g m e n t a ­ t i o n o f C D L - p r o g r a m s a n d t h e c o n s t r u c t i o n o f t e s t f r a m e s .

8. D a t a b a s e M a n a g e m e n t S y s t e m ( D M S )

The D a t a b a s e M a n a g e m e n t S y s t e m c o n t r o l s a n d

manag«* the development of a CDL-program. It handles the several representations of the modu­

les. The aim Is that users only work In the CDL 4 programming support and do not need no other environment. It prevents user operations from leaving a project in an inconsistent state.

~"9. Library Compiler (LIBC)

The Library Compiler transforms CDL— libraries into a special internal representation called library description LBD.

The pretty— printer and the cross-referencer process also libraries.

AVAILABILITY

In 1974 our group started with the implementation on the HONEYWBLL-like R4000 (an older computer produced in the G.D.R.) The first version was pro­

grammed in FORTRAN. After that the programming system was written in CDL itself and was boot­

strapped to other machines.

Presently the CDL programming support environment works on PDP11-like machines under RSX11 and on IBM370-like machines under OS. Now the group is

/

engaged in completing the system on the several machines.

Members of our group started to bootstrap the

system to INTEL8086-like and Z80-like machines under CP/M . Table 1 shows the availability of the components •

PDP11 IBM370 IN8086 Z80 R4000