a conceptual analysis of the draco approach to constructing software systems

15
IEEE TRANSACTIONS O N SOFTWARE ENGINEERING, VOL. SE-13, N O . 7 , JULY 1987 A Conceptual Analysis o t he Draco Approach t o Constructing Software Systems PETER FREEMAN, MEMBER, IEEE Abstract-This paper analyzes the concepts o f software construction embodied i n t h e Draco approach. Th e analysis relates specific aspects o f Draco t o particular software engineering (SE) principles a n d sug- gests future research needed to extend t h e approach. Th e purpose o f this analysis i s t o help researchers understand Draco better a n d thus t o enhance future research. Index Terms-Domain-based development, reusability, S E princi- ples, transformational development. I. CONTEXT DRACO [15], [16], [17] i s a n approach t o th e co-n- struction of similar software systems from reusable software components. A prototype o f a tool based o t h e approach ha s been built a n d i t s usage i s being explored. T h e principles o f t he approach a r e being further devel- oped i n t h e context o f a broader effort to improve o u r abil- i t y to reuse previous software engineering results [11]. This part t he paper describes the context i n which Draco exists. A . Reusable Software Engineering T h e twin forces o f escalating costs a n d demands f o r im- proved quality have driven t h e creation o f n e w software development technology f or almost 2 0 years [8]. While cost (both initial a nd lifetime) h a s been th e primary driver, the demand f o r increased quality i n software-in- tensive systems i s emerging a s a n equally important force. Reusable software engineering [9], [11] i s on e wa y o f a d - dressing these concerns. Fig. 1 presents th e fundamental concept o f reusable software engineering. A n y software engineering activity (the analysis o f requirements, creation o f a design, plan- ning - o f a series o f tests, a n d s o o n ) should b e organized a nd based o n principles that permit a n d encourage two specific subactivities-the explicit u s e o f information d e - veloped i n a previous occurrence o f th e activity and the creation o f information ( i n addition to th e immediate workproduct) that m a y be reused i n a later instance o f t h e activity. Manuscript received October 31 , 1984; revised July 3 1 , 1986. This work w a s supported by the National Science Foundation under Grant MCS-83- 4439 from t h e Software Engineering program o f t h e Division o f Computing Activities. T he author i s with t h e Department o f Information a n d Computer Sci- ence, University o f California, Irline, C A 92717. IEEE L o g Number 8714560. CONSTRAINTS REQUIRaAeMNT, TWFORM.ATION O N tHIS TASr. K - tR.ESUL.TS PERFORZM S E IWFORAKflO TASK INFORMATgON FFROM1PREV~ USEFUL. i N FuJ-URe TASKS SS SFFCrTS Fig. 1 . Central idea o f reusable software engineering. T h e prima'y objective o f reusable software engineering is to reduce th e system-lifecycle cost a n d improve t h e quality o f systems. This objective includes t he specific goals o f reusing designs as well a s code, capturing prob- lem-domain information in a manner that permits i t s easy reuse, avoiding redundant work wherever possible, a n d amortizing th e cost o f a piece o f software over t h e largest possible number o f systems. W e a nd others ar e working toward fulfilling these objectives i n various ways [1], [14]. T h e Draco approach, a specific paradigm, permits th e reuse o f analysis ( b y capturing understanding i n domain- specific languages) a n d t h e reuse of design ( i n t h e com- ponents that implement t h e languages). A broad under- standing o f Draco however, must include this larger con- text o f reusable software engineering that motivates o u r work o n i t . B . Supporting Technologies T h e Draco approach utilizes several notions fromcom- puter science a n d software engineering including: * meta-compiler techniques, * high-level languages, * refinement into lower-level languages, * modeling application domains, * source-to-source program transformations, * software components. While these concepts have been explored and utilized i n countless ways, Draco brings them together i n a n e w a nd productive way. A s we analyze Draco, bear in mind that i t exists i n t h e context o f these technologies. C . Paper Overview This paper analyzes t h e Draco approach and places i t i n a spectrum of software engineering/computer science concepts a n d objectives. While practitioners m ay b e terested i n th e approach, o u r intended audience is com- 0098-5589/87/0700-0830$01.00 © 1987 IEEE 8 3 0

Upload: diduzopan

Post on 10-Apr-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A Conceptual Analysis of the Draco Approach to Constructing Software Systems

8/8/2019 A Conceptual Analysis of the Draco Approach to Constructing Software Systems

http://slidepdf.com/reader/full/a-conceptual-analysis-of-the-draco-approach-to-constructing-software-systems 1/15

I E E E TRANSACTIONS ON SOFTWARE E N G I N E E R I N G , V O L . S E - 1 3 , N O . 7 , JULY 1 9 8 7

AConceptual Analysis of the Draco Approach to

C o n s t r u c t i n g S o f t w a r e S y s t e m s

PETER FREEMAN, MEMBER, IEEE

A b s t r a c t - T h i s p a p e r a n a ly z e s t h e c o n c e p t s o f s o f t w a r e c o n s t r u c t i o ne m b o d i e d i n t h e D r a c o a p p r o a c h . Th e a n a l y s i s r e l a t e s s p e c i f i c a s p e c t s

o f D r a c o t o p a r t i c u l a r s o f t w a r e e n g i n e e r i n g ( S E ) p r i n c i p l e s a n d s u g -g e s t s f u t u r e r e s e a r c h n e e d e d t o e x t e n d t h e a p p r o a c h . Th e p u r p o s e o f

t h i s a n a l y s i s i s t o h e l p r e s e a r c h e r s u n d e r s t a n d D r a c o b e t t e r a n d t h u s

t o e n h a n c e f u t u r e r e s e a r c h .

I n d e x T e r m s - D o m a i n - b a s e d d e v e l o p m e n t , r e u s a b i l i t y , SE p r i n c i -p l e s , t r a n s f o r m a t i o n a l d e v e l o p m e n t .

I . CONTEXT

DRACO [ 1 5 ] , [ 1 6 ] , [ 1 7 ] i s a n a p p r o a c h t o t h e c o - n -s t r u c t i o n o f s i m i l a r s o f t w a r e s y s t e m s f r o m r e u s a b l e

s o f t w a r e c o m p o n e n t s . A p r o t o t y p e o f a t o o l b a s e d o n t h ea p p r o a c h h a s b e e n b u i l t a n d i t s u s a g e i s b e i n g e x p l o r e d .T h e p r i n c i p l e s o f t h e a p p r o a c h a r e b e i n g f u r t h e r d e v e l -o p e d i n t h e c o n t e x t o f a b r o a d e r e f f o r t t o i m p r o v e o u r a b i l -i t y t o r e u s e p r e v i o u s s o f t w a r e e n g i n e e r i n g r e s u l t s [ 1 1 ] .T h i s p a r t o f t h e p a p e r d e s c r i b e s t h e c o n t e x t i n w h i c h D r a c oe x i s t s .

A . R e u s a b l e S o f t w a r e E n g i n e e r i n g

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

p r o v e d q u a l i t y h a v e d r i v e n t h e c r e a t i o n o f new s o f t w a r ed e v e l o p m e n t t e c h n o l o g y f o r a l m o s t 2 0 y e a r s [ 6 ] , [ 4 ] , [ 8 ] .W h i l e c o s t ( b o t h i n i t i a l a n d l i f e t i m e ) h a s b e e n t h e p r i m a r yd r i v e r , t h e d e m a n d f o r i n c r e a s e d q u a l i t y i n s o f t w a r e - i n -t e n s i v e s y s t e m s i s e m e r g i n g a s a n e q u a l l y i m p o r t a n t f o r c e .R e u s a b l e s o f t w a r e e n g i n e e r i n g [ 9 ] , [ 1 1 ] i s o n e way o f a d -d r e s s i n g t h e s e c o n c e r n s .

F i g . 1 p r e s e n t s t h e f u n d a m e n t a l c o n c e p t o f r e u s a b l es o f t w a r e e n g i n e e r i n g . Any s o f t w a r e e n g i n e e r i n g a c t i v i t y( t h e a n a l y s i s o f r e q u i r e m e n t s , c r e a t i o n o f a d e s i g n , p l a n -n i n g - o f a s e r i e s o f t e s t s , a n d s o o n ) s h o u l d b e o r g a n i z e da n d b a s e d o n p r i n c i p l e s t h a t p e r m i t a n d e n c o u r a g e t w os p e c i f i c s u b a c t i v i t i e s - t h e e x p l i c i t u s e o f i n f o r m a t i o n d e -

v e l o p e d i n a p r e v i o u s o c c u r r e n c e o f t h e a c t i v i t y a n d t h ec r e a t i o n o f i n f o r m a t i o n ( i n a d d i t i o n t o t h e i m m e d i a t ew o r k p r o d u c t ) t h a t ma y b e r e u s e d i n a l a t e r i n s t a n c e o f t h ea c t i v i t y .

M a n u s c r i p t r e c e i v e d O c t o b e r 3 1 , 1 9 8 4 ; r e v i s e d J u l y 3 1 , 1 9 8 6 . T h i s w o r kw a s s u p p o r t e d b y t h e N a t i o n a l S c i e n c e F o u n d a t i o n u n de r G r a n t M C S - 8 3 -4 4 3 9 f r o m t h e S o f t w a r e E n g i n e e r i n g p r o g r a m o f t h e D i v i s i o n o f C o m p u t i n gA c t i v i t i e s .

T h e a u t h o r i s w i t h t h e D e p a r t m e n t o f I n f o r m a t i o n a n d C o m p u t e r S c i -e n c e , U n i v e r s i t y o f C a l i f o r n i a , I r l i n e , C A 9 2 7 1 7 .

I E E E L o g Number 8 7 1 4 5 6 0 .

CONSTRAINTS R E Q U I R a A e M N T ,

T W F O R M . A T I O NO N t H I S T A S r .Kp- t R . E S U L . T S

PERFORZM SEIWFORAKflO TASK INFORMATgONF F R O M 1 P R E V ~ USEFUL. i N F u J - U R eTASKS SS SFFCrTS

F i g . 1 . C e n t r a l i d e a o f r e u s a b l e s o f t w a r e e n g i n e e r i n g .

T h e p r i m a ' y o b j e c t i v e o f r e u s a b l e s o f t w a r e e n g i n e e r i n gi s t o r e d u c e t h e s y s t e m - l i f e c y c l e c o s t a n d i m p r o v e t h eq u a l i t y o f s y s t e m s . T h i s o b j e c t i v e i n c l u d e s t h e s p e c i f i cg o a l s o f r e u s i n g d e s i g n s a s w e l l a s c o d e , c a p t u r i n g p r o b -l e m - d o m a i n i n f o r m a t i o n i n a m a n n e r t h a t p e r m i t s i t s e a s yr e u s e , a v o i d i n g r e d u n d a n t w o r k w h e r e v e r p o s s i b l e , a n da m o r t i z i n g t h e c o s t o f a p i e c e o f s o f t w a r e o v e r t h e l a r g e s tp o s s i b l e n u m b e r o f s y s t e m s . W e a n d o t h e r s a r e w o r k i n gt o w a r d f u l f i l l i n g t h e s e o b j e c t i v e s i n v a r i o u s w a y s [ 1 ] , [ 1 4 ] .T h e D r a c o a p p r o a c h , a s p e c i f i c p a r a d i g m , p e r m i t s t h er e u s e o f a n a l y s i s ( b y c a p t u r i n g u n d e r s t a n d i n g i n d o m a i n -s p e c i f i c l a n g u a g e s ) a n d t h e r e u s e o f d e s i g n ( i n t h e c o m -p o n e n t s t h a t i m p l e m e n t t h e l a n g u a g e s ) . A b r o a d u n d e r -

s t a n d i n g o f D r a c o h o w e v e r , m u s t i n c l u d e t h i s l a r g e r c o n -t e x t o f r e u s a b l e s o f t w a r e e n g i n e e r i n g t h a t m o t i v a t e s o u rw o r k o n i t .

B . S u p p o r t i n g T e c h n o l o g i e s

T h e D r a c o a p p r o a c h u t i l i z e s s e v e r a l n o t i o n s f r o m c o m -p u t e r s c i e n c e a n d s o f t w a r e e n g i n e e r i n g i n c l u d i n g :

* m e t a - c o m p i l e r t e c h n i q u e s ,* h i g h - l e v e l l a n g u a g e s ,* r e f i n e m e n t i n t o l o w e r - l e v e l l a n g u a g e s ,* m o d e l i n g a p p l i c a t i o n d o m a i n s ,* s o u r c e - t o - s o u r c e p r o g r a m t r a n s f o r m a t i o n s ,

* s o f t w a r e c o m p o n e n t s .W h i l e t h e s e c o n c e p t s h a v e b e e n e x p l o r e d a n d u t i l i z e d

i n c o u n t l e s s w a y s , D r a c o b r i n g s t h e m t o g e t h e r i n a n ewa n d p r o d u c t i v e w a y . A s w e a n a l y z e D r a c o , b e a r i n m i n dt h a t i t e x i s t s i n t h e c o n t e x t o f t h e s e t e c h n o l o g i e s .

C . P a p e r O v e r v i e w

T h i s p a p e r a n a l y z e s t h e D r a c o a p p r o a c h a n d p l a c e s i ti n a s p e c t r u m o f s o f t w a r e e n g i n e e r i n g / c o m p u t e r s c i e n c e

c o n c e p t s a n d o b j e c t i v e s . W h i l e p r a c t i t i o n e r s ma y b e i n -t e r e s t e d i n t h e a p p r o a c h , o u r i n t e n d e d a u d i e n c e i s com-

0 0 9 8 - 5 5 8 9 / 8 7 / 0 7 0 0 - 0 8 3 0 $ 0 1 . 0 0 © 1 9 8 7 IEEE

8 3 0

Page 2: A Conceptual Analysis of the Draco Approach to Constructing Software Systems

8/8/2019 A Conceptual Analysis of the Draco Approach to Constructing Software Systems

http://slidepdf.com/reader/full/a-conceptual-analysis-of-the-draco-approach-to-constructing-software-systems 2/15

FREEMAN: DRACO APPROACH T O C O NS TR U CT I NG S O F T W A R E SYSTEMS

p o s e d o f r e s e a r c h e r s i n t e r e s t e d i n f u r t h e r d e v e l o p m e n t o ft h e c o n c e p t s e m b o d i e d i n D r a c o .

N e i g h b o r s ' t h e s i s h a s b e e n w i d e l y d i s t r i b u t e d a n d s t i l lp r o v i d e s t h e most d e t a i l e d p u b l i s h e d d e s c r i p t i o n o f D r a c o .R e f e r e n c e [ 1 7 ] p r o v i d e s a summary w h i l e [ 1 6 ] p r o v i d e so p e r a t i o n a l i n f o r m a t i o n o n D r a c o .

O u r pape r h a s f o u r a d d i t i o n a l s e c t i o n s a n d a n A p p e n -

d i x . S e c t i o n II p r o v i d e s a n o v e r v i e w o f t h e D r a c o ap-

p r o a c h , e x p l a i n s t h e o p e r a t i o n a l c o n t e x t i n w h i c h i t i s i n -t e n d e d t o b e u s e d ( w h i c h i s f u r t h e r d e t a i l e d i n t h e

A p p e n d i x ) , d e f i n e s s e v e r a l k e y r o l e s i n v o l v e d i n i t s usage,

a n d d i s c u s s e s t h e o p e r a t i o n a l s t a t u s o f t h e e x p e r i m e n t a lt o o l . S e c t i o n I I I a n a l y z e s D r a c o f r o m t h e s t a n d p o i n t o ft h e primary c o n c e p t s on w h i c h i t i s b a s e d a n d t h e i r r e l a -t i o n s h i p t o SE o b j e c t i v e s . S e c t i o n s I V a n d V d i s c u s s o u r

i n t e r p r e t a t i o n o f r e s u l t s a n d s u g g e s t p a t h s f o r f u r t h e r d e -

v e l o p m e n t o f t h e D r a c o a p p r o a c h t o s o f t w a r e c o n s t r u c -

t i o n .

II . D E S C R I P T I O N

I n t h i s s e c t i o n we w i l l r e v i e w w h a t D r a c o d o e s a n d ho wi t d o e s i t ( s e e [ 1 5 ] a n d [ 1 7 ] , f o r more d e t a i l ) . T h i s d e -

s c r i p t i o n , a l t h o u g h b r i e f , w i l l p e r m i t you t o u n d e r s t a n do u r a n a l y s i s o f t h e u n d e r l y i n g t e c h n o l o g y ev e n i f y o u h a v en o t r e a d t h e e a r l i e r papers.

T h e D r a c o p a r a d i g m c a n b e v i e w e d , a n d t h u s c h a ra c -t e r i z e d , f r o m s e v e r a l v i e w p o i n t s . T h e o r i g i n a l m o t i v a t i o nf o r i t s d e v e l o p m e n t was t o p r o v i d e a way o f c o n s t r u c t i n gs o f t w a r e s y s t e m s f r o m p r e e x i s t i n g components n o t n e c-

e s s a r i l y c o n s t r u c t e d w i t h a p a r t i c u l a r t a r g e t s y s t e m i nm i n d . A c l o s e l y a l l i e d v i e w p o i n t i s t h a t i t i s a n e x t e n d a b l ep r og r a m g e n e r a t o r ; t h a t i s , t h a t t h e t o o l i t s e l f p l u s a s e t

o f d o m a i n s c a n b e c o n f i g u r e d t o g e n e r a t e a c l a s s o f s i m i l a rs o f t w a r e s y s t e m s o f a s p e c i f i c k i n d , b u t t h a t t h e c l a s s c a n

b e e a s i l y c h a n g e d . ( A n o t h e r way o f s t a t i n g t h i s p a r t i c u l a rc h a r a c t e r i z a t i o n i s t o c o n s i d e r i t a p r o g r a m - g e n e r a t o r gen-

e r a t o r . ) A t h i r d vi e w i s t h a t i t p e r m i t s o n e t o b u i l d a n

o p e n - e n d e d s e t o f s p e c i f i c a t i o n l a n g u a g e s t o b e u t i l i z e dw i t h i t s m e c h a n i s m f o r t r a n s f o r m i n g s p e c i f i c a t i o n s i n t o a n

e x e c u t ab l e f o r m .Tw o t h i n g s s h o u l d b e k e p t i n m i n d as y o u r e a d t h i s pa -

p e r . F i r s t , a l l o f t h e s e v i e w p o i n t s are a c c u r a t e , s i m p l ye x p r e s s i n g d i f f e r e n t c h a r a c t e r i z a t i o n s o f t h e same t h i n g ' .S e c o n d , a c l e a r d i s t i n c t i o n s h o u l d b e m a i n t a i n e d b e t w e e nt h e D r a c o a p p r o a c h , o r p a r a d i g m , a n d t h e D r a c o t o o l . T h e

a p p r o a c h i n c l u d e s a n u m b e r o f t h i n g s n o t i n c l u d e d i n t h et o o l ( f o r e x a m p l e , how t o o b t a i n t h e i n f o r m a t i o n n e e d e dt o d e f i n e a s p e c i f i c a t i o n l a n g u a g e ) , a n d a p a r t i c u l a r ver-

s i o n of t h e t o o l ( s u c h a s our c u r r e n t p r o t o t y p e ) may i m -p l e m e n t c e r t a i n f a c e t s o f t h e p a r a d i g m i n p a r t i c u l a r w ays .

Our f o c u s h e r e w i l l p r i m a r i l y b e on t h o s e a s p e c t s o f t h e

p a r a d i g m t h a t we a r e r e a s o n a b l y c o n f i d e n t c a n b e r e a l i z e di n a t o o l , a l t h o u g h n o t n e c e s s a r i l y t h e s p e c i f i c o n e o n

w h i c h we a r e c u r r e n t l y w o r k i n g .In a d d i t i o n t o i t s f u n c t i o n a l o p e r a t i o n , o n e s h o u l d u n -

d e r s t a n d t h e o r g a n i z a t i o n a l s e t t i n g e n v i s i o n e d f o r D r a c o ' s

d e p l o y m e n t ( a s t h i s i s s o m e w h a t d i f f e r e n t f r o m " t r a d i -t i o n a l " s o f t w a r e

e n g i n e e r i n g t o o l s a n d t e c h n i q u e s ) .T h i s

i s i l l u s t r a t e d i n a p a r t i a l S A D T T m o d e l i n t h e A p p e n d i x . 1S e v e r a l a s s u m p t i o n s a b o u t D r a c o m u s t b e made e x p l i c i t :

* D r a c o i s i n t e n d e d f o r u s e i n s i t u a t i o n s i n w h i c h n u -m e r o u s , s i m i l a r s y s t e m s w i l l b e c r e a t e d o v e r t i m e ( e . g . ,p a y r o l l s y s t e m s , p r o j e c t s c h e d u l i n g s y s t e m s , e d u c a t i o n a lp r o g r a m s , e t c . ) ;

* F o r a g i v e n a p p l i c a t i o n d o m a i n ( e . g . , s t a t i s t i c a l r e -p o r t g e n e r a t i o n ) a n a n a l y s i s o f t h i s d o m a i n m u s t b e madea n d d e f i n e d t o D r a c o b e f o r e i t c a n b e u s e d t o g e n e r a t ep r o g r a m s i n t h e d o m a i n ;

* D r a c o i s n o t a f u l l y a u t o m a t i c p r o g r a m g e n e r a t o r , b u tr a t h e r a i d s t h e s y s t e m c r e a t o r i n a n i n t e r a c t i v e m a n n e r .( T h e a m o u n t o f i n t e r a c t i o n c a n b e k e p t s m a l l , h o w e v e r ,t h r u t h e u s e o f a r u d i m e n t a r y " s u r r o g a t e d e s i g n e r " c o n -c e p t c a l l e d t a c t i c s . )

A . W h a t D o e s D r a c o Do ?

From t h e s t a n d p o i n t o f s o f t w a r e t e c h n o l o g y , D r a c o c a nb e v i e w e d a s a s y s t e m t h a t p r o v i d e s t w o m a i n f u n c t i o n s :

1 ) t h e d e f i n i t i o n a n d i m p l e m e n t a t i o n o f l a n g u a g e s o f v a r -i o u s t y p e s ( p r o p e r l y v i e w e d a s s p e c i f i c a t i o n l a n g u a g e s )a n d 2 ) a s s i s t a n c e i n a n d p a r t i a l a u t o m a t i o n o f t h e t a s k o fr e f i n i n g a s p e c i f i c a t i o n o f a d e s i r e d s y s t e m ( g i v e n i n o n eo f t h e l a n g u a g e s k n o w n t o D r a c o ) i n t o a n o t h e r l a n g u a g e ,p r e s u m a b l y m o r e c o n c r e t e o r e x e c u t a b l e , ( a l s o known t oD r a c o ) . D r a c o p r o v i d e s a s s i s t a n c e i n o p t i m i z i n g t h e p r o -g r a m s p r o d u c e d , m a n a g i n g t h e l i b r a r i e s o f l a n g u a g e s a n dt h e i r i m p l e m e n t a t i o n s , a n d p e r f o r m i n g o t h e r h o u s e k e e p -i n g d e t a i l s . F i g . 2 r e p r e s e n t s t h e m a i n f u n c t i o n a l i t y o fD r a c o .

T h e u s e o f D r a c o c a n b e u n d e r s t o o d b y s t u d y i n g F i g .3 , s t a r t i n g a t t h e t o p l e f t o f t h e d i a g r a m . I f i t i s d e c i d e d

t h a t i t i s w o r t h t h e i n v e s t m e n t t o p r o v i d e D r a c o t h e c a -p a b i l i t y o f d e a l i n g w i t h p r o g r a m s f o r a s p e c i f i c a p p l i c a -t i o n d o m a i n ( c a l l i t A ) , t h e n a d o m a i n a n a l y s i s i s c a r r i e do u t b y a h i g h l y s k i l l e d a n a l y s t ( c a l l e d a d o m a i n a n a l y s t ) .A d o m a i n a n a l y s i s c a n b e v i e w e d l o o s e l y a s a g e n e r a l i -z a t i o n o f t h e c l a s s i c a l s y s t e m s - a n a l y s i s a c t i v i t y t h a tp r e c e d e s d e v e l o p m e n t o f a c o m p u t e r i z e d s y s t e m : a s y s -t e m s a n a l y s t s t u d i e s p a r t i c u l a r i n s t a n c e s i n w h i c h a c o m -p u t e r i z e d s y s t e m i s t o o p e r a t e , i d e n t i f y i n g t h e d a t a e l e -m e n t s a n d p r o c e s s e s t h a t a r e t o b e c o m p u t e r i z e d . A m o r ep r e c i s e c h a r a c t e r i z a t i o n i s t h a t d o m a i n a n a l y s i s i s a p r o -c e s s o f f o r m u l a t i n g a l i m i t e d t h e o r y o f t h e a p p l i c a t i o n d o -m a i n .

I n t h e D r a c o r e a l m , a c l a s s o f s i t u a t i o n s i s s t u d i e d ( S t e p1 ) ( e a c h o n e o f w h i c h m i g h t b e a c a n d i d a t e f o r c o m p u t -e r i z a t i o n ) i n o r d e r t o i d e n t i f y a l l o f t h e o b j e c t s ( d a t a ) a n do p e r a t i o n s ( p r o c e s s e s ) t h a t e x i s t i n a n y s i t u a t i o n b e l o n g -i n g t o t h i s d o m a i n . T h e r e s u l t o f t h i s d o m a i n a n a l y s i s i sa d e s c r i p t i o n o f t h e o b j e c t s , o p e r a t i o n s , a n d r e l a t i o n s h i p st h a t a r e n e e d e d t o s p e c i f y s y s t e m s i n t h a t d o m a i n .

T h e n e x t a c t o r t h a t i s i n v o l v e d i s a d o m a i n d e s i g n e r , al a n g u a g e d e s i g n e r who a l s o u n d e r s t a n d s how t o b u i l d t h ed o m a i n d e f i n i t i o n s t h a t m u s t b e g i v e n t o D r a c o . He o r s h e

MSADT i s a t r a d e m a r k o f S o f T e c h , I n c .' D u e t o N e i g h b o r s

[ 1 5 ] .

8 3 1

Page 3: A Conceptual Analysis of the Draco Approach to Constructing Software Systems

8/8/2019 A Conceptual Analysis of the Draco Approach to Constructing Software Systems

http://slidepdf.com/reader/full/a-conceptual-analysis-of-the-draco-approach-to-constructing-software-systems 3/15

IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, VOL. S E - 1 3 , NO . 7 , J U L Y 1 9 8 7

LAWGUAG eD F - F t N 1 X 10NS( E N - e R E D ONCEPE R L A N G U A G E )

S P E C I F I C A T I O N S D R A C XcvtAL

D F I D N I E D S P E & C 4PV)

L A N G 6 U P A G E z S S y s - r e - M( C - N T F - I t E D 0 W - Z ( 1 1 0 l T - P L E V E R S I O N SP E N R SYSTEM POSS I e L E )C R E A T e D )

F i g . 2 . P r i m a r y f u n c t i o n o f D r a c o .

A P P L A C A T I O l b 4 P O , ' A 9 N ANALYSTD O M A & s ~ ~~DOAIA

- A L NT

- IAStV3 P C ~ ~ ~ ~ ~ ~ ~ s t e x ~ p e r i ' e n c p w i + h\ / t S e P r o Q b S C V V d o e s . D D ) M A I N ) D 0 M A I N D E S I 1 j N E R( , \ ~ ~ ~ ~ ~ ~ ~ A N A L y S I S

D r F I N I 1 1 O N AND m e c . g , o J , s m k 4 i o w e d ( g e -D E - F I N I T ) O N A N D > c d e s ' g n s a

L O P E R A - i o N sg aLnAap

o U S e r / Customer f 6 r c ,S y s - t e r i Xni r h eappl i c " t n oDcwnain A - l MAN

\ _ - __ _a r s e r f o e W r n 9 L a g e LA ( S y n t - a s )

P r e t 4 y p r i n * e r f o r L A

A P P L I C A T I O N S - mSPCAL l S r - C O m p o n t n t L b r a r yy (ffi) / 8 1 * t ~ ~ ~ ~ ~ ~ ~ ~ ~ W i h 1 e f i e f f l e n t Fo e L A

U t s % t h c n e c d s a n d o./reUt n + s f - t h e u s e r L T r a n s f o r r p - o n s , f D hc a n d /ng * r e t a n e y s i s o f _

w , 4 n c r i W o A A n o f J,hC |

oi i P i L e f i nIe x I o I

& I A C O E x r E C u T A 1 b L . Ei O t S Y $ , T E b Y. NN ' S V s I r - T e t

LEGEND: D- e x e c u t a b l e p r o g r a m s $ ; i PRACO S Y S T E M SCl- o t r r e p r e s e w ) t A t i o v ) - s D ES I QN e

V ) c * * ~ c j L u - ~ e w ; j c b c d - c ' ujF41&-r o t h e s t l i a v d : e d - m w Y p a u k - h l b v u s k n g k n r o w l e c d g e o t h f e e n v r n r s v o v + n i a n c p e r f o m c a n c e n e e d s ,

s r e r r \ c s i 9 n uCr e S se n e f rnee1s* t + W t 4 + a C t i > s or

r t e r a c , h 1 O r r e l A i r E 4 *e d C S i g n Ln* n e c o m p o n e n t

F i g . 3 . O r g a n i z a t i o n a l ' c o n t e x t a n d usage o f D r a c o .

t h e n t ak e s t h e d o m a i n a n a l y s i s ( t h e l i s t o f o b j e c t s , oper-

a t i o n s , a n d r e l a t i o n s h i p s , c o u p l e d w i t h t h e i r s e m a n t i c d e f -

i n i t i o n s ) a n d d e f i n e s a l a n g u a g e i n c o r p o r a t i n g t h e m ( S t e p2 ) w h i c h f o r m s t h e e x t e r n a l a s p e c t o f a d o m a i n d e f i n i t i o n .I t i s s u f f i c i e n t t o t h i n k o f t h i s as a h i g h - l e v e l s p e c i f i c a t i o nl a n g u a g e f o r s y s t e m s i n t h a t p a r t i c u l a r a p p l i c a t i o n d o -

mai n . F o r e x a m p l e , we c a n e n v i s i o n a w i d e s p e c t r u m o fh a v e d o m a i n s f o r t h e s p e c i f i c a t i o n o f s y s t e m s . T h e s em i g h t range f r o m very l o w - l e v e l " c o m p u t e r s c i e n c e " d o -m a i n s ( e . g . , b i n a r y a r i t h m e t i c ) t o b r o a d e r s e r v i c e d o -

m a i n s ( e . g . , o p e r a t i n g s y s t e m s , d a t a b a s e ma nageme nts y s t e m s ) t o e v e n more e n c o m p a s s i n g , ( y e t s p e c i f i c user

o r i e n t e d ) , a p p l i c a t i o n d o m a i n s ( e . g . , n a v i g a t i o n c o n t r o l )w h i c h i n t e g r a t e a n d r e u s e i n t e r m e d i a t e a n d l o w e r - l e v e l

d o m a i n s .A t t h i s j u n c t i o n ( f o r g e t t i n g f o r t h e m o m e n t t h a t t h e d o -

m a i n a n a l y s i s a n d d e s i g n a c t i v i t i e s may h a v e t o b e r e i t e r -a t e d j u s t l i k e a n y o t h e r d e s i g n a n d a n a l y s i s a c t i v i t i e s ) ,D r a c o i s r e a d y t o b e u s e d t o h e l p g e n e r a t e s y s t e m s f o r u s e

i n t h i s p a r t i c u l a r a p p l i c a t i o n d o m a i n . We s a y t h a t D r a c oi s n ow o p e r a t i o n a l i n t h e A d o m a i n .

S u p p o s e n o w t h a t a D r a c o a p p l i c a t i o n s s p e c i a l i s t i sc a l l e d u p o n t o c r e a t e a n A t y p e s y s t e m f o r some s p e c i f i cs i t u a t i o n ( n o t n e c e s s a r i l y o n e o f t h o s e o r i g i n a l l y i n v e s t i -g a t e d f o r t h e d o m a i n a n a l y s i s ) . He o r s h e w i l l p e r f o r m a

t r a d i t i o n a l r e q u i r e m e n t s a n a l y s i s a n d d e f i n i t i o n c o n d i -t i o n e d b y t h e e x i s t e n c e o f t h e s p e c i f i c a t i o n l a n g u a g e sa v a i l a b l e i n D r a c o . T h e i r n e x t s t e p , h o w e v e r , w i l l b e g i nt o u s e D r a c o e x p l i c i t l y b y s p e c i f y i n g t h e s y s t e m t o b e c r e -

a t e d u s i n g t h e d o m a i n l a n g u a g e L A f o r a p p l i c a t i o n d o m a i nA ( S t e p 3 ) . T h i s s y s t e m s p e c i f i c a t i o n i s t h e n f e d i n t o D r a c ob y a D r a c o s y s t e m s d e s i g n e r s k i l l e d i n t h e t e c h n i c a l u s e

o f D r a c o ; t h i s p e r s o n g u i d e s D r a c o i n t h e p r o d u c t i o n o ft h e e x e c u t a b l e c o d e ( S t e p 4 ) . T h e e x e c u t a b l e c o d e i s t h e nr e a d y f o r i n s t a l l a t i o n i n t h e u s e r e n v i r o n m e n t .

S o f a r i n o u r d e s c r i p t i o n w e h a v e i g n o r e d a n u m b e r o fi m p o r t a n t a n d i n some c a s e s d i f f i c u l t a s p e c t s o f s y s t e m sd e v e l o p m e n t u s i n g D r a c o . W h a t i f D r a c o c a n n o t p r o d u c e

8 3 2

Page 4: A Conceptual Analysis of the Draco Approach to Constructing Software Systems

8/8/2019 A Conceptual Analysis of the Draco Approach to Constructing Software Systems

http://slidepdf.com/reader/full/a-conceptual-analysis-of-the-draco-approach-to-constructing-software-systems 4/15

FREEMAN: D R A C O APPR O A CH TO C O N S T R U C T I N G SOFTWARE SYSTEMS

' 3 AI 8 C .

0 a A J B iC* 4 AI B C

* 5 s A C

* S Al E 1 C

' 1 .D O M 4 A N D O h K I A IR

| A N A L Y S I S | p l k F I W I T I O NI I I TiME

A- APPLICATION ANALysIsB- APPLICATION

S P e C I P I r A T i O NI N

D O N i A I N L A N G U A G .C- G E R N E R A T I O N OF A P P L i C A l I O N SYSTeM

F i g . 4 . Summary o f D r a c o u s a g e .

a s y s t e m b e c a u s e o f c o n s t r a i n t s e n c o u n t e r e d i n p r o d u c i n ge x e c u t a b l e c o d e , e v e n t h o u g h a s y n t a c t i c a l l y l e g a l i n p u ts p e c i f i c a t i o n i s g i v e n ? W h a t i s d o n e i f c h a n g e s a r e d e s i r e di n t h e t a r g e t s y s t e m a t s o m e l a t e r d a t e ? C l e a r l y , t h e s e a r ei m p o r t a n t c o n c e r n s ; h o w e v e r , t h i s i d e a l i z e d a n d e r r o r - f r e eu s a g e p a t t e r n w i l l s u f f i c e f o r o u r d i s c u s s i o n s h e r e .

F i g . 4 s u m m a r i z e s t h e s t e p s o f D r a c o u s a g e . A f t e r ad o m a i n i s c r e a t e d ( a n d v a l i d a t e d ) D r a c o i s u s e d a n u m b e ro f t i m e s ( o f t e n i n p a r a l l e l ) o v e r a l o n g p e r i o d o f e l a p s e dt i m e t o d e v e l o p s p e c i f i c a p p l i c a t i o n s y s t e m s o f a p a r t i c u -l a r t y p e . T h i s f i g u r e s h o u l d a c t u a l l y b e r e p l i c a t e d a n u m -b e r o f t i m e s , o n e f o r e a c h d o m a i n .

B . Ho w D o e s D r a c o W o r k ?

P u r s u i n g t h e m o d e l o f D r a c o g i v e n i n F i g . 2-a b l a c kb o x t h a t t a k e s s y s t e m s p e c i f i c a t i o n s w r i t t e n i n h i g h - l e v e ll a n g u a g e s ( d o m a i n l a n g u a g e s ) a n d p r o d u c e s e x e c u t a b l e( o r c o m p i l a b l e ) code-we w i l l now i n d i c a t e b r i e f l y howt h i s i s d o n e . N o t e f i r s t t h a t t h e r e a r e t w o d i s t i n c t p h a s e so f D r a c o o p e r a t i o n : d o m a i n d e f i n i t i o n a n d s p e c i f i c a t i o nr e f i n e m e n t .A d o m a i n l a n g u a g e i s d e f i n e d i n D r a c o d u r i n g t h e d o -

m a i n d e f i n i t i o n p h a s e , u s i n g m e t a - c o m p i l e r t e c h n i q u e ss i m i l a r t o t h e META-II p r o c e d u r e s d e s c r i b e d i n [ 2 3 ] . T h ed e s i g n o f t h e d o m a i n l a n g u a g e , a n d , e v e n m o r e , t h e d e -t e r m i n a t i o n o f i t s s e m a n t i c s a r e n o n t r i v i a l t a s k s . I n d e e d ,w e b e l i e v e t h a t i s t h e a r e a w h e r e t h e g r e a t e s t n e e d f o rr e s e a r c h e x i s t s a n d i s w h e r e we a r e p r e s e n t l y f o c u s i n g o u ra t t e n t i o n . I n t h i s p a p e r , h o w e v e r , w e w i l l n o t b e f u r t h e rc o n c e r n e d w i t h t h e d o m a i n - d e f i n i t i o n p h a s e .

I n o r d e r t o u n d e r s t a n d t h e o p e r a t i o n o f D r a c o i n t h es p e c i f i c a t i o n r e f i n e m e n t p h a s e , l e t u s l o o k a t i t s i n t e r n a ll o g i c a l s t r u c t u r e . F i g . 5 p o r t r a y s t h e f o u r e l e m e n t s o f aD r a c o d o m a i n d e s c r i p t i o n : a p a r s e r d e f i n i t i o n w h i c h d e -s c r i b e s how D r a c o i s t o r e c o g n i z e a n d t r a n s l a t e s e n t e n c e s

e x p r e s s e d i n t h e d o m a i n ' s l a n g u a g e t o a n i n t e r n a l f o r mw h i c h D r a c o c a n s u b s e q u e n t l y m a n i p u l a t e ; a p r e t t y p r i n t e rd e f i n i t i o n w h i c h d e s c r i b e s t h e r e v e r s e m a p p i n g - D r a c oi n t e r n a l f o r m t o s e n t e n c e s i n a p a r t i c u l a r d o m a i n l a n -g u a g e ; a s e t o f t r a n s f o r m a t i o n s u s e d t o o p t i m i z e o r o t h -e r w i s e c h a n g e e x p r e s s i o n s i n t h e l a n g u a g e , a n d a s e t o fc o m p o n e n t s t h a t p r o v i d e t h e s e m a n t i c s o f t h e l a n g u a g e .

T h e s e c o m p o n e n t s a r e t h e k e y t o D r a c o ' s a b i l i t y t o g e n -e r a t e c o d e . E s s e n t i a l l y , t h e r e i s a c o m p o n e n t f o r e a c h o p -e r a t i o n a n d e a c h o b j e c t i n t h e d o m a i n l a n g u a g e t h a t c a p -t u r e s t h e b e h a v i o r ( s e m a n t i c s ) e x p r e s s e d b y t h a t e l e m e n to f t h e l a n g u a g e ; i n f a c t , t h e r e may b e m u l t i p l e r e q u i r e -m e n t s ( i n s t a n t i a t i o n s ) f o r a s i n g l e e l e m e n t , c o r r e s p o n d i n g

F i g . 5 . E l e m e n t s o f a d o m a i n .

t o d i f f e r e n t p e r f o r m a n c e c h a r a c t e r i s t i c s ( e . g . , a " f a s t "v e r s u s a " s l o w a n d m o r e a c c u r a t e " i m p l e m e n t a t i o n ) .T h u s , e a c h c o m p o n e n t ( a l o n g w i t h i t s a s s o c i a t e d l a n g u a g ee l e m e n t ) i s e s s e n t i a l l y a n a b s t r a c t d a t a t y p e ( p o s s i b l y w i t h

s e v e r a l p e r f o r m a n c e c h o i c e s ) .E a c h o f t h e s e c o d e f r a g m e n t s ( o r s e t o f d a t a d e c l a r a -

t i o n s ) may b e w r i t t e n i n a n y l a n g u a g e k n o w n t o D r a c o ,i n c l u d i n g t h e l a n g u a g e o f t h e d o m a i n i t s e l f . A s n o t e d

a b o v e , t h e r e may b e s e v e r a l r e f i n e m e n t s ( i m p l e m e n t a -t i o n s ) f o r e a c h e l e me n t o f t h e d o m a i n l a n g u a g e ( w e a r e

u s i n g " d o m a i n l a n g u a g e " a n d " s p e c i f i c a t i o n l a n g u a g e "i n t e r c h a n g e a b l y ) w h i c h c a n b e c h o s e n d e p e n d i n g o n t h eo b j e c t i v e s o f a p a r t i c u l a r s y s t e m c o n s t r u c t i o n t a s k . Wes a y t h a t t h e c o m p o n e n t p r o v i d e s a r e f i n e m e n t 2 o f t h e p a r -t i c u l a r c o n s t r u c t i n t h e l a n g u a g e i n t o t h e o t h e r l a n g u a g e .

T h e t r a n s f o r m a t i o n s a r e u s e d t o c h a n g e t h e f o r m o f a ne x p r e s s i o n i n a d o m a i n l a n g u a g e e i t h e r t o g a i n a d e s i r e dp e r f o r m a n c e c h a r a c t e r i s t i c ( e . g . , g r e a t e r a c c u r a c y a t t h ee x p e n s e o f s p e e d ) o r t o p u t i t i n a f o r m m o r e a m e n a b l e t or e f i n e m e n t i n t o a n o t h e r d o m a i n . T h i s o f t e n i n v o l v e s s t r i p -p i n g a w a y g e n e r a l i t y o f a c o m p o n e n t n o t n e e d e d i n a s p e -

c i f i c i n s t a n c e .T h e b a s i c l o g i c o f D r a c o ' s s p e c i f i c a t i o n r e f i n e m e n t c a n

now b e e a s i l y d e s c r i b e d . G i v e n a s y s t e m s p e c i f i c a t i o n i na p a r t i c u l a r d o m a i n l a n g u a g e , a p p r o p r i a t e p a r t s o f t h es p e c i f i c a t i o n a r e c h o s e n f o r r e f i n e m e n t a n d a r e f i n e m e n t

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

v i o l a t e d ) t h i s r e f i n e m e n t r e s u l t s i n a ne w s p e c i f i c a t i o n i nw h i c h s o m e p a r t s o f t h e o r i g i n a l s p e c i f i c a t i o n h a v e b e e nl o g i c a l l y r e p l a c e d b y t h e i r r e f i n e m e n t s . T h i s p r o c e s s i si t e r a t e d u n t i l t h e e n t i r e s p e c i f i c a t i o n i s e x p r e s s e d i n t h ed e s i r e d t a r g e t d o m a i n ( u s u a l l y o n e w h o s e l a n g u a g e i s e x -

e c u t a b l e ) o r a p p r o p r i a t e r e f i n e m e n t s c a n n o t b e f o u n d ( f o re x a m p l e , w h e n a r e f i n e m e n t d o e s n o t e x i s t t h a t m e e t s t h ed e s i r e d p e r f o r m a n c e c r i t e r i a ) . T h i s l o g i c i s d i s p l a y e d i nF i g . 6 .A f i n a l c h a r a c t e r i z a t i o n c a n b e o f f e r e d a t t h i s p o i n t :

D r a c o i s a p r o d u c t i o n s y s t e m i n w h i c h t h e p r o d u c t i o n /t r a n s f o r m a t i o n b a s e i s m o d u l a r i z e d b y d o m a i n - s p e c i f i ck n o w l e d g e . T h i s d o m a i n - b a s e d a p pr o a ch t o o r g a n i z i n g t h et r a n s f o r m a t i o n p r o c e s s m a k e s D r a c o r a t h e r d i f f e r e n t f r o mm o s t t r a n s f o r m a t i o n s y s t e m s , w i t h t h e e x c e p t i o n o f 4NIX[ 3 ] .

2 W h a t w e c a l l " r e f i n e m e n t s " i n D r a c o c o r r e s p o n d t o w h a t t h e l i t e r a t u r ei n t r a n s f o r m a t i o n a l s y s t e m s [ 1 8 ] c a l l " t r a n s f o r m a t i o n s . " I n D r a c o w e r e -s e r v e t h a t t e r m f o r o p t i m i z i n g t r a n s f o r m a t i o n s .

0

8 3 3

Page 5: A Conceptual Analysis of the Draco Approach to Constructing Software Systems

8/8/2019 A Conceptual Analysis of the Draco Approach to Constructing Software Systems

http://slidepdf.com/reader/full/a-conceptual-analysis-of-the-draco-approach-to-constructing-software-systems 5/15

IEEE TRANSACTIONS O N SOFTWARE ENGINEERING, VOL. S E - 1 3 , NO . 7 , J U L Y 1 9 8 7

ACCEPT SYSTErMS P E C I F I C A T I ONI N K N O V V N J L A N G U A G E

REFINEMENT INTOLOWER- L E V E A - DONMAIN - FA I LPO SS I BLE ?

R EF IN E U N D ERDES IGNER GVIDANCE

E X E C U T A B L E C O D EA c H k I E V E D Fo x E N r N R E

s u c c e . E DF i g . 6 . L o g i c o f D r a c o ' s o p e r a t i o n . -

I I I . CONCEPTUAL A N A L Y S I S OF DRACO

A r t i f a c t s a r e o f t e n d e s c r i b e d a s t h o u g h t h e y h a v e b e e n

d e r i v e d f r o m p r i n c i p l e s i n a t o p - d o w n f a s h i o n e v e n t h o u g ht h a t i s s e l d o m t h e w a y t h i n g s h a p pe n. T h u s , i t i s i m p o r -t a n t t o u n d e r s t a n d t h a t w e a r e t r y i n g t o e x p l a i n t h e r e a s o n s

u n d e r l y i n g D r a c o i n a n e x p o s t f a c t o m a n n e r , n o t d e s c r i b -i n g p r e c i s e l y how i t w a s c r e a t e d i n t h e f i r s t p l a c e . O u ra n a l y s i s c e n t e r s o n s h o w i n g t h e r e l a t i o n s h i p b e t w e e n s i xi m p o r t a n t SE o b j e c t i v e s a n d f o u r p r i m a r y m e c h a n i s m sf o u n d i n D r a c o .

A . C o n c e p t u a l C o n t e x t o f D r a c o

S o f t w a r e e n g i n e e r i n g i s c o n c e r n e d w i t h a n u m b e r o f o b -j e c t i v e s , i n c l u d i n g :

* m e e t i n g c u r r e n t c u s t o m e r / u s e r n e e d s e c o n o m i c a l l y ;

* i n c r e a s i n g s y s t e m q u a l i t y ;* p r o v i d i n g t o o l s t o i n c r e a s e t h e i n t e l l e c t u a l c a p a b i l i -

t i e s o f s y s t e m d e v e l o p e r s i n o r d e r t o m e e t f u r t h e r n e e d s ;* i n c r e a s i n g p r o d u c t i v i t y o f d e s i g n e r s .A n u m b e r o f a p p r o a c h e s a r e b ei n g p ur s u e d t o r e a c h

t h e s e o b j e c t i v e s , i n c l u d i n g t h e c r e a t i o n o f s o f t w a r e e n g i -n e e r i n g e n v i r o n m e n t s , t h e a p p l i c a t i o n o f a r t i f i c i a l i n t e l l i -g e n c e t e c h n i q u e s , r e t r a i n i n g o f p e r s o n n e l , d e v e l o p m e n to f a u t o m a t e d t o o l s , u t i l i z a t i o n o f m a t h e m a t i c a l t e c h -n i q u e s , a n d s o o n . T h e D r a c o t e c h n o l o g y c o m b i n e s a s -p e c t s o f s e v e r a l a r e a s .

I n g e n e r a l t e r m s , D r a c o i s t h e r e s u l t o f a l o n g - r a n g e

a t t e m p t t o b u i l d a p r o d u c t i o n - q u a l i t y t o o l f o r t h e w o r k i n gs o f t w a r e e n g i n e e r . I t i n c o r p o r a t e s i m p o r t a n t c o n c e p t s f r o ms e v e r a l a r e a s , i n c l u d i n g l a n g u a g e d e s i g n , l a n g u a g e t r a n s -l a t i o n , i n f o r m a t i o n m o d e l i n g , s p e c i f i c a t i o n m e t h o d s , h e u -r i s t i c t e c h n i q u e s , a n d a u t o m a t i c p r o g r a m m i n g . I t i s a n -c h o r e d i n t h e t r a d i t i o n a l s y s t e m s p e c i f i c a t i o n a n d c o d ep r o d u c t i o n p h a s e s o f t h e l i f e c y c l e , b u t r a d i c a l l y a l t e r s t h ei n t e r v e n i n g s t a g e s .

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

d e r s t a n d i n g o f a n a p p l i c a t i o n a r e a ( a n a l y s i s i n f o r m a t i o n )

w h i l e d e s i g n k n o w l e d g e i s c a p t u r e d i n t h e c o mp o n e n t s t h a tp r o v i d e t h e s e m a n t i c s o f t h e d o m a i n l a n g u a g e s . A l t h o u g ht h i s c a n b e d o n e w i t h o u t D r a c o ( f o r e x a m p l e , i n numerouss p e c i a l i z e d a p p l i c a t i o n s s y t e m s , s u c h a s S P S S ) t h e p o t e n -

t i a l power o f D r a c o i s t h a t i t f a c i l i t a t e s t h i s f o r m o f r e use .

T h e f o l l o w i n g s e c t i o n s w i l l make t h e s e c o n n e c t i o n s

more e x p l i c i t .B . C o n c e p t u a l O b j e c t i v e s

We l i s t e d s e v e r a l o b j e c t i v e s o f s o f t w ar e e n gi n ee r i n ga b o v e . T h e s e are u t i l i z a t i o n , o r e x t e r n a l , o b j e c t i v e s o f SEi n t h a t t h e y r e l a t e t o t h e a c t i v i t y o f c r e a t i n g s o f t w a r e - i n -t e n s i v e s y s t e m s f o r some l a r g e r reason. I n w o r k i n g w i t hSE as a d i s c i p l i n e , we u s u a l l y f o c u s o n a s e t o f i n t e r n a lc o n c e p t s t h a t we w a nt SE t e c h n i q u e s t o possess. T h e s ed e s i r a b l e c o n c e p t u a l p r o p e r t i e s o f a SE a r t i f a c t a p p l y t o

D r a c o .E x p r e s s i n g i t a n o t h e r w a y , t h e r e a r e a n e s t a b l i s h e d s e t

o f p r o p e r t i e s t h a t i t i s b e l i e v e d t h e p r a c t i c e o f s o f t w a r e

e n g i n e e r i n g s h o u l d h a v e i n o r d e r t o r e a c h t h e u t i l i z a t i o no b j e c t i v e s m e n t i o n e d a b o v e . F o r e x a m p l e , i t i s g e n e r a l l ya c c e p t e d t h a t i f a n SE t e c h n i q u e h e l p s u s u se l e v e l s o fa b s t r a c t i o n t h a t t h i s w i l l a d v a n c e u s t o w a r d o u r g o a l o fd e a l i n g w i t h c o m p l e x i t y .

O u r p r i m a r y m od e o f a n a l y s i s i n t h i s s e c t i o n i s t o es-

t a b l i s h a s e t o f i n t e r n a l c o n c e p t u a l o b j e c t i v e s t h a t we w a nt

t o r e a c h a n d t h e n s h o w how D r a c o c o n t r i b u t e s t o t h o s eo b j e c t i v e s . O u r p u r p o s e i n d o i n g t h i s i s t o e v a l u a t e i f , a n di n w h a t w a y s , D r a c o i s a u s e f u l SE t o o l . ( A t t a i n m e n t o ft h e utilization o b j e c t i v e s of lower c ost, and s o o n , wil l

p r o v i d e t h e d e f i n i t i v e a n s w e r t o t h i s q u e s t i o n ; h o w e v e r ,t h a t a n a l y s i s t a k e s much l o n g e r t o a c h i e v e a n d d o e s n o t

p r o v i de i n fo r ma t i o n o n t h e s o u r c e o f D r a c o ' s p o w e r .)W e h a v e c h o s e n a s i x - p a r t c o n c e p t u a l f r a m e w o r k t o an-

c h o r o u r a n a l y s i s on:

1 ) A b s t r a c t i o n L e v e l s : B e i n g a b l e t o a b s t r a c t f r o m a s i t -u a t i o n a n d d e a l o n l y w i t h a name t h a t s t a n d s f o r a p a r t i c -u l a r p i e c e o f t h e c o m p l e x i t y o f t h e s i t u a t i o n i s a k e y c o n -

c e p t i n a l m o s t a l l o f S E . C o u p l i n g t h a t w i t h h i e r a r c h y i sa s t a n d a r d a n d necessary a s p e c t o f s y s t e m s w o r k .

2 ) S t r u c t u r e o f P r o d u c t s : T h e s o f t w a r e a r t i f a c t s t h a t wec r e a t e must h a v e s t r u c t u r e t o p e r m i t u s t o m o d i f y t h e m ,m e a s u r e t h e m , a n d f i t t h e m w i t h o t h e r s y s t e m s . A g o a l o fmost SE i s t o p r o d u c e w e l l - s t r u c t u r e d s y s t e m s . T h i s c o n -

c e p t i s u s u a l l y i n t e r p r e t e d i n a b r o a d f a s h i o n so t h a t i ti n c l u d e s a n u m b e r o f d e f i n i t i o n s o f " g o o d " s t r u c t u r e .

3 ) S y s t e m a t i c P r o c e s s e s : A k e y p r i n c i p l e i n a l l a s p e c t s

o f s o f t w a r e e n g i n e e r i n g i s t h a t o f d o i n g t h i n g s i n a s y s -

t e m a t i c , w e l l - o r d e r e d w a y .

4 ) M o d e l i n g : T h e i n v i s i b i l i t y o f s o f t w a r e f o r c e s u s t o

d o a l l o f o u r SE w o r k t h r o u g h t h e m a n i p u l a t i o n o f m o d e l so f t h e a c t u a l m a c h i n e s t a t e s we w i s h t o c r e a t e ; t h i s b a s i c

f a c t e x t e n d s a l l t h e way b a c k t o t h e r e q u i r e m e n t s a n a l y s i sa c t i v i t y i n w h i c h we b u i l d m o d e l s o f r e a l - w o r l d s i t u a -t i o n s .

5 ) C o m p a r t m e n t a l i z a t i o n o f K n o w l e d g e : On e o f t h et h r o u g h t h e d e s i g n a n d u t i l i z a t i o n o f d o m a i n l a n g u a g e s ,

8 3 4

p r i m a r y c o n t r i b u t o r s o f c o m p l e x i t y i s t h e f a c t t h a t a t a n y

Page 6: A Conceptual Analysis of the Draco Approach to Constructing Software Systems

8/8/2019 A Conceptual Analysis of the Draco Approach to Constructing Software Systems

http://slidepdf.com/reader/full/a-conceptual-analysis-of-the-draco-approach-to-constructing-software-systems 6/15

FREEMAN: DRACO APPROACH T O C O N S T R U C T I NG S O F T W A R E SYSTEMS

M E C H R A I I N I S S U l S E D i N D R A C O

C O N CEPT U A L m u l t i p l e h i - l e v e l c o m p o n e n t s / t r a n s f o r m a t i o n s r e f i n e m e n t sO B J E C T I V E S s p e c i a l i z e d a s s e m b l i e s

s p e c i f i c a t i o nl a n g u a g e s

p e r m i t

p r o v i d e c a p t u r e s p e c i f i c a t i o n sa b s t r a c t i o n r e f e r e n c e s i m p l e m e n t r e l a t i o n s a t o n e l e v e l t ol e v e l s ( n a m e s ) l e v e l s b e t w e e n b e c o n v e r t e d t o

t o l e v e l s a b s t r a c t i o n s a n o t h e r l e v e l

s h i f t ss t r u c t u r e a l t e r s f o r c ec o n c e r n s f r o m t r a c e a b i l i t y s t r u c t u r e s t r u c t u r i n g

s t r u c t u r e c o d e t o o f a t t h eo f s p e c i f i c a t i o n s i n d i v i d u a l s p e c i f i c a t i o np r o d u c t s p a r t s l e v e l

p r o v i d e p r o v i d e p e r m - i t p e r m i ts y s t e m a t i c e x p l i c i t f o c u s f o r o p t i m i z a t i o n s b r e a k u pp r o c e s s s t a r t i n g d e s i g n i n o f p r o c e s s

p o i n t a s s u r a n c e c o n t r o l l e d i n t o s m a l lw a y s s t e p s

d i r e c t p r o v i d e p r o v i d e p r o v i d er e p r e s e n t a t i o n c h a n g e o f f o r f o r

m o d e l i n g o f o b j e c t s r e p r e s e n t a t i o n c u s t o m i z a - c h a n g e t o

a n d o p e r a t i o n s o f e x t e r n a l t i o n o f d i f f e r e n tt o b e o b j e c t s r e p r e s e n t a t i o n s n o d e l i n gm o d e l e d l e v e l s

c o m p a r t m e n t - f o c u s d e s i g n c a p t u r e p e r n m i ta l i z a t i o n l a n g u a g e k n o w l e d g e o p t i m i z a t i o n k n o w l e d g eo f o n c a p t u r e d i n f o r m a t i o n t o b ek n o w l e d g e p r o b l e m i n v e r y g r o u p e d

a t hand s m a l l p i e c e s b y l e v e l

c a p t u r e s c a p t u r e s c a p t u r e s c a p t u r e sr e u s a b i l i t y a n a l y s i s d e s i g n o p t i m i z a t i o n a l t e r n a t i v e

i n f o r m a t i o n i n f o r m a t i o n i n f o r m a t i o n p e r f o r m a n c ea s p e c t s

F i g . 7 . Ho w D r a c o m e c h a n i s m s r e l a t e t o c o n c e p t u a l o b j e c t i v e s .

p o i n t i n d e v e l o p m e n t t h e r e a r e many s e p a r a t e p i e c e s o fk n o w l e d g e o r i n f o r m a t i o n t h a t may p o t e n t i a l l y b e a r o n t h ed e c i s i o n s t h a t m u s t b e m a d e . A s u c c e s s f u l s t r a t e g y i s t ob r e a k t h e a p p l i c a b l e k n o w l e d g e u p i n t o s u b s e t s t h a t p e r -m i t o n e t o d e a l w i t h l e s s i n f o r m a t i o n .

6 ) R e u s a b i l i t y : S t a n d a r d e n g i n e e r i n g p r a c t i c e i n o t h e rf i e l d s i s t o r e u s e p a r t s , a s s e m b l i e s , t e s t s , a n d t e c h n i q u e sw h e r e v e r p o s s i b l e . T h e s a m e p h i l o s o p h y c a n b e a p p l i e d

t o s o f t w a r e e n g i n e e r i n g a s d es c ri b ed a b o v e.We a s s u m e t h a t t h e w i d e s p r e a d a c c e p t a n c e o f t h e s e o b -

j e c t i v e s d e m o n s t r a t e s t h e i r i m p o r t a n c e t o s o f t w a r e e n g i -n e e r i n g . O u r t a s k i n t h e r e m a i n d e r o f t h i s s e c t i o n i s t od e m o n s t r a t e i n w h a t s p e c i f i c w a y s D r a c o m e e t s t h e s e o b -j e c t i v e s .

C . A n a l y s i s o f D r a c o M e c h a n i s m s

F i g . 7 p r e s e n t s a s u m m a r y o f o u r a n a l y s i s o f h ow t h em e c h a n i s m s o f D r a c o c o n t r i b u t e t o c e r t a i n SE o b j e c t i v e s .F o r e a c h o f f o u r m a i n m e c h a n i s m s i n D r a c o , t h e i r c o n t r i -

T h e r e m a i n d e r o f t h i s s e c t i o n p r e s e n t s our a n a l y s i s b ym e c h a n i s m .

1 ) M u l t i p l e H i g h - L e v e l L a n g u a g e s :A b s t r a c t i o n L e v e l s : S i m p l e p r o g r a m m i n g l a n g u a g e s

p r o v i d e f o r a s i n g l e l e v e l o f a b s t r a c t i o n i n d e s c r i b i n gc o m p u t a t i o n s vi a s u b r o u t i n e o f f u n c t i o n c a l l s ; t h i s s o m e -

w h a t r u d i m e n t a r y l e v e l i n t h e p a s t was o f t e n f u r t h e r r e -

d u c e d i n e f f e c t i v e n e s s b e c a u s e o f t h e r e s t r i c t i o n s i n l e n g t ha n d f o r m a t o f t h e i d e n t i f i e r s t h a t c o u l d b e u s e d . Somemore m o d e m l a n g u a g e s ( f o r e x a m p l e A d a ^ ) h a v e i m -

p r o v e d t h i s s i t u a t i o n b y p r o v i d i n g m e c h a n i s m s f o r c r e a t -

i n g a n d n a m i n g new o p e r a t i o n s a n d o p e r a n d s ; t h e n a m i n gc a p a b i l i t i e s , h o w e v e r , ar e s t i l l w i t h i n t h e c o n f i n e s o f t h e

s y n t a x a n d s e m a n t i c s o f t h e h o s t l a n g u a g e .D r a c o p e r m i t s a n e t w o r k o f d o m a i n c o n n e c t i o n s . T h i s

f u l l y s u p p o r t s t h e c o n c e p t o f l e v e l s o f a b s t r a c t i o n , s i n c e

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

s t r a c t i o n l e v e l s i s d e s i r e d . The n e t w o r k o f l a n g u a g e s i n

D r a c o i s n o t i t s e l f a s t r i c t h i e r a r c h y , h o w e v e r , i n w h i c ht h i n g s a r e i m p l e m e n t e d o n l y o n l o w e r l e v e l s .

F o r e x a m p l e , c o n c e p t u a l l y i t m i g h t b e d e s i r a b l e f r o ma SE ' p e r s p e c t i v e t o e s t a b l i s h l e v e l s o f a b s t r a c t i o n cor-

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

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

t i c u l a r c l a s s o f sensors. D r a c o w o u l d e a s i l y p r o v i d e f o r

t h i s t h r o u g h t h e c r e a t i o n o f i n d i v i d u a l d o m a i n l a n g u a g e sc o r r e s p o n d i n g t o e a c h l e v e l o f c o n c e p t u a l a b s t r a c t i o n . F i g .8 p o r t r a y s t h i s s i t u a t i o n a n d i l l u s t r a t e s h o w t h e l a n g u a g e sc r e a t e d m i g h t b e u t i l i z e d i n t h e r e a l i z a t i o n o f s e v e r a l d o -

m a i n s o t h e r t h a n t h e o n e i n i t i a l l y d e s i r e d .I f o n e h a d t o c r e a t e a n e n t i r e new l a n g u a g e f o r e a c hnew l e v e l o f a b s t r a c t i o n , i t w o u l d b e a d e f i n i t e d i s a d v a n -

t a g e . 3 T h i s i s t h e c e n t r a l r e a s o n t h a t D r a c o i s n o t w e l l

s u i t e d t o o n e - o f - a - k i n d d e v e l o p m e n t s i t u a t i o n s , b u t r a t h e r

® A d a i s a r e g i s t e r e d t r a d e m a r k o f t h e U . S . D e p a r t m e n t o f D e f e n s e ( A d aJ o i n t P r o g r a m O f f i c e ) .

3 A s we g a i n m o r e e x p e r i e n c e i n c r e a t i n g new domain l a n g u a g e s , i t i s

b e c o m i n g c l e a r t h a t o n e o f t e n w a n t s t o c r e a t e a new l a n g u a g e o u t o f e x i s t -

i n g l a n g u a g e s . F o r e x a m p l e , i f y ou h a s a l a n g u a g e f o r d e s c r i b i n g s t a t i s t i c a lc a l c u l a t i o n s a n d a n o t h e r l a n g u a g e f o r d e s c r i b i n g t a b u l a r r e p o r t f o r m a t i n g ,y o u m i g h t w e ll w a n t t o c r e a t e a new l a n g u a g e f o r m e d b y p u t t i n g t h e s e tw o

l a n g u a g e s t o g e t h e r .

O t h e r w a y s o f p r o d u c i n g new l a n g u a g e s o u t o f e x i s t i n g o n e s a r e , f o re x a m p l e , e n r i c h i n g a n e x i s t i n g l a n g u a g e w i t h new o b j e c t s , o p e r a t i o n s or

r e l a t i o n s h i p s , or r e s t r i c t i n g ( i . e . , c u s t o m i z i n g ) e x i s t i n g l a n g u a g e s . Formal

d e f i n i t i o n s f o r t h e s e t y p e s o f d e v e l o p m e n t s a r e g i v e n i n [ 5 ] .T h e c u r r e n t D r a c o t o o l e n a b l e s us t o s p e c i f y a p p l i c a t i o n s u s i n g "mixed

n o t a t i o n s . " T h a t i s , s y n t a c t i c m e c h a n i s m s a r e a v a i l a b l e t o use o n s e v e r a l

d o m a i n l a n g u a g e s i n t h e s a m e s p e c i f i c a t i o n . H o w e v e r , t h e c u r r e n t t o o l d o e s

n o t e n f o r c e a n y s e m a n t i c c o n s i s t e n c y a m o n g t h e p a r t s s p e c i f i e d u s i n g d i f -

f e r e n t l a n g u a g e s . E x t e n s i o n s t o t h e c u rr e nt t o o l s b a s e d o n t h e u se of p o -l y m o r p h i c t y p e s a r e p l a n n e d t o s o l v e t h i s l i m i t a t i o n .

B e c a u s e D r a c o d o e s n o t h a v e mechanisms f o r d e a l i n g w i t h t h e i n t e r a c -

t i o n s b e t w e e n d o m a i n s a t t h e l e v e l o f l a n g u a g e b o u n d a r i e s , we have p u s h e dt h e p r o b l e m o f t y i n g d o m a i n s t o g e t h e r o u t s i d e o f t h e Draco t o o l i t s e l f a n d

t u r n e d i t i n t o a l a n g u a g e d e s i g n p r o b l e m . Th e d e s i g n e r o f a new d o m a in

h a s t h e r e s p o n s i b i l i t y t o c r e a t e a s i n g l e n o t a t i o n t o h a n d l e t h e s y n t a x o f

u n d e r l y i n g d omai ns, W h i l e l i m i t e d t h u s f a r , our e x p e r i e n c e i n d i c a t e s t h i s

b u t i o n t o e a c h o f s i x s p e c i f i c SE o b j e c t i v e s i s a n a l y z e d .

8 3 5

i s a n e f f e c t i v e a p p r o a c h

Page 7: A Conceptual Analysis of the Draco Approach to Constructing Software Systems

8/8/2019 A Conceptual Analysis of the Draco Approach to Constructing Software Systems

http://slidepdf.com/reader/full/a-conceptual-analysis-of-the-draco-approach-to-constructing-software-systems 7/15

8 I E E E TRANSACTIONS ON SOFTWARE ENGINEERING, V O L . S E - 1 3 , N O . 7 , J U L Y 1 9 8 7

F i g . 8 . E x a m p l e o f l e v e l s o f a b s t r a c t i o n i n D r a c o d o m a i n s .

i s i n t e n d e d t o b e u s e d i n s i t u a t i o n s i n w h i c h t h e o v e r h e a do f c r e a t i n g n e w l a n g u a g e s ( c o r r e s p o n d i n g t o n e w l e v e l so f a b s t r a c t i o n ) w i l l p a y o f f i n m u l t i p l e u s a g e .

T h e a d v a n t a g e i s t h e a b i l i t y t o c r e a t e a n d p r o v i d e t h el i n g u i s t i c m e a n s f o r m a n i p u l a t i n g l e v e l s o f a b s t r a c t i o n t h a tc l o s e l y c o r r e s p o n d t o t h e " n a t u r a l " l e v e l s o f c o n c e p t u a l -i z a t i o n t h a t a r e d i c t a t e d b y t h e p r o b l e m a r e a a n d b y t h ep r o b l e m s o l v i n g s t r a t e g i e s c h o s e n b y t h e s o f t w a r e e n g i -

n e e r . B e c a u s e o f t h e i m p o r t a n c e o f r e p r e s e n t a t i o n i n d e -s i g n [ 1 0 ] a n d p r o b l e m s o l v i n g [ 2 1 1 a n d t h e c e n t r a l i t y o fl e v e l s o f a b s t r a c t i o n t o a l m o s t a l l s o f t w a r e e n g i n e e r i n g ,t h i s i s a v e r y i m p o r t a n t c o n t r i b u t o r t o t h e p o w e r o f D r a c o .

S t r u c t u r e o f P r o d u c t s : T h e e s s e n t i a l p o i n t i s t h a tw h e n u t i l i z i n g D r a c o , o n e w i l l b e c o n c e r n e d w i t h t h es t r u c t u r e o f t h e s p e c i f i c a t i o n s , n o t t h e c o d e p r o d u c e d . T h ef a c t t h a t D r a c o h a s l a n g u a g e s c l o s e l y f i t t e d t o p a r t i c u l a ra p p l i c a t i o n a r e a s w i l l p e r m i t o n e t o f o c u s o n s t r u c t u r i n gt h e p r o g r a m i n t h e d o m a i n . F o r e x a m p l e , i f t h e p r o b l e mc o n s i s t s o f a p p l i c a t i o n o f t h r e e b a s i c o p e r a t o r s a n d s e v e ns u b o p e r a t i o n s t o a v a r i e t y o f o b j e c t s d e p e n d i n g o n c e r t a i nc o n d i t i o n s , t h i s p r o b l e m s t r u c t u r e c o u l d b e e a s i l y m o d -

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

S y s t e m a t i c P r o c e s s : T h e D r a c o a p p r o a c h p r o v i d e sa n d e n f o r c e s a w e l l - d e f i n e d a n d s y s t e m a t i c p r o c e s s f o rc r e a t i n g a s y s t e m . T h e c o n t r i b u t i o n o f m u l t i p l e l a n -g u a g e s , s p e c i f i c a l l y , i s t o p r o v i d e a n e x p l i c i t r e p r e s e n t a -t i o n f o r t h e s t a r t i n g p o i n t o f d e v e l o p m e n t ( a s s u m i n g D r a c oh a s a d o m a i n l a n g u a g e f o r t h a t p a r t i c u l a r a r e a ) . T h i s i s av e r y i m p or t an t c o n t r i b u t i o n b e c a u s e o n e o f t h e s o f t e s ta r e a s o f d e v e l o p m e n t i s o f t e n t h e s t a r t i n g p o i n t d u e t o t h ea b s e n c e o f a n y w a y o f r e p r e s e n t i n g t h e s p e c i f i c a t i o n s . T h e

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

M o d e l i n g : T h e s p e c i f i c a t i o n l a n g u a g e s o f D r a c o p r o -v i d e f o r d i r e c t m o d e l i n g o f t h e o b j e c t s a n d o p e r a t i o n s f r o mt h e a p p l i c a t i o n d o m a i n o f i n t e r e s t . W h i l e i n t h e o r y we c a na l w a y s m o d e l t h o s e e n t i t i e s w i t h a n y c o m p u t a b l e l a n -g u a g e , t h e e x i s t e n c e o f s p e c i a l i z e d l a n g u a g e s r e s u l t s i n

e f f e c t i v e w a y s o f c a r r y i n g o u t t h e d e s i r e d m o d e l i n g .O b j e c t - o r i e n t e d p r o g r a m m i n g l a n g u a g e s s u c h a s S m a l l -

t a l k - 8 0 e x t e n d t h i s e v e n f u r t h e r . D r a c o l a n g u a g e s c a n b et h o ug h t o f a s c a p t u r i n g t h e " r i g h t " o b j e c t s f o r t h e d o -m a i n , c o n c e p t u a l l y , i f n o t i n t h e a c t u a l i m p l e m e n t a t i o n( a l t h o u g h n o t h i n g p r e v e n t s a D r a c o - l a n g u a g e f r o m b e i n ga f u l l o b j e c t - o r i e n t e d l a n g u a g e ) .

C o m p a r t m e n t a l i z a t i o n o f K n o w l e d g e : T h e n a r r o w" w i d t h " o f t h e l a n g u a g e s o f D r a c o a u t o m a t i c a l l y f o c u so n e ' s a t t e n t i o n o n a n a r r o w d o m a i n o f k n o w l e d g e . T h i sw i l l h e l p a c h i e v e t h e g o a l o f c o m p a r t m e n t a l i z a t i o n i f t h eb o u n d a r i e s o f t h e l a n g u a g e s c o r r e s p o n d t o - " n a t u r a l "b o u n d a r i e s o f t h e k n o w l e d g e . I f t h e y d o , t h e n t h e m u l t i -p l e - l a n g u a g e f e a t u r e o f D r a c o w i l l p r o v i d e a v e r y p o w -e r f u l s u p p o r t o f t h e o b j e c t i v e o f c o m p a r t m e n t a l i z i n gk n o w l e d g e . T h i s v e r y i m p o r t a n t a s p e c t o f D r a c o s e r v e s t om o d u l a r i z e t h e t r a n s f o r m a t i o n b a s e v i a t h e d o m a i n - s p e -c i f i c k n o w l e d g e .

R e u s a b i l i t y : O n e o f t h e g o a l s o f r e u s a b i l i t y i s t o m a k ei t p o s s i b l e t o r e u s e t h e u n d e r s t a n d i n g o f a p r o b l e m o rp r o b l e m d o m a i n d e v e l o p e d d u r i n g t h e a n a l y s i s p o r t i o n o fd e v e l o p m e n t . T h e l a n g u a g e s t h a t c a n b e c r e a t e d u s i n gD r a c o p e r m i t t h e c a p t u r e a n d r e u s e o f i n f o r m a t i o n a b o u ta n e n t i r e p r o b l e m d o m a i n . S p e c i f i c a l l y , t h e l a n g u a g e sc a p t u r e t h e d o m a i n a n a l y s t ' s u n d e r s t a n d i n g o f w h i c h o p -

8 3 6

Page 8: A Conceptual Analysis of the Draco Approach to Constructing Software Systems

8/8/2019 A Conceptual Analysis of the Draco Approach to Constructing Software Systems

http://slidepdf.com/reader/full/a-conceptual-analysis-of-the-draco-approach-to-constructing-software-systems 8/15

FREEMAN: DRACO APPR O A CH T O CONSTR UCTING S O F T W A R E SYSTEMS

e r a t o r s a n d o b j e c t s a r e a p p r o p r i a t e f o r d e s c r i b i n g o p e r a -t i o n s i n a p a r t i c u l a r d o m a i n . L a t e r , w h e n a s y s t e m a n a l y s tp i c k s u p t h a t d o m a i n l a n g u a g e t o u s e i t , h e o r s h e i s t h e nr e u s i n g t h e a n a l y s i s o f t h e d o m a i n o r g i n a l l y d e v e l o p e d b yt h e d o m a i n a n a l y s t .

2 ) C o m p o n e n t s a n d A s s e m b l i e s :

A b s t r a c t i o n L e v e l s : C o m p o n e n t s a r e u s e d t o i m p l e -m e n t l e v e l s . T h e f u n c t i o n a l i t y o f t h e c o m p o n e n t s i n ag i v e n l e v e l i m p l e m e n t s t h e f u n c t i o n s o f t h a t l e v e l ( a n ds i m i l a r l y f o r t h e o b j e c t s o f t h e l e v e l ) . S i n c e a c o m p o n e n tmay b e w r i t t e n i n t e r m s o f o b j e c t s a n d o p e r a t i o n s o f al o w e r l e v e l , t h i s p r o v i d e s t h e c o n n e c t i o n t o l o w e r l e v e l s ;s i m i l a r l y , t h e u s e o f t h e f u n c t i o n s ( i m p l e m e n t e d b y ac o m p o n e n t ) a t a h i g h e r l e v e l p r o v i d e s a n u p w a r d c o n n e c -t i o n .

S t r u c t u r e o f P r o d u c t s : C o m p o n e n t s ma y n o t s h o w u pi n t h e c o de p r o d u c e d b y D r a c o d i r e c t l y b e c a u s e o f t h er e f i n e m e n t s a n d t r a n s f o r m a t i o n s t h a t may b e a p p l i e d .

H o w e v e r , t h r o u g h t h e r e f i n e m e n t h i s t o r y [ 1 5 ] o n e c a nt r a c e t h e i n f l u e n c e o f a g i v e n c o m p o n e n t o n a s p e c i f i cp i e c e o f c o d e ( w h a t e v e r i t may b e ) . T h i s p r o v i d e s , t h e n ,f o r o n e o f t h e p r i m a r y b e n e f i t s o f w e l l - s t r u c t u r e d code-t h e a b i l i t y t o f i n d a g i v e n f u n c t i o n a l p i e c e f o r p r o p o s e s o fc h a n g e o r r e p a i r . D r a c o c h a n g e s t h e t r a d i t i o n a l i d e a o fw e l l - s t r u c t u r e d p r o d u c t s i n t h i s s e n s e s i n c e now m o d i f i -c a t i o n s w o u l d b e m a d e a t t h e s p e c i f i c a t i o n l e v e l a n d a u -t o m a t i c a l l y r e f i n e d down t o t h e c o d e l e v e l .We c o u l d a l s o v i e w t h i s a s t w o f o r m s o f s t r u c t u r e : H o r -

i z o n t a l w i t h i n a l e v e l o f r e p r e s e n t a t i o n ( e . g . , c o d e ) a n dv e r t i c a l s t r u c t u r e b e t w e e n l e v e l s ( e . g . , b e t w e e n t h eh i g h e r - l e v e l s p e c i f i c a t i o n s a n d t h e c o d e ) .

S y s t e m a t i c P r o c e s s : T h e r e l i a n c e o n c o m p o n e n t sp r o v i d e s a l o c u s f o r t h e a p p l i c a t i o n o f d es i g n q u a l i t y a s -s u r a n c e . F u r t h e r , t h e s i z e o f t h e c o m p o n e n t s f a c i l i t a t e st h e a s s u r a n c e o f t h e i r q u a l i t y . From a n SE s t a n d p o i n t , t h i ss h o u l d h e l p m a k e t h e p r o c e s s o f b u i l d i n g a s y s t e m m o r es y s t e m a t i c .

P e r h a p s m o r e i m p o r t a n t l y , t h e o v e r a l l p h i l o s o p h y o fD r a c o e n f o r c e s a s t r o n g s y s t e m a t i i a t i o n o n t h e p r o c e s ss i n c e i t f o r c e s m o s t i n t e r n a l d e s i g n d e c i s i o n s t o b e m a d eo n c e a t d o m a i n d e s i g n t i m e , n o t r e p e a t e d l y e a c h t i m e as y s t e m i s b u i l t . T h i s f o r m o f s t r u c t u r i n g o f t h e p r o c e s s i sn o t p o s s i b l e i f m o n o l i t h i c ( i . e . , n o n c o m p o n e n t i z e d ) s y s -t e m s a r e b u i l t . I n e f f e c t , b y u t i l i z i n g many s m a l l c o m p o -

n e n t s , w e a r e a b l e t o b r e a k u p t h e d e s i g n p r o c e s s i n a wayt h a t p e r m i t s u s t o c a r r y i t o u t o n c e i n many s m a l l p i e c e s( t h e d e s i g n o f t h e c o m p o n e n t s ) a n d t h e n r e a s s e m b l e t h a td e s i g n p r o c e s s i n n e w w a y s ( s e m i a u t o m a t i c a l l y ) w h e n t h ec o m p o n e n t s a r e u t i l i z e d .

M o d e l i n g : C o m p o n e n t s p r o v i d e f o r t h e r e a l i z a t i o n o ft h e e x t e r n a l o b j e c t s a n d o p e r a t i o n s t o b e m o d e l e d i n a

s t r a i g h t f o r w a r d o n e - t o - o n e m a n n e r . F u r t h e r , t a k i n g a v e r -

t i c a l v i e w , t h e y p r o v i d e f o r c o n n e c t i o n b e t w e e n d i f f e r e n tm o d e l i n g l a n g u a g e s . T h i s c o r r e s p o n d s t o a c h a n g e o f r e p -r e s e n t a t i o n .

C o m p a r t m e n t a l i z a t i o n o f K n o w l e d g e : C o m p o n e n t s

p e r m i t u s t o c a p t u r e d e s i g n k n o w l e d g e ( a b o u t t h e i m p l e -m en t a t i o n o f s p e c i f i c o p e r a t i o n s a n d o b j e c t s ) i n s m a l lp i e c e s . T h e y p e r m i t u s t o e n c a p s u l a t e t h i s f o r m o f s y s t e mk n o w l e d g e i n m i n i m a l l y s m a l l c h u n k s t h u s f o c u s i n g o u ra t t e n t i o n . A s s e m b l i e s o f c o m p o n e n t s ( t h a t r e s u l t f r o mt h e i r u s e i n a h i g h e r - l e v e l d o m a i n ' s c o m p o n e n t s ) t h e np e r m i t u s t o e x p a n d t h e s i z e o f t h e c h u n k a s d e s i r e d . L i -b r a r i e s o f c o m p o n e n t s c a p t u r e f u r t h e r d e s i g n i n f o r m a t i o nb y s t o r i n g a l t e r n a t i v e r e f i n e m e n t s f o r o p e r a t i o n s a n d o b -j e c t s .

R e u s a b i l i t y : C o m p o n e n t s a r e t h e m e c h a n i s m t h a tp e r m i t u s t o c a p t u r e a n d r e u s e d e s i g n i n f o r m a t i o n . E a c hc o m p o n e n t e n c a p s u l a t e s a d e s i g n e r ' s k n o w l e d g e a b o u thow t o i m p l e m e n t a p a r t i c u l a r s t r u c t u r e o r f u n c t i o n . I n -d e e d , b e c a u s e c o m p o n e n t s p r o v i d e f o r a l t e r n a t i v e r e f i n e -m e n t s ( i m p l e m e n t a t i o n s ) , t h e r e i s t h e p o s s i b i l i t y o f c a p -t u r i n g a n d e a s i l y r e u s i n g d e s i g n t r a d e o f f i n f o r m a t i o n t h a ti s n o t n o r m a l l y a v a i l a b l e i n a d e s i g n r e p r e s e n t a t i o n .

I t s h o u l d b e n o t e d , h o w e v e r , t h a t t h e r e i s a l e v e l o fd e s i g n i n f o r m a t i o n t h a t i s n o t e x p l i c i t l y c a p t u r e d i n t h i sm an n e r . T h a t i s t h e i n f o r m a t i o n a b o u t t h e o v e r a l l s t r u c -t u r e o f a p a r t i c u l a r s y s t e m . F o r e x a m p l e , w e may h a v e a

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

3 ) T r a n s f o r m a t i o n s :A b s t r a c t i o n L e v e l s : T r a n s f o r m a t i o n s i n D r a c o a r e

u s e d t o i n d i c a t e m a p p i n g s f r o m o n e c o n s t r u c t i n a d o m a i nl a n g u a g e i n t o a n o t h e r c o n s t r u c t i n t h e s a m e l a n g u a g e .

T h i s , i n e f f e c t , c a p t u r e s r e l a t i o n s b e t w e e n a b s t r a c t i o n s i nt h e d o m a i n .S t r u c t u r e o f P r o d u c t s : T r a n s f o r m a t i o n s a l t e r t h e

o r i g i n a l s t r u c t u r e i n a s p e c i f i c a t i o n . T h i s i s n o t n e c e s s a r -

i l y b a d , h o w e v e r , s i n c e t h e t r a n s f o r m a t i o n i s i n v o k e d t oa c h i e v e some o b j e c t i v e ( s u c h a s f i n d i n g a more e f f i c i e n ti m p l e m e n t a t i o n ) .

S y s t e m a t i c P r o c e s s : T r a n s f o r m a t i o n s a r e u s e d t o e f -f e c t o p t i m i z a t i o n s a n d c h a n g e s i n t h e r e p r e s e n t a t i o n o f a

s p e c i f i c a t i o n t o e n a b l e o t h e r o p e r a t i o n s . T h i s w i l l c o n t r o lo p t i m i z a t i o n s a n d t h u s c o n t r i b u t e , a l b e i t i n a m i n o r w a y ,t o e n f o r c i n g a s y s t e m a t i c d e v e l o p m e n t p r o c e s s . I t i s t h eo v e r a l l s t r u c t u r e o f t h e p r o c e s s t h a t D r a c o s u p p o r t s t h a t i s

t h e p r i m e c o n t r i b u t o r t o b e i n g s y s t e m a t i c ; i n t h i s s e n s e ,l o w - l e v e l t r a n s f o r m a t i o n s a r e i m p o r t a n t c o n t r i b u t o r s s i n c et h e y p e r m i t u s t o e n c a p s u l a t e a n d t h u s c o n t r o l c h a n g e s t oe a c h s t a g e o f r e f i n e m e n t ( b u t n o t i n a v e r s i o n - c o n t r o ls e n s e ) .

M o d e l i n g : T r a n s f o r m a t i o n s p r o v i d e u s t h e a b i l i t y t oc u s t o m i z e a p i e c e o f t h e s y s t e m r e p r e s e n t a t i o n s o t h a t w ec a n t h e n r e f i n e t h e r e p r e s e n t a t i o n i n t o a d i f f e r e n t m o d e l i n gd o m a i n .

C o m pa r tm en t al i z at i on o f K n o w l e d g e : T r a n s f o r m a -t i o n s p r o v i d e t h e p h y s i c a l e n c a p s u l a t i o n o f o p t i m i z a t i o nk n o w l e d g e .

8 3 7

Page 9: A Conceptual Analysis of the Draco Approach to Constructing Software Systems

8/8/2019 A Conceptual Analysis of the Draco Approach to Constructing Software Systems

http://slidepdf.com/reader/full/a-conceptual-analysis-of-the-draco-approach-to-constructing-software-systems 9/15

I E E E T R A N S A C T I O N S O N S OF TW AR E E N G I N E E R I N G , V O L . S E - 1 3 , N O . 7 , J U L Y 1 9 8 7

R e u s a b i l i t y : M o s t o f t h e i n f o r m a t i o n c a p t u r e d b yt r a n s f o r m a t i o n s r e l a t e s t o o p t i m i z a t i o n o f e x p r e s s i o n s i nt h e l a n g u a g e , t h u s f a c i l i t a t i n g t h e r e u s e o f s u c h o p t i m i -z a t i o n i n f o r m a t i o n . W h i l e i m p o r t a n t , t h e r e i s a h i g h e rl e v e l o f o p t i m i z a t i o n i n f o r m a t i o n r e l a t i n g t o t h e ' p r o b l e m

d o m a i n t h a t w e b e l i e v e c o u l d ( a n d s h o u l d ) b e c a p t u r e d b yt r a n s f o r m a t i o n s .F o r e x a m p l e , i t m i g h t b e known t h a t i n a p a r t i c u l a r s i t -

u a t i o n o f i n v e n t o r y c o n t r o l , t h e c a l c u l a t i o n o f e x p e c t e di n v e n t o r y l e v e l s i n t h e f u t u r e c ou l d b e g r e a t l y s i m p l i f i e d .I f t h a t k n o w l e d g e c o u l d b e c a p t u r e d i n t h e f o r m o f a t r a n s -f o r m a t i o n t h e n i f a s p e c i f i c a t i o n w e r e w r i t t e n a n d t h o s ec o n d i t i o n s w e r e p r e s e n t , t h e t r a n s f o r m a t i o n c ou l d b e i n -v o k e d t o o b t a i n t h e s i m p l e r f o r m o f t h e s t a t e m e n t s ; t h i sw o u l d b e a v e r y v a l u a b l e f o r m o f r e u s e o f o p t i m i z a t i o ni n f o r m a t i o n , b u t o n e t h a t w e h a v e n o t y e t a c h i e v e d i nD r a c o .

4 ) R e f i n e m e n t s :

A b s t r a c t i o n L e v e l s : A k e y e l e m e n t i n u s i n g t h e c o n -c e p t o f l e v e l s o f d e s i g n a b s t r a c t i o n i s t h e way i n w h i c hc o n n e c t i o n s a r e m a d e b e t w e e n l e v e l s . O f p a r t i c u l a r i n t e r -e s t i s t h e way i n w h i c h a s t r u c t u r e a t o n e l e v e l i s m a p p e di n t o a n e q u i v a l e n t a t t h e l o w e r l e v e l , s i n c e t h i s w i l l h a v ea g r e a t i m p a c t o n t h e c o r r e c t n e s s o f t h e f i n a l p r o d u c t . I nt h i s c o n t e x t , t h e u s e o f r e f i n e m e n t s i s c e n t r a l t o t h e p o w e ro f t h e D r a c o a p p r o a c h .

R e f i n e m e n t s , o f c o u r s e , p r o v i d e f o r t h e t r a n s l a t i o n o f as e t o f s p e c i f i c a t i o n s e x p r e s s e d a t o n e l e v e l o f a b s t r a c t i o ni n t o e q u i v a l e n t s p e c i f i c a t i o n s a t l o w e r l e v e l s o f a b s t r a c -t i o n . T h e r e a r e s e v e r a l k e y a s p e c t s t o t h e way i n w h i c ht h i s D r a c o m e c h a n i s m c o n t r i b u t e s t o o u r

a b i l i t yt o u t i l i z e

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

F o r e x a m p l e , n o r m a l l y w e m i g h t w a n t a p a r t i c u l a r c o m -p u t a t i o n i n a n a p p l i c a t i o n l a n g u a g e t o b e r e f i n e d t o a f u n c -t i o n a l l a n g u a g e . H o w e v e r , w e m i g h t a l s o w a n t a r e f i n e -m e n t a v a i l a b l e d i r e c t l y t o a p r o c e d u r a l l a n g u a g e f o r u s ei n s p e c i a l c a s e s . D r a c o ' s u s a g e o f r e f i n e m e n t s ' p e r m i t st h i s , p r o v i d i n g a r e p r e s e n t a t i o n f o r t h e a l t e r n a t i v e s . T h i ss h o u l d b e c o m p a r e d t o t h e u s u a l p r o g r a m m i n g l a n g u a g es i t u a t i o n i n w h i c h d i r e c t r e f e r e n c e s t h r o u g h a l e v e l o f a b -

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

a r e d o n e b y D r a c o ( w i t h h u m a n g u i d a n c e ) , t h u s p r o v i d i n gmore r i g o r a n d c o r r e c t n e s s i n t h e a c t u a l r e f i n e m e n t . T h i si s o n e o f t h e w e a k l i n k s i n t h e u s u a l t o p - d o w n r e f i n e m e n to f a d e s i g n i n w h i c h r e f i n e m e n t f r o m o n e l e v e l o f a b s t r a c -t i o n t o a n o t h e r i n t r o d u c e s e r r o r s . H o w e v e r , D r a c o h a s n om e c h a n i s m t o f o r c e ' t h i s a n d d o e s n o t c h e c k p r e - c o n d i -t i o n s f o r t h e r e f i n e m e n t s .

S t r u c t u r e o f P r o d u c t s : M o s t s t r u c t u r i n g o f SE w o r k -

p r o d u c t s t a k e s p l a c e a t t h e l e v e l o f t h e c o d e ( i n t h e s e n s eo f s t r u c t u r e d p r o g r a m s ) ; t h i s i s w h a t w e c a l l e d " h o r i z o n -t a l s t r u c t u r e " a b o v e . W h i l e c o d e p r o d u c e d b y D r a c o h a ss o m e d e f i n a b l e s t r u c t u r e , i t i s n o t t h e s t r u c t u r e t h a t o b e y so n e - i n , o n e - o u t r u l e s . D r a c o t h u s f o r c e s " v e r t i c a l s t r u c -

t u r i n g , " o r s t r u c t u r i n g o f t h e s p e c i f i c a t i o n s f r o m w h i c ht h e c o d e i s p r o d u c e d .

S y s t e m a t i c P r o c e s s : R e f i n e m e n t s a r e t h e m a i n m e c h -a n i s m t h a t p e r m i t u s t o b r e a k t h e d e v e l o p m e n t p r o c e s s u pi n t o s m a l l , w e l l - d e f i n e d s t e p s i n D r a c o . T h e p r o c e s s t h a ti s b r o k e n u p , h o w e v e r , i s n o t t h e t r a d i t i o n a l l i f e c y c l e ( t h a ti s a d d r e s s e d b y t h e o v e r a l l D r a c o a p p r o a c h ) , b u t i s t h ep r o c e s s o f t a k i n g h i g h l e v e l s p e c i f i c a t i o n s a n d c o n v e r t i n gt h e m i n t o e x e c ' u t a b l e c o d e .

M o d e l i n g : T h e c o n t r i b u t i o n o f r e f i n e m e n t s t o m o d -e l i n g i s t o p e r m i t c h a n g e o f a m o d e l t o a d i f f e r e n t l e v e l .I n e s s e n c e , t h i s i s t h e s a m e a s t h e c o n v e r s i o n b e t w e e nl e v e l s o f a b s t r a c t i o n . T h e r e f i n e m e n t l i b r a r y c a n b e v i -s i o n e d a s a h i e r a r c h i c a l o r g a n i z a t i o n o f a b s t r a c t d a t a t y p e su n d e r t h e a g g r e g a t i o n / p a r t - o f r e l a t i o n .

C o m p a r t m e n t a l i z a t i o n o f K n o w l e d g e : T h i s i s a n -o t h e r k e y a r e a i n w h i c h t h e m e c h a n i s m s o f D r a c o c o n t r i b -u t e d i r e c t l y t o t h e d e s i r e d SE o b j e c t i v e s . R e f i n e m e n t s , b e -c a u s e t h e y p e r m i t u s t o h a v e l a n g u a g e s a t m u l t i p l e l e v e l s ,p e r m i t u s t o g r o u p k n o w l e d g e b y l e v e l o f a b s t r a c t i o n ( d i s -t a n c e f r o m t h e m a c h i n e ) a s w e l l a s b y t y p e o f c o n t e n t( d i v i s i o n i n t o d o m a i n s ) . F o r e x a m p l e , t h i s p e r m i t s u s t os u p p r e s s d e t a i l s o f a p a r t i c u l a r c o m p u t a t i o n o r o p e r a t i o n .

R e u s a b i l i t y : R e f i n e m e n t s p e r m i t t h e r e u s e o f l a n -g u a g e e l e m e n t s a t a h i g h e r l e v e l . I n a d d i t i o n , a l t e r n a t i v e

r e f i n e m e n t sc a p t u r e a n d p e r m i t

t h er e u s e o f

p e r f o r m a n c ek n o w l e d g e .

I V . SUMMARY

A . R e s u l t s o f t h e A n a l y s i s

O u r p r i m a r y p u r p o s e h e r e h a s b e e n t o l a y b a r e some o ft h e c o n n e c t i o n s b e t w e e n D r a c o a n d t h e p r i n c i p l e s o f S E .T h e r e a r e s e v e r a l p o i n t s t h a t w e b e l i e v e a r e i l l u s t r a t e d a n ds u p p o r t e d b y t h i s a n a l y s i s .

F i r s t , D r a c o p r o v i d e s a n e n v i r o n m e n t i n w h i c h s e v e r a li m p o r t a n t m e c h a n i s m s c a n w o r k t o g e t h e r p r o d u c t i v e l y t oa c h i e v e a c o l l e c t i o n o f o b j e c t i v e s . I t i s n o t j u s t a n e n g i n e

f o r a p p l y i n g t r a n s f o r m a t i o n s o r a m e t a - c o m p i l e r o r a l i -b r a r y f o r s m a l l p i e c e s o f c o d e . R a t h e r i t i n c o r p o r a t e s a l lt h e s e p l u s m o r e . O u r a n a l y s i s h a s l o o k e d p r i m a r i l y a t t h ei n d i v i d u a l c o n t r i b u t i o n s , b u t s c a n n i n g a c r o s s a r o w i n F i g .7 , y o u c a n s e e how s e v e r a l m e c h a n i s m s w o r k t o g e t h e r t oa c h i e v e a g i v e n o b j e c t i v e . F o r e x a m p l e , t h e v a r i o u s a s -p e c t s o f m o d e l i n g a r e p r o v i d e d b y t h e c o m b i n e d e f f o r t s o fh i g h - l e v e l l a n g u a g e s , c o m p o n e n t s , t r a n s f o r m a t i o n s , a n dr e f i n e m e n t s .

N e x t , t h i s a n a l y s i s i n d i c a t e s t h a t c u r r e n t m e c h a n i s m s o fc o m p u t e r s c i e n c e a r e r e l a t i v e l y p o w e r f u l . F o r e x a m p l e ,t h e t r a n s f o r m a t i o n t e c h n o l o g y b e i n g u t i l i z e d d o e s n o t a p -

8 3 8

Page 10: A Conceptual Analysis of the Draco Approach to Constructing Software Systems

8/8/2019 A Conceptual Analysis of the Draco Approach to Constructing Software Systems

http://slidepdf.com/reader/full/a-conceptual-analysis-of-the-draco-approach-to-constructing-software-systems 10/15

FREEMAN: DRACO APPR O A CH T O CONSTRUCTING SOFTWARE SYSTEMS

p e a r t o b e a h i n d r a n c e t o a c h i e v i n g t h e o b j e c t i v e s l i s t e d .Q u i t e a l o t o f p o w e r c a n b e o b t a i n e d f r o m c u r r e n t m e c h -a n i s m s a n d w e s h o u l d p r o b a b l y p u t m o r e e f f o r t o n u t i l i z -i n g w h a t w e h a v e ( a l t h o u g h n o t t o t h e d e t r i m e n t o f c o n -t i n u i n g t h e s e a r c h f o r new s t r u c t u r e s i n c o m p u t e r s c i e n c e ) .

T h e f i r s t t h r e e o b j e c t i v e s p r e s e n t e d - a b s t r a c t i o n , s t r u c -t u r e o f p r o d u c t s , a n d s t r u c t u r e o f p r o c e s s - a r e r e l a t i v e l ys t r a i g h t f o r w a r d ; t h a t i s , w e know h ow t o a c h i e v e t h e m .T h i s i s s u p p o r t e d b y t h e f a c t t h a t t h e c h a r a c t e r i z a t i o n s i nF i g . 7 f o r ' t h o s e t h r e e o b j e c t i v e s ( f o r t h e c o n t r i b u t i o n o fl a n g u a g e s , c o m p o n e n t s a n d s o o n ) a r e s t r a i g h t f o r w a r d a n dd e f i n i t e ; w e c a n r e a d i l y u n d e r s t a n d t h e m .

T h e n e x t t h r e e , h o w e v e r - m o d e l i n g , c o m p a r t m e n t a l i -z a t i o n , a n d r e u s a b i l i t y - a r e n o t s o c l e a r i n t h e i r c o n n e c -t i o n s . P a r t l y t h i s i s a r e s u l t o f t h e f a c t t h a t t h e y a r e m o r ec o m p l e x o b j e c t i v e s ; b u t , i t i s a l s o t h e c a s e t h a t c o n s i d e r -a b l e w o r k r e m a i n s t o b e d o n e o n a c h i e v i n g t h e m ( i n t h ec o n t e x t o f D r a c o , a s w e l l a s m o r e g e n e r a l l y ) .

T h a t l e a d s u s t o t h e f i n a l c o n c l u s i o n : D e a l i n g w i t hk n o w l e d g e ( a s r e p r e s e n t e d b y t h e s e l a s t t h r e e o b j e c t i v e s )i s a n o b j e c t i v e t h a t i s f a r f r o m b e i n g r e a l i z e d i n S E . W eb e l i e v e t h i s a n a l y s i s h i g h l i g h t s a m o r e g e n e r a l s i t u a t i o n :t h a t e v e n t h e c a r e f u l a p p l i c a t i o n o f s o m e p o w e r f u l m e c h -a n i s m s i n t e n d e d t o d e a l w i t h k n o w l e d g e m a n i p u l a t i o nr a i s e s m o r e q u e s t i o n s t h a n i t a n s w e r s .

B . O p e r a t i o n a l R e s u l t s t o D a t e

D r a c o w a s f i r s t d e v e l o p e d b y N e i g h b o r s [ 1 5 ] , f u r t h e ri m p r o v e d b y h i m i n i t s i m p l e m e n t a t i o n [ 1 3 ] a n d i s s t i l l a

r e s e a r c h v e h i c l e f o r e x p l o r i n g an u m b e r o f c o n c e p t s . U l -

t i m a t e l y , i t m u s t b e p o s s i b l e t o m e a s u r e i t s s u c c e s s a g a i n s tr e g u l a r s y s t e m d e v e l o p m e n t p r o c e d u r e s . We a r e p r e s e n t l yw o r k i n g w i t h s e v e r a l i n d u s t r i a l l a b s h e r e a n d a b r o a d t oa p p l y D r a c o t o s o m e r e a l i s t i c e x a m p l e s .

T h e l a r g e s t s y s t e m g e n e r a t e d s o f a r [ 1 ] c o n s i s t s o f a p -p r o x i m a t e l y 2 0 0 0 l i n e s o f L i s p c o d e . A t t h i s s t a g e , h o w -e v e r , i t i s n o t a p r o d u c t i o n t o o l . K e y t o t h e e v e n t u a l s u c -c e s s o f t h e D r a c o a p p r o a c h i s t h e e x i s t e n c e o f a n e f f e c t i v el i b r a r y o f d o m a i n s t h a t c a n b e b u i l t u p o n . E x a m p l e s o fd o m a i n s b u i l t s o f a r i n c l u d e o n e s f o r a u g m e n t e d t r a n s i t i o nn e t w o r k s , d i c t i o n a r y c o n s t r u c t i o n , g e n e r a t i o n o f s e n -t e n c e s i n n a t u r a l l a n g u a g e ( s u b s e t p a r s e d b y t h e A T N d o -

m a i n w i t h w o r d s i n t h e d i c t i o n a r i e s ) , l i m i t e d f a c i l i t i e s f o rs i m u l a t i n g p a r a l l e l p r o c e s s i n g , a n d a r e u s e m o d u l e d e f i -n i t i o n l a n g u a g e .

I n a d d i t i o n , t h e r e a r e s e v e r a l d o m a i n s t h a t p e r t a i n t o t h eD r a c o " i n f r a s t r u c t u r e , " i n c l u d i n g o n e s f o r p a r s e r g e n e r -a t i o n , t a c t i c s s p e c i f i c a t i o n , r e f i n e m e n t l i b r a r i e s c o n s t r u c -

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

D i s c u s s i o n o f t h e d o m a i n c o n s t r u c t i o n a s p e c t o f D r a c oi s q u i t e i n v o l v e d b e c a u s e o f t h e c o m p l e x n a t u r e o f t h e t a s ka n d t h e c o n n e c t i o n s t o s e v e r a l o t h e r a r e a s ( a r t i f i c i a l i n t e l -l i g e n c e , l a n g u a g e d e s i g n t h e o r y , d a t a m o d e l i n g , a n d s o

o n ) . T h i s t o p i c i s t h e c u r r e n t f o c u s o f o u r r e s e a r c h , b u tw i l l n o t b e f u r t h e r d i s c u s s e d h e r e .

L i k e w i s e , t h e o p e r a t i o n a l a s p e c t o f D r a c o ( i t s p h y s i c a lc o n s t r u c t i o n ) n e e d s t o b e t h o r o u g h l y a n a l y z e d a n d u n d e r -s t o o d . We a r e c u r r e n t l y ( 1 9 8 6 ) i n t h e m i d s t o f t h i s t a s k .

V . R E S E A R C H D I R E C T I O N S AND R E L A T E D WORK

C o n s i s t e n t w i t h t h e p u r p o s e o f t h e p a p e r , l e t u s b r i e f l yi n d i c a t e i n c l o s i n g s o m e n e e d e d r e s e a r c h t h a t w i l l f u r t h e rt h e D r a c o t e c h n o l o g y :

* S p e c i a l i z e d l a n g u a g e s a r e o n l y a s e f f e c t i v e a s t h e i rc a p t u r e o f r e a l - w o r l d k n o w l e d g e . T h e c o n n e c t i o n s s h o w ni n F i g . 7 w i l l b e w o r t h l e s s i f w e c a n n o t e f f e c t i v e l y c r e a t et h e l a n g u a g e s i n t h e f i r s t p l a c e . T h e w h o l e a r e a o f c r e a t i n gd o m a i n s i s t h e p r i m a r y r e s e a r c h n e e d w i t h r e s p e c t t o d e -v e l o p m e n t o f t h e D r a c o p a r a d i g m a n d t h e o n e o n w h i c hw e a r e c o n c e n t r a t i n g . Ho w t o d o d o m a i n a n a l y s i s , h ow t o

- v a l i d a t e t h e m , ho w t o p a r t i t i o n k n o w l e d g e i n t o d o m a i n s ,

how b e s t t o c o m b i n e l a n g u a g e s - t h e s e a r e a l l q u e s t i o n sn e e d i n g a g r e a t d e a l o f s t u d y .

N e i g h b o r s [ 1 5 ] p o i n t e d o u t i n h i s t h e s i s , a n d w es t r o n g l y a g r e e , t h a t a p o t e n t i a l l y p o w e r f u l a p p l i c a t i o n o ft r a n s f o r m a t i o n s i s t o c a p t u r e a p p l i c a t i o n - l e v e l c h a n g e s i ns y s t e m ( o r p r o b l e m ) d e s c r i p t i o n t o e f f e c t m a j o r e c o n o m i e si n s y s t e m g e n e r a t i o n . T h i s i s s u e h a s n o t b e e n a t t a c k e d i na n y s y s t e m a t i c w a y .

* R e f i n e m e n t h i s t o r i e s , e n a b l i n g a r e p l a y o f a r e f i n e -m e n t s e q u e n c e , w o u l d p r o v i d e a n e s s e n t i a l p a r t o f a p r o -d u c t i o n - q u a l i t y D r a c o . We a r e j u s t b e g i n n i n g t o e x p l o r ehow t o u s e s u c h h i s t o r i e s e f f e c t i v e l y [ 7 ] , [ 2 2 ] . L i k e w i s e ,w h i l e r e f i n e m e n t

t a c t i c s ( t h a t a u t o m a t i c a l l y g u i d e D r a c oi n m a k i n g l o c a l r e f i n e m e n t d e c i s i o n s ) a r e o p e r a t i o n a l ,t h e r e c l e a r l y i s a n e e d f o r s m a r t e r s t r a t e g i e s t h a t c o u l d b eu t i l i z e d t o g u i d e a u t o m a t i c a l l y e n t i r e i m p l e m e n t a t i o n s .

* T h e i m p l e m e n t a t i o n o f t h e D r a c o a p p r o a c h i n t h ec u r r e n t t o o l ( D r a c o 1 . 2 ) i s s u f f i c i e n t f o r l i m i t e d r e s e a r c h .A new i m p l e m e n t a t i o n t h a t e x p l o i t s new h a r d w a r e a n d o u re n h a n c e d u n d e r s t a n d i n g o f t h e p a r a d i g m a n d t h e t o o l i sn e e d e d , h o w e v e r ; w e p l a n o n e x p l o r i n g t h i s i n t h e n e a rf u t u r e .

* A c o m p l e t e p r o d u c t i o n - q u a l i t y a p p l i c a t i o n o f t h e a p -p r o a c h s h o u l d y i e l d a s i g n i f i c a n t l y e n h a n c e d u n d e r s t a n d -i n g o f D r a c o . Work o n t h i s i s c u r r e n t l y u n d e r w a y b y a n

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

r e l a t i n g t o D r a c o t e c h n o l o g y , i t s o p e r a t i o n , a n d i t s u t i l i -z a t i o n . I n d e e d , t h e a n a l y s i s p r e s e n t e d h e r e s h o u l d s e r v et o h i g h l i g h t a n d d e l i m i t t h e c o n n e c t i o n s b e t w e e n s p e c i f i cm e c h a n i s m s a n d o b j e c t i v e s s o t h a t t h e s e q u e s t i o n s c a n b er e a d i l y d e t e r m i n e d b y o t h e r s .

R e l a t e d w o r k u p t o 1 9 8 0 i s s u r v e y e d i n [ 1 5 ] . T h e D r a c op a r a d i g m b e l o n g s t o t h e c l a s s o f a p p r o a c h e s b a s e d o nt r a n s f o r m a t i o n t e c h n o l o g y ; [ 1 8 ] s u r v e y s many o f t h e s e .R e f e r e n c e [ 2 ] p r e s e n t s a g e n e r a l s c h e m e w i t h s i m i l a rg o a l s b u t a d i f f e r e n t r e p r e s e n t a t i o n a l a p p r o a c h .

8 3 9

Page 11: A Conceptual Analysis of the Draco Approach to Constructing Software Systems

8/8/2019 A Conceptual Analysis of the Draco Approach to Constructing Software Systems

http://slidepdf.com/reader/full/a-conceptual-analysis-of-the-draco-approach-to-constructing-software-systems 11/15

840 IEEE T R A N S A C T I O N S ON SOFTWARE ENGINEERING, V O L. S E - 1 3 , NO. 7 , J U L Y 1 9 8 7

A P P E N D I XMODEL OF THE USAGE CONTEXT OF DRACO

T h e SADT m o d e l p r e s e n t e d i n t h i s A p p e n d i x , t a k e n f r o m [ 1 5 ] d e s c r i b e s i n d e t a i l t h e o r g a n i z a t i o n a l c o n t e x t o f t h ei n t e n d e d u s a g e o f D r a c o . T h e m o d e l a l s o i l l u s t r a t e s t h e s t e p s o f u s i n g D r a c o t h a t a r e d e s c r i b e d a b o v e i n S e c t i o n I I .I f y o u a r e n o t f a m i l i a r w i t h SADT, a d e s c r i p t i o n c a n b e f o u n d i n [ 1 9 ] a n d [ 2 0 ] .

USED A T . A U T H O R : J a i n e s M. Neighbrs D A T E : 15-OCT-80 LIWORKING READER DATE CONTEXT:

~ P R O J E C T :D r a c o 1.0

RE V : 3 D R A F TREER __RECOMMENDED_ _

. NOTES: 1 2 3 4 5 6 78910 PUBLICATION

a r e a s w l h e r e t h k e r e is a d e m a n dfo r n m a n y similar s y s t e m s

o rga ni z a tio na l information a b o u t diffe r e n tgoals r o b l e m d omai n s

sy s t e r n l o cet otaessessoftwarer e q u i r e m e n t s c r e a t e s o f t w a r e s y s t em s s y s t em

( D R A 0 2 )

Purpose: To sh o w th e u s e of D r a c o within a norganization w hich c r e a t e s s of t ware s y s t em s .

Viewpoint: A r e s e a r c h e r a t t e n m p t i n g to increase th e productivityof th e organization th r o ugh th e r e u s e o f analysisa n d design.

N O D E : A T I T L E : CREATE SOFTWARE SYSTEMS ( C O N T E X T ) NUMBER: r I

USED A T : A U T H O R .J a i n e s

M . N e i g h o b o r s DATE

1 5 - O C T - 8 0W- RKG READER DATE CONTEXT:

[PROJECT. Drc .0RE V . 3DRAFT_RECOMMENDED

NOTES: 1 2 3 4 5 6 7 8 9 1 0 PUBLICATION

Cl organizational C2 a re as w he re t h e r e isgoals a dema nd fo r m a n y

1 C s i f f l i l a r systems

d e t e z r n i i n e a problem dom ain i n w h i c h th ed o i n a i t i s o i _ 5 o r g a n i z a t i o n is int eres t ed i ni n t e r e s t producing s o f t w a r e

library of dom ain analysis r e p o r t s a n dr e se a r c h d o m a i n s w hich h ave b een described to D r a c o

C3 information a b o u t d o mai nd i f f e r e n t Lroblem D ra co l ib ra ryd o m a i n s (DR04 of d o m a i n s

o n s t r u c t O1 s o f t w a r e

| XJP > ~ ~ ~ ~ s oftw a reL Y s t l. I~~~~~~~ ~ ~~1y s t e m / A s y s t e ! 3

requirements ( D R A O 3 )

" " e x p e r i e n c e with buildings y s t e m s i n a d omai n

N O D E : A 0T

CREATE SOFTWARE SYSTEMS 1 N U M B E R : DRA02

n0

1 -

r t

c

C 4

C: )

0 1 0: ,a

' 0

Ef

M )E n( D

C )

n

0S

H .

n

0' 0

1 . 4

H .OQ

c : Y

F t

C : )

za

c r J

D

C ) : r

a

' S

n

-

H .

C : )

1 0S

Page 12: A Conceptual Analysis of the Draco Approach to Constructing Software Systems

8/8/2019 A Conceptual Analysis of the Draco Approach to Constructing Software Systems

http://slidepdf.com/reader/full/a-conceptual-analysis-of-the-draco-approach-to-constructing-software-systems 12/15

FREEMAN: D R A C O APPROACH TO CONSTRUCTING SOFTWARE SYSTEMS

USED A T : A U T H O R : J a m e s M . N e i g h b o r s D A T E : 1 5 - O C T - 8 0 W O R K I N G F _ READER DATE C O N T E X T :P R O J E C T :

rc .

R E V : 3DRAFT_ _RECOMMENDED |

N O T E S : 1 2 3 4 5 6 7 8 9 1 0 U P U L I C A T I O N

I l information a b o ut Cl dom ain o fth e d o m a i n int eres t

\̂ ; ~ ~ ~ ~ d o m a i n analysis|

analyzeth e > 01 dom ain a n a l y s i s reports1 2 e x p e r i e n c e / ' " dom ainwith building om ai n a n a l y s i s r eport withsystems i n I j b / enough detail t o c o n s t r u c tt h e dom ain om ain a d omai n

a n a l y s td omai n u n d e r c o n str u ction /

c o n s t r u c t / e r r o r s an d u n m e t n e e d s

1 3 l i b r a r f - o f d omai ndomain a n alysi possib le t arget 2rep ort s a n d dom ains fo r * D R A 0 5 )available Dr a c refinements DRACO te stdomains a n d th e e s u c c e s s f u l

dom ain dom ain te std e s i g n e r 3

a c c e p t a b l e .- . d o m a i n r

d o mai n to

lirr 02 D r a c o dom ain

N W - . , f u l l D r a c o d omai n lib r a r y l r a r y

N D : A 2 I T I T L E : R E S E A R C I I T I H E D 0 1 4 A I N N m E : DRA04

U I S E D A T : AUTHOR: J a m e s M .N e i g h b o r s

DATE: 15-OCT-80 WORKINGR E A D E R

DATEC O N T E X T :P R O J E C T : D r a c o 1 . 0 REV: 3 LD R A F T _ .

. L ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ R E C O M M E N E _ _

N O T E S . k I A 4 x § c f t I i t 1 0 * P U B L I C A T I O N

Cl dom ain analysis rep ort i n c l u d i n g| v ~ ~ ~ d e t a i l to c o n s t r u c t a d o m a i n |

e xte rn al a nd l o g i c a l s c o p i n g a nd r e l a t i o n s h i p s prose d e s c r i p t i o ninternal f o r m i l l a g g r e g a t i o n to u s e b e tw e e n th e of th e se ma n tics

i n p r i n t i n g internal objects a nd o f d omai n objects| create | |o r m [ 3 1 | o p e r a t i o n s ( 5 a n d o p e r a t i o n s ( 7 1

p a r s e r 1

P A R G E N l a n g u a g e dmiparse c r e s p r e t t y p r i n t e r

p r e t t y d o m a i 0 d omapri n t e r ~ ~ ~ ~ t r a n s f o r m a t i n p a r t s m a iI<Pa r t s ~ ~ ~ ~ ~ ~ ~ f i b a r [P G E N c r e a e . e r r o r s i - nt r a n s f o r - p a r t s

g | ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ m aio n | _t

The following n o t e s l i s t th e extension l

of th e files which c a p t u r e th e associated FMGENinformation.

1.DEF 2.PAR tr a n sfor mation d omai n3.PPD 4.DPP c a t a l o g component5.TFM 6 . T L B a c o m p o n e n l i b r a r y t O l7.REF 8.RLB 1 41r1| I l ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1 possible target

4

d o m a i n s f r o m D r a c o9 . Al l o f t h e m echanisms shown o n this library fo r

d i a g r a m a r e th e n a m e s of D r a c o s u b s y s t e m s . r e fin e me n ts

[ N O D E : A22T

CONSTRUCT A DOMAIN D N U M B E R l O S lI

8 4 1

01 0

O 0

v

0 0

H .

C A

o n

&

1 0

Ct

C E

U ) )

C a

0 ' 1

C a

= r .

0 0

40P

E l

( D

I ' -

0 0

0 0C a

U ln

M I

D

a

c a

C a

). 1

Page 13: A Conceptual Analysis of the Draco Approach to Constructing Software Systems

8/8/2019 A Conceptual Analysis of the Draco Approach to Constructing Software Systems

http://slidepdf.com/reader/full/a-conceptual-analysis-of-the-draco-approach-to-constructing-software-systems 13/15

IEEE TRANSACTIONS O N SOFTWARE ENGINEERING, VOL. S E - 1 3 , NO . 7 , J U L Y 1 9 8 7

U S E D A T : A U T H O R : J a m e s M . N e i g h b o r s R D E V : 1 5 - O C T - 8 0 A E A D E R C O N T E X T : Irc I 0 R E c O M M E N D E DI N O T E S : 1 2 3 4 5 6 7 8910 ~ P B L I C A T I O N

ov erview a n d s ucces s es Cl D r a c o library of d omai n sof th e various D r a c od o m a i ns -

d e tails of thed e t a i l s Ic h o i c e ofavailable dom ains

.< K Im et hod of _11 ~ ~~rcreation sfwrsstm - , c h o i c e to buil ds y e d o f t w a r e s y s a c ustom s ys t em

r e q u i e m e n hierefinedy f ro m s cr at chr equiremetonbild s i n g Draca D r a c o domain o n s t r u c t 01 s of t ware

<_^ tys t e m { s ys t emusing

\ f i n e 1det ail s acustom

D RACO one-of-a-kindc o n str u ct s of t ware s y s t e m

|.ta c u s t o msystem _

3 c r a f t s m a n e x p e r i e n c ewith the dom ain

02 e x p e r i e n c e wit hbuilding systeM

expe rie n c e with a i n th e d o m a i nD r a c o d omai n

N O D E - A 3 1 T I T L E : C O N S T R U C T A S O F T W A R E S Y S T E M [ ) R A O 3

I U S E D A T A T H R : J a m e s M . N e i g h b o r s D A T E : 15-OCT-80 W O R K I N G I E A D E R D A T E C O N T E X T :* P ~ ~ R O J E C T : rc . R E V : 3DRAFT _ _R E C O M M E N D E DN O T E S : 1 2 3 4 5 6 7 8 9 1 0 P U B L I C A T I O NI 1 detailed s ys t em requirem ents

1 c h oice C2 details o f th e a va il a bl e d o m a in sofD r a c od omai n syntax of

d omai n a v a i l a b i l i t y o f | - a v a i l a b i l i t y a n dstate language d omai n pars er res t rictions o n

rqts. i n * a n d t r a n s f o r m a t i o n sdomain t r a n s f o r m a t i o n a n d c ompon e n ts

f rlwauacl ] 1 1 w 1 i b r a r y

s y s t e m s parseanalyst& tod e s i g n e r i n t e s n a l r e fin e me n t

d omai n language f orm 2 r e c o r dp rogram /sy n tax e r r o r s PARSE t r a n s f o r m

| | 4 ' l ~ ~ ~ ~ ~ ~ ~ a n de f i n eI / s 1 ~ ~ ~ ~ ~ ~ ~ ~ i n t e r n a l 1 source

d omai n l a n g u a g e ( D R A c o d einternal fo r m T FMREF& testwith suggested s ys t em resultintransform ations s p e c i a l i st s ys t em 01

s o u r c e co e fo r 4 acceptahleo p e r a t i o n s are poor - an e x e c u t a b l e s of t warew r o n g i n d omai n p e r f o r m a n c e t ar ge t l a ngu a ge systemlanguage p rogram p r o b l e m s

problems wit h th e resulting s ys t em

N O D : T I T L E C N U M B E R I

N D : A 3 2 I C O N S T R U C T SYSTEM USING DRACO I D R A 0 6 I I

0

C )' 01 0

0 0r i )

o

C - 4

0

0

z :

0

D

p Q

o

C )0

u 0

C a

tn

0 00

: '

r t

:

C-H .

0

H

nc r

0 )U )

0.' 0

8 4 2

Page 14: A Conceptual Analysis of the Draco Approach to Constructing Software Systems

8/8/2019 A Conceptual Analysis of the Draco Approach to Constructing Software Systems

http://slidepdf.com/reader/full/a-conceptual-analysis-of-the-draco-approach-to-constructing-software-systems 14/15

FREEMAN: D R A C O APPR O A CH T O C ON S TR U CT IN G SOFTWARE SYSTEMS

00 c

P t

re

H '' 0: o r

1 0 0H 'C 4S

0

0 3

0

D

H .e q

.

a ,

0 3

C0 3

L.

1 0

H '

0

U S E D A T : l A U T H O R : J a m e s M . N e i g h b o r s D A T E : 1 5 - O C T - 8 0 W O R K I N G E A D E R D A T E C O N T E X T :

P R O J E C T : D r a c o 1 . - 0 R E V : 3DRAFT§RECOMENDEDN O T E S : k 2 3 4 5 6 7 8 9 1 0 P U L I C A T I O N

I 1 original 1 2 poor performa nce t r a n s f o r m a t i o n Cl availability an dinternal i n refined s ys t em application r e striction s o n

for m ~ ~ ~ ~ ~ ~ ~ ~ p o l i c y (1 transform ations

d o ma in s el ec te d/h o o s e ___

dom ain \ transformd omai n internalinstance f orm tr a n sfor me d

D O M A I N ch o s e c h o s e n i n t e r n a l<n sta n c e _ __> \ | TRANSFORM ; 7

form

I N S T A N C E c h o ose c o m p o n e n t C 1a > application availability and

l ocal e 7 policy restrictions o n3 | (}(1() c o m p o n e n t s

u r r e n t possible LOCALEinternal instances 01 refinem entf orm of t h e d om ain r e c o r d

i n th e c u r r e n t refinem ent refineinternal f o r m tactics int ernal

f orm5 02 s o u r c e c o d e

/c u r r e n t * \o fo r a t a r g e t( d omai n | REFINE ex e cuta bleinstance language

c u r r e n t internal f orm refined internalf orm

1 . all m echanisms a r e c o m m a n d s to the T FMR EF s u bs y st e m

N O D E : T i T L N U M B E R :A323 I T R A N S F O R M A N D REFINE INTERNAL FORM DRA07

ACKNOWLEDGMENT

G . A r a n g o , I. B a x t e r , a n d C . P i d g e o n p r o v i d e d i n c i s i v ecom m e n ts on e a r l i e r d r a f t s o f t h i s paper t h a t

m a t e r i a l l yi m p r o v e d i t ; s p e c i a l t h a n k s t o J . L e i t e f o r F i g . 3 a n d J .N e i g h b o r s f o r t h e A p p e n d i x . T h e w o r d p r o c e s s i n g a c u -

men o f L . C a v e r l y - S t a u f f e r was i n v a l u a b l e . F i n a l l y , t h ec o n t i n u i n g s u p p o r t o f t h e N a t i o n a l S c i en c e F o u n d a t i o n o ft h i s r e s e a r c h i s very g r a t e f u l l y a c k n o w l e d g e d .

R E F E R E N C E S

[ 1 ] G . A r an g o , I. B a x t e r , P . F r e e m a n , a n d C . P i d g e o n , "A t r a n s f o r m a -t i o n - b a s e d p a r a d i g m o f s o f t w a r e m a i n t e n a n c e , " IEEE S o f t w a r e , v o l .3 , pp. 2 7 - 3 9 , Ma y 1 9 8 6 .

[ 2 ] R . B a l z e r , T . E . C h e a t h a m , a n d C . G r e e n , " S o f t w a r e t e c h n o l o g y i nt h e 1 9 9 0 ' s : U s i n g a new p a r ad i g m , " C o m pu t e r , v o l . 1 6 , pp. 3 9 - 6 5 ,N o v . 1 9 8 3 .

[ 3 ] D . B a r s t o w , " D o m a i n - s p e c i f i c a u t o m a t i c p r o g r a m m i n g , " IEEE

T r a n s . S o ft w ar e E n g. , vol. S E - 1 1 , pp. 1 3 2 1 - 1 33 6 , N o v . 1 9 8 5 .[ 4 ] B . W. B o e h m , " S o f t w a r e a n d i t s i m p a c t : A q u a n t i t a t i v e a s s e s s m e n t , "

D a t a m a t i o n , pp. 4 8 - 5 9 , Ma y 1 9 7 3 ; r e p r i n t e d i n [ 1 2 ] .[ 5 ] R . M. B u s t a l l a n d J . G o g u e n , " P u t t i n g t h e o r i e s t o g e t h e r t o m a k e

s p e c i f i c a t i o n s , " i n P r o c . I J C A I 1 9 7 7 , pp. 1 0 4 5 - 1 0 5 8 .[ 6 ] J . M. B u x t o n , P . N a u r , a n d B . R a n d e l l , S o f t w ar e E n g i n e er i n g C o n -

c e p t s a n d T e c h n i q u e s , P e t r o c e l l i / C h a r t e r , 1 9 7 6 ( f r o m t h e 1 9 6 8 - 1 9 6 9N a t o C o n f e r e n c e o n S o f t w a r e E n g i n e e r i n g ) .

[ 7 ] S . D i e t z e n a n d W. S c h e r l i s , " A n a l o g y i n p r o g r a m d e v e l o p m e n t , " i nT h e R o l e o f L a n g u a g e i n P r o b l e m S o l v i n g I. Ne w Y o r k : E l s e v i e r -S c i e n c e , 1 9 8 6 .

[ 8 ] B . C . DeRoze a n d T . H . N y m a n , "The s o f t w a r e l i f e c y c l e - A man-

a g e m e n t a n d t e c h n o l o g i c a l c h a l l e n g e i n t h e D e p a r t m e n t o f D e f e n s e , "IEEE T r a n s . S o f t wa r e E n g. , v o l . S E - 4 , pp. 3 0 3 - 3 1 8 , J u l y 1 9 7 8 .

[ 9 ] P . F r e e m a n , " R e u s a b l e s o f t w a r e e n g i n e e r i n g : A s t a t e m e n t o f l o n g -range r e s e a r c h o b j e c t i v e s , " U n i v . C a l i f o r n i a , I r v i n e , T e c h . R e p . 1 5 9 ,

N o v . 1 9 8 0 a .[ 1 0 ] -, " T h e c e n t r a l r o l e o f d e s i g n : I m p l i c a t i o n s f o r r e s e a r c h , " i n S o f t -

w a r e E n g i n e e r i n g : R e s e a r c h D i r e c t i o n s . Ne w Y o r k : A c a d e m i c ,1 9 8 0 b , p p . 1 2 1 - 1 3 2 .

[ 1 1 1 -," R e u s a b l e s o f t w a r e e n g i n e e r i n g : C o n c e p t s a n d r e s e a r c h d i r e c -t i o n s , " i n P r o c . W o r k s h o p R e u s a b i l i t y i n P r o g r a m m i n g , I T T , New-p o r t , R I , S e p t . 1 9 8 3 , p p . 2 - 1 6 ; r e p r i n t e d i n [ 1 2 ] .

[ 1 2 ] P . F r e e m a n a n d A . I . W a s s e r m a n , T u t o r i a l o f S o f t w a r e D e s i g n T e c h -n i q u e s , 4 t h e d . W a s h i n g t o n , DC : IEEE C o m p u t e r S o c i e t y P r e s s ,1 9 8 3 .

[ 1 3 ] P . F r e e m a n , " S o f t w a r e c o n s t r u c t i o n u s i n g c o m p o n e n t s , " D e p . I n -f o r m . C o m p u t . S c i . , U n i v . C a l i f o r n i a , I r v i n e , F i n a l R e p o r t o n MCS-8 1 - 0 3 7 1 8 , A p r . 1 9 8 4 .

[ 1 4 ] -' T u t o r i a l o n R e u s a b l e S o f t w a r e E n g i n e e r i n g . Ne w Y o r k : IEEEC o m p u t e r S o c i e t y P r e s s , 1 9 8 7 .

[ 1 5 ] J . N e i g h b o r s , " S o f t w a r e c o n s t r u c t i o n u s i n g c o m p o n e n t s , " P h . D . d i s -s e r t a t i o n , D e p . I n f o r m . C o m p u t . S c i . , U n i v . C a l i f o r n i a , I r v i n e , 1 9 8 0 .

[ 1 6 ] J . N e i g h b o r s , G . A r a n g o , a n d J . L e i t e , D r a c o 1 . 3 U s e r M a n u a l , D e p .I n f o r m . C o m p u t . S c i . , U n i v . C a l i f o r n i a , I r v i n e , A p r . 1 9 8 4 .

[ 1 7 ] J . N e i g h b o r s , " T h e D r a c o a p p r o a c h t o c o n s t r u c t i n g s o f t w a r e f r o mr e u s a b l e c o m p o n e n t s , " IEEE T r a n s . S o f t w a r e E n g . , v o l . S E - 1 0 , S e p t .1 9 8 4 .

[ 1 8 ] H . P a r t s c h a n d R . S t e i n b r i u g g e n , " P r o g r a m t r a n s f o r m a t i o n s y s t e m s , "ACM C o m p u t . S u r v e y s , v o l . 1 5 , n o . 3 , p p . 1 9 9 - 2 3 6 , S e p t . 1 9 8 3 .

[ 1 9 ] D . T . R o s s , " S t r u c t u r e d a n a l y s i s ( S A ) : A l a n g u a g e f o r c o m m u n i c a t -i n g i d e a s , " IEEE T r a n s . S o f t w a r e E n g . , v o l . S E - 3 , n o . 1 , p p . 1 6 -3 4 , J a n . 1 9 7 7 ; r e p r i n t e d i n [ 1 2 ] .

[ 2 0 ] D . T . R o s s a n d K . E . S c h o m a n , " S t r u c t u r e d a n a l y s i s f o r r e q u i r e -m e n t s d e f i n i t i o n , " IEEE T r a n s . S o f t w a r e E n g . , v o l . S E - 3 , p p . 6 9 -8 4 , J a n . 1 9 7 7 ; r e p r i n t e d i n [ 1 2 ] .

[ 2 1 ] M. R u b i n s t e i n , P a t t e r n s o f P r o b l e m S o l v i n g . E n g l e w o o d C l i f f s , N J :P r e n t i c e - H a l l , 1 9 7 5 .

[ 2 2 ] W. S c h e r l i s a n d D . S c o t t , " F i r s t s t e p s t o w a r d s i n f e r e n t i a l p r o g r a m -m i n g , " i n P r o c . I F I P 9 t h W o r l d C o m p u t . C o n g r e s s , P a r i s , F r a n c e ,1 9 8 6 , p p . 1 9 9 - 2 1 2 .

[ 2 3 ] D . V . S c h o r r e , "META I I : A s y n t a x - o r i e n t e d c o m p i l e r w r i t i n g l a n -g u a g e , " i n P r o c . A C M N a t . C o n f . , 1 9 6 4 , p p . D 1 . 3 - 1 - D I . 3 - 1 1 .

8 4 3

Page 15: A Conceptual Analysis of the Draco Approach to Constructing Software Systems

8/8/2019 A Conceptual Analysis of the Draco Approach to Constructing Software Systems

http://slidepdf.com/reader/full/a-conceptual-analysis-of-the-draco-approach-to-constructing-software-systems 15/15

IEEE TRANSACTIONS O N S O F T W A R E ENGINEERING, VOL. S E - 1 3 , NO. 7 , J U L Y 1 9 8 7

P e t e r Freeman ( S ' 6 2 - M ' 6 7 ) r e c e i v e d t h e P h . D .d e g r e e i n computer s c i e n c e f r o m C a r n e g i e - M e l l o n

H n i v e r s i t y , P i t t s b u r g h , P A , i n 1 9 7 0 .He i s o n t h e f a c u l t y o f t h e D e pa r t m e n t o f I n -

f o r m a t i o n a n d C o m p u t e r S c i e n c e a t t h e U n i v e r s i t yo f C a l i f o r n i a , I r v i n e . He h a s b e e n i n v o l v e d i n t h ea n a l y s i s , d e s i g n , a n d c o n s t r u c t i o n o f a d v a n c e dcomputer a p p l i c a t i o n s a n d t h e t r a i n i n g o f s o f t w a r ee n g i n e e r s s i n c e 1 9 6 1 . H i s r e s e a r c h a c t i v i t i e s a r e

c o n c e n t r a t e d i n s o f t w a r e d e s i g n a n d a n a l y s i s t e c h -

n i q u e s a n d t h e i r a p p l i c a t i o n t o t h e d e v e l o p m e n t

process. He i s a c t i v e i n p r o f e s s i o n a l o r g a n i z a t i o n s , serves on s e v e r a l e d i -t o r i a l b o a r d s , a n d h a s l e c t u r e d w i d e l y o n s o f t w a r e d e s i g n a n d s o f t w a r e e n -

g i n e e r i n g . He i s t h e a u t h o r o f S o ft w ar e P e r s p e c t i v e s : T h e S y s t e m I s t h eM e s s a g e ( A d d i s o n - W e s l e y , 1 9 8 7 ) a n d S o f t w a r e S y s t e m P r i n c i p l e s ( S R A ,1 9 7 5 ) a n d n u m e r o u s t e c h n i c a l papers. I n a d d i t i o n , h e h a s e d i t e d o r c o e d i t e dt h r e e b o o k s a n d was t h e f o u n d i n g e d i t o r o f t h e M c G r a w - H i l l S e r i e s i n S o f t -w a r e E n g i n e e r i n g a n d T e c h n o l o g y .

8 4 4