gorenje informatika '83 Industrijà prosto programirani sistemi procesni mikroračunalnišid sistemi Komunikacije s prenosom podatkov teletekst videoteiLir P.fb'-rol J.B.-zezifistó '.■/.Cellary J.;(reftLe«iskl A.Cd unary) ,b) N^S^nj^'^Cunary) (7) P^rator's'^in'Si^^!'""'^^ the nu.ber of unary o-araL^^n^ condition a) is aatiai'ied,than N® opL reproaantiag uoatly the difference between the number of operands and binary operatora in a flü, giving the numbei' of nodoouiHiutiativa operatora in the full or partial own cover of o OÜ..and (10) counting tho number of »onoomwutativo operatoria In the rauote oovar of other oonneoted aubatr-i ingfl Mhioh raalce the full oovor of o Oö^, Conaider now the mapping operation by Inve-t atiguting the propertlea of triples in VG. ftroporfy Mo.l If the following holdai H^-l ClDjNMCunary)-! (12)tOPK (1),«,^ (13) 'than jWhore ( ia un empty symbol,iiqna (14),(IS) and }(16) Imply that the triple under consideratioi^ has to Daacoluded from It'J?VG beoauoe it doaa 'contribute neither to allocation nor deollooa-^ ition of roi^laters. Property No.2 ; If fiqn (11) holda,and If M^-N^C unary)-0 (17)! than t^"! (18)jf2-0 (l9)tf3-0 (20) It iij evident from Property No.2 that auch a triple will require the allocation of a ragi-atar.Becauae ull unary operatora are conautned by a ainglo operand,f, la eat to unity indicate i-n thia way that 9 regiatar ia allocated without tha residual of operators. Property No.^ I If JSqnadl) and (I3) hold,end if NÌLNB(unary)>l (21) then Eqno (14),(15) end (16) uro valid becnuse tha triple doea not generate a requeat for the allocation of a register.However,the triple oon-|tributua to tha allocation and daallooatlon proo-.as0 in oonnobtionwith lowar-numbered triplea, due to poaaible nonconiinututiva operatora in OPl^ TUio fact ia taken into account by conoatanat-. * ing OPß.(2)OPK.(3)..OI'lUld)) to OPR. i.The oon-cfjtonntion ia Started rt-ora OPR>(2)BeCauao the ■operator Ol'Iij(l) doaa contribute riüithur to allocution nor denllocution of rogiaters.If more auccGflSive triplea with Property No.3 occur,for W?) * V J- t- ra,- The riinlization of the conodtenation will be p erf oriti od only loßicnlly^not phy nically, thua olirainutinK tha ovarhoad.'Pho concatenufcloa of two opayaCor nube tri ni:;a fron triplea VO. -1 and VO>ioriy CMUOO tha chunRo of tha proporty^'óf vq, ThQu,wh(m n trinla in ahnckad for a property lb muut ba oxaniinod whether the next hiKher-nuuibared triplea have Property No,? in order to dotoriiiine the reaulting property of.tha tripl* undar oonfiidorntlon, Froporty ' If Eqn (11) ia VHltd.ond if H[-H]'(unriry)?l (23) ,0PH^(1).;V thon Kqn (19) holda.nnd -tMj(unary)) (S'j);f^-«^(nonooninmtatlve) (26) where «^(nonoomniucative-) deaignatoo the mimbeif oj. nonchiiiinutative operatora in the operator fluhatrlnR of a Oa^.Tha function f, ie aet to thla value hfjcauflS Vd, requires fchB allocation of a reiiiatar and N'*-NP(unHry) operators «r» loft unconautned.T?ho*'fufeotion f, ift oet to th« number of noncomniutative operaCora in OPR^to help the duteriuinatiou of the ollooution and dGallocation pattern. . Property Nò.^ If the following iä trua: ICimnry) (28) ary)) i 4.1 ciiä roiiowin(j Ifl-wf-C^^XCunary) (noncoDimutativa) .then (29) ^y ( jjO'} ifj^^^CnoncoiJimuttitlye in roiuote cover) (31) 'J-'Uü fw'iotion f, la aet to thla vuluo Docjjjuuo H"-W^Cunöry)tl oparunda ure oonauned löuving fm oporarnJ oa a reault in n rofjjiatur.'.Phiii uur-plua of opürunda will ba coauuinod by higlitir- ' nuKiborod triplaa biivine f,<0 böoauso the brlplö with Property Ho,5 changes the moving in VG apflOö from loft to right,In thiö woy^tho covor-inis of thü triplo with Propur.ty Wo,5 ia provid-ocl.lf fj^O.thon thia triplo will require en addi tionQl raf;i8tar thua ihcroaoing tha inuximum ' number or ullocutad ref;iators to twb.Upon tha aicit from t ho triple, t ho totol number of 0U0-outod roEiotora will amount one for the allocation of an Hdditional 'ret:;ÌBtor io only tompora-ry.UucaUtja tho operanda aro purtiolly covered in tbuir own triple,tho function t,-must i;Ìvo tho iiuinbDr of noocoimnutiitivG, opriratorB in all ; roiMotö Covers of dS./(<><) piirtiaipating in füll Oüvering of 03^. ^ . ® ■ Property No.6 If Kqu (2?) holds,and": if unary) (52), then nB, full, own cover) ^5=%(rio"coiiiiQutativo out of full own cov (5i) (54) '•5="t*."o"coiiiiQutativo out of full own cover) (35) l'ho viiluo of tho function f, iu tho numbar of uiiconaumud oparatora.'i'heBe Oporatora will be Güiiauined by operanda in triples with Property «o,5-.Liliiiilarly tu Property No.5,if f..>0,then an (iclditionel ro^iutor muat bo toiapotùrv ulloc;-utrtd. . . Propai-tY Mo.y If tlqn (11) holds',and if ■ f^-O (36), thon ^1=0 (37);f2—1 (38)ifj-0. (59) In fact,thifi io tho (nEippihg of tho ondtnarker oif vcj,wiilcn becoraea now tho atortmarker of RTVG. ' ^.MKHoniXiüs CÜ-ÜÜ; GENERATION " ■ The I'unc tiona f,. ond fp poaaeaa onouEh informa tioii to makü poiaible the detormination of ' tua nuiiibüi- of roeiatars for , uho momoryloBs code gariorhtion.If f m; aH ti-iploQ of M'TC, thari^ on tho baeis of i, .As. i^L i^i'f*^ Ko^liwa forniulrik " tho iollowinfi tiiöoroms .mi iirbitriJx-y with TO. of tiiplosTEho upper limit of tfie number of riìì^i-Btui-a rüquiracl for tho niumorylofja. oodo eenoto-fcion lo etmal to H^^h-I. Pi^;ThCì worst cfiaa with ro^jprjct to roKlsjter i" which E and VCl produco lìTVG f^atir^fyinc tho conditioÜBi ' ■ «■nGtN,,«^.,! For ouch fujiction. f aatiafying Kr|n (41) a re«- lator must bo aliocàtod.a'hi,: „mounta roS- iatei\T./i .liiuüt bo nllocotad nlS'd for ^iJL «ivinu tua total of N,...... annoneqioinutativo oporutor in it:, own fiartial "" "d'li^i^nal reRiKter iinmt ho laioo-atod.'L'hiB Kivoa the totVil of W^.-il rt.,-i.rtora, yg^M^^ ir I io volid"«ncl if oxiate a ^riple natiaryruK the conditional aa'VGi:(i-i)«3i2l/o„ C*^). the upper limit Of the number of i-egistera rari quired for the moiooryloBo code guneration up to thia triple included, is l,and upon its band-ling et.moat 1-2, Proofißocüuae HTVG triple with ordinal number' 1 aati/jfiee th« soma oon'ditiono aa expi-OBaed' by E'^na CfO) and (^<2) with tho exception that nf,,,uhould be roplacod by 1-1,the upper limit must ba 1.UuiinK tha handling of the correepoa-ding triple, at loaot two deal loo ationa occur J. Ddööllooution duo to nonooiumutative operator iiti the own pnrtial cover of tho triple,and 2) ;one or moro deallocutiona due to moving right in VG apüce.It cornea out that aftor the hand-liUB. of tho triplo at the point 1 the total of allocated rofijiatore Dinountö ot moat 1-2. In ordar to find out the actual number of _ refcSlBtera.wo ahall consider n'fVG at tho obaor-vation pointa defined by KqnCtJ) for v .Tj, where L denotea the numbar of tripleo in iiTVQ. Tho diataaoe of two sucooeaivo oboervetion point« iu givo» by d-lp-l,.where Ip ond 1, ere thoir ordinal nuniborB7We"^dofine two otutBa in thaae , pointa il)curront.and 2)tortninnting.'J.'he oboer- . votion point ia in the currout atüte whan its Corraaponding'GÖ, ia reached and tho partial own (sover liuiuU.ed.'i'h'feobaarvtit.ibn "point ia in the terrainatinp state during tho moving rigiht in RT'Vü apaceiWo can atate now the following; U^UfiOREM ll.'Pho total number of reeiBtoro naadad for tha inomoryleaa code gonerat'.on up to an ob-aervDtion point is given by ■^obs -^poba H?»® -total number of■raßiBt&ra allocatad up ' ^oba to tho currant atato of an obaorvation point(l^jjg) R:^»''^ -total number of regiatera tilloculied upon ' '■pots the termination of thG teitiiinstinK utota . of the previoua obaorvation 'l,X>0 o.x^o ■ ■ Proof : It ii3 onaily aoon that »3+2 3 ) roproaonta tho nuiiibor of roi^iatera Which sliould bo allocMted betweien two fmcooaoive points in order to »chiovo tho- mgiiioryloaa codo goneru-tion.If Iß'Vüpl . rl)ii3i-2])>0,thon an udditionul roKintsr ia rioefioa duo to noncomwutHtivo opora-tofs.Otherwiue ,d roRi^itera ahould bo allocated. Je ahall deaieinato this number by the inndlinE in the current a tate, tho taiMDiiii.) ting fjtata bobina thus cfuiaing tho doallocßtion pro-Coaa.VJpon tha turmination of the doEillocation proceaa.tho number of allocfited ragijitora at tha pi'ovioua obaoj'vfitióìi point is ! pobH |JOba poba ' . ' whorö I'J iJ<;ni.f.';iKitc-ja thii dcjrjllocntion.'l'huB, tho total I'uiiiibor'of rop;iutüi'0 allooutod up to tha cuj'iMìiìL' ytr.ttì of tho obaorvation point is fiign(x)- by 'l'lli:üliliH II.For'cöiivend.üiico,we hiive iia't liP' oompriflOD tho renioter allo-pDbü don Hoc a tad in tho current' D bin 'poba jia otntod jiikunucid that patod and . p iitato duo to noacoiDinutative operatoru. Ti 1 i;;ù|< i::n T X :[. ' L'ha : n u irtb a r of roEistoru doallooatO(i in thn toriiiliifitini; irtato of an obnorvation poinc 5« oqual to tha numbor .of ICI'VG triplea loft tOj tho obüorvatiüii point havinß Dj^-l oatiBfyr iiiE tho oond.l tion 121 i)i '-l)-ii^hiA^ihoro n ia thja pumbor of l(i'\fCi tri plea with l)j,-<-l loft to the obHorvation point. Proof; L'ho niovinE ric;ht in VG apiioo will cauae tho i!ual.location of roiriatora .If Dj , then we hiivo otio ri!r;intax-bo-rot5ÌDter o lora tion which dciiil.l oGn toa one retùfjter allootitod in ül.Aa a coiisequor.ce.Di ia. B'at to zoro indico ting that tho bluary operotoi* io oonuuinacl.Wa continua in ,thiu way until a UTVG triple'ia anooutttarad ba-;vÌDg Si<-l.'fbia t-fii^lo gives the uaxt x'ac,later :deallooötion with aettlng Di»Di+l.If the oonButDption of operatora in Dj o«n Bs oon-tinuad until beuomas zero by eetting Ul*i)i+1 and doalloou'ttoD ttoua not oo- ouF boäBtlaa tne operation la ro(f;itjt:ar-to-aiaiiiory) ibefora ili^hH rouchea unity(tUua ensibling further moving riiibt in VG 0püoo),or until Bl k. reactiau unity bafora Di becoiiiua aoi-oC tliua^lfiui-iblting furV.hor moving riKbt in VG apuoa) wlien :w« aut . »O.Kvldontlyttlio itibibition ocoura ut the polftc aatiflfying ■Beotiuue only one deallooution la poufllble for (oacti HTl/O triple,the total huuiber of daullooa-'tad i-öKiatora ia etjual to tha number of nonaaro Ui lüft to the oboervatiou point und up to the point uutiafylng Eqn (47). iJtorCinrt from Jiqn "di ('(•6),we Ulivo whara Ic ih« the anuiumerution of the obaorvotlon pointB «nd d^ the anumroeration of tha oorraspo-nding diatiincea.Buarinw in mind that HA/J-^^O and aubatituUiniS ISqn ut an item on the atuck X UNL>TACK(X)«'raiiiĐve tha top entry from the ataolc X a'OP(X)-take the top entry from X without removr ing it OFJiai(;s)-opon tha new zona for Bllooutlon or deullooution 0r<0iiü:(^)-cloae the current zone Z ÜKUUWlb;NT(N)-daorouient N by one INCiU::HL:N'I'(U)-inorDinunt M by one Mow,we con dcBoribe the procedure for tracklns of allooation and duallooatlon process during the tranaition froBi one to anofcfier observation .point 1 a)for 9f.ph R'L'Va triple aatisfying tlqn (41),the operutiona ^ Nü'l' AC K( S B )-»ii'J.'AOK (.Mi) 'ÜDf ( A It >♦ AÄ ara parforuodt A/i daalt^nutes the allocation zone b)ni" ia oxaiuinod to find noncotiimutatlva operators in the full own cover of the triplejfor eaoli nonconiinutativfl operator the following operations have to ba performedi TitiJ^iJAT 01'h;N(DZ) UHüTACKf AR)-»I)Z U N li'l' A OK ( r [Ì AO It ( Al) ) DK-»L>'rAOlt(Jj'lO TOi'(AR)-»AZ GMtlECDZ) OPESKAZ) ^ DtiCHKHiiN'i'fNi") lìXIT ÜK(Mij-"aO) ENUntiTlSAl'^ 'bla n where DZ deaignutea tha duallocuLion sona.' sequence of oporatlone la repeated until H bacoiiioa zaro.Then^naw UTVü triple io eocesBecl,. i 'i?hö tranaitJon phaae terminHtas at the oba-ervabion point which is handled ir tho current ötate aliiillijrly to »py triple during the tran-oition.If N[VO,th0 following aequanco of opo-rationa haa to ba appliedt l)nijTAUK(i!'lO-^'i.'AOK(JlH) a'or(Afi)-»Az RKi'KAT lINii'l'AUK(AlO-»l« W<ÖiIAOK(lfa)-«Ja'AOK( AH ) i)a-»;JTAO>t(Tll) and if UNiniAaK(li'U>»(iTAOK(Ali) a'or(Aa>*-AZ nijoiiWiLiNTfMi ; Km üW( Minio OLOUKCDZ)-^ liNJJHliiniAT cJLoatiCAZ) oriiN(Da) (The oaanntial differeuoe in hmidling of «n ob« uervation point ia in tho notion fcuken over upon bha borosinntion of the current Bttite,1.8,, now H'l'VÖ triple ia not acoeased but the provi» CUB ono,'L'ha procedure upplied in the terminating; atnte la aritollowat a Ifor each tripla belong,ing to the terminating Bcnta porform the ijenuonoe of opuration« lNOHi';hKNT(i)i) Tt;MI^.i'J!AüK(AR) UM;^>TAOK( ARVtr l',Mt> 'COt( UN;iTAüK(Aii)-yrüP(ji'H) b)if a triple belonging to the tennlnating state htio Nf"VO and /o,thon perform the following Bequence of-^oba operatlona after a)» lil'll'KAT C1I'ì:;n(ÌJì;) BZ-kì'DAOKCS'R) OJiOÜK(l)Z) UNaTAÜKfAHl-fÜZ TOP(Ail>*AZ Dl>liN(A7,) lJNU'CAv ) CLÓ$È(AZ). IHCEEM£N!PCJ)j_) ' DJ30HEKENT(H£?it) jaiT OMChJ"''- iUiSOfijiMiaiTCHj^^^V ENUBiìPEAI • ' -^obo wt ^obs .0) to tha terminating th^n iperform tha o)lf a triple^b3longlng to the term ,afeata .haa fipùt.o or -O.than pe . following oiiarationa -^odb after oji . KEPEAO! ________________DEÜßüMe)l'(Di .. ) d)if a tripla belonging to the tarminating öt-^ ■us "O DB tie result of th« Obs the step o) after the' ,ata has NP&t-O^or'^N^iS^-O 08 the result of ; step,b),then apply :atep b). If oocura.theD the trunaition to anotherT«ftarvation"point ia performed with Di .. -0,ÒPKH(AZ) an ■ . i-detection of the exhausted source of available ■ 1 re'Kitötara ■ ', ■ . - -request for a' wainöry .piool intended for temporary storage. i Alternatively,a memory pool can be initially jsupplled! ' , ■■■ ■ : . iP={x+iD,X(:in-l,i....,x;2jX+l,x} : (56) tohere JC ia'the address, of the firat location in the metnory pool.The. definition of the alXocat-i ibn and deallocation zone's is. now modified to include the memory.' locations ..the elgorlthni re-J maina baaicolly the aiime with faw neceasary ' changeai ' . , . -whenever 'FR ia exhausted and there is a req-■ uo3t for.ah additional raglater,then the.fol-i ; lowing aaquenca of operationa hna to.be exe- ' ' cutédi UNÜTACKCXP)-+A2 OPJiN(BZ), ■ .UH3TACJKCASl)->i}Ž CLOSiìf AZ) 0'L03£(DZ) . ' OPKM(AZ) • thereafter, tlie procedura ia continued in the :ubuq1 way ; . . ■ ; -w.henuvei' a dotillooatlon oc:cura due to bimiry opei'«ticinu;it muat be checked whether the dei allocated resource belohga to i'H or XP^' .' ■| ■ ■ ■ ■ • : ; ' . ■ jG.TARGliTi' HtljlSTffi'ÜOtlTKOL .. It is of intori^st Qoroetiinea. to have the result of ail .eysiluation in .c .pródofined(tBrgat) rogiàtèr.'i'hià" goul c«n be achloyad' very easily hy using bhu, allpoatiori und deallocation ■zono,a.The. target register ia. uniquely defined by the initial arrangeftsnt of PR atéck.However, it la very difficult to find thia initial arr-ongjnent in order to oatabiiah the-direct tor-'.get'rugiat'ar control. An i.ricliredt ■ control ta' ■' more a^^jpropriata,Namely,wa' start witli ah- érbi- . tirary initial arrangiiiant ' of FR atack to obtain ■ the: allpöatlon and dealioqation zones ,1'haréaf-j ■ter,wa perform AZ_U2-Až[LAS'j3nn2£LAa'f] . ■■ . (57) to find tho regiiätera in the Inat allpcation .zona(deallocated in the laat deiillocation ope-' ration ,aiict ' : (58) ■to -obtĐln the regla^ber which wlil-cbritnin the reaulC of' an avuiuabion.If our raf^later coin- . ■ cidea with Rt;il!LT_Iti_IN UKüIIVDiiH.thö nllooatl-, on ùn<ì deallocfi.tion aonaa reiiifiin unchanged. Otherwise,each appearnnctì of UKiULT Iii, IN flE-OIÜTKH in each allocation or deallocatTon sone haa to be replaced by a' turget ragiater and vice yeraa,to establish the target rüRiBter control. The memoryloös code generation,tracking of ellooati'on end deullocatiph'proceBa and target regiater control ban b,e applied to the o ode ge-^. aeration for arithoetio eXpreasiona in oompil-era.We shall demónatràte'it in the followinü / . example. mMPI^.Let ia given an ai-ithmetio expreaalon in postfix notation with its aaaooiated vector-geheratrioa . Vq»110 222 116 538 2316 2121 1124 1129 1231 péneràte the code if the number of available r4-ßisters is a^.The target regieter la RO. . Firötly,wo uuat ćonatruot HWG acpording to properties of VQ triples.Ws. obtain ! '' im-Or-ió. -100 -301 -201 312 -100 100 äy apiying THKOREHB I,II and :III,we. found that five registara were suffioient for the memory-iBBB code generation,AoyOrding to this òoiiolu-BÌon,the allocation and deallpcation zones arei allocation aoneaj{ho,Rl.E2,R5,R43,(r2},(R1}, deallocation 2oneaj{R3,H2},{R4,H1] ,{r2},[R2,RI,R0] By applyinK iiqna (57) and (50),one pbtalns the | target register .RI-.Tp change-tha target register to RO.RO and R4 inuat be changed to H4 und HO,re-ppootively,ln each relevant alloc.ition and deallocation zone t pllocàtion aones! fr4,Ill.,H2,R3,R03,{R2] ^ll), ■ ; P2.R0} : ■ deallocation zones i {R3,R2Ì j {hO,RiJ , (r{23 , {H2,Rl,H'tj Bearing Ira mind the algprithin for right-to-löft code .ganarotion(Velašević,1902) and the tracking zones,the.following'code is readily obtuinedi H2,M R2,N ROiA RO ■ »0,R2 HO,B ■ R0,R1 RO,E ■ RO,Rf 7.qoa'f ¥UHC:tiom ANALYÌSIS,. . ; ' V^e' would like the resulting aaaanibly language progratn to be good under oomo coat function auch aa tlio number of naaembly- langunge instru-i ctiona or number of moraory fotchea.For further . ■ .'. considerations we introduce the.cost functioa . OF=nuiiiber_of_goneruted_inatructioa_lina0 (59) We ahull define now OF in turoiä of three funct-r Ìòné:l)L-function(L.ìj'),2)a-funation(Bl?),an.d 3) ' Ó-function(0ìf),i,6,, OP-W haF+'OF' (60) l>-,£i-,and 0-functions give the number iof ijonera- ■' ted LDA.LiTA and operator in3truotiona,raap0cti-yely.AÌl these functions cfin bo enaily datarmi-7 ne'd from VG and E'rVG-booed Jata atructuroa, ■ i l'ho 0-fmiction ia ovuluated quickly from VG bocaüae the full inforinution on the number, of pporotora roaidea there,Thua, . PF=i2p^"^VG[ijt3+2] .. ■ ' (61)'. •IDA AjDB B3,E . LDA NliX} .m LDA RO,D KUL LBA . R1,J SUB RÒ,R3 LDA MUL Ri,K ADD' R0,R2 NliG ADD RI, i) LDA R2,0 • BUB LDA R2,M- SUB R2,R0 DIV ÖUD R2,N BUB H2,R1 . MUL LBA H3,P IDA R1,B SUB R3 . DIV B1,R2 MUL The e.valuatlon of L-function is baaed on the following thaorem; ' TlilìOfilìl?^ rv.l'he nuin'tnar o.j: generated LDA inatruc-t tinns floea not dopond on tha number of avallab^ le rog.iatera but it dapenda only,, on the structure of nrithiiietici expresaion. ProoflOonsiaer. UTVa dstu structure.Whenever we, make a tranyition from one K'['VG triple to anot-j hsr,I'ji:)A inatruotion tmiat be genorjited without regard to empty Pr full ii'R pool.Whenever NJ" "m «nd/or mJ^^j/O.LDA inatruotion muflt be «lüo gani- ?? ?lfH SeY^eg!?"" rated Iniependently on the etat« or Vit pool. This leeda to tbo oonclueion expressed by THiìO» PÜM IV, ly t&B Btapa e) and a rurthar apply.Tba (62 Xhua,ths L-function ie given by P'-L-lt ^ß'üVO [1*3+2] + l^be value of the L-funotion oun be dacraaaed by ganeratiny for all uubtraot oparutora in non-oommutQtive jjoaitiona the iuo-bruotion aaijuonoe 8UĐ ßl,iuoinory unti Nl^Q BX.Thä coat funotlan OV taittdina unohangod boouuae tho doorauae of U-vulua la oonpenoated by tho inoreuso of OV value. 'Che ovuluQtlon of Cho fl-funotion"io parfor-Tied au follows.La U thu nuuiber of ovuilubla ra-' regiatura is Njf(j,Now,we otort moving right in BTVG apaoa.At every tronaition from one to an-' pthar triple Njfß io deoromented by one baoauaa every trunaition raquiroa tho ullooution of a reKistor.lf Wu>jj baoomaa laaa thon zoro,a looa-t an numud HuMPA lo Inurumentod by one.'i'han, Hi ia exnininad.For N+i/0,KifH la dacroiaented Dg-e n by one.IF Si.jn<0,flUMhi'rA is increiaanted by Njnand Nt,'» by ona.Tha right moving dlaoontlnues wken on obaorvatlon point ia oncountötad and handled.Then, Nij'ii in e xu min ad. If NmtSio.thu left Boving in IÌTVG Bp«co iu started to obtain only the number of doullocatad rogistera.Thia number i8 added to the currant value of Ni«.Tho ordl-ftal number of the triple whopa tha left moving ■1;eriiilnut0B,lHi'VG,ia determined by Kqn (63)i lu ^■■^Ira ® |RL'Va[Cl-l)H3+i|l (63) Ui'VQ £qnf63) i£i obtiiined through tho followinc; ron-aonlng.In tho left moving we must consume all operanda at tho obflorvation point nnd aingular opertmdu in R'tVü triples which ore oooenaad during thisi movin(j;(Boiiio of thaà^ triplea can have saro voluaa for R'l>TOr(].-l)i€3fllBfl a cOnoequanca of previoua obnorvotion pointa") .These operands will bti conaucnad by tho operatora in RTVG trip- 'IjJ'i'inK the loft moving with Di-RTVürCl-l)«5+lJ,Thuo,tho stop point oor- reapSnda to thsit triple whoae contribution to tho oparnnd conaumption, oHtiaflea Eqn (fi3),Di'a in all triples witJj ^obH will be set to zero,D tRI'VO na is È!iv6n by Vba-^ lobs-l 2 " IrtvQ [(l-l)«3+l]| -1 l-I RTVG In zr ^'hm (64) HVH la increased by the value of tha second te-nn in iian booouae it rejiresenta the number of dsollooBted reßistero up to tha point iJUJVtt, IX Nw<'Oithe followin« prooodure applies for enoh hriple! then goto o) b)for and obs lOut N *oba -^oba -K ,out 0)lf atop point then set ,aet , restart moving right elae^'" Dj«K)|gotò^"o) . point ia datermined alao by Uqna(&3) and . Thereafter.tho right moving la roaumed by thi auma proooJur» but with'a now value for tluji**^ tha otop point a oorruotion must be done bucau-ae we did not control the atap b) on the aero value for NP^r »Tho,oorroction io made oimply by aettinrc nout .„Nout .iävidantly,the lo- ca tion MUMÜTA ^Im oontain th» value of the tl-funotion.Thia value cun ba very aaslly found from tho sllooation zoneat ölf- jcimziiti (65) 'ihio in cjuito oomprobanaiva bKoauaa every ollo-catiou from the set XP mouna tho generation of the STA inBtruction*'l.'hu coat function oun be applied in the optimisation of arlthmotio axprsosioQa. S.liVAlUATIOK 01^ KX^HRIÜIOHÜ IN MULTiPROOiitiJOfi HAÜillNliB VO and HTVQ-baaed data etruoturaa oun be ub-ed for tha daterminotion ofnorololltatn in evaluation of orpraaaiono in nultiprooeaaor muchines. Tho moat oimple wuy to distribute the load BEoni^ the proooaaoro lii to aaaign to eaoh processor the avnluution from one to next obaerv-ation point.Lot tho nuBiber of prdoeitaoru ia SP and tha number of observntion points Küüu.lf tho condition NP>NOIia ia vulid,thon each proo-esHor in tho oot NOBa in loaded with ona obaer-vntlon pQÌnt.0th(irwlQ0,Ml"-(H0D3)iiio(!Nl' procaua-ors will bo loaded with obuoryation points,and HOBSinodNP procosaoro with |>uf)£l/NP obaerviition pointa.'L'he loadinij with an obüorv-ation point cotnpriaes all inutructlons generated between two succoaBiva obuarvation ijointa aa well aa l^e instruotlona ganerated in the current and turininating state of tho obuui"V8t-ion point under conalderation.Uuoouae the rog-iatoro of separate proooüoors ore mutually in-öcaoosibla,tnQ contLints of oil raj^iutoro belonging to the oot AH must bo otorad in prodofinal locntiona upon the hundlinr; of on obaorv'ition point.'L'hie incronooo tho coat function of an exptossion. Tho load diatribubion colculatod oooordlng to tho coat function dofinod by Ktin (60) does not offer tho rlKht insii^ht into the load of each prooanaor bncnuoo of different durati ona of pnrllcular oporHfciono.i'o tako into account thin fhotjit is nocaasary to eatHbllsh relativa wolßhL-.lng miMiauraa of difforont ojiuj-ationa. Thr> oxdot moanur»!) :irii not eHaily obtain/ible bocmiae tha same ojiumtion in a given expreaa-lon can bo of raf^intar-bo-reKinter und /or roifiater-to-mamory type. It is rnudily vorlCiud that 6ho number of rotilater-to-raglater opor'itionrt,NOjjj( la «iven by NO., 'HH- ^ I^'^(unary) (66) whoro /uzfij nittiina thu number of eloiiianta In tha tsonn i.'l'hf) number of roß'iftar-to-meraory operation k, tlOjjj^,! h easily found from _ (67) Furthormora,tho durni;ion of * und - operatlona differs aubot/intially from tho duration of m nnd / opfimtlons.nonrlng tliia in mind,wo oan oatfiblinh tho followln« rolatlvo monaureai -,t(HR) -1 I,M(RM) -2 ii(BM) -tn+2 -,+(ttM) -2 ÜTAditi) -2 /(Ha) -d+1 ^ff(R) -1 «(RH) -m+1 /(HM) -di2 m nnd d ara ralntivo durotiona of multiply'and divide oporationa ,rniipectlvely. Tho total cost function expressed through these relative weighting moasures ia NOS N^Ciuultiiily) +d (divido) (60) whero jtient oiiórutora . . Nlì(iiiultliJly) and H?fdlvide) ruiirut the nuMiDer of iaultip3,y und divide oiiorut In a .triple Vö,rospctotlvoly. 'I'h6 guln achloved in axDCution spood by ouoh u prooodurü oX' load dlutribution is upp-■roximutoly. ^ a-OPy/iBax{plfy®^®j »W'^NOBU. (69) 'fha load dlutribution through the oboervot.' Ion points ii] unoontrollad in tho Bonse that thu control of. loud ia not introduced.fhe oon* trol Clin be patabliohad by the following procedura t a)oalouluto tbe total wolKl:iting coat function by applyinK iiqn (68) • bjfind .thè load of . oho proooaaortLOA]}- OTu/Ml» oVaot ifl'. . ■ • . : " djutart tlio code gen oru t i on from the currant ■point in VQ . e)evaluato the-momuntary wóieshting coat function (Off^^ j^) during the code generation ' f)whon Off J bpcoinoB tho cloaeat to I(0AD,3ua-■pw^d tuRfortiry the oodö go no rat i on and gone-rata tho. ö'i'A Inatructiona Whoae number ahòu- . Id Tjü pquol to the population of the aetfAHj if ir-tiP thon omit this oporoticn- and termi- ■ »ata tho code ßaneration ijgoto d) l'ha gii in Tuiiction for oonCroilad load diat-ributlon,G^,ifl. given by- (yo) i=l,NP ; Althouf^h tho controlled load diatributlon ia moro fuir,hi(';h oorrolntion between different aa^monta of exprofjaionn may aignificuntly detj-roaaa itsi uffioidnoy duo to delays ceuaod by .«oooaaary aynchronizotion of difforent oaRments . of oJCiJrofjsion.TiiiH corroliitioii io much lower in tho uncontrolled lood diutribution thua providing (sruBter g-iiii in efficiency, Ig.üoivübuüiüN ;- J It i;i aliown' that the coricopt of voo tor-gone-ratrloe ifi vary fliiitHbla for varioua u «poeta of nnolytiiti of iiriLhraotic ex|)rooalonfj.'PhQ nnei-. lyiiia cotupriaeds (i)d(-itor[ninatlon of tha 'number of ruj-i:itL-ü3oion éviiluiition in multj.pi-oütiriaor naohìnofl doala with the prcblfim of lond cllufcrt-iiution la tho evnluution of an oxprooaion In I controlled or i.noontrolled manner.Al though ■thü controlled load diatribution la more £tilr'i hitih oorrelotion botwaoa differènt aogoenta of ■exprouaion aay oignifioantly decreaae ita efficiency due to delaya cuuaed aynchronleatlon of evaluation of different aeRmenta of tbe ex-| proaalon.fhlo correlation ia much lower in the' uncontrolled load diutribution thua providing groutar gain in effiolenoy.l'hia efflclanoy oey be further improved by uaaigning two or inoro obaorvétion pointö to ona proooijfiar to achieve a bottur loud balanoe umong the proaeaeors. lO.Htitj'liXtJNtJIJB • , ., l.I,Nalcatü,ün compllinii nlir.orithia for urltihuietr lo uxproauion.OACJH 12,li'ebruary 196?. ?>!lt ! rrentioa-Uall.Englewood OliffB.MeW Jeraey, ; : 1972. 7.a.aothi,Validating reeiater alloontlona for atraight-lina proKroms.Phd Themia,Department Of ülüctrical EnginoeringtVTinceton Univerai ' ty,l9?5. a.R.Allard et al. ,aoiDu. offacta or-tho 6600 oowr putar on languagoa atructuTe0,CiAOH ?,'J?abruary 1964. '■•'■■•'■■■ 9.H.Uollarinan,Parallel procaaaing of algobruio eKpreBBlona,Ili;L-üä' 'rranuactiona on Klectronio Computerà JiO~15,January 1966. lO.J.Öfiuira.A trnnalotion »lK;oritliifl for a raultir -i pie proceaaor computer,HAom,196}. ll.ll.atone.One-puBe compilation of arithwtl-lo_ exproaaiona for u narallol proceaaor,CAgH 19, April,1967. - . i ■ 12.J.,Baer and D.Hovat,Compilation of arithmotio exproEifliona for pnrollòl ooraputatiion .Prooeei-dihtvia of tho IPIP Oon^roya iW-BlO,196ß. 13.H.Graham,Round« on multiprocouninfi; anoinaliea find -rolated pnckinn (il|j;orltlira,l'rĐcuodln(5a of tha AFIPtl Bprinf;; Joint Computer Oonferonce, Vo1.40,AI'J:P£J Pròfja,Mont;vale,How Juraoy,1972. li(-.l).V0loftovlć,HiBht-to-loft code isonoration for arithmetic óxpreaaions,Computer Journal,Vol; 2S,Hü.5,19Ü2.' JEZGRA VISEPROCESORSKOG OPERACIONOG SISTEMA REALIZIRANA NA SISTEMU S MIKROPROCESORIMA IM6100 UDK: 681.3.06. IM6100 M. JE LAVI Ć INSTITUT „RUDER BOŠKOVIĆ", ZAGREB U ovom rađu razmatra sé programska podrška za višeprocesorski siatem sa vlšesabirnlčkim poarednin pristupoir -ealiziran a mikroprocesorima IM6100. Programska podrška Je realizirana u obliku Jezgre operacionog sistema, Scoja onoRUfiava efikasnu implemer.taciju paralelizma na nivou sadatka nekog korisničkog pro^rsina. Dani su alr;oritmi za implementaciju na.josnovnijih funkcija Jezgre ko^i podržavaju upravi J-Tn.!«?, kontrolu i komunikaciju sa ul azno-i mlaznim Jedinicama 1 u kojltsa svi implementirani osnovni mehanizmi 7,a kom'jnikaol Ju 1 koordinaciju zadataka u toku izvođenja. In this paper a software support for multiprocessor multibus system with indirect access, realized with IM6100' microprocessors, is given. Software support is realized with a kernel of the operating system which enable efficient implementation of parallelism at task level. Algorithms for primitives of the kernel are giver, through which governinfc, control and communication of peripheral devices is established and in which essential mechanism for communication and task coordinatiön is implemented. 1. UVOD Pod Jezgrom oneracionog sistema podrazumijevamo ekup programskih ođsječaka čija Je funkcija upravljanje, kontrola, sinhronizacija i međusobna komunikacija Između logičkih ciJ elina nekog korisničkog programa koje nazivamo zadacima /1/, Jezgra može biti realizirana kao Jednostavni monolitni monitor koji ima mogućnosti predodjellvanja procesne jedinice zadacima, primanja i posluživanja prekida koji dolaze od ulazno-izlaznih Jedinica, aatim startanje raznih Jedinica (ADC Hi DAG npr.) 1 mogućnost manipuliranja sa semaforima. Izvan Jezgre operaclonog sistema svi prekidi eu "nevidljivi" tj, ne mogu utjecati na logički nastavak zadatka; koji se trenutno izvršava na procesnoj Jedinici, U-osnovi Jezgra Je sastavni dio operaclonog sistema u kojoj su implementirane najprimitivnije funkcije i njena struktura u biti ovisi o aaooj konfiguraciji sistema. U odnosu na ostale dijelove operaclonog sistema ona Je dio kojije najprisnije vezan sa "hardware-om". Operacloni sistem pa prema tome i jezgra operacionog sistema koja podržava sistemske organizacije sa više procesnih jedini-» ca složenija Je i zahtijeva implementaciju programskih struktura specifičnih za takve organizacije. Osim osnovnih funkcija mora zadovoljavati i dodatne zahtljeve koji proizlaze iz mogućnosti da se zadaci mogu vršiti istovremeno na više procesnih Jedinica tJ, mora podržavati međuprocesorsku komunikaciju i koordinaciju zadataka u svrhu maksimalnog korištenja postojećih sredstava u sistemu. Sposobnost podržavanja dva ili vile zadataka u obBsdi ("multitasking") Je jedno od osnovnih svojstava Jezgre operacionog sistema. U sistemu sa Jednom procesnom Jedinicom to omogućava kvaziparalelan rad više zadataka dok u višeprocesorskom sistemu omogućava raspodjelu zadataka na više procesnih Jedinica i kao posljedicu toga istovremeno izvrgavanje zadata'ka. U ovom radu prikazan Je primjer lmp-!_ lementacije Jezgre operacionog sistema prvenstveno prilagođen konfiguraciji sa posrednim pristupom realiziranoj sa mikroprocesorima IU6100 (Slika 1.), BSTS-BIOIREKCIONALNI MEOUSKLOP SA 3 STANJA SI. i. Organizacija sa posrednim priatupom 2. KARAKTERISTIKE JEZGRE ■Jeagra operacionog sistema implementirana na vičeproc.eBorskom sistemu sa posred-nini pristupom sa mi kroprotesorinia IM6100 rea-lizii'ana Je u obliku monolitnog morii tora. Sva komunikacija.između korisničkih zadataka i ■ulazno-izlaznlh Jedl'nica mora se odvijati preko jezgre. Ulaskom u jezgru zabranju ju se.avl .prekidi do izlaska iz nje. Svaka procesna Je-.dinloa ima po kopiju jeagre u svojo^-) lokalnoj tnemorljl. Jea^ra opernclonoR sistema može podržavati lokalne ztìilatke koji !je nalaze u lo-' kalno,1 memoriji pro.ce^ne jedinice, i globalne zadatke ko,-)! se n&Jaae u globiOfioj memorlji i. koji mogu hici IzvräHvani na bilo kojoj procesnoj Jedinici, r.okaini zaciaci Imaju prioritet izvrgavanja nad Klohalnim zadacima; Zajedničke liste i polja (kao nto au globalne liste čekanja i deakriptori globalnih zadataka) nalaze ae u globalnoj memoriji llAM-a. Primitivne funkcije implementirane u jezgri operacionog sistema jesu; - meilusohno isključivanje (sklopovski dio) - spremanje zadatka u listu nokanja - vađenje «adataka iz i irte čekanja - pamćenje aCatuaa zadatka . - restauriranje rjtatusa zadatka - prekid satnim mehanizmom , - ftekanje uvjeta signaliziranje uvjeta .- 3ta.rtanje ulaznp-izlazne jedinice - Bignalizlranje do je ulazno-izlazna jedinica gotova - P i V mehani ami Zadatak u alotemu može biti u jednom od ^t ata-i-nja prikaüanih na'ulici 2. Zadatak je-u stanju PASIVAli kada nema potrebe za njegovim izvrnenjem ili kada još nije iniciran, Inicirati zadatak može satni- mehanizam 1.11 korisnik koji feenerlra zadatak". Zadatak . se stavlja u listu čekanja za procesnu jedinicu i na taj način pcela'/.l u a ton je SPREMAH. Kada je procesna jediniea slobodna ona ae dodjeljuje prvom od zadataka u listi čekanja za pi'ocesnu jadinlcu, koji nakon dodjele prelazi u stanje AKTIVAN. U stanju lirnEMAN'je onolIko zadsitnka koliko ili je, u listi čekanja za pro-ceanu jedinicu dok u latanju AKTIVAN može biti onoliko zadataka knltko ima procesnih jedinica u slijtoniij. 12 iet - /pVOC^O mti mu Mtì wr mM mt mt» . P Cu .........Nj-, - ' fDi fi-LÀù 'I 1 ü-Ü; AC i M' I r Ì i ^ ^ I " /Di ft FLAG li-i &iüP.'nfaiy^a jéc/ió.cq SI. 2. Osnovna stanja zadatka Svaki put kada nastupi prekid trenutno aktivan zadatak postavlja sé u stanje SPREMAN (tj, sprema ea u listu čekanja za procesnu Jedinicu) i poduüimaju se predviđena radnje u veal prekida. Ako Je prekid došao od satnog mehanizma slijedeći zadatak iz liste čekanja iz stanja SPREMAH prelazi u stanje AKTIVAN. U slučaju da Je prekid došao od ulazno-Ulaane Jedinice zstiatak koji čeka završetak uUzno-izlazne Jedinice i u atanju Je BMKIRAN prelazi u stanje AKTIVAH, Ako aadatak koji Je AKTIVAN Imd aa daljnje napre. dovanje poatavljon nekakav uvijet on prelazi " stanje ÖI.DKIHAN a napredovanje se nastavlja sa prviE zadatkom u li a t i Örtanja za procesnu Jedinicu. lapunjonjem uvijeta avi cadaci koji flu čekali u stanju BLOKIRAK za taj uvijet stavljaju ae u stanje SPR!;mah. Po završetku zadatak prelazi u stanje PASIVAN. Za ovakvu koncepciju Jezgre i implementaciju t^rljnitivnih funkcija moraju ae definirati dve progreoiake strukturej deakri ptor zadataka i lista čekanja. i.. DK'SKUIprOH ■/■AIIATKA Svakom korisnlčkoai zftdatku /,1) u aloLe-BU pridružen Je jedinstveni indeks "l" iz skupa pozitivnih cijelih brpjeva i jedinalvR-no polje koje nazivamo deakrtptorom zadatka. Deskriptor zadatka sadrži sve intorniaci je potrebne da stanje aadaika bude dorinirano u bilo ko'jem trenutku. MJagov^ dužina ovisi o mikroprocesoru su kojim Je aiatem realiziran i kompleksnosti jezgra operaclonog aiatewa. f31. 5. De I.) k ri p t or aaiìutku za sistem sa mikroprocesorima IM6100 deskJ'ip-dor zadataka ZD^ Je uređena sedinorka {ßl.i) Dl = (iDj, FLAG^, MQ^, AC^, A^, PC^, ) gdje je: IDj^- identifikator zadatka "i". Identiflka-r cijö se sastoji od in/ornacija d» H Je zadatak sistemski ili korisnički da li je globalni ili lokalni (v^), od prioriteta zadatka (pj^) i od polja memorije (r^) u kome ae nalazi zadatak. Prema touie ID^ je uređena četvorka; Iß, , V, , p. , f. ) organizacija rijaSi identifIkatora j? slijedeća; /.fb f = 0002-rOUE 0t l-'tK r-001POL J li 1, b-öK . f-=iii^-i'OLJt; '/, \ a] oliodno {prioritet p-.0,1 . .15 ßlobalni »udatak v»l lokalni zadatak H'-ió sistemski zadatak w=l korisnički zadatak KI.AGj^- je uredona trojka; Pl-AGj- (Lj, INl'f^} koja dajo informaciju o stanju IMfilOO. L^ oi',n(if;ava "link" od akumul a boro, 1Kb Indicira lahtljev za prekid alNKF Indicira atanja prekldn.og blatablla. Organizacija riječi Je slijedećai - Jo raemorljoka lokaciju ,u koju ue aapl.-Buje sadržaj Internot; Ul^ reglatra centralno procesne Jođlnlce 11/16100. AC^ - Je nenorijeka lokacija u koju .ae zapi- auje aadr^.aj akumulatora od TMGIOO. A^, - Je mamorijflka lokacija u koju se sapi-aujè liiterni A regi.otar od veznog elementa IM6101. - Je njemorljBka lokacija u koju ae zapisuje adresa slijedeća inatriikcije koja SS treba iivršlti. Nj^- - Je memorijaka lokacija u .koju aa zapi' Buje adresa deskrlptora zadatka koji JesllJeileM u listi-, čekanja, ■t. LISTA ČEKANJA ■ ■ U Biatemu .koji podržava više aktivnih zadataka dešava ae da više zadataka zatraži pristup iatoiii sredatvü. Logička posljedica nemogućnosti sredutva da zadovolji ave potrebe odjedanput, Je Imfilementucija .pi'ogramake atru-ktu're kojü naaivamo lista čekunja IH rep. To Je linearna lista u kojoj elenionti, u ovom slučaju zadaci, čekaju nà dodjelu sredstva. Za avako aredstvo bilo aklopovsko ili programsko postoji 1luta čekanja. Manipuliranje ca listama Čekanja avodi se no manipulaciju aa momoriJakim lokacijama u ddakriptòru zada-i tka i rezerviranim Diemorl Jak lm lokacijama u . kojima ae na].Qzé prvi elementi u liatl čekanja Na slici t prikazan- Je alučaj organiaaclje 11-flte čekanja kada dva zadatka čekaju na dodjelu procesne Jedinice dva zadatka •(Zn) Čakaju ispunjenje uvjeta 1 1 Jedan zadatak (Z Dg) čeka dodjelu aredstva 1 1 - • ■ 2 3 ladalka - indatko i fi ADii—f-f^ ADrr DESWÌ1PT0R ZADATKA B D(iil«ip(cif Deskriptot Desktiplor Deskfiptòr TQd'üilca loomKo loduìka àp.ADi pRMDJ • UV1=ADJ SI. /(. Struktura Uate Čekanja Rezervirana memori jaka lokacija BP označava adresu donkriptor» prvog zadatka u ]1t atl čekanja za proceunu Jedinicu. Lokacija Nj deskrlptora zadatka koji Je zadnji u listi čekanja sadril "nul-kazalo. Nul-ltazalo označava adresu meinorijske 1 okuci Je u kojoj ee nalM ai "Užni" prioritet zadatka.'Vrijednoat tog . prioritotu Je najniža moguća vrijednost koju »adatak moie poprimiti iz ukupa brojeva ^ do 15. Vrijednost prioriteta 0 je rezervirana aamo za.lainl prioritet i niti Jedan ladatok u elateinu ne može poprimiti tu vriJednoot■ pri-oritèlià. lažni prioritet označuje kraj Hat» čekanja. Kpr. ne slici iKlankripliorl.zadatke ■ ZDg.ZD, iZD^ u lokacijama Ng.Nj 1 N,, aadrže adresu nul-kalala derinlrajuči sebe kao zada-' tke koji su zadnji u listi čekanja. Kvaka proceana Jedinica u sistemu loa rezérvlrane 2 lokalne RAM lokacije sa alljedoćim značenjem ; ■Rt, sadrži adresu de-akri-ptora zadatka Koji ae IzvrSava na procesnoj Jedinici, ft^- sadrži Identifikator zadatka koJl a« " Izvräava na procesnoj Jedinici. Identifikator inora blr ti prloutan radi In- ; formacijo da U Je zadatak gloljalni 111 lo-Ul. 5.- kalni, g. PRTMVTr.VHE FIINKCTJ'': _Hedjuaobno isključivanje Kada u sistemu postoji više zadataka koji ZB svoj daljnji rad trebaju pristup nekom sredstvu moraju ne implementirati mehanizmi aa jednoznačno i isključivo dodjeljivanje oredatava Jednom od.zadataka. To Je naročito Izraženo u sistemu ea vlße procesnih jedinice kada može biti vlSo od Jadnog.zadatka aktivno .1 kada nioRij Istovremeno zatražiti prlotup istom giohalnomnredatvü, posebni aklopovl nazvani arbitri rijoöavuju t^kve konfliktne alLuaclje slatem za procesnom jedinlcDm lUfOOO mora poatojeti pro-groBska podrškama upotrebu arbitara. Arbitraža preko arbitra vrfil se samo za globalni HAM.- Ml u kojem se nalaze ove globalne varijable i polja. Za oatala globalna sredstva arbitraža ae* vrfii preko globalnih varijabli nazvanih .eeiABfo-rima 1 koji hu opisani kasnije. Arbitraža zaglobalni RAM - Ml.saatojl se is 14 proRpamakih oda.ltìfiaka I.OCK 1 UN1.00K C;;i.6e i G1.6Ì)). ProgruTnskI otluječalc; LOCK pOüt.(ivl,)u y.ahtldev za dod.inlu obalnog ÜAM - Ml i ("'"ka u peti,-)! dok mu se ne itodijell. 'Pn '.ifiin ni fliučaj kada Jiadutek noku nokl uv,1nt; u |ifil, I,)!. Äftknnja. UNl.OCK oiilohatljo (^oi'f lniL HAM - Ml ■ IfaKloR 15Ü ektipllciLnu urbltraau zn (globalni HAM 1dž3 u aamoj (gradnji niJkroprono-00pa lUGÌOO Bn kojoiu real i'/.Irdn vi ^eproce-iiorfiki Bist em /2/. lMß].O0 u Hvoni reperì; uiiru •InaKrukciJa nomo niti Jednu 1 notrukütju kojri til u Jednom ciklusu čitala, plRaln i t(>Gl;lru-]0 memorijriku lokaciju 1 zabranila prlniup i koctatenjo meiiiorlje iKinodu •! aa vrijeme to[j clklufln. Iz top; ra^.loRrt aklopovski pristup globalnom lUM-u Ml reol lKlran Jb ekapl IcltnoiB niBtodoin truàenja pristupa tj. pro grama k im odBječkom. NantHvak programa Gl. 6a.ì,0('.K oilsje.-iak r,l . 6b. UH LOCK otl-ajoćak l.ntlK, CPLAfl] UNLOCK,AGI /Zli -o liKI Cl ■IMP .-1 /ne! _ liVjj Jo memori Jaka lokacija u kojoj b« nalazi oartsoa deakrl ptora aado-tka koji Jo prvi u llatl Sekanja za uvjetj^. Čakanje uvjeta može biti 1 kukanje de noko nredfltvo kao npr, momorlja tmdo ulobodn«. Na alici '?. inj ppikfiaant) riidnja koje Crolta iKvrnitl I'.n stavljanja zadatku u Hutu čekanja, u no hllcl ö. prlpailni alroi-itniri koji to obavlja. rrvo lapltujanio dti li Je prioritet zadatka koji Jo prvi u liiiti Viići od prioriteta zadatka ZD^ kojoß lioćonio attiviti u liatu (1), Ako nijo, to znači da zatlntak Zn^ traba doći na prvo mjenco Jer Je najvoćfip; prioriteta. Ti lokaciji N^ zadatka ZD^ stavljamo odreau deakriptora zadatka koji Je do nada bio prvi (8), a u lokaciju P ad reim deakrlptora zadatka ZD^ (n). Ako prvi zadatak u llatl čekanja ima veći prioritet od zadatka ZDj onda ne prako (J)i Cl) i (5) traži prvi flUJodeći zadatak u Hatl koji ima manji prioritet od zudutka ZD^, Traženja manjef^ prioriteta Ima aa pooljedicu stavljanje zudaUka ZDj u.listu fiekonja iza fivih zadatka koji Imuju lati prioritet. Ako u listi čnkanja nema niti Jednof; zadatka, lokacija P gadrf.i Bdfcau lokacija koja ima "lažni" prioritet, Gvaki cvontuolnL dolu^.ak Ke-datka aa najnižim mogućim priorUutom (p^l) iiiifi za poiiljodicu lit.'ivl janje zadntka u li:3tu pilje "lažnoR" zadatka. RcjiK rijitor "lažnog zadatku eaiitojl riamo 1« 1 rlori l,e;l,fi. Jlvakotri /iidat-ku pridružen Jo unapri Jfld ' od roileni pri oi'I tat od 1 do IS 1 u ovlf.noatl O prloT'it«tu iiprifma HC na ortreilfino mjent.o u lltjbl, Mujvuri priori tat Imaju Kftdticl aa p = l'i, ft'nfì.jnl f.l aa p 1 . /.ndficl fia Ifitlnj prt ori Lfttoiii r.prfiiriaju sa pò principu K'I TO tJ. köj 1 Je prvi «tlKao. H07,erv1 rann lokac-.lja p sadrži adn;au dnsikrlp-tora prvpR zadatka u 1 Ititi ??ikunjn'(^djfi Jo : P a (IVI, itv;', .........uVjj SP Je infiniDr! jHkii lokaKlJn u koJoJ üa na-Irml ndrR.'jn doükri t toi'n z;nij>tka lm~ Ji Jo j.rvl u listi rnkdnju Ufi' pr'O-cfiiinu Jed i ni cu . D e s k r I p I o r zadatke I Des k f i p t or 7 a d a I k a Deskriptor zadatka T lù( -Iw;¥,j,f J A Dl. iDj =(^,¥,(,1] AD,- lOf =iw,v,i,li / i / 1 / / / /1 ÌNrr=ADj N» 1 N>)=AD, INjh NP / D e sk r i p I o f. --- I zadatka ^ IN^ADaV e S (NJ'AD? ' I D/=i WA, 4,1)1 V ffieFAOV I / Ml. '/. itpremanje zadatka u Itetu 6eksnja IB ■ O) • ' Jli^i'iKp)žpiJ(-T)?^;;^ ■plj.ivi«i 1 PUIV^4= (PHIVl ) ] {.2) ■ (5) ■ liU) (H) CO 5 dA/-! . \l -(pO'UTVPiž I'd )?) 1 T'liTV1<= (l'KTVI ) (6 (T) ni(T)

'i, t,j. ;'iiilii*'i Kojl iitJ riiiltinu ii Jo ktilnoj liiil.i .'^ik.uijii ;'n pi'iHìtìiiJiii ,]fillrii';u. Alcui'llliMi nil Sill - i 1'.. l;.pil,il,^! purDWiii-t.iii' "v" lili:nl,i n i>. (t.iji'ii II tl.iik I'i pt.ui II iiiiidl.kft i ."'k I .ill -ii,!»- ,1» li ,)ii ?,ii.li)l)ik filli.filili Ili lokalni (1), Ako .le globalni onda ae tražt laki Juč Ivo prlatup globalnoj memoriji KAK - Ml (2),'čuva se statua zadatka (5) i epreoia «e sa u globalnu 1iatu čekanja.SPHKMNO Nakon toga se oslobađa, globiilna DiuDiorlJska JeUlnlco u kojod ae nalazi globa.lnl siadatak. U uluftaju lokalnog Eadatka ni,1e potrebna apbitrftža ica globalnu Diemorlju. Na taj način se Jezgru ope-racionog alatema oslobodilo nepotrebnog ulaska u kritični odsječak i arbitraže aa globalnu Qemorlju. Programski odajefiak "modificiraj Bat':' Je auatavni dio Jezgre, a apecifičan Je aureo, za ovaj potprogram. Prekid satnim meliani-amoin Je riješen sklopovski dok Je modificiranje sekunda, minuta, sata i dana riješeno programski . MemoriJtike' lokaclJe za parametre aat-nog mehanizma nalaze ise u globalnoj memoriji tuko da au pristupna svim jirocesnim Jedinicama. Modifikaciju sata vrši samo Jedna procesnu Jtidinica (Pl na alici i.). Nakon toga'osjo-bađa 36 pristup globalnoj. memoriJi (6) i ispituje aa da li Je lokalna lista Čokanja za procesnu jeciin.iòu prazna (?). U slučaju da u 1 iati čekanja vii^e nema zadataka, ponovo se ti;a£l prlatup'globalnoj memoriji RAM - Ml (8) u kojoj je 1 lata.čekanja za procesnu Jedinicu globalnih zudutaka. Ako i u toj listi nema zadataka onda se Ide na izvrdavanje nekorinnog zadatka, Prije početka Izvršavanja zadatka mora ae )7eataurlrati status zadatka (9),(10) omogućiti nòvi prekid.(11), a u slučaju globalnog zadatka Inicirati pr«ko semafora (12) zauzeće meniorijakog modula i omogućiti pristup (l'i) u konta,se nalazi taj zadatak te osloboditi globalnu HAlđ memoriju (15).' !?■?. čekanje uvjeta ■ I ■ ■ ' , , Zadatak u.flvome izvođenju može doći do točke u kojoj Je za nastavak rada potrebno' Ispunjenje nékih uvjeta. To može biti zahtjev ■ za pristup nekom globaliiòui nioiiiorijtikoin modulu, prlatup pdtprogramu za Izračunavanje specijalnih funkcija ili■rezultat računanja nekog drugog zadatka. Za svaki od tih uvjeta-mora' poa-tojatl posebna llufca čehanja za globalna i lokalne zadatka. Zadatak koji se Izvrfiava na i procesnoj jedinici I ,za kojinnora biti lupu-, njen uvje-t za nastavak rada aprtìma se u pripadnu* l^iatu čekanja za taj uvjot, u proceana jedinica, ae dodi jaljuje alljedećem zadHtku Iz lokalne ili globalna liete čekanja za procesnu Jetiintću prema algoritmu t;oji je isto prikazan na al. 1■ __fi1 [jnallziranje uvjjeta U trenutku kada zadatak oslobodi npr. globalni meiDoriJaki Dódul ili pristup progranekoni odsječku za izračunavanje apocijalne funkcije u nekom trenutku-svog izvođenja on signalizira Ispunjenje uvjeta. Signaliziranje uvJeta realizirano Je preko rezervirane meoiorij-ske lokacije - semafora UV. Nakon spremanja atatiipa zadatka u privremene lokacije ispituju ae lokalna i globalna lista čekanja za taj uv-' Jet i avi zadaci u tin listama prebacuju se u liste čekanja za procesnu Jedinicu globalnu i lokalnu, inicirajući tima da ti zadaci mogu nastaviti sa radoin kada na njih dode red. Po-aljedica toga Je đa će lokalni zadatak sa najvećim prioritetom prvi naći uvjet slobodnim 1 tako nastaviti aa radom, bvaki od uvjeta ina rezerviranu memori Jaku lokaciju u lokalnom RAM-u i globalnom RAM-u U: kojoj ae nalazi ad-, resa deskrlptora prvog zadatkei u lieti čekanja na taj uvjet. Lokalni zadaci koji čekaju na uvjet imaju prednost izvršenja u odnosu na globalne zadatke koji čekaju'na taj uvjet.. Karakteristika ovog potprograma Jezgre prikazanog dijagramom na al, 14. Je da onaj Zadatuk koji algnalizira ispunjenje uvjeta nastavlja ■ kasnije 'sa radom pu se njegov statua ne treba spremiti u deskriptor zadatka nego u privremene memorljske lokacije, sto pojednostavljuje, i skraćuje trajanje potprograma. Integritet zadatka koji je" ülgnul'izirao uvjet, je osiguran . time da potprogram ne rno?.« biti prekinut do ßL.l'i. Signaliziranje uvjeta 3.9. Stàrtan.je 1)/I jedinice Jesgro operatlf^nog sistemo ime mo-gućnoat komuniciranja bb iilazno-lal tianlin Jedinicama preko dvije primitivne funkcije "ot-. ai'taj U/I Jedinicu" i "alKOuUzlraJ ll/l «olovo", Pretpostavka Je da tie sano Jedan od zadataka može nuftl u llatl čekanja ita ulazno-,-lzlaanu Jedinicu (alika 1!?).^ Prijo Htartanja U/I Jedinice provjeravamo da li Je lista prazna (1). Ako je. Iniciramo zausaće U/I Jedinice, omoBućavamo prlatup, atartamo Jedinicu 1 api-eBiamo zadatak u listu Sekanja zu tu U/I Jedinicu. U alučaju da Je Usta već Kauzeta zadatak ae amješta u listu čekanja aa procesnu jedinicu, globalnu ili lokalnu, ovisi o zadatku koji atarta ulazno-lzlaanu Jedinicu, 1 tu čeka ponovo evoj red za lavodenje. BI.15., Startanje ulazno-izlazne .Jedinice Kod ll/l Jedinica koje eu fiksno pridodJ.jeljene procesnim jedinicama proRram-0ki odsječol l,OCK 1 UNLOOK se iapufittiju. svaku IJ/T Jedinicu pontoji po Jcdfin ovakav proKrtioiakl odnječuk. Kod U/l Jedinica koje au prladupno Hvim procesnim jedinicama IJ/J Hata Je globalna pa ne preiuu tome moraju korlntitl metiaril ami C.OOK i Uri1.0CK za prlatup (globalnoj memoriJi. fltHrtanJe U/l Jótlinlce povlaci za aobodi oraoguravanje 1 aodrzavanje pristupa D/l jedinici sve dok ona no inicira da je (.potovat U al'uäaju globalnog zadatka to ujodno i zna^i zadržavanje prava prlatupa fr.iobalnoni HOM-u u kojem se nalaai ^^iobiOni aadatak. Na taj način globalni zadatak zadržava ava uredetva potrebna za njep-.ov završetak (U/I jedinicu 1 ROM). Ako globalni zadatak traži prlatup U/I Jedinici I nađe da ja'zauzeta to znači da j« upotrebljava lokalni zadatak. Globalni aads-tak ao BpreBi« natrag u llatu fiekenja globalnih zadataka i oalobada (ilobalni HOM (preko uemafora 1 zaatavlce P 3), ^.10. Signaliziranje da je U/I gotova GlKnaUalranJe da Je ulazno-liloana Jedinica obavila zadatak owoguceno Je preko vektorskog prekida. Posljedica to^a je ulazak u jezgro operaci onog alatema i izvrSavanje . primitivne l'unkclje "nlgnalizlraj U/I gotovo'V Karakteristika te funkcije (al.16) je spremanje zadatka'koji je do tada bio aktivan u li-£itu Čekanja SPREMNO 1 dodjeljivanje prooeane jedinice zadatku koji je atartao U/I jedinicu. Vidljivo je da za ovaku uluzno-izla-znu Jedinicu mora poutojati poaebna lieto čekanja i posebna prekidna linija, Vektorski prokld omogućava automatsko prepoznavanje u-lazno-lKlBzne Jedinice tako da za to nije potreban posebni programski odsječak. Za pro-gramuke odsječke LOOK 1 UNLOCK i Hate-, vrijedi lato što 1 u i>obprogramu ta atartanje ulazno-lzlazne jedlnioc. Kakon algnaUzlranja da Je U/l jedinica gotova naatavlja ae zada., tak koji je dao start te ae u aamom zadatku Izvršavaju potrebne radnje aa U/l jedinicama (npr. S i tanj e podataka iz ABC-a). Hekon pi'ed-videnih radnji mora aa Izvrf.itl V operacija, tj. oslobađanje U/l jedinice. Ukoliko globalna U/T jedinica alu?,! npr. za prijenos Inl'or-macija onda V operuclja može biti sadržana u primitivnoj funkciji "algnalizlraj U/I gotovo" Jar ne u nastavku zadatka U/l jedinica vlße ne korlnti. Vidjtdl (imo (ia Jh ulH/.ak u kriLlrnl odMjfii'uh (/lohalnoK HAM-ii Ml o.-.ljnirnn ük lopov-nkotn nnbitVHŽom rorrio.'u LOOK 1 lINt.OflK proKi'fliti-riki h ovIsJh'i'uHh . .liuinoKtirii^an prlatup l(AM-u o-aiiluravH i prt ni,u p ru/.csrvi fun lat iimiiioi-i Jnklm i okači jumit-iuim.irori Jiia , kn j 1 ma kontrol t ramo ulaiikfì u nnl.alß kritične od« Ječ ko', Hvako (fiondino ru-i'il;it.vr!i nKtmorijiika jivilnlca, iiliizno--Izlaznri jedinica, pii |)r'(iiiiu toma i |.ro»fruml u nicmorijjikiffl Jedi ni cinfiu [lonnnuju lU: kao kritični odisječc;! kont,i'oH ran 1 od lusinafora, Ako na primjur neki lokalni u t oku itvnc;^ i K- voilenja trtibn ftiiitup noKrim polprof^rfiiiiu i> ohii 1 norti liOM-ii on mora nnjfuvija trnf.Jtl dozvolu -A" [irliii itp I rnko iuimiifora da bi bSo nl-(ruran da l.nj UOH im upot.rfbl jnva več neki dru» Ki ziKlatfik, Zubranl novi pruk1 d I 1, 0 r, K i \ . opremi u loka- Vnn 1 i Afcii ^fl«» .^nčuvaj Htatuü zadatka . iliju -ij-dvv w^b** kanja za procesnu Jedinicu -^M-Jòh^ Tzvadl i'.z liiite U/t zadatak, koji Jo n;t-urtao If/J -j ei d ini cu lier,ta>iriraj rije- gov t3t;iitus r u .H f, 0 C K Dozvöll novi. prekid Sproni u Kloh listu cükanjB za prnfiennu ,-jedinicu -Irli nn zaddCök fil. 1.6. fji Knull/, I ranje lia ,1e II/I Kotova Üoüvola za prlatiip ao ne. treba Craiiti piedino u nlučajtu o(n. .Koncoiit ueinHj'o-Tii prihvaćen Jo kao efikasno nrodiityo zant.ibo lürtitulu Kfliiatak« koji kooperi.rajii 1 ko,1l :ie natječu - za inUa tjl.ohulna a(-üd£itva /}/. Ulazak u krl tiSni odiijučak. može ae outvsrlCl preko ' binarnoK nemafpra' u P - primitivnoj funkciji Jfizgro na ovu,t nažin: fil, 17, P meliaiii zam TUnarnl ueinafor može poppiuilti vrl-Jednoat aamo 0.111 1. i'rlje ulaiika u kritični odsječak zadatak izvrSnva P prlmitivmi funkciju. Nakon lisklJuSlvoR doiii JanJu pristupa neitifiCoru .i Bpltuje oo njegov spdrzaj (1). Ako Jo 0 to znači da Je to arodfitvo zauzeto te ije zadatak. 11 prnau u 11 ritu fiokanja za to (iTOdatVO. Ako je nadržaj nemuroru 1 to znači da Je uredatvo nlohodno i da zadatak može- ući u kritični oduJeGnk. Nakon dnbljanja dozvole i. .Iniciranja zauzeća. obalnog u rod at va preko a.oiiiat'ora (i) oka]: 1 lei tno Vie omofi^ćuje ('*) pristup toni ai'ftdntvu ponioću. zastavice F (vidi fllj ■ 1). 'rek nakon toK" Hio^e ae nastaviti normalno izvcšenje, zadatka. Velika pradnoot ovako koncipirane P operacijo' Je da zadatak ne čoka ulazak u krltičn^ odaJačak u petlji čekanja ■ već ofil obada proc.eiinu ' Jedinicu za druRe zadatke, a on ae aiiijerita u iiatii čekanja za taj odiijiičak t na taj način .preüazl u stanje BM- KTUAN,- ' • ■ ^ . . ■ Nakon zavr^otka rada u kritiĆnom od- tijdčku z/idatak Izvrnavn .V primitivnu funkciju,; , tj. inicira preko neiiiaTora 1 zaatavlče da au taj oiUiJočak i (5I oba i rta memorija u kojoj ae nalazi od.'jječak slobodni. U toku daljoß izvođenja pi'0)-.^i'.amu ili na zavriietku, u alučaju da Jo /.i;lobalno urt-dütvo memorija ROM (ai. lä), . jioi;rfjbno Je pozvati primitivnu funkciju 'JEiig-tiallzlranje livjeta" koja zadatke koji aii ČekaH li na-taj uvjet aprttma. u 1 iutu čekanja crftEMNQ ss?" 30 !J filufittju Rjobalne U/J Jedinlfie (ADC-a, al. 19) potrebno Je memoi'l,1nltu lokaciju ha,ja inicira zauzeće 1)/T dedinlne poatavltV na 1 i osloboditi Brotlatvo preko 'zuotovlce. £51. IÖ I Uojivoli prekidj El. 19 _7, AKT,J LiČAK iz flvSh prJuiltivnili l'unkcija koje su inijil einen birano u jezgri operativnog elatema vlrlljtvo je da 3e u Jezgru inožo ući na jeiian od tri naoinui , - prekidotu usliyetj iuitnog melianiama [JOK i vom iz zadatka ili - prekidom U/I Jedinice Svaka proceana jedinica ima u nvoia Lokalnom FiOM-u svoju privatnu Jezgru operati-vnofi^ [jlatema. Karakteriatlka takve or(i;an1 zaci Je ja eia zadaci koJl au: aktivni, t J. koji se l/.vrnavaju na radnim procetìn 1 pi Jedinicama nioRU neovisno jedan od drvisjo^ uc:l u jeagru, Na taj nafiJ.n Iztijoßriuto Je rijusavanje kon-l'liki.tfi oko lilaiika n Jezeru i'ko hi poutojula eamo Jodna koplja u Klolialnom liOM-u, Kako Klobalni zadHoJ mogu lil t i idod 1 Jfil jeni UiJo kojoj pi-ocaanoj jedinlei to tie oni iiasni , njihovi ilenkriptori i pi'l padne 11 ote čekanja moraju na lazit i u i;lobalriaJ nieiiiori JI . Prot3;rom-aka Htraktiirii u (global noni Kam - Ml aii /.afttl-(:ene na taj naóln ila samo jodna kO):ija jezgre operutlvnot-'. nhiKima u juikoin tninul.ku Ima pri-atup tim iitfiiktui'nriia dok OHtnla iiioruju <*iiKatl na njlliovo oiilolmilanje . Ovako konci pl rana jezf^-u zasizimn niFitiJe l.K miiinorljo buE pro-' "fEramsikofi dijela /,a 1 n i ci jjl i 1 zai; ì Ju, 7, UTKlUTlIjU /1/ H.C. HOI.T, G.ß. CShAHAM.-ED I,AZOWßKA, U.A. nCOTT, "Gtructured concurrent rroKratntninB with Operating Oystema Appiictttiona", Addlaon-Weuley Company, 197fl. /?./ U. JEIjAVIĆ, "naaporedivanje proceoa u računallnia a viäa procesora" Maglataruki rud, Elektrotehnički fpkultot, Zagreb, 19ü;f. /V EDWAHD 0. COPFMAN, Jß., rmfl J, ÜESNJNG, "Operating Gyatem Theory" Prentlce-Höll, Inc. Englewood Cllfffl, New Jeroey, 197J, p. I-S2 ■ /V M. .lELAVlĆ, "Vifieprooeaoraki slutami s mikroproceaorlma TMf>100" Informatica (u Ètampi) OBJEKTNA ARHITEKTURA NA OSNOVI SEMANTIČNE ZGRADBE INFORMACIJE V. 2UMER, P. KOKOL, L. PIPAN UDK: 681.3.07 VISOKA TEHNIŠKA ŠOLA, MARIBOR, JUGOSLAVIJA FAKULTETA ZA ELEKTROTEHNIKO, LJUBLJANA, JUGOSLAVIJA Članek podaja eenentiSno zgredbo informacije, kjer Imajo objekti omejitev, lastnost, atribut in predstavitev. Prikazana je arhitektura zb nekatere značilne objekte; Ta koncept je zelo primeren za zanesljivo neposredno izvajanje. OBJECT AECBITEOTURE O» IHE SEMANTIC smCTUEE OP INFORMATION. The paper gives the semantic structure of information where objects have scope, property, attribut and representation. Storage erehiteeture for some Interesting objects is described. This concept for reliable direct execution of HLL programs is appropriate. . 1. UVOD Kljub izrednemu razvoju elektronskih vezij po eni strani in razvoju programskih Jezikov in tehnik programiranj po drugi strani, večina računalnikov deluje na principu klasičnega von Neumannovega koncepta. Posledica tega Je, da imamo danes 6e zmeraj velik semantični razkorak med uporabnikovim okoljem in materialno opremo. Do sedaj' znane izboljšave von Neumannovega koncepta v zgradbi informacije so zna-Skisi (1), ki vnašajo atribut podatka in des-kriptorji (2), s pomočjo katerih se dosegajo podatkovne strukture. Prav tako Je znan koncept capability adresiranja (3), š katerim se doseže pravilno dodeljevanje Informacije. Še višjo abstrakcijo podatkov zasledimo v zadnjem času s tako Imenovano objektno' orientirano arhitekturo, kjer imamo namesto linearnega pomnilnika množico objektov. Vse navedene sheme pa uporabljajo še vedno fiksno dolžino informacije kot npr. zloge ali besede. Slabost tega Je, da,ni mogoče opravljati operacij med različno dolgimi podatki. Prav tako ni mogoče dinamično spreminjati narave objektov. Izboljšanje navedenih slabosti dosežemo s"semantično zgradbo informacije, ki se zrcali že v arhitekturi računalnika. 2. SEMANTIČNA ZGRADBA INFORMACIJE Semantično zgradbo informacije predstavimo kot množico odnosov med dosegom in vrednostjo Cf). Odnose razdelimo v gtlri hierarhične kategorije*. omejitev, lastnost, atribut in predstavitev (al. 1), S tem Je običajno definirani tip razdeljen na lastnost in atribut. imej omejitev lastnost objekt objekt atribut predstavitev sekvenca- bitov Slika 1 Ime vsebuje omejitev, lastnost ter kazalec na objekt, sam objekt pa vsebuje atribut, predstavitev in sekvenco bitov. Omejitev definira, na kakšen način in konu je dosejtljiva informacija preko imena, 3 ten dosežemo pravilno dodeljevanje informacije in raščito. Predstavi-■tev daje možnost spremenljive dolžine in strukture informacije. Iz sekvence bitov dobimo glede na atribut in predstavitev vrednost objekta ali kazalec na drug objekt. Imamo dve osnovni operaciji: asocijacijo in evaluacijo.■Asocijacija poveže ime in objekt ter se uporabi tedaj, kadar spremenljivka dobi neko vrednost. Če je bilo ime povezano z objektom, asocijacija sprosti stari objekt in poveže ime z novim objektom, pri asocijaciji Je treba najprej pregledati pravico dosega glede na omejitev v imenu in nato še primernost asocijacije glede na lastnost v imenu. Z evaluacijo se zgradi nov objekt in to pri kakrš- . nih-koli opraciJah s starimi- objekti. Glede na vrednost omejitve v imenu se ugotavlja primernost evaluacije in možnost.operacije. Novi objekt ima samo atribut in predstavitev, ne more pa Imeti lastnosti niti omejitve tako dolgo, dokler se ne poveže z imenom. Omejitev vsebuje dva dela: način dosega in seznam upravičencev,, ki, lahko dosežejo to ime. Zlasti pri dodeljenih in porazdeljenih informacijah omejitev omogoča večjo zanesljivost izvajanja. Lastnost definira odnos med imenom in množico objektov, ki se lahko povežejo s tem imenom. Lastnost torej določaj kateri atribut v objektu in kakšne vrednosti se lahko povežejo z imenom. V lastnosti se lahko podajo razne izjeme, ki so moirda potrebne zaradi implementacije arhitekture. Atribut definira odnos med objektom in med množico dovoljenih operacij s tem objektom. Atribut določa naravo objekta kot Je npr. procedura, celo ali realno število, prav tako pa določa tudi strukturo objekta kot npr, polje, zapis, itd. Predstavitev določa odnos med objektom in nje- Il ROVO fisifino predstavitvijo. Prodstuvitov dolore oanovo Stovllakega olatom», dolžino äte-vllo, način znpiDO kodironjü, naSin kuVto Ja predatavijeno polje, dolžino dlnanlSnili struktur itd.. iäi« naf.in doseßs (leznatn upravičencev seznam tipov,, a katerimi je moSna povezava obsep; vrednosti.s katerimi Je možna povezava podatek 0 tipu Izjema kazalec ne OlIlüJitBV laatnoat _^ obđokt podatki o objektu narava objekta, struktura podatki o dovoljenih operacijah ostali podatki (omejitev,lastnost meje poaumeznih elementov ....) predufcuvitev sokvencfi bitov (podatek oli kazalec na naslednji objekt) Stritut Olika 2 Na aliki 2 prikazujemo podrobne J f5o zgradbo imena in objektu. Podatki o objektu vsebujejo dodatno informacijo o objektu, ki Je potrebna pri upravljanju a pomnilnikom (dolKìna objekta, število aagnian-tov objekta, aktivnoot objekba, ...)• AriHPPEKTUUA OlUKK'l'ÜV Prodpoatavljamo dovolj velik pomnilnik, v kate ram jo iseklJalna tabela in množica nakljužno riJ K pore j en II) imen in objektov, Takiien koncept ao iaka?.e kot nelo uporaben pri neposrednem izvfijfinju viaokelr^3 progromukega jezika, saj moramo v Cetn primoru proi^lcdova ti primernost evaluacijo oz. aoooijecije tik pred iavaja-njem. V iioSem priiiioru ao, ob jakti ■ lahko rar.lif.no podatkovne ßl;rukture, aekljalne tabele, okviri, sliko procedur in krmilnih konetruktov kot bo npr. if, while, when. Objekt za celi tip (integer) osnovni tip [ celi, tip dovoljene operacije d flekveneo bitov d - dolS^no Bokvenoe bitov b baza Številskemu ' siatomu o - pi^odr.nak števila Objekt za seatovljeni tip polja (array) Karođi enostavnosti implemantnoije Je polja deklarirano enodimenzionalno, vee dimenzij (lo~. BeSemo z rekunr-ijo, Öploäni atavek za deklaracijo polja Jet ime is array ÜHiTSM ... ZM:'ry,M of tip polje 1 tip dovoljene operacije 'i'ß 1 BM 1 rzH Z« h ®2 • " \°n •'g • < I > 11 üM - spodnja meja indeksa polj« TSH - tip ÖM aH - ZKomjo meja indekaa polja TZW - tip Z» - omajitva poaameznih elementov tj,kg polja ,,, 1„ - lastnooti posameznih eleaiontov n S polja - kazalci ne nadaljnje element« te^a poljo, ki »o lah}co objekti oanovrtih tipov eli pa objetebl seotovljanih tipov übjekt krmilnih stavkov Podobno kot sa podatkovne strukture, lahko^tudi za krmilne stavke upoÈCevamo aomantiko že v arhitekturi. Objekt krrailneti;a otavka ne potrebuje imena, ima aemo vetop v sokljalni tabeli. f.iplofina oblika krmilnegu otavka jet struct ■ lop;i5ni izraz 1 do list^ otavkov 1 else lo^iiSnl izraz 2 do lista abovkov 2 else loe;iÈni izraz n do lists stavkov n end Objekt krmilnega stavka vsebuje vaS objekUovi lil '[iS > l'ai |H2 /15 ■11511] in "il .sn.. 3-C an ~ lOKični izraz Ig - liatö stavkov kj^ - kazoloo na logični izraz kg - kazalec nu listo stavkov «•. ^.AKliJUÒIiK • 2 navedeno ai-hi tok turo je moi^oSe zelo aaneslji-vo izvajanja prof/;rnriiov, a Simar se zmnnjfie cona vzdrževanja procrnriiov. Prav tako se poveßa uSinkovltost i/.vajnnja programov in zaäeito informacijo, fio zahtevamo Izvajanja programov a veliko zanealjivoatjo, potem Je v navedenem koncepiiu izvajonjo prot'jramov nmop:o .hit;ni,Jr5e kot pa v obi(Gracljskepo niateiua. Današnja vr.ül tehnologije nam ponuja pomnilnike 7. velikimi kapacitetami ns oenovi asocia-tivnop;a doseRB in z dodatno lo^iko. Ceneni mi-kroprofrromlrani procesorji pa oinofi;očajo izdelavo ptocenorjuv za naSe posebne namene. Paa-voj i.ehnolocije kaže, da bo v nekaj letih im-ploniontacija objektne arhitekture kljub kom- .plekenostl tudi ekonoqeko upravljena. ■LITERATUHAt : I , ■ .. I ■ ■ l; E.A. PeuQtel, Oil the AdvotituKes'Of Tagged Archtteoture, lElilE 'Jr. on Computer, 0-22f7). 1973 ■ 2. T.A. Welch, An Inveatigotion of Descriptor Oriented Architecture, Proc.. of the Third Annual Syinponium on Oomputpi' Arch^H'Oture '. (1976) ' I i . , rogramming Computeti 3. J.B, Dennis, E.C. Van Horn, I'r Oemantiao for' MultiproBrenimed . 0ACM.9(3), March 1966 " , K, ToKorp, T, Takinaka, On the Bemäntle . structure of information, 9-th Annuel Symposiutn on Computer Arcliiteoture, Austin OOS» V. f/umer idr., Raziskave mlkroprogramirane ' arhitekturo za implementacii,jo. visokega pro-grBinakeKa jealka, raziskovalna naloga., VTE, Maribor 1982 ' EXPERIMENTAL LOCAL AREA NETWORK JERZY BRZEZINSKI, WOJCIECH CELLARY, JERZY KREGLEMKI UDK; 681.324 INSTITUTE OF CONTROL ENGINEERING TECHNICAL UNIVERSITY OF POZNAN. POZNAN, POLAND Abstract Hcsdellin.?; and performance evaluation of local area networks' architecturfla and protocols inđlsnensaUle for their OTitlm.lsatlon, cannot be achieved by olasslöal slnf?le-comwter pro-SraiffiTilns simulation because the real-time to slijulatlon-tlne coefficient is f^reater than 10^. Thus, the develorraent of distributed slrnilators ■ imorovinff thin coefficient ie necessary. Tn thi 13 Tjaner an .exoerimental local area network Bxnet is presented for distributed morielllnf; of local area net^^fo^lcs with an a-rbitrarv architecture and protocols. The architecture and rirotocols of i^xnet are presented, af3 well as the hybrid technique of siimslatlon and emulation for distributed modelling of local aren networks, This.teoh-niaue allows all time uarapieters of all protocol functions of fh. modelled network to be measured. As an example, modelling on Exnet of the wein-known local area'network Ethernet coim^osHd of an arbitrary number of stations Is deücrlberi. in detail. 1. Introduction The ctrowinr; demand for local area networks necessitatsFj the elaboration of optimal methods for net\'/ork design. These methods must tal-e into account the influence of network ap-Tilioatlon characteristics. The network design coRnrises ■nrohlems like: netv;ork architecture, transmission rirotocols. data rate, packet structure, Tjacket lenfjth, etc. The choice of appronrla.te narwneters and the optimal design of a network to be applied require experiments on models. The design and implementation of physical models is obviously very expensive and, therefore, impracticable. Another way to obtain a model is sismilatlon. In practice, for that purpose computer simulation is used. However, if a whole coraouter network is simulated on one computer site, the real-time to ainnila-tion-tlnie coefficient grows to over 1 Therefore, this approach is very difficult and also expensive because of time oonsumption. The above consideration shows the necessity of elaborating a new method of network modelling. In this paper we propose a new method of network modelling on a distributed almtlator. For the construction of this distributed simulator the local area network Sxnet is used. It has been designed for research purposes. The design of Exnet is intended to enable one to recognize the behaviour and the performance of a distributed system with an arbitrary architecture. This new modelling method is connected with several new probleps which must be resolved, The area in which the new problema would appear is the compound technique of emulation and simulation used in this modelling method. In this paper we present our approach using as an example the modelling of the well-known local area network Sthernet. In Section 2 we describe the architecture and transmission protocols of the Exnet network on which the experiment is performed. In Section 3 of the paper we briefly present the architecture and protocols of the Ethernet network. In Section 4 we pi^sent our approach to modelling an arbitrary network on the ^Bxnet network, using Ethernet as an example. In Section 5 we present conclusions and final remarks. 2. Exnet network - architecture and protocols In this section we describe the architecture and the transmission protocols of the experimental network Sxnet. The main assumptions underlying the design of Exnet are the flexibility of the network structure and low requirements for the network adapter and host performance. To ensure good connectivity, a global bus structure of Sxnet is chosen. In this structure all stations are connected to the shared passive transmission channel and, therefore, the channel access procedure becomes very important for effective sharing of the channel. Since we do not distinguish the supervisor station and the channel le paeelv«, a .fully dlatrlbuted channel manaBö-inent can lead to colliBlona. A collJaloti ap-(«arB when two or mors statlatio ^liimltanebuHly etart to tranamlt a iwauaKe through tJiu channel. In this caee, tho tranDiiilnnlon muat be annulled and restarted In a niannur which avoldfl tìnbnequont colli slonu. In tiie procedure ueed -In lixnat, when any utation wlahee to send a pncket, a carrter flsnse nieohaniam ie usod flrat, forcing the station to defer if any tranajiiloalon lu in pro-" ureoe, Tf no other atfitlon'lD tranaiiiìttlng, the Bonder can l^egln immediately, wltb'iaero latency. Othai-wlee, the sender vfalta until the papUtìt haa paaaed before traiininlttlng. For detection of a collision a apodal Idimtlty iimrk Is oent at the IjeslnnlnB of each, packet, l'ho Identity mark of each utritJon la unique In tlie whole network, 't'he utation which Btarts to transmit aendH this mark and checks for ItH correo tneae by monitoring tlio channel. If any other at« t J on etarta to traneuitt a packet, It ßendu Itß own Idiuitlty jiiark, whlcli la dlfferont froi» that of tho flrsjt fitatlon. When they start to tranoiiilt alRiultanoouoly, a colllelon oocura. Collision dotectlon In all thtì eolllcìinfj otatlnna io ensured by the Bpoclal structure of the Identity mark. It Is compoaod of two bytes of which the first Is the unique addresa of n attitlon and the second is 1 tn compHeiiiont, With this Jdontlty niark, ■ for each pair of colJldln^ stations there la at least ono lilt ei|Ual to aero In the Identity mark of tlx) flra t station which iiiatchoa ono hl.t equal to one in. the Identity mark of the sficond station, and vleu versa. Therefore, -the detection of u collision does not dopend on which' of the two states Is forced in the chan^ nel durlnf^ tlio-coll islon T,e t un notice that if the Identity iiinrk compri iie(i only tho ad-drsna, .it la poruilble thnt tlio oolliri.lnjj state would match ona of the Jiiontity marks and the respective station would not detect tlie oolll-slon. It must be noted hero that In 8x.net the tranfiiiilsslon in the olmnnel. Is aftynclirnnoua, Ita data rate i a low (n ?.()() baud) and, therefore, a -pricket does not havi; any pitjuinble wlilch Is uood for synohi'onliint.j on In synoin'on-OUB tronainlsaj on, T.ow datn rute f The PIÌOT' procedure Tn the Rjcnet natwork event« occur in the whole network Blmultaneously becaiiee of the relatively low'data rate In couiparlson with propagation time o^ alRtialB In the channel. In Ethernet, however, the data rate la high enough for the propagntlon delay in the channel to he ohaarved. The aenuinod Biaxliiiuin round trip propagation delay In this network could ho of 450 hit tltii^s. The taek of the .mOP proceduro le, therefore, a slraulatlon of propagation delays In the modelled Ethernet network. The length of each cahle connection la defined Jn advance for the modelled network and the appropriate delay rectification la coiupute.d. The SYH'f procedure • In the üxnet network the transmloslon le anynchronoua and, therefore, il bita are uaod . for tranelli!Galon of R hits of data. The three additional blta are the etart, parity and stop hits. In the Ethernet network the traneiiilsalon iB aynchronoua and no additional bite are required for data transmieal on, Therefore, the SYNT procedure le used for computing the correct tranamleaion' time In the modelled network. The PAC.'-! procedure The paclcet striicturee for Ethernet and Ex-net were described In Sections 2 and "J, The PACS procedure 1b thus used for computing a rectification of the tranaiuiaalon time for these two different packet etructurea. Now we will explain the method of modelling of the above-mentioned functions of the Ethernet netv;ork. The main problem which appears in this model ling lu computing the tljiie of event occurrence related to. the. Kthernet. functions, on the basi» of event occurrence In the real Ex-net network. In order to obtain time, parg-nieterG of the bit ' transmlanlon/reoeptlnn of the modelled network,, wo iriuat include all three reetiflcatlonra In thlB function. In the carrier senee function we want to detoTi!|ine the 'moinent of the carrier on and carrier off detection in the modelled network , on the has Is of the time of this signal occurrence In Tlxnet. This moment dependo on the moment of packet tranBciletdoh termination and,' therefore, the carrier Boneo :j:unctlon must he supplied with nil three, procedurea llatert .. above, ' , . ■ ■ However, the collialon de téotlon. function depends go.tely on the moJnent of packet trann-mltìslon Initiation and, 'tlierefortì-, it must be aupplied with the PRnp procedure only. At the end of onr conolriernt.l ona relating to the first layer modelling we' refer to the data encoding/decoding function. In Ethernet, this function Is used,..In the encoder, to translate physically separate elgnals of the clock aynohronlaation and data Into a alngle, self-aynchronlzable aerial bit atream, suitable for tranamlaalon tlirough the coaxial cahle by the transceiver, while in the decoder it io ueed to separate the incpiulng phatie encoded bit stream Into a'data atreain and a olock signal. Thla function does not Influence .tinio characteristics and, therefore, io',not Included In the simulation. . . ?aaBing to the higher layers of the.Ether-, net network, it muet be noticed-that■on the interface between the yhysical Layer and the Data Link Layer information haa the format adequate for Ethernet. The higher layers could be modelled by the simulation method and, therefore, they do not need a specific ap- ! proach. ' ■.,"'. . ■ Let us now briefly dlacuss the problem of modelling several Ethernet atatlono on one Ex-: not station. I'hen, . in the case of tranainisalon from one iäthernet. station to. another, with both Ethernet stations modelled on the same Exnet station, such tranamlsalon is physically performed and addressed by the Exnet station to itself. The transmission tórtriinatlon or interruption on account of a collision In the modelled network carries.Informatlon for other atationa In the distributed simulator, auch transmisalon' is seen by the other atationa of the^ Uxnet network as ,a tranoiülasion between two Extiet atationa. " ' 5. Conclusions • ' The local area network Kxnet constitutes a diatributed. slimilntor of arbitrary local area networkp. It pcrjiilts modelling and performance-■evaluation of network architectures and protocola in' an efficient way. ThuB.it can be used for designing networks best suited for a given appiIcation, Referenčen - ' [l] The'Ethernet - A local area network - data link layer and physical layer speoiflca- ■ tlon. Version l.n.DflO, Intel and Xerox (tJapteiiiber 1900^ ["2} Opnn rJyatem'B Architacture Reference Model ISO TC97/ÖC16/N34 RAČUNALNI K V SOLI ALEKSANDER COKAN VLADISLAV RAJKOVIC UDK: 378.681.3 ZAVOD SR SLOVENIJE 2AŠ0LSTV0, LJUBLJANA VISOKA ŠOLA ZA ORGANIZACIJO DELA KRANJ IN INSTITUT „J. STEFAN", LJUBLJANA Članek obravnava mesto in vlogo roiunalniikih znanj In raiunolniik^ ^ehnike v uino - vzgojnem procesu no otnovni in «rednji Stopnji. Problemi in nekorere možne reSitve glede tia> naie moinotti in potrebe »o podani na otnovi več kot 10 letnih izkuienj na slovenskih irednjlh loloh. COMPUTER AT SCHOOL. In thii paper the role of computer subjects and technology at the secondary ond primory educatlonol level Is discussed. Problems and some possible solutions regarding our needs and possibilities are treoted on the base of more than 10 years practical experience in computer teaching at secondary schools in Slovenia. T. UVOD Ne do bi ponovno poudarjali pomen sodobne raćunolniike tehnike, lohko ugotovimo, do Je to tu in do w ji tudi v ioli ne tnoivrno in ne želimo izogniti. Takoj te nom zastavljata vsaj dve vpraionji. Prvo je, kaj lahko od rofunalniike tehnike pričakujemo v vzgojnoizobroževalnem procesu, in drugo, kak-Sna znanja noj bi o tej tehniki posredovali mladini. Odgovora na zastavljeni vprašanji nikakor nista kako slovensko posebnost, vendar bi ju v prispevku želeli osvetliti tudi t izsledki uvajanja pòukfl ročunotniitvo v slovenske srednje iole. Rntunolniiko liobraiovonje ima v srednjih iolah v SR Slave-ni[t £e vee kot desetletno trodicijo [9,10,11,12]. In feprov v izobreževolnem proe«su deset l«>t n) dolga doba, soj do sprenwnè navadno vodij« majhni koraki, pa lahko xa srednje-iolsko raiunalniiko izobraievanje reietno, do smo v tem £asu prtte veijemu razmahu, tako zarod! dirwmike razvoja celotnega računa I nilkega področja, kot zaradi uvalenjo usmerjene-gp Izobraževanja. 2. POUK S POMOČJO RAČUNALNIKA Ob prvem vpraSonju, kaj lahko od ročunolnllke tehnike pri čoku jemo v vzgo[Aoizobra£evalnem ^cesu, običajno pooiisllmo na programirani pouk s pomočjo računalnika (CAI - Con^ter Assisted Instruction). Programirani pouk je v osnovi sestavljen iz krotkih poglavij uitM snovi, vMkemu poglavju pa sledi lest. Glede no rezultote tega testa lahko učenec bodisi nadaljuje s snovjo oli pa se moro £e ukvarjati z ž» predelano snovjo, če je grodivo za programirani pouk shronjeno v rakuna Iniku, lahko uporabimo računolnik za hkratno poutewa-t)je celega razrede učencev, vendar toko, da vsok učenec napreduje glede na dosežene rezultate. Vsak učenec komuni~ eira z računalnikom, npr. preko svoiego zaslonskega (video) terminala, na katerem se prikazuje učno gradivo iti testna vpraianjo, odgovore pa učenec sporoča ročunolniku preko tastature ali koko drugače. Če so odgovori zadovoljivi, se na zaslonu pokaže nosiednja učna snov, sicer pa dodatno gradivo zo pojasnilo k neusvojeni snovi. Tudi učenec som lahko zahtevo rotne ponovitve al! pojasnilo v okviru grodivo, shranjenega v ročunolniku, Pripravo takego gradiva, tj, programiranih učnih enot, je izredno rohtevno in dolgotrojno delo. Zahtevnost le ne nono-io no računalniški del, ampok na ustrezno metodično in vsebinsko pripravo gradiva. Zoto so toki programski sistemi običajno dragi, njihovo obsežnost pa zahteva sorazmerno zmogljivo računalniško opremo nO iolah. Zaradi omenjenih problemov programiranega učenja in neko-terih nespornih predrvMti računalniške opreme se je v Solch uveljavil Sfr« pojem pouko i pomočjo računalnika (CAL -Computer Assisted Leorning), ki obsega pomoč ročunolnlka v vzgojnoizobraievolnem procesu povsod tam, kjer je to mogo-£è in smiselno. Osnovno Izhodiiče je izbrana učna situacijo. Prednosti, ki jih nudi računalnik po so: individualizocijc tn posamezniku prilogajen tempo poučevanje, takojinji reiultoti, zbiranje podotkov, motiviranje učencev, koncentrirano učenje, skrajšanje učnega časa ter srmulaciie, ki nadomeSfia-jo drago opremo In nevarne praktične vaje. Eksperimenti so,pokazal i, do so rozlični mediji, kot so film, televizijo, računolnik. Ipd., lahko zelo uspeSni v različnih učnih siKncijoh. Torej je pomembna opredelitev posameznega medija v različnih predmetih, tako rekoč od ene učne ure do druge. Ne gre le za dominacijo ene učne tehnologije, npr. računalniške, nad vsemi ostolimi, ampak za pedagoSko učinkovit splet razpoložljivih tehnologij za čimboljSe doseganje vzgojnoizobraževalnih smotrov. Zaradi celovitosti odgovora na prvo vpraSanje, kaj v Soli od računalnika lahko pričakujemo, omenimo Se' računalniško vodeni pouk (CML - Computer Managed Leorning), ki obsego pomoč računalnika bolj v smislu Šolske administracije. Gre za kompjuterizacijo aktivnosti, kot je npr. priprava in obdelavo preizkusov znonjo, pa vse do raznih statističnih obdelav in tiskonjo spričeval z računolnikom. Tu se računolnik v Soli močno fH-ibliža poslovni rabi. Potem, ko smo spregovorili o CAI, CAL in CML, je prov, do spregovorimo le o dilemah in prohlomih, ki jih prinoSa v Solo računalniško tehnika. 3, PROBLEMI. WAJANJA RAČUNALNIKA V SOLE. Dej SI, 1. Število iol t predmetom Ra^unalniltvo iz leto v leto noraičolo Družbene potrebe «o ob prehodu na »»merjeno Izobraževanje narekovalo vkljuisvonje otnovnih knonj o Informatiki in roču-mlnlitvu kot obvezni fond zrunjo za vtakega učenca v predmet osnovo tehnike in proizvodnje, v »kupni vzgojnolzobrozbe-ni o>novi. To j^ seveda vplivalo na nadgradnjo predmeta računalništvo no eni stroni in na drugi »troni no zasnovonje ustreznega fakultativnega predmeta v osnovni loli (SI. 2). Otnovno I lol9 Studnle liobralevunis , tnf. in «e. 1 0 TP rtó. Int. li) roe. I Nurs^.-matam. uimerltu» NaCun. uHTieritev SI. 2. Z reformo so računalniiko znanja postala del Osnov tehniko in proizvodnje ( OTP), fireobllkovol »a je predmet JtočunolnUtvo, kt te je ustrezno nadgra|u|A v Ročunolnliki In Noravosiovno-matematičn! usmeritvi, no nivoju osnovne iole po so pripravijo poseben predmet. Osnove tehnike in proizvodnje V okviru osnov tehnike in proizvodnje se vsak srednjekilec seznani z osnovnimi pojmi Informatike, ročunoInlSlvo in ki- bernetike [13] . Poseben poudarek je no tipičnih primerih uporabe računalnika na raznih- področjih od tehnike, administracije, uprovijonja, procesne tehnike po vse do umetne ln~ teligenco z robotiko. Bistvo predmeto je v obravnavi odnoso med človekom in računalniško tehniko. Učenci Izvedo odgovore na vprojanjo kot so: - kje in kako si z ročunalnlkom najučinkoviteje pomagamo, - oli je ovtomatlzocljo vedno na mestu, - kokine posledice bojmel hiter razvoj računolniike tehnike, - kje so vzroki napak v ovtomotskl obdelovl podatkov, - kakšno je odvisnost človeko od ročunalnilke tehniko, - do kakSne mere lahko zaupamo rezultatom, ki jih dobimo Iz računalnika, - kokSno je vlogo Informatike v procesu samoupravljanja, - ali ročunolnik ogroia človeko? Za predmet osnove tehnike in proizvodnje obttajfi učbenik G^], Poglovjo Informatika In ročunolniltvo po je ie posebej skrbno obdelono, saj ga »premijo didaktičrti komplet (7l, ki ga le-stavljo preko 30 grafo»kop»klh protojntc, 40 diapozitivov In film "Pogled v ročunolnik", Predmet račutwlniStvo V usmerjenem Izobraievönju doilvlja ročunalniitvo nadaljnji razmoh, saj je vključeno v večino programov srednjega Izobraževanja no V. Stopnji zahtevnosti. Odvisno od usmeritve namenjajo po»ameznl programi predmetu računalništvo od 35 do 140 ur pouka. J'rogramsko jedro predmeto obsega poleg uvoda ie poglovjo Informocijo in njena predstavitev. Zgradba in delovanje računalniku, KeSevanje problema z računalnikom ter Pregled u porobe računalnikov. Programsko jedro je zgrajeno s posebnim poudarkom na metodah, ki jih prlnaiajo^ oziroma vzpodbujajo ročunolnllka znanja. Tu voljo !o posebej omeniti s iste moti č no reiovonje problemov In razvijanje algoritmičnih In progromskih konceptov. Bistveni del pouko so praktične voje učencev na računalniku, kjer učenci samostojno razvijajo programe, tj. programirajo v visokem programskem jeziku PASCAL. Učni načrt za računalništvo z navodili prinoSo napotke za uresničevanje vzgojnoizobroževolne vsebine. Poudarjeno je praktično r^ievanje konkretnih problemov na računalniku, individualizacija in diferenciacija pouka ter skupinsko delo. Tak pouk računalništva seveda poleg drugih didaktičnih pripomočkov zohleva zlasti ustrezno ročunulniiko opremo iol. * Vzpodbudni rezultati ročunolniikego izobroževonja »e koiajo predvsem v velikem zanimanju mladine zo lastno dalo na računalniku. Ne nazadnje so to odraža tudi na vsakoletnih tekmovanjih srednješolcev !z računalništvo, kjer iz leto v leto roste Število udeležencev skupaj s kvaliteto njihovih izdei^ kov. Dat\alnja mladina bo živela in delala v roiutvatnükem svetu, tako okolje obdaja Solo že done» in računalniški utrip že prodira tudi v osnovno šalo. To čas načrtujejo fokultotlvnl predmet informatika In računalništvo v 7. ali 8, razredu osnovnih iol, V osnovi je predmet politehnično zasnovan, njegov nomen pa je nuditi osnovnoiolcem, ki jih to zanima, ustrezna računalniška znanja in to na organiziran način, ki zagotovijo povezavo t srednješolskim izobraževanjem no tem področju. Ob tem se zastavijo vproSonje, koko In s čim zajomčiti potrebno kvaliteto izvajanja pouka računalniških predmetov. ó. .izobraževanje učiteljev in račor>jalnfska oprema Sol .. . Zočetna kadrovske potrebe xa Izvolbnje pooka prsdmsto ra-čunalnUtvo «o pokriti itirje celoletni tečoji za učitelje pri Zavodu SR Slovenije zo iotstvo. Kasneje so se vkljuèMl v pouk predmeta ra£unalniitvo predvsem mnogo mlaj{[ uittelji mate motike, k! «o imeli rafunalnìStvò s programiranjem v vÌt sokoiolskem studijskem programu. Vendar to ne zodoSča po. trebam. V nairtu je program za uiilelja roiunolniilva z več ražunalnitkimi znanji. - Vsako leto potekajo no Zovodu Sft Slovenije ia iolstvo nekajdnevni seminarji, na katerih se učitelji seirianijo z vsebinskimi in metodičnimi novostmi no računainlikem področju. Seminarsko izobraževanje učiteljev za pouk s pomočjo raču- . nalrtika že izvaja RCPU pri f NT. Seveda pa bi. moral predvsem pouk vsake nietodike na pedogoiki okademiji in univerzi vsebovati tudi uporabo računalnika pri poučevanju. Vzporedno z razvojem računalniltva se mor^ razvijati tudi Izobroževanje učiteljev,'k| ne sme zaostojati za družbenimi potrebami. 'Računainlika oprema slovenskih srednjih iol je zaenkrot zelo skromna. Le 10%'srednjih Sol, ki izvajajo pouk računalništva, ima tudi svoje ročunolnika In to od preprostih mikroračunalnikov do večupordbniiklh sistemov. Ostale Sole za prčktlčno delo uporabljajo univerzitetne računalnike.ali po računalnike delovnih organizacij v bližnji okolici iole. Opremljanjo srednjih in kmalu tudi osnovnih iol z računalniki nI mogoče odlagati v nedogled.. Problem je seveda računalniška oprema domačih proizvojolcev, ki je nekajkrat draijo kot podobna oprema na svetovnem trgu. Že večkrat je bila poudarjena potreba po ilril družbeni akciji, s katero bt razbremeni-, li C eno.doma če raču noi ni }ke opreme zo Šolske potrebe. Hkroti. pa bi bilo seveda potrebno to opremo standardizirati, 7. računalniško'usmerjene Sole Novost v srednjem izobraževanju je računalniško usmeritev In vzgojnoizobraževalnl progrom računalništvo. V tej usmeritvi se izobražujejo računalniški tehniki za oparoturno opremo ' (hordvvore) in programerski tehniki (za software), V tej usmeritvi ročunolniSka znanja predstavljajo osnovo vzgojnoizobra-' ievolnega programa , Poudarek na računalniških znanjih je tudi v smeri matematični tehnik v naravoslovno-matemafičnl usmeritvi, kjer v libif nem delu programa naravoslovno-malematlčna tehnologija v 3, in 4, letniku'predmet računalništvo in programiranje usmerja učence v to področje. 8, ZAKLJUČEK . . ■ , kljub dokaj celovitemu »istemu Izobraževanja na področju ra-' čijnalnIStvd pa tako pri nos, kot tudi drugod po svetu, obstqr jo vrsta odprtih vprolanj «ébìnske, metodične, tehnične In . seveda finančne narave. Vendar je iirSi problem računalnika v Soli predvsem problem miselnosti ljudi no vseh nivojih, od Storiev, učiteljev do načrtovalcev iirSe vzgojnoizobraževalne politike. Gre za resnično razumevonje mesto In vloge raču- ' nolniko v Soli in ia posledice Sirie kompjuterizacije človekovih aktivnosti. Očitno je namreč to, da ie danes tudi v Soli brez računalnika zaostajamo za tistimi, k! go Imajo, jutri po, verjetno brez računalnika he bomo mógli več noprej, LITERATURA. 1. "Roblek, B. (urednik), RočiinalntStvo; Gradiv^ s tečaja m učitelje, Zovod SRS, zo. Šolstvo, Ljubljana, 1973 2! Brotko, I., RajkdviČ, V., Uvod v računalništvo, DZS, : Ljubljana, 1975' 3. Polya, G., Kako reSu j em probleme, DDU Univerzum, Ljubljana, 197Ó 4. Benkovič, J',, C U/I kontr. PIO 8ERTJSK KOH. 16.U/T linlja,ZZIZZ MBMTNA Slika 2 w Jezgra osnovnog madula IncliVcaclda stanja mikroprocesora aklopovri za pojačavanje signala sklopovi sa povözivanje s.drugim proce-eorlma lokalna memorija tipa EPROM (Erasable Programjnable Read Only Memory) 2Kx8,JfKxß PIO (Parallel Input/Output) 16 U/I lini-' ja plu0 2 linije isa serijsku komunikacijm koja ae rješava programski - komunikacija proko terminala ili kalku-latorske tastature i pokaznika - upravljački program - monitor i/ill programska podrSka sa konkretni zadatak. Dodatnim proširivanjem osnovna jezgre, priWiSavamo se osnovnom modulu prikazanom na alici 3. Moguća je postepena nadogradnja komponenata i programa prema trenutnim potrebama od "jezgra osnovnog modula" prema "o snovnom modulu". MINIMALNA KONEIOlll?ACIJA (1) EPHOM ' I ose J SAP. I I (2iC, 4K) I___^ _ _ I ' i EPROM HAM (SKxS, 4Kx8) flKx8, 2KxB) I---- PIO ---1 RES. , i I I /IP, fD^ _ X _l--1 16 IT die. u/I u Cl6> linija ser. I prosi■ kom. I renjt) j (8 kan adr. pod. kontr CTC (realno vrijeme mr t( kunalft TERMI-SI Al c> PIO BUCiUBkl priklj A/D D/A nn ti'/cf. mrežu Slika 3 Osnovni uioditi SHEMA 1- C'P'Ü • sv if sh j;i;s Sh! SHEMA 2- RAM/EPROM memorija Slika Shi Slika 5 SHEMA A - CT C : I/O selektor «; C Silica 6 SHEMA 5-P!01,Pl02 ShK □0 D3 It* ML AT 01 sni" » ie*Ft DT PtO 1 IC 6 Al Al M A4 A! A( AJ UÀ Sls. t/6 SB. Č5 et i?Bre A RDV ris IHT lEt B« BI BI • ) BA fiŠTB a» n Shl^ SM: ji . Sh];jl >t B 00 □1 m lEl Al » u 1 ilj *0 D1 DA A3 A4 IJ 10 s 1 pro 2 2 DT IC 18 7 . AO S B/XSEL 1 . Al & A STB Q2 * CS rt 37 BI « iS_;_ 35 HD M 31 •5 15 A w iiTF Bt - . .. " »MK •fk SUkB 7 Shi.ll » II. Osnovna konfipiraoija - i'osnovni mo t dui" realiziran na jednoj pločici dvostrukog EVRO formata Osnovni modul sadržava "Jezgru osnovnog modula" plus: • - OTO ("brojilo/mjerilo vremenskih impulsa a t kanala bb rad u realnom vremenu )' - PÌO ( X6.U/Ì digitalnih linija, Sto zajedno a PIO Jedinicom i a "Je agra oa -novnog modula" Sini 3o U/I linija plus . serijski kanal riJeSen programski ili 16 Cl'^> U/I linija plus analogni ulaa plus analogni ialaa - lokalnu memoriju tipa RAM C?Kx8) - mogućnost prikljuäivanja standardnih U/l Jedinica (terminala, -tastature, po-kaznika, Štampača, kazetofona) i peatan-dardnih (A/D,D/A, telefonake mreže i drj - Jezgra operacionog sistema plus razliSi-ti dodatni programi za obràdu u realnom vremenu, matematiSka operacije, komunikaciju 8 drugim mikroračunalima - memorijski prostor za spremanje speci -. Jalne programske podrške i podataka za rješavanje konkretnog zadatka. Najbltniji elementi oanovnog modula pri-: kaaani au na slikama 4,5,6,7. Taj Je modul dovoljan za rješavanje-niza jednostavnijih . funkcija upravljanja i inože djelovati aamo-atalno,' A.ko želimo, proširiti postojeću koh-, figuraciju, jedan od načina Je .da definira- ; mo dodatne module mikroračunala Čijim, priključivanjem 6b osnovna jezgra Bistetaa postajati sve snaSniJa. Tu i dalje zadriavamo princip da moduli za proširivanje sadr£e raellSite komponente mikroraSunela. Praktički se sä 3 modula, koiDbinaoiJom i popunjavanjem tih modula sa programabil -nim komponentama i inicijali zaci Jekin pro- . gramlranjem komponenata moie pokriti vrlo äiroko područje primjene, kako po složenosti tako i po tipu posla. III, MlkroraČunaraka konfiguracija, realizirana iz dva modula ("osnovni modul" plus "prvi dodatni modul" ) Konf igraći ja Je .realizirana na dvije pločica dvostrukog EVRO formata. Prvi do -datni modul prikazan je na alici ß. Svojstva prvog dodatnog modulai, - 16K K 8 EPROM memorije (2?16/2753) - loK X 8 RAM statičke memorije - EPROM programator za 12716/2752 - PIO Jedinica sa 16 U/I linija - matematički procesor (9511/9512). I I - ^ I - ose . ( 2 ) OSBOVSl MODUL , - SESET' f I EPROM I - 2Kxfl RAM I -'32 U/I Unije t" • - CTG » I nogućnoBti;do 8 eer. | aalHjdo 5? u/l,'A/D ,, ' '■■ ^kombinacijej adrese ^PROM RAM EPROM ( 16K*8 ) ( 10Kx8 ) program. podaci kontr. 8 •8 MATEMAT. PIO ' PROCESOR (9511,9512; dig. U/I. linije Slika 8 Prvi dodatni modul (osnovni modul prikazan Je crtkano ) 3S Osnovni Dl odu1 i prvi dodatni modul zajedno imaju velike sklopovske mogućnoati koje ae Iskorištavaju uplelvanjeraj odgovarajućih programa za određene primjene u EPROM ma-nioriju. Osnovne karakteristike cijelo konfiguracije au ( 32KXÖ memorijo (EPROM + RAM) koja se mo¥,o prilöKOrtavatl trenutnim potrebama (koraci po SKx8), brojilo/nja-rilo vremonokih impulsa, cnatoaiatl£ki procesor (algebnroko operacije i raaliÄite matematičke funkcije u nepoalSnom i pomiS-noij) aarezu te normalna i povečan« preciznost' , za potrebe gdje Ja programski mate -inablčki paket previSe opor, EPROM progra-inotor koji može programirati EPROM memorije P716/S733 bez dodatna intervencije korisnika (raoäe se koristiti kio memorija za trfijno pamćenje podataka). Uz odgovarajuću programsku podräku (monitor, aaeinbler, editor, linker i dr.) koja Ja flmJeStena u EPROM memoriji, ova konfiguracija postaje sistem za raavoj drugih mi-kroraäunarskih modula ili (uz promjenu pro-graitia) sistem konkretne namjene. Preko vanJakih Jedinica te uz pomoć programske podriikä ostvaruj0 se veza sa drugim mikro-raéunaliraa, tvoreći tako bazu zs razvoj raspodijeljenih, ulkroračunarških sistema za upravljanje proci-.-eitna. IV. Mikroraćunaraka konfiguracija realizirana a 3 modula ("osnovni modul" "prvi dodatni modul" plus "drugi dofiatni modul" realizirani na 3 pločice dvostrukog EVRO formata) Drugi dodatni modul prikazan Je na si.9. Svojatva drugog dodatnog modula; - 32K X a dinamičke RAM memorije (s pro-mijenjivim adresnim područjem) - 1 (S) CTG Jedinice a ^ (S) kanala - SIO Jedinica s 2 serijska kanala (programsko rJeSavenJe razlifiltlh protokola) - PIO Jodinion aa 16 U/I linija. Uz osnovni modul mogu se koristiti dodatni moduli u bilo kojoj konfiguraciji (osnovni plus prvi, osnovni plus drugi, osnovni pluo prvi plus drugi). Svojstva olkroraSunnrska konfiguracije sa sva 3 modula spadaju u gornju klasu svojstava današnjih a-bitnlh mikroračunala (Slika 10), Osnovna svojstva mikroračunarske konfiguracije 8 3 modula sui . - mikroprocesor Ä80 (ZBOA) - B'fKxB memorija (različite mogućnosti kombiniranja IÌAM/EPROM ) - 3x CTC (12 kanala za realno vrijeme) - SIC ( 2 kanala serijske komunikacije (plua 8 kanala preko PIO Jedinice) - 3 (f) PIO (t8(64) U/I linije) - matematički procesor (9511/9512) - A/D, D/A pretvorba - EPROM programator (12716/2732) - priklj, kaaetne jedinice - priklj. za linijski StarapaS - kalkulatoraka tastatura i ?-8egm.pokoz-nik. 8 ovom konfiguracijom rječiavaju se vrlo složan! problemi upravljanja. Memori J ski prostor dozvoljava korištenje viSih prog-ramaklh jezika u kombinaciji a asemblerom na vremenski kritičnim odaječciraa. , OBWOVHI I MODUl I PRVT DODAl-NI MODUL ---L---J din. RAM (do 32Kx6) 1 1 (2) CTO ktintila t(8) kfiinala ijdrese ~| [ podaci ) [" nr -rniiL irif^^ TI C> STO 'fPTO) Ber.kom. uvjotno Slika 9 Drugi dodatni modul ( oanovni luodul i prvi iazi "REBUS, A Pault-TolleiJant Distributed System for Industrial Real-Time Control" IEEE ütanBactiona on:.Conputera, Vol . c-5i,No.7, July igaa.cesr-s^t?) 2, - ! Memory Data Book and Designerà Guide, Mostek, 1979. 3, - I Kicroeotnputor Componente Data Book, MoBtek, ■ it. - I Data Catalog 1961, Intel Corp., 1981. 5, '- t Z8O-GFU,PI0,CTC,SI0 Technical Manuale, Zllog, 1978. 6, B.Blatnik 1 ostalii »MikroraSunaraki ai atea DEI/DA 52?/«" Informatica 1/1982» (^t-ga) 7, - J AmZßooo Taroily Data Book, Advanced MicroDevicaa, 1900. 6. H.%agart "Primjena mikroprooeaorakih komponenata Z8o u proizvodnji rafiunaraka opreme". Informatica 5/1978.(35-^2) 9. M.Žagar I "Primjena EPBOM memorija u prikupljanju 1 obradi podataka dobivenih le procesa' Informatica l/l98o, ('tS-'te) algol 60 za sistem cp/m i A. P. 2ELEZNIKAR UPK: 681.06 ALG0L60:519.682 ISKRA DELTA, LJUBLJANA ČLANEK OPISUJE JEZIK ALGOL 50 ZA OPERACIJSKI SISTEM CP/H. TA JEZIK JE ZANIMIV ZARADI VELIKE KOLIČINE OBSTOJEČIH ALGOLSKIH PROGRAMOV PA TUt DI ZARADI -MOŽNOSTI POUČEVANJA PROGRAMIRANJA V VISOKIH PROGRAMIRNIH JEZIKIH - STRUKTURIRANEGA IN NESTRUKTURI RANEGA. lA ČLANEK PRINASA V SVOJEM PRVEM DELU OPIS OMEJITEV IN RAZSiRITEV JEZIKA RHL ALGOL GLEDE NA ALG0L-6U IN KRATEK PRIROČNIK JEZIKA RHL ALGOL. V PRIROČNIKU SO OPISANE KLJUČNE BESEDE IN IMENA/ PREDDEKLARI RANA IMENA, ZGRADBA AU" GOLSKEGA. PROGRAMA, BLOKI IN DEKLARACIJE, PROGRAMSKA OBLIKA, PODATKOV^ NI TIPI, IMENA, SIMBOI--I, POLJA, ENOSTAVNI IZRAZI, NIZI IN ZMAKO LITERALI, PRIREDITVENI STAVKI, POGOJNI IZRAZI, POGOJNI STAVKI,_ STAVKI, PRAZNI STAVKI, KOMENTARJI, OZNAČITVE, RAZDELILNIKI IN GC STAVKI, OZNAČITVENI IZRAZI, PROCEDURE, PROCEDURE S PARAMETRI, ŠTEVILSKI iN BOOLOVSKI PARAMETRI PRI KLICU Z VREDNOSTJO, KLIC SPREMENLJIVKE Z IMENOM (Z NAVEDBO), NIZNI IN RAZDELILNISKI PROCEDURNI PARAMETRI, OZNAČITVE IN PROCEDURE KOT PARAMETRI TER POVZETEK PROCEDURNIH ZNAČILNOSTI. V DRUGEM DELU BODO pPISANE.ŠE VHODNE/IZHODNE PROCEDURE IN DRUGE ZNAČILNOSTI JEZIKA RPIL ALGOL. Na KONCU ČLANKA JE DODANA SINTAKSA JEZIKA RML Algol, njegove vhodne/izhodne procedure in nekateri PROGRAMIRNI PRIMERI, A CP/M System Algol 60 Language I This . article deals with an Algol 60. Language for CP/M Operating System, Algol 60 is being relevant because of a substantial quantity of existing Algol programs and because of the possibility to teach programming - structured and unstructured one - in high level program-' MING languages, In THE FJfjST.PART, THIS ARTICLE DESCRIBES LIMITATIONS AND EXTENSIONS OF THE RML .AlGOL CONSIDERING ALGOL 60 STANDARD AND GIVES A SHORT GUIDE HOW TO USE RHL AlGOL. ThE FOLLOWING IS PRESENTED: KEYWORDS AND IDENTIFIERS, PRE-DECLARED IDENTIFIERS, THE STRUCTURE OF AN Algol program, blocks and declarations, program layout and style-, DATA TYPES, IDENTIFIERS AND SYMBOLS, ARRAYS, SIMPLE- EXPRESSIONS, NT STATEMENTS, CONDITIONAL .„STATEMENTS, DUMMY STATE-^ 0 STATEMENTS, DESIGNATIONAL STRINGS AND" CHARACTER LITERALS, ASSIS EXPRESSIONS, CONDITIONAL STATEMENTS, MENTS, COMMENTS, LABELS, SWITCHES AND EXPRESSIONS, PROCEDURES/ PROCEDURES WITH PARAMETERS, NUMERICAL AND Boolean parameters by value, variables called by name (reference), STRING AND SWITCH PROCEDURE PARAMETERS, LABELS AND PROCEDURES AS PA" U Syntax, its input/output procedures and some programming examples are listed. 1. Uvod Jezik Algol 60 je nastajal v 60-ih letih v po-.-sebnem odboru IFIP {(i))ì tuđi opisana različica Algola (sintaksa) bo izhajala iz porobila ({!)), temeljila pa bo tudi na priročniku jezika Algol 60 za sistem CP/M s procesorjem ZBO podjetja Research Machines, P.O.Box 75, Chapel Street, Oxford, England (0865) 49792 {(6))f ta jezik borno imenovali HML Algol. Razlika med jezikoina Algol 60' in HML Algol bo minimalna in • slednji bo tudi razširitev jezika Algol 60 - z natanfino opredelitvijo V/I procedur. V 60-ih letih je časopis Communications of the ACM objavljal najrazličnejše algoritme, zapisane v obliki algolaklh procedur, -ki so pokrivali Široko področje matematičnih in -tehniäklh funkcij. Ti algoritirii so bili vselej utemeljeni z določenimi matematičnimi raziskavami in v veliki meri optimizirani. Povzetki in. izboljSave teh algolskih algoritmov so bili objavljeni v posebnih publikacijah ((2, 3, 4))f več teh algoritmov bomo prikazali v jeziku RML Algol in jih preizkusilif objavljali jih bomo tudi v rubriki Uporabni programi časopisa Informatica. 42 BEQIN INTEGER ln,out,c| comment this proflratn convertb froin the upper/lower case convention to the upper case in quotes convent ioni PROCEDURE sstoCa)) Vfìt-UE at INTEGER a( ioc<3n ( INTEGER PROCEDURE BWllBti PROCEDURE BEQIN ci-chinUn>r IF c(0 OR THEN QOTO fin ENS ) 'BEQIN* MNTEGER* IN,OUT,C| 'COMMENT' THIS PROGRAM CCB4VERTB FROM THE UPPER/LOWER CPSE CONVENTION TO THE UPPER CAGE IN QUOTES CONVENTION! 1 PROCEDURE' SETO(n)| wpilue' fì| 'INTEGER* At 1DC(31> | 'INTEGER' «PROCEDURE» SUL I BT| iac(39)| 'PROCEDURE* GETCi =97 AND c(-l£2 THEN chout(out,c-3£t Ei-SE chout (out, c) I 'PROCEDURE* UOUT) 'IF' C)-97 'fiND' C(-I2a 'THEN' CHOUTiOUT,C-3a> 'ELBE' CHDUT(DUT,C)J al I loops a£i a3i fini END FINISH eeto(BMli6t+13) I text(10,"ßLG">I icic(2) I ins'sinput ; IF in=Sfl AND c<«*Z THEN BEGIN chout(out,&'1 j uout| getcj IF c)=4ft AND c<=»SZ -THEN BEGIN uoutt GOTO a3 END I chout(out,S'); uoutI GOTO loopi END ELBE uoutI GOTO loop! chout(out,I cloee(out>| cloBQiin)t GOTO al LOOP» • BET0(BWLIST+13)I TEXT(10,"ftLĐ"J) ^DEFAULT EXTENSION} All lOC(S); INi=INPUT| 'IF* IN(1 'THEN' 'GOTO' PI| OUT I«OUTPUT I 'IF* OUT(I 'THEN' •BEGIN' CLOSE(IN)) 'GOTO' Alt 'END' ( GETCi •IF" C=S" 'THEN' 'BEGIN* UOUT) GETCi UOUTi ♦IF' C=«»» 'THEN* 'BEGIN' BETCt UOUT| "END' 'EllBE' 'IF' C=S" 'THEN' 'GOTO' LOOP) 'GOTO' fl£f 'END' 'ELBE' 'IF' C=»*C 'THEN' 'BEGIN' UOUT) 'GOTO' LOOP 'END' 'ELBE' 'IF' C=lt& 'THEN' 'BEGIN' UDUT) GETC) UDUT| 'IF' C=&«» 'OR' CK»»'" 'THEN' 'BEGIN' GETC) UOUT 'END'' i 'GOTO' LOOP» 'END' 'ELSE' •IF' C)=ifi 'PND* Ci^'iZ 'THEN' 'BEG IN' CHOUT(OUT,« » I| UOUT) ft3l GETCi 'IF' C)=Sfl 'AND' C(=12 'THEN' •BEGIN' UOUTi 'GOTO' fl3 'END' t CHDUTIOUT,»')) UOUTI 'GOTO' LOOPI 'END' 'ELBE' UOUT) •GOTO" LOOP) FINi CHDUTIOUT, i-Z)) CLOSE(OUT)) CLQBEdNl) 'GOTO' fil 'END' 'FINISH' Lista 1, Ja u^a prikazuje program za pretvorbo iz načina 2 (zapis al(;olsk£Ga programa z velikimi ^n maumt ČRKAMI) v MACIN (ZAPIS ALGOLSKEGA programa 2 VELUtMI CRKAMt), V SiLGOLSKEGA PROGRAMA 2 VELIKIMI CRKAMt). V LPCU IN V NAČINU 1 V DESNEM, V NAČINU 1 SO VA, 12 LISTE JE RAZVIDNO, DA JE NAČIN 2 načinu 2 je ta program zapisan v levem stolpcu rezervirane besede zaprte v enojna narekovaja, ____________________ „„ „„ _______ _ branje) in zato ga bomo v tem članku uporablja" wi.'r^c ^ ■} cmn"' stolpec) je bil predviden za uporabo teleprinterja, ki jma samo 1 j^^^v'^'-sl ^ 2 je prikazan inverzni algoritem, KI prepile m^a mni/ algoritma sta tako lahko bistvena pripomočka pri pretvorbi tej listi kaže tudi nekatere značilnosti pisanja .^IN stlt) programov v.jeziku Algol 60 in tudi nekatere posebnosti jezika Ì. programu se chout itd.). tm tej listi kaže tudi nekatere značilnosl flirn, progh'^mov v je7|ku Algol 60 in tudi nekatere posebnosti Algol (npr. S** predstavlja ASCII znak ^ , glej tekst članka). 9 tem f pojavljajo tudi V/I procedure, značilne za fi^lL AlGOI (getc, text V tem prispevku opisane aIgo1ske.programe bomo izvajali na operacijskem sistemu CP/M (računalniški sistem Partner proizvajalca Iskra Delta). Rezultate bomo večkrat primerjali- s podatki- v niatematl6nih tabelah ali pa jih bomo Izračunavali s svinčnikom na papifju. Po potrebi bomo lahko prikazane algolske algoritme prepisali v druge programifne jezike (npr, v Pascal, PL/I, ftdo, Basic itd.)j v.tem bo zajeta tudi äiräa koristnost obravnavanih programov. Seveda- pa za nas pomembne problematike jezika Algol 60 ne bo moč opisati v enem samem članku. Jezik Algol 60 je postal osnova za kasnejše programirne jezike, zlasti- za nastanek jezika Pascal in Ada. Pascal je v bistvu omejil neka--tere. zamisli Algola (bloke) in dodal nove, s poudarkom na' možnostih-strukturiranega programiranja. Vendar je tudi v Algolu moč strukturirano programirati <(5)), potrebna pa je vläja stopnja-znanja kot za programiranje v Pascalu. RMr, Algol je Algol 60 za male računalnlSite si--ateme in je bil več let preizkušan na računalnikih PDP8 in PDPll. Sistem je sestavljen iz dveh delovs Iz enoprehodnega prevajalnika za procesor Z80 in iz izvajalnega programa. Prevajalnik prevede ' izvirni algolski , program v strojno neodvisen vmesni je^ik, ki določa zaporedje subrutin in vsebuje subrutinske argumente. Vmesni jezik je zelo zgoSčen in le 10 zlogov je v povprečju potrebnih za predstavitev algolskega stavka. Izvajalni program ima nala-galnik za prevajalniškl Izhod in druge rutine za izvajanje prevedenega algolskega programa. Prevajalnik In Izvajalni program zasedata le 12k zlogov (izvajata se v različnih časihr prevajalnem, in izvajalnem). Za prevajanje zadostuje že ^Ik zlogov pomnilnika,- za izvajanje pa 16k zlogov. Algolski programi, ki so bili razviti na sistemu RML Algol, se lahko uporabijo tudi ha sistemili s procesorjem PDPll. 2. Sploäne opombe o jeziku RML Algol RML Algol Ima glede -na Algol 60 nekatere omejitve In razširitve. Omejitve so pretežno posledica enoprehodnega prevajalnika. Vse spremenljivke morajo biti deklarirana pred àvojo uporabo. Razširitve obsegajo uvedbo podatkovnega tipa BYTE AKRAY, logične operatorje, operator MOD in vrsto vhodnih/lžhodnih funkcij. Omejitve so.natanko tele: - OWN spremenljivke niao implementirane ■ - večkratne prireditve niso dovoljene, .- celoštevllske označitve ne obstajajo - spremenljivke morajo biti-deklarirane pred uporabo - klic a imerioiii je omejen In dejanski parameter jo linc! spremenljivke (kot pri pozivu z navedbo v Fortr.anu) - parametri polja se. mora jo klicati z iiirt-riom - algolska "krepka" vejica ni implatiien-tlrana - večkrat so potrebna navodila za indikacijo tipov pri procedurnlh parametrih in potjon-nlh stavkih t-- v J - le pi.-vlh Sest znakov v lijienlh je bistvenih Razširitve glede na Algol 60 pa so telet - uveden je podatkovni tip uyte; AHUAY - - uvedeni ao operatorji HOD, 1, MASK - komentarji se lahko zaprejo v zavite oklepaje ( f , j ) - procedurna imena so-lahko rezultat ozriači-tverilh izrazov - dodatne funkcije vsebujejo obdelavo nizov, neposredni diskovni . v/I, bločni pomik. brisanje polj, grafiko Itd. (glej Dodatek 2) - Sintaksa jezika RML Àlgol je opisana v Dodatku 1. Slovstvo, ki obravnava programiranje v jeziku Algol 60, je zbrano na koncu članka ((7 -lU). 3. Kratek priročnik jezika RML Algol 3.1. Ključne besede In imena . Algol zahteva razločevanje ključnih beaed in 1-raen. Prevajalnik za RML Algol loči avtomatično dva načinaj Način I. Algolski program je zapisan samo z velikimi črkami: vse ključne besede morajo biti V; tem načinu zapisane med enojnima narekovajema. Tako imamo npr.: 'BEGIN ■ 'END ' 'FOR ' 'STEP' 'UNTIL' 'DO' V list! 1 imamo algolski program UCASE.ALG, kl prevede izvirno zbirko, zapisano v načinu .2 (velike in male črke) v način 1 (vse črke so velike). V tej listi-je na levi strani prikazan program UCASE.ALG, izpisan z velikimi in malimi črkami, na desni strani pa prevod zbirke UCASE.ALG s tem istim programom v program,, ki je zapisan z velikimi črkami in ključnimi besedami v narekovajih. Način 2. Algolski program je zapisan z • malimi-in. velikimi črkami; vse ključne besede morajo biti zapisane z velikimi Črkami, imena pa z malimi. Tako imamo npr.: POR ime 1 STEP 2 UNTIL maks DO V listi 2 imamo algolski program LCASE.ALG, ki prevede izvirno zbirko, zapisano v. načinu 1 (velike črke) v način 2 (velike.in male črke).. Način 2 je priročnejgi in bolj pregleden. Prevajalnik predstavi notranje vsa imena z velikimi Črkami. Ključne besede morajo biti medsebojno ločene: torej THEN GOTO in ne THENGOTO. V načinu 1 se Število zapiše z velikim "E", torej kot l.23'lE-5, v načinu 2 pa kot l.234e-5, torej z malim "e"; notranje se'"e" vselej bere kot veliki "E". 3.2. Preddeklarlrana.Imena .Vrsta procedurnlh imen bo razpoznanlh brez deklariranja. Te bomo raznmel.l, kot da so deklarirana v bloku, k-i'obdaja program. Pri tem imamo vhodne/Izhodne rutino. Te rutine bodo npr. tudi ■ lop(n)> Preddeklarirane so tudi standardne funkcije aln, cos, arctan. In, exp, sqrt, abs, sign, entier, ki so opisane v Dodatku 2. 3.3. Zgradba algolskega programa Je-,:ik Algol je strukturiran. V oklepajih BEGIN In END 3Ò vklenjeni atavkl in od teh oklepajev je odvisen vrstni red Izvajanja. Sestavljen stavek ima deklaracije In blok in spložno velja za RML Alyoi. «liGlN Eil; Süf. ... f sn lilNIl FINIÜ1I •Stavki si; :32j ... ( .sn ao lahko -zopet sestav-; Ijeni stavki in bloki.- Konec programa je označen 8 iriNiüfi. - ULok, v katerem je ime dekltirirano, določa ob- SEBIN INTEGER in,Out,ct COMMENT thla program converts from tha upper case in quotes mode to tha upper/lower case convention; PROCEDURE setoUl) VALUE at INTEGER a|.ioc:(31)| INTEGER PROCEDURE BMUst| ioc(3g> i PROCEDURE Detc I BEGIN ci°chin(in>| IF c<0 OR ci"! THEN GOTO fin END I seto(BMliBt-fl3>i tent(10,"flLG")I ^default «Mtanaion} ioctS) I Inclnput f IF lnt»8 AND THEN chout (out,«*B) t BOTO «ai END ELSE IF c=ftfl AND c<»41 THEN chout (out, e> t IF c=i* THEN 6E0IN getc; chout(out,c>| IF c=4** DR c=S*'' THEN BEGIN gstci chout (out, O) END END ELBE IF THEN BEGIN getci chout(out,c)t IF c=t#» THEN BESIN getcj chout(out,c)( END ELSE ; IF c=tt" THEN GOTO loopi GOTO a4t END I GOTO loop I chout(out,( close(out)) close(in)t GOTO al| Lista 2, Program na tej listi pretvori zapis z velikimi črkami v zapis z malimi in velikimi Črkami, Tudi ta program je hkrati nazoren primerek zapisa programa v jeziku Algol, moćje (vidljivost) tega imena. liven bloka to Btnr« nJf?!"® PomniiriläJcega pro- prosto« v Algo-lu je dlnamiöno, skladno 2 izvajanjem programa. pomnilnika sf^Ä ^^^tfL^x^?®?^®''^?^ ^ deklaraciji polja i^raai). Enaka imena ae lahko uporab .jajo v razUenih blokih (tudi v vgne.^- 3.4. Bloki in deklaracije Spremenljivke morajo biti deklarirane v RML Al-golu pred svojo uporabo in prisotnost teh deklaracij povzroil, đa nastane Iz sestavljenega stavka blok. Vse deklaracije morajo biti zapisane "neposredno za BEGIN oziroma za naslednjo deklaracijo. Izjema ao le oznaöitve, kl se deklarirajo z Imanom In dvopičjem pred oznaSenim stavkom. Deklaracija enostavnih spremenljivk je npr. TYPE imel, Ime2, imeN I kjer je TYPE lahko INTEGER, REAL ali BOOLEAN. Spremenljivke se uporabljajo'v bloku, v katerem eo deklarirane (do zaklepaja END). Procedure in oznafiitve se lahko uporabijo pred svojimi deklaracijami, toda morajo biti v območju toSke uporabe. Spremeni j ivice in stikala morajo biti deklarirana pred svojo uporabo. Primer( BEQXM REAL x, pf INTEGER i, pi Bil e2f BEGIH REAL X, s3| ENO END Stavka 81 in a2 ne moreta navajati z, ker je ta izven območja} stavek-83 ne more navajati prvega X, ker bo veljal v tem območju drugi k (prednost pred prvim j() . Vendar s3 lahko navaja y in 1. Ime p je deklarirano dvakrat In tu se bo pojavila napaka v prevajalnem času. 3.5. Programska oblika Oblika algolekega programa je odvisna od programerja. Znaki 'nova vrstica', 'presledek' in 'tabuliranje' se upoštevajo le izjemoma, in sicer: - presledki so bistveni v nizih - ključne besede In dvoznakovni simboli ne smejo vsebovati zgoraj naätetih posebnih znakov; npr. BEGIN toda ne a := b) toda ne a <= b toda ne BE GIN a s = b) a< = b Drugih omejitev ni. Oblika algolskega programa naj bi jasno (vidno) prikazovala bločrio strukturo programa, s stolpno poravnanima oklepajema BEGIN In END za posamezen blok. Označitve naj bi vselej začele novo vrstico na levi strani programa. Stavki so ločeni s podpičji, fl ključnimi besedami in ne a znakom nove vrstice. Izrazi se lahko razprostirajo prek več vratlc. V vrstici Je lahko tudi več krajših stavkov. Imena naj E^nazarjajo pomen podatka, ki ga Iz-raitajo. V imenih ae lahko pojavljajo presledki, če to prispeva k Jasnostli prevajalnik jih ne upoSteva, Pogosto nastopajoče spremenljivke In poljski indeksi se navadno oznabuj-ejo z enočr-kovnlmi imeni, ko imamo npr.i end of file jf znak = 4^2» FOB l)=epodrìji STEP int UNTIL zgornji DO ... Komentarji naj se vključujejo na mestih, kjer Je pojasnjevanje programa priporočljivo. 3.6. Podatkovni tipi, imena, simboli Podatek v pomnilniku, ki ga Je moč manipulirati, je številski ali logičen (booloveki). številske vrednosti ao realne ali celoStevllske, Cela Števila nimajo ulomljenega dela in zaseda- I jo'po dva zlogaf realne vrednosti pa Imajo man-'tleo in eksponent in zasedajo štiri zloge. Al-golBkl sistem pretvarja Števila iz enega v drugi tip, ko je to potrebno. Aritmetični Izrazi SO' lahko mešane realne in celoštevilske vrednosti. Številski in logläni podatki,se lahko pojavljajo v programu kot vrednosti literalov. Celošte-vilski literal nima decimalne vejice In ekapo-r nentnega dela in njegove vrednosti so v intervalu (-32768, 32767), Realna Števila itnajo decimalno vejico ali decimalni eksponent, označen z 'E- ali J, '«' (odvisno od naSiria), ali obojej Primeri soi ■ poljih se najhitreje apreminja zadnji Imejmo npr. ■ ' •. indeks. 0.1 -2.345 1.2E3 25.7e-7 Realna Stovila uporabljajo cn zlog za eksponent in tri zloge za mantiso in au v pribliinjem intervalu (13-38, E+38) a 6 dO 7 decimalnimi Številkami , Logi&na litara la ata ključni besedi TRÜB FALSE. in RML algòlski program je sestavljen iz zaporedja simbolovi simboli so sestavljeni iz. znakov, U-reJ ovalne in poaebne oblikovalne znake prevajalnik no upošteva. Simboli ?e združujejo v enote, ki jih prevajalnik obravnava kot enote. Takšne enoto (skupine) so Številske konstante, kljuöno besede in imena. Samo prvi dve , črki ključne besedo sta bistveni. Imena določa programer za spremenljivke, označitve, stikala, polja in procedure, Dvoznakövni simboli v Algo-lu 80 prireditveni operator {i=), večje kot ali enako (>=) in manjšo kot ali enako (<=)■.■ Prvi znak imena mora biti črka, dolžina imena ni omejena, vendar se upošteva le prvih 6 znakov. Tako sta imuni abcl23 in .abcl.234 identični. Imena spremenijIvk in stikal, morajo biti deklarirana pred njihovo uporabo. Označitve in procedure se lahko uporabljajo pred deklariranjem, ker je tip Imena mogoče določiti iz programskega konteksta, 3.7. Polja Indeksirane spremeni jivke v Algolu so elementi polja In so liihko realne, , celoStevilake in ijoolovsko, Zlogovna spremenljivka (byte) je vselej Indeksirana. Polja "se deklarirajo na začetku bloka, in sicer v obliki ARRAY ime [alini] ) TU Sta ai aritmetična izraza, ki določata indeksne mojo, negativna in/aU pozitivna, . le zgornja meja ne sme biti ni ij a od spodnje. Realni ni se znokroii na najbližje celo Število. Pri več indeksih imamo npr. tole« rm'lìGKR ARRAY cp [ I ( 30, 11 ; ■....... bpt,bp2 " bp4,bp5 BOOLEAN ARRAV bpt,bp2 fI !n,U 3],bpJ [-115]( Eli2»n]) V pcjljih z deklariranimi apiomenljiviml mejami morajo imeti spremenljivke določene vcednostlj to naj bi bile deklarirane.v zunanjem bloku in njim prirejeno vrednosti. Pri, uporabi polj je lahko ,irltmetlčon izraz na mestu indeksa. Imamo tele moüne primere t cp[ l,4l .= 7, Cp titUl I" cp[cp[n,2j, Cp[n,mlj i cp rn,3] I-» IP bp2 r 3,1] AND bp3t tv] THEN cp [cp C 3*n, ll, IF bp3 [ 03 THEN 2 ELSE n] ELSE n| Kakšno je dodeljevanje pomnilnika poljem in preizkušanje poljskih mejV V večrazscinostnih a tm:n,p:q] Naslov f elementa a 1^1, j ] je dan z izrazom • r . O0nova+obBeg*((i-m)*(q-p+l)+(j-p)) kjer Je obseg 1, 2 ali 4 v odvisnosti od tipa polja (boolovsko, zlogovno, oeloStevilsko ali realno). V času izvajanja se .preizkusi izračunani naslov, ali leži v dodeljenih pom-nllniBkih mejah polja. Te meje niso neposredno povezane z deklariranimi mejami 1 Npr. element a [-1,151 je sprejemljiv za poi je, ki Je bilo deklarirano kot a|;0i9,0t9] . RML Algol uvaja kot novost tkim. BYT£ polja (zlogovna polja)'. Ta polja omogočajo ^učinkovito uporabo pomnilnika pri manipulaciji z nizi ali; z malimi celoStevilekiimi vrednostmi (O do 255), V izrazih' se elementi zlogovnih polj obravnavajo kot'cela Števila in se lahko uporabljajo v 'celoStevilskih kontekstih. V izrazu se tak element uporablja kot celoStevileka vrednost, ki ima oaem viSJih bitov enakih 0. Tako ,bo i i = b [ n 1 vselej pozitivno za i v vrednostnem (O, -255) , . Intervalu Prireditev k elementu zlogovn.ega polja zahteva .pretvorbo izraza nà desni.strani prireditvenega simbola v celo število in osem nižjih bitov se potem priredi, 8 viäjih bitov celega Števila pa se enostavno odreže. Tako dobimo pri b L iy 1= -ii i «= b i ll vrednost 255 za i. Prevajalnik ločuje celoSte-vilska in zlogovna polja samo v deklaracljahi v drugih kontekstih se oba tipa lahko medsebojno uporabljataj to velja tudi za dejanske parametre. Npr. I BEGIN INTEGER ARRAV 1 I 0!l00]| BVTE ARRAY b t O i 100 ]( PROCEDURE XX(a)J INTEGER ARRA* a) BEGIN eno) XJC (i) } xx(b) } , , . Je sprejemljivo. 3,6, Enostavni izrazi Izraz je tisti del programa, ki da rezultat! ta je tipa real, integer, boolean ali label. Realna operatorja sta potenciranje (znak * ) in realno deljenje (znak /). Aritmetični izrazi se izračunavajo z upoštevanjem operatorske prednosti od leve proti desni, če so prednosti enake. Oklepaji spreminjajo vratni red izračunavanja . izraza. Seznam aritmetičnih in logičnih operatorjev s pripadajočimi prednostmi (prioritetami) je talet ' . ; operator prednost pomen 3 potenciranje (najvišja prednost) * 2 množenje / 2 realno deljenje « 2 celoStevllsko deljenje MOD i celoStevllski modul + 1 seštevanje - 1 odštevamj e MASK 1 logični 'in' DIFFER 1 logični 'ekskluzivni ali ' 1 ■ 1 logični 'ali' (najniäja prednost) Operatorji MOD, MASK, DIFFER iti ! So dodani in jih V Rlgolu 60 ni. Operatorji %, MOD, MASK, DIFFER in i dajo celoštevilske rezultate. Rezultat celoätevilskega deljenja (%) je zaokrožen proti ničli. Rezultat celoštevilskega modula (MOD) je ostanek pri celoStevilskem deljenju in i MOD O vrne vselej vrednost nič. Operaciji i%0 in x/0 pomenita deljenje z ničlo, ki povzroči napako v fiasu izvajanja. Logični operatorji MASK, DIFFER in ! predpostavljajo dva celoätevilska, 16-bitna argumenta in velja npr. 3 15 =7 3 MASK 5 = 1 3 DIFFER 5=6 Izrazi lahko vsebujejo mešanico celoštevilskih in realnih količin, pretvorba med tipi se pojavi samodejno v kontekstu izraza. Npr.j BEGIN SEAL y^j INTEGER i, j( i := x*yf X ;= x»i} 1 (= i (»x-^if X s=ilj( ■y; so veljavne operacije, V pretvorbi Iz realnega v celoStevllsko se rezultat zaokroži na vrednost najbližjega celega Števila. Boolovaki izrazi so sestavljeni iz boolovsklh spremenljivk, iz llteralov TRUE in FALSE, arit-metlbnlh relacij, boolovskJ.h procedur In boolovsklh operatorjev. Ti operatorji so v zaporedju padajoče prednosti tile: NO'1' AND oh implies equivalent NOT bi ima vrednost FALSE, Če ima b vrednost TRUE in obratno b AND c; Ima vrednost TRUE, Če sta b in C TRUE, sicer vrednost PAI,SE b OR Ci ima vrednost TRUE, če je b ali C ali oba TRUE, sicer vrednost FALSE b implies C! lina vrednost falsk, öe je b true in c false, sicer vrednost true b EQUIVALIäNT Ci Ima vrednost; TRUE, če imata b in c enako pravilnoatno vrednost, alcer vrednost FALSt; Relacijski operatorji so tiles enako > večja kot > večje kot ali enako < manj Se kot < = manjše kot alJ enako » neenako Relacijski operatorji so diadnl. Pazljivost je potrebna pri uporabi operatorjev = in Ur i Će ata operanda tipa REAL. Tu imamo primerjavo bitov in operanda morata imeti enaka bitna vzorca. Zato je večkrat smotrnejSa primerjava na majhno absolutno razliko. Npr, IF X = y THEN ... zamenjamo z IF abe0 OR ba2) X * 0 THtiN a "a ELSE Of vol := IF a>b THEN a ELSE b} maka := IP a >-b ANU a >=c TUKIN a tlLSE IF b>=a AND b>=c THt^N b ELSL; cj a := -IF IF x> 0 TMIiN y>0 ELSE y < 5Ü THEN ELSE Of 3.12. Pogojni stavki Pogojni stavki imajo enako obliko kot [>ogojnl izrazi, vendar ni potrebno, tla imajo ELSE del. Očitno imamo dve obliki pogojnih stavkov: If bi THEN ali . TF bi THEN si ELSE {i2} Stavek si ne sme biti pogojen/ stavek b2 je pa lahko. V prvem primeru ne dobimo stavka, Še je bi nepravilen (rezu Itat FALSE). Ker je b2 lahko pogojen, moremo drugo obliko neomejeno razširiti: IF bil THEN al ELSE IF bi2 THEN b2 ELSE 63) Primeri pogojnih stavkov so: ip a> o then vsota= vsota+aj ' IF znak » i-^Z THEN close (dev) i IF vzorec maks THEM maks t« vzorec ELSE IF vzorecb AND c>d THEN BEGIN . . , END ELSE BEGIN . . .END, 3,13. FOR atavki FOR stavek omogoča ponovljeno Izvajanje stavka z različnimi vrednostmi spremenljivke, ki je znana kot krmiljena spremenljivka. Splošna oblika POR stavka je FOB spr efl,efl. efl DO si Stavek si je lahko pogojen. Krmiljena spremenljivka mota biti tipa REAL ali INTEGER, né sme pa biti indeksirana, (Standardni Algol 60 dovoljuje tudi indeksirano spremenljivko.) efl pomeni "element FOR liste". Lista z enim samim elementom je dovoljena. Imamo tri vrste elementov liste, in sicer - aritmetičen izraz - STEP element in - WHILE element STEP element ima obliko al STEP ai2 UNTIL ai3 Po vsaki Izvršitvi krmiljenega stavka se vrednost ai2 prišteje k spremenljivki. Pred vsako izvršitvijo stavka si (glej definicijo POR stavka) se spremenljivka preizkusi na vrednost izraza al3. Vrednosti izrazov ai2 in al3 se med izvajanjem stavka si lahko spreminjata, zato moramo izrazoma pred njuno uporabo Izračunati vrednost. WHILE element ima obliko al WHILE bi Pri vsaki ponovitvi se izraz al izračuna in njegova vrednost se priredi spremenljivki. Potem se Izračuna boolovski Izraz bi in če je njegova vrednost TKUE, se stavek izvrši, sicer je element Izčrpan. Primeri FOR stavkov pa so tile: POR i:=iiiln STEP .1 UNTIL maks DO vsota := vsota + s £ i], Für ii=l STEP i UNTIL 1024 DO <,. FOH iii=l, 3, 99, j, -6, U DO ... FOH x: = l, x*2 while: x< 1025 DO , . , FOH li»lOO STEP -V UNTIL -JOO DO .,, FOR X1=0.1, 1, x*5 WHILE 20 STEP -5 UNTIL O DO ,,, FOR zanke so lahko vgnczdene poljubno globoko. Na primer for li=l STIOP 1 UNTIL makS DO FÜR j:=i STEP 1 UNTIL i DO a i= a + b [ 1, j Matrično množenje pa je lahko toJe: FOR li = l STKP 1 UNTIL in 150 FOB STEP 1 UNTIL n DO BEGIH Xi=0 POH ki=l STEP I until p do x:=x+a ti,k] ctl.il xt ENU) Toio FOR zanke jo lahko prazen atavek, ko ćakamo na znak CHi FOR 1 := chi.n(dev) WHILE l<||r*C DO) Tudi zanfina spremenljivka je lahko prazna: fOR i 1=0 WHILE teat DO telO( Tu jo telo procedura all blok, kl določa vrednost boolovske sprennenljivke test ali pa je test boolovHka procedura. V primeru FÜR i:=telol WHILE test DO telo2j je telol lahko celoätevllska all realna proce-tìura In tclo2 procedura ali blok) možnosti za zgraditev zanko so torej v Alyolu 6Ü zares raznovrstne. Für s:anka ni enostaven sravek In je ni mogoče poklicati v TUEN delu pogojnecja stavka brej; uporabe oklepajev BEGIN in END; lahko pa se pokliče v ELSE delu brez teh oklepajev. 3.14. Prazni stavki Prazen stavek ae pojavlja tedaj, ko se ničesar ne pojavi pred ključnima besedama END ali ELSE ali pred znakom 'jPrimeri praznih stavkov sot BEGIN BND IF bi THEN) i ) ßliüIN si) END IF bi THEN ELSE} PROCEDURE praznoj ) 3.15. Komentarji HML Algol dovoljuje tri vrste komentarjev. Poljubni aliiiboll, ki se pojavljajo za END do prve pojavitve podpičja, END, ELBE ali FINISH, se smatrajo kot koiiientar in se ne upoštevajo. To ao tkim. END komentarji. Imamo END To se ^le upošteva; END To se tudi ne upošteva END END To tudi ne ELSE END To prav tako ne FINISH Druga oblika komentarja je COMMENT poljubcin ni a brez podpičja) Ta oblika je dovojjona za podpičjem ali za besedo HEGIN. Enojni narekovaji sa laliko v komentarju uporabljajo le paroma. Tretja oblika komentarja je tekat v zavitih ok-3epajih in ti se smejo v komentarju uporabljati Sc paroma. Npr. ( l;o je komentar , ki ae ne upošteva'^ Standardni Algol ' 60 dopuSČa Se komentarje v procedurnlh pozivih in deklaracijah, 3.16. O/naČitvo. razdeli lin U in C.OTO stavki Vsak stavek je lahko označen z Imenom in dvopičjem. Območje veljavnosti (vidljivosti) označitve je blok, v katerem se označitev pojavlja. Programsko Izvajanje se prenese na oznaöenl stavek z GOTO stavkom. Primeri BEGIN REAL X) sl| 82) GOTO oznj a3j ozn: s4 END) Ni pa dovoljen primer, ko oznaöltev ni v območju veljavnosti; GOTO oanj BEGIN REAL X) al) s2) ozn: s3} END) Označitev v zunanjem bloku je dosegljiva iz notranjega bloka, npr.i BEGIN REAL qj oznt si) a2ì BEGIN REAL y) a3f GOTO oznj END END Poudariti velja, da sestavljen stavek ne postane blok, če se v nJem pojavljajo označeni stavki (blok mora imeti neprazen dekJ araci Jaki del). Označitve v različnih sestavljenih stavkih Istega bloka motajo imeti različna imena. Razdelilnik (stikalo, pretlkal-o) je seznam (lista) označitev na začetku bloka. Vse označitve morajo biti v območju (v deklaraciji). Primer: SWITCH s := oznl, ozn2, ozn3) Enostavna uporaba razdelilnika se doseže i GOTO stavkom: GOTO s [ al]) Aritmetični izraz al so izračuna In ae upoirabi kot indeks za listo označitev v dtiklaraclj 1. ima ai vrednost 2, je učinek tega stavek GtmJ ozn2. Če al preseže vrednost indekaov, se ta GOTO stavek vzame kot prazen stavek. Primei BEGIN SWITCH St := pri, pr2, prS) posKusl: textd, "primer stav-")) GOTO st [ chln(n-sO ]f tejitd, " »Nnevel javna vrednost")) GOTO poskusi; pri J ............... pr2i ................ pr3: ............... 3.17. Označitveni Izrazi Označitveni izrazi so podobni aritmfjtičnlm Jn boolovsklm izrazoni. Viednoati označitvenih Izrazov. ao označitve ali razdel11 nIški elementi. Polna definicija Gcm stavka jo • . GiWO Ol) kjer je oi označitveni Izraz. Primer: GOTO IF X - O TlitN OZ nI ELKE IF b TIHiN ü [ 1 + 3 Ei.SE ozn2 Vrednost oznjčitvenega Izrazu je latiko tudi naslov proceduro, kot bo opisano v odstavku o proceduinih j.iararn;trih,' Ta primer pomeni razèl-ritev jezika Algol CO, v katerem so označitveni Izrazi dovoljeni samo za označitve. 3,18, Procedure Procedura je tiekiaracl jski stavek na začetku bloki), ki Pel so pri vstopu v blok ne Izvaja. Procedili a Imn avo je ime in z imenom ae pokliče v izvajanje. Enostavna procedura nima parametrov in jie da rezultatu (eksplicitno). Npr.: begin procedure storitev; s} alf s2i storitev; s3; storitev end Tu je e stavek, ki se izviräl, ko se 'storitev' kot klic pojavi v programu. 'a' je telo procedure 'storitev', ki se obravnava kot blok (procedure so bloki) , čeprav je telo. enostaven stavek {vobče je telo sestavljen stavek). Bločna struktura procedure äölti telo pred vstopom vanj z GOTO atavkom, ko telo ni aktivno. Procedura .lahko da rezultat tipa REAL, INTEGER .ali BOOLEAN, Takäna procedura je znana kot 'funkcija ali tipska procedura in njeno ime še lahko uporablja v izrazih. V telesu te procedure se vrnjena vrednost priredi imenu procedure. : Izvajanje procedure ee konCa na njenem koncu ali s skokom GOTO iz nje. Procedura je lahko rekurzivna, Se kliSe sama sebe oziroma fie se njeno ime pojavi na desni strani prlredltyena'ga .stavka v njenem telesu. Imejmo tale primeri begin integer ij integer procedure jj if t < o then goto Slabo else if i = 1 then j i= o else begin i.!= i-lj . j j+i end procedure j j . i := 10; i := j; , .alaboi end finish Procedura j navaja spremenljivko i-, ki je deklarirana v glavnem programu, v istem .bloku kot procedura j. Deklaracija za i se more pojaviti, sicer bi. prevajalnik predpostavljal, da je i Že nedeklarlrana boolovska (vrstici 3 In 4) ali celoštevilska (vrstica 6) procedura. Vrstica 5 bi bila napačna, ker bi moralo biti ime i levo pd simbola ;= že deklarirano. Vselej mora obstajati pogoj, ki povaroCl, da rekurzlvna procedura izraSuna rezultat ali izstopi brez re-kurzije (kot npr. v vrsticah 3 In 4). Ce procedura ne bi bila tako zgrajena ali če se.i ne bi zmanjševal v vrstici 5, bi procedura klicala aama sebe, dokler ne bi izCrpala' ]^mnilnega prostora. Označitev 'slabo' označuje prazen stavek. Telo procedure ni zaprto v oklepaja BEGIN in END, ker je telo pogojni stavek. 3.19. Procedure s parametri Delovanje procedure je lahko odvisno od vrednosti, ki jih imajo njeni parametri v trenutku njenega poziva. Procedurna deklaracija ima listo formalnih parametrov, ki so imena, uporabljena v procedurnem telesu. Tip formalnega pa-.rametra je določen s specifiUacljo, ki je podobna množici deklaracij za neindeksirane spremenljivke. Lista formalnih parametrov je zaprta v okrogle oklepaje in se nahaja tik za proce-durnim imenom. Imena so ločena z •.vejicami. Imejmo npr.i. ■ REAL PROCEDURE p(x,y,a,r,ozn); value y; REAL x,y; HEAL ARRAV a ; REAL PROCEDURE r; LABEL ozn; V standardnem Algolu 60 je dovoljen bolj zapleten tip parameterskega separatorja. 3.20. Številski in boolovski parametri __pri klicu a vrednostjo Parametri pri klicu procedure z vrednostjo so najenostavnejši. Pri klicu procedure se dejanski parametri izračunajo in vrednosti se posredujejo proceduri. Parameter procedure, klicane z vrednostjo,, se obnaša kot spremenljivka, ki je bila deklarirana v proceduri; izjema je le začetna vrednost, ki se tej spremenljivki priredi ob vstopu v procedurno telo. Spremenljivka se med Izvajanjem procedure vobče spreminja, toda njena nova vrednost je dostopna šele ob izstopu iz procedure. Imejmo tale primer: PROCEDUflE p(i,X,b)j VALUE x,b,i| . REAL x; BOOLGAN b; INTEGER i; BEGIN li" b THEN a:=X+l ELSE ajE-x-i) xi=2*af a;=x+iJ END • . Tu je a spremenljivka, definirana Izven procedure, VALUE specifikacija ae mora pojaviti pred deklaracijo tipov. BML Algol pretvarja vrednosti med tipoma REAL in INTEGER, če ae dejanski in formalni parametri tlpB)(o ne ujemajo. Druge tlpslce pretvorbe ne nastopajo. MoSen kllo gornje procedura Ja p(1.23, 4,5*y, TRUE AND Z > 0)| kjer ata x in z Stèvilskl spremenljivki, Pomembno Je TRUE pred relacijo z > O, ker sicer prevajalnik. ne bi Imel podatka, đa prevaja boolovski Izraz, Vsi dejanski boolovski parametri mo-j rajo začeti z boolovaklm imenom ali z enim izmed simbolov NOT, TRUE ali FALSE, Podobno mora biti že deklarirano ime, ki je prvi del dejanskega parametra, tako da prevajalnik, lahko sklepa o tipu izraza. Ni potrebno, da je dejanski parameter zaprt v oklepaje (to so posebnosti RML Algola). ■ .' 3.21. Klic spremenljivke z imenom Procedurni parameter, ki ni bil specificiran z VALUE, sé pokliče z imenòin. V tem primeru se proceduri ne posreduje vrednost temveč naslov vrednosti (to je dejansko klic z navedbo), De-, janskl parameter mora imeti natanko tip formalne spremenljivke. Vrednost spremenljivke se tu vselej spremeni tudi na zunanjem naslovu In ne samo na lokalnem'naslovu v proceduri. .Spremenljivke, klicane z Imenom, se ne obnaSajo več lokalno. V RML Algolu se poljski parametri morajo kllca-' ti z imenom (navedbo). Dejanski parameter je ime polja brez indeksov. V procedurnem telesu se formalno ime polja uporablja z indeksi, število indeksov mora biti enako Številu indeksov v izvirni deklaraciji. EIML prevajalnik dopušča izmenično uporabo zlogovnih (BVTE ARRAY) in ce-' loštevilskih polj v procedurnih pozivih. Imensko klicani objekti se lahko posredujejo med procedurami ž uporabo liste parametrov. Uporabljajo se lahko neindeksirane spremenljivke, klicane z imenom kot krmiljene spremenljivke v FOR stavkih. Imejmo tale.primer! BEGIN ARRAY polje [1:20]! REAL Ki INTläGEB i; . REAL PROCEDUftIi; rpf i:p':= i2 + 2; PROCiiDORlS p(a,k,z) i VALUE a; RliAL a; INTEGI3H k} . ARRAY Z( FOR k: =1,2 DO z [. k 1 != .rp*a) COMMENT glavnj program; polje I i l 1= i 2; • p(polje t l],i,polJe)J END ... FINISH Ko se pokliče procedura p, je bila vrednost parametra a Iniciallzirana na 12 In k v proceduri p se je nastavil na 1 (.na vrednost dejanskega parametra) v glavnem programu. Ko ae pokliče rp prvič, Ima 1 vrednost 1 in rezultat, ki se priredi rp, je 3.0. Spremenljivki zCll se priredi vrednost 3.0*12.0 In polje t 1] postane 36.0. V naslednjem ciklu je 1 enako 2, rp je 6.0, toda a Ima Se vedno vrednost 12.0 In polje C 2] postane 72.0. ' 3.22. Parametri nlznlh In razdelllnlSklh __procedur__ Kadar je formalni parajneter niz, je dejanski parameter lahko niz znakov međ dvojnima narekovajema ali ime niza. Uporaba razdelllnläkih (stikalnih) parametrov pa je tale) dejanski parameter je ime razdelilnika, fie se to ime uporablja v procedurnam telesu (z Indeksom), Je uälnek enak onemu pri u-porabl v bloku, v katerem je bil razdelilnik deklariran, 3.23, Označitve in procedure kot parametri Prevajalniäka obdelava parametrov tipa label, procedure, real procedure, integer procedure ip boolean procedure Je podobna že obravnavanim primerom. Dejanskemu parametru, ki Je označlt-veni Izraz, mora predhoditi tipska specifikacija (zaradi enoprehodnega prevajalnika). Podobno kot pri spremenljivkah, ki ao klicane z imenom, pri poljih in razdelilnikih, se posreduje proceduri naslov oznabitve ali procedure. Dejanski parameter mora biti v obmoSju vidljivosti v klicni točki, ni pa nujno, da je v obmoiSju kil- . cane procedure( njegova uporaba ga dejansko postavi v območje. Predddeklarlrane funkcije In vhodna/izhodna i-niena se ne morejo uporabljati kot procedurni parametri, ko je bil formalni parameter deklariran kot procedura. Uporabiti se mora prazna procedura, kl pokliče preddeklarlrano. Predde-klarlrane procedure pa se lahko uporabljajo v izrazih, kjer je formalni parameter vrednostni. . Tako je npr. dovoljeno sin(cos(3)). RML algol ne razlikuje klicev z imenom in vrednostjo, če so parametri razdelilniki, nizi, označitve in procedure, če je dejanski parameter označltvenl izraz, ae vrednost izračuna le ob vstopu v proceduro In ne pri vsakokratni uporabi parametra v procedurnem telesu. Klici vseh teh parametrov so klici z vrednostjo, čeprav prevajalnik ne zahteva njihove specifikacije. Imejmo primer za dva procedurna začetka: PROCEDURE p(3, ozn, rp, niz)I SWITCH s; STRING nizf LABEL oznf REAL PROCEDURE rp; REAL PROCEDURE )t(y, niz); VALUE yj REAL yj STRING niz) Možen poziv je npr. p(cazd, LABEL IF bi THEN oznl ELSE Ozn2, REAL PROCEDURE x, "ike") V tern primeru Je bil uporabljen označltvenl izraz kot dejanski parameter tipa LABEL. Kot pri poljih In razdelilnikih se tudi pri realnih procedurah kot parametrih uporabljajo samo njihova imena. Vendar se parametri parametričnih procedur navedejo pri dejanskih pozivih. Npr.j rp(rp{4, "xyz"), nizi) 3.24. Povzetek procedurnih značilnosti Pri vstopu v proceduro ae v Algolu dodeli pomnilni prostor dinamično proceduri za njene podatke skladno z deklaracijami. To pomeni, da so procedure v Algolu po naravi rekuralvne in Je rekurzijaka globina omejena le z razpoložljivim pomnilnim prostorom. Procedurno telo je stavek, ki Je lahko prazen, enostaven, sestavljen ali blok. V okviru bloka ae lahko pojavijo Be druge procedurne deklaracije, tako da je veljaven tale primeri PROCEDURE ike; BEGIN PROCEDURE ant) BEGIM PROCEDURE peti BEGIN Sli . . . END) S2t . . . END I b3| . . . end) Območja procedur so določena z navadnimi pravili vidljivosti, tako da stavka si In s2 lahko dodelimo k Ike, ant In pet, stavek s3 pa samo k ike in ant. Stavki v proceduri lahko navajajo poljubno spremenljivko, ki je v območju vidljivosti In ne samo tiste, ki se pojavljajo v listi procedurnlh parametrov, V fortranu bi bil potreben COMMON stavek. Iz procedure Je mogoča tudi skakati z uporabo GOTO stavka na poljubno označitev, ki Je v območju vidljivosti. Slovstvo k prvemu delu ((D) J.W.Backus et All: Revised Report on the Algorithmic Language ALGOL 60. (Edited by P. Naur). International. Federation for Information Processing (IFIP) 1962. ((2)) M.I.Ageev, V.P.Alik, R.M.Gallsi Algorltmy (1 - 50), vypusk 2. VyClalltel'nyj centr AN SSSR, Moskva 1966. ((3)) M.I.Ageev, V.P.Alik, Ju.I.Markovi Algorltmy (51 - 100), vypusk 3. Vyéislltel'nyJ centr AN SSSR, Moskva 1966, ((4)) M.I.Ageev, L.S.Krivonos, Ju.I.Markovi Algorltmy (101 - 150), Vypusk 4. Vyöislt-tel'nyj centr AN SSSR, Moskva 1967 . (15)) G.Walter! Strukturierte Programmierung mit AUJOL 60. R.Oldenbourg Verlag, Muen-chen 1977, ((6)) Algol 60 for Z80 Based Computers under CP/M, Research Machines, P.O.Box 75, Chapel Street, Oxford, England (0865) 49792. ((7)) R.Herscheli Anleitung zum praktischen Gebrauch von ALGOL 60. R.Oldenbourg Verlag, Muenchen 1971, ((fl)) D.D.McCrackens A Guide to Algol Programming, John Wiley & Sons, New York. ((9)) E.Kaucher, R.Klatte, Ch.Ullrlchi Hoahere Programmiersprachen ALGOL, FORTRAN, PASCAL. B.l.-Wlssenachaftsverlag, Zuerich 197B. ((10)) R.ßaumanni ALGOL-Manual der ALCOR-Grup-pe, R.Oldenbourg Verlag, Muenchen 1969. ((11)) W.Heinrich, W,Stuckyi Programmierung mit ALGOL 60. B.G.Teubner Studlenskriptan, Stuttgart 1978, BI DODATEK 1. Sintaksa jezjka RHL Algol- ki odstopa od sintakse jezika ' Algol 60. Semantika vhodnih in izhodnih funkcij je glede na Algol 60 v celoti spremenjena, sestavljeni biavki in bloki PrecBdurni stavki -------------- Programt prograrn ii» block FINISH I cofnpound„Btatement finish -------- Bloki In ftBBtBvljsni stavki —- block li» unlabelled.block I label ■ block compound_Statement 11". unlebeÌléd_coinpound I label I cornpound.Btatement unlabel lBd_block block.hsad g coitipound.tall unlabel led.cciivipound ii» SEOIN .corapound_talT block_head BEGIN deciaration t block_head ; declaration CĐMipoui^d_tal 1 :!=■ statement END I Btatament END comment „text .| I statemerit ; corapound^tal 1 stateraent ii= uncond i t ional_ statement I conditiornal_Etatement I for .statement unconditional.statement ii= basic_statement I coijipound_statBinent I block basic_5tatement -ti® unlabel lEd_basic_statBinerit I labBl.i basic^etatement unlabelled_baBic_staternent ; ; = assignment^statement I go_tó_Btatement I dufniny_staternent I pròcedure_stateraant Ks3ais=i=i==3==:=.-= = =:=:=I OSNDVNI STfìVKI eKaesasstìaisaias ---------------Pogojni stavki------------ condit ional._stateriient i i= if.statement I if_Btatement ELBE statEinerìt I if_clause for_statE(rtent I label i condit iona]_stateripression THEN - Zancnl stavki for_stalemenl ifor_clause statement I label J for_»töteriient fcpr_clause 11= FOR,variable ;= for_lÌ6t DO f<5f_llst 11= for_l ist_elstnBrit I for_lÌEt , for_l ist_BleBient f&r..l ist_Blei(ier(t ii= arithi(ietic_BMpresgion I arithtu0tic_B>ipression UNTIL arithmetic_eKpreBBlon T arithmetic_eKprB5BÌon MHILE . EooIean^eMpreBsion Prireditveni stavki assignment.statenient ign left„part. arithm6t ic_6xpre6sion ( left_part Booleairi_eMpression lBft_part js= variable i= 1 procedure^identifier i= -----------------Bkocni stavki B0_t0_BtatBmBnt it= GQTO deaignational^eMpresBÌon ----------------Praìni stavki diimmy_6tatefflent i«« éinpty procedure^otatBtnent il = procedure. 1 dent i f ier act ua 1 _para(neter_part actual_parariietsr_part ii" empty I , t actual_parflMeter_list. ) actual^pararneter^l ist ii» actual.parameter I act uaI_pa rawet er ^1 i st pa r awst er_d e11m i t «r actual.parameter paramBter.dellmlter n" , I > letter.strinB •< . lBtter_Btrlng ii= letter I letter_Btring lettor; «ctual.parametBr ii= string 1 exprasBion I. array.ldBntifier I 5witch_identifler I procedure.identifier p)~ocedure_identl f ier n= identifier I desi gnat ional.eHpresBion asasaaBaisaEaasEsäsi DEKLARACIJE B=== = = aia«BSBBBipreBBÌon I switch^list , designat ipnal_eMpresBÌoin Procedurne deklaracije procedure_dpclarat iorl !i = PROCEDURE procadura heading procBdure_body I type PROCEDURE procBdure^heading procedure_body procedure_body ):= statement I code procedtire_hBad»rig ii" prcicedure_iđent i f ier formallparamBt0r_part 1 . valiiB^part specification_part Bpeci f icat ion^part i Btnpty I specifier identifier^list | I specification_part spBclfier identifÌBr_lÌBt | specifier ii= STRING 1 type I ARRAY I type ARRRY 1 LABEL I SWITCH I PROCEDURE I type PROCEDURE value_part u= VALUE i dent ifiBr_1 iBt | I empty identifier„Hst ident.ifiar I . - identifier_list , identifier formal_para(neter_part i i- empty I | ( fprmal_paramBtBr_liBt )' 52 forrnal_paran)eter_list i (= formal_parametei- I formal_pai-ameter_l i5t pararjieter_del imiter fo^lnal_pa^amEter formal_parameter ii= identifier ==;==jlsBSKisa=======s==n JZRftZI == esaaskk ss t=e===== e □znacltvani Izrazi designat iorial_e>(preBaion !t = Biraple_deBighaticinal_eHpreBBÌon I if_clauBe sitnple^designational_6)= label I switcb_deaignator I desiflCiat iorial^expression BMitch.deeigriator i i = switch„idBntifier £ subscript.expression ] switch_identif ier 11= ideritifier label it's identifier Boolovski izrazi Boolean.expression ii= Bimple_Boo;ean I if^clause simple^Boolean ELSE Boolean_EHpre3sion simplE_BooIean ; 1= implication ) simple_Boc.lEan EQUlyPILENT irapHcation implication js=» Boolean^term I implication IMPLIES Boolean term BoolBan_tBrrn 1 i® Boolean„factor I Boolean_tErm OR Boolean_factor Boolean_factor ! s= BoolEan_set:ondary f Boolean^factor ftND Boolean_secoridary BoolBan_secondary 1:= Boc'lean_priraary~ I NOT Boolean_primary Boolear._primary ji^ logical_value I variable i funct ioin_deaignator I relation I ( Bocilean_eMpreBBiori > relation 11= BirflplB_arithmEtic_eKprBBsion re 1 at jona 1_operator sir(tple_arithtnetic enpression relaticiirial_operator !!=■ < I <= j .= | >= 1 ) flrittrtBt icni ixrazi arithwet ic^eMpressiofi i! = simple_arithfnetic_e>(pression I 1 f_cliiuBe sir(iple_arithmetic_BKpreBsion ELSE arithffieticIeKpreBsion if_clau6e J 3= IF Boolean^aKpresBicn THEN siMplB_arithtiiBtic„e((prBssion term I adding_c.perator term I aJmple_arithf/iet ic_expresaion adding_operator term term 11= factoi- I . ^ term multiplyjng_operator factor factor primary ( factor primary primary s uriBÌBned_number I variable I funct ioKi^designator I ■ < arithinetic-exprBBSion ) raultjplying^operator tt= » I / I % I MOD addiriB_operator >s= + [ - | mASK I DIFFEft I ! Funhcijskl cžnacevajr.iki function_designator : 1 = pi-ocedure.identifier actual^parameter part actual_para(rteter_part 11= ampty I ' actual^parameter list > actu8l_parametsr_list e actual_para,ri»ter I actual_parameter_lÌBt parainBter_del imlter actual parameter parameter.deliffliter ,,= , | ) letter string i( iBtter^string r letter t lettafr string letter actual_parafneter ;i= string ) eKpressior, I array^identifier ) swi t c;h_i dent i f ier I procedure identifier prorcedure_identifier : s= identifier " Spremenljivke variable »1» 6iinple_variatale I 5ubBcripted_vari«ble subBcripted_variable 11°: array^identifier C eubscript_li"t J array_idBntifier 11= identifier subscript.!ist 11= subscript_BKprBB6Ìon I subscript_l iat , subscript_eMpri»»BÌon subscript.expression s!=> arithmEt lt;_e«prBB«ion BlmplB_variable 11= variable.iderttif ier variable.identifier st= identifier === SIMBOLI, IDENTIFIKATORJI, ŠTEVILA, NIZI —■ --------------------fjijj^--------------------, string ij= " open-string " ------------------- Števila ------------------- number it^ unsigned^number I + unslBned_numbBr I - un6ianed_nurob»r unsigned_nuinbEr 11= decimal.nuMber I e>tpon6nt_part I decimal.number exponent.part decÌHial_niimber 1 i= unsigned-integer I decimal_fraction I unsigned^integisr decimal„fract ion exponent^part 11= E integer I e integer decimal_fraction 3i= . unsigned_lnteger integer unsigned^integer I + unaigned^integer I - un5Ìgned_intsgBr unsignEd_integer it= digit I unsigned_inteaBr digit Ident i fi katorJ i identifier uh letter I identifier letter I identifier digit (Sanio prvih 6 znakov v identifikatorju je bistvenih.) OniBjBvalniki ---------- Bpecificator 11= STRING I LflBEL J VfiLUE declarator 11= BOOLEAN I INTEGER I REAL I BYTE I ARRAY I SWITCH I PROCEDURE bracket :i= ( I > I [ I 3 ( { I > I " 1 BEGIN I END separator ti» ,I.IE!bIiIiIi=I I STEP I UNTIL I UHILE I COMMENT sequential^operator j1= GOTO I IF I THEN I ELSE I FOR I DO lc.gical_c.perator is= EQUIVftLENT I IMPLIES I □R I AND I NOT I MfiBK I DIFFER I ! relational_opBrator 1 i= < | <» | = | | > I # arithmet ic_ciperator 11= + t- l»l/liC| I MOD operator 11= aritmetic_operator 1 ■ relational„operator I logical_operator I sequential_operator delimiter «j" operator I separator i bracket I declarator I specificator KomentarJ i comment 1:= COMMENT any_sequEnce_not„ contai ning^eemicolon ) I END this_is_ignorBd t I END so is_thi« ELBE I END arid_this_«tBO FINltäH ( ■{ thÌ6_{cciMfnent>_i«_lBnor»d > Crke, številke, It-gicniii vradnoBti loBical_value ii^. TRUE I FALBE digit !i=ailiei3i4iE>16t7iai9 letter ii= a I b 1 c I d I e I f I g lh 11 I j I k 11 t tn I n I ol p 1 q ) r I s 11 I u I V IMI M I y I X I fllBlCIDIEIFIGIHIIIJIKILIMINIOIPIQIRI SITIUIVIUIXIYIZ DODATEK 2. Vhodne/izhodne procedure jezika RUL Algpl VHODNE/IZHODNE PROCEDURE ----Procedure. ioc ■ arcten(>i) ln(K) eMp(H> sqrt(k) abB(M) s i gn ( K ) enti er(K) X is in radians M is in radians the result is in radians in the range -pi/£ to +pi/S natural logarithm e to the power u square root of x absolute value of k delivers -1,'0, or +1 according to whether x is negative, zero, or positive returns the larger integer less or equal to X is called by value and thus the actual parameter may be an expression Vhodne/izhodne procedure chin(dev) read a char from device chout (dev, i val i outputs byte to dev read (dev) read a nuinber from dev read outputs val to dev using a;b format rwriteldev, val ) exponent format with 6 dec digits 5kip * priribs ival as an integer to dev in decimal write(dev,i val,radix) prints in radix (<8,1,3 for decimal, octal, hexadecimal) findinput("string") opens a file or device defined in string for input on stream device findoutput("strina") analogous to find input but for .output , rblocU (dev, a, ti, n) read n blocks from a disk filè associated with stream dev, starting at block number b, writ ina the contents in memory at '-address a wblock(dev, a, b, n) writes n blocks to disk| parameters are the same as for rblock) value of wblocki = 0 successful write = 1 error in exteriding file ■= 2 end of disk file =-3 hard error = 25S no more directory space dsv file is rewound for reading from the beginning aetKa) set the INPUT pointer to the address a seto eet the OUTPUT pointer to the address a ipoint returns the current address of the ■ INPUT pointer opoint returns the current addreaa of the .OUTPUT pointer eMflt(a,t) extend the file control block lieti a address of buffer to uee t = 0 serial file accesa t # 0 random file access fcblock performs a call through the BIOS jump vector wherei n = entry in the jump table (0-lA) be = contets of BC register on entry bios returns contents of fl register on ex i t cpm(c,de> performs a call to CP/M where c = C register on entry (0-S7) , de = DE register on entryi cpm returns contents of Ö register rename renames a file) if rename = -1 file was not found newext(j,"XYZ") a file of stream j is closed and its extension changed to *YZ Napaka v času izvajanja Knjižnične procedure fspace bi move (e, f. peek(a) poke (a, i ) in(c) out(c,a) dpb (u, t, s, a rdisk wdiek parity(i) shl (v, n) ler (v, r<) aar (v, n) rot 1(v,n) rotr (v, n) random returns the number of bytes free len) block move of len bytes starting at address s to the block starting at address f returns the byte value contained within the address given by a sets the contents of address a to value i input from, a port( executes an IN fl,(C) instruction output to a port; executes an OUT (C'),fl instruction ) set up the disk parameters, u ' unit number (0 to 3>, t ? track, s " sector, a = DMA address read the disk directly after a previous dpb call, returns the result write to disk using information set up by a previous call to dpb returning the result returns TRUE if the character value of i has even parity else FnUSE shift integer v n places left logical shift right arithmetic shift right rotate left rotate right returns a pseudorandom number in the range 0 to 1 darr (a, len> clear array araa of lei^Qth Ieri by- tse starting ^^ address a Bjoi;<"atrina") raturna the addrees of the start of the strihg (string.parameter) tler)tt(dev,s) similar to 'text' but s is the address of tlie string emt(nt graphic instruction wait(h) delay with n (for 10-»n tasec) chpOE(H,y) coordinate position on ths scr«(»n pointtM,y,i) plots a point on the screen of Intensity I lirie(jil,yl, MS,yS, t) draw» a line from position (Ml,yll to position («E,y2) of intensity i DODATEK 3. Primeri algolskih programov BE0IN COMMENT i«pia slnusoids z vodoravno onjo) COMMENT deklaracija procedure za izpis znaKa na poljubnem polozajui PROCEDUi^E izpisi (zac, kon, znak, vmes, er If) | VflLUE lac, kon, crlf t INTEGER zac,kon,crlft STRINO znak,vMSS| BEGIN INTEGER teki FOR tBks=zac GTEP 1 UNTIL kon DO töKt ( 1, vines) I text ( 1, znak) | IF crlfXS THEN skip(l)| END . konec procedurne deklaracijei comment glavni programi INTEGER tek I FOR tekj=99 STEP -It UNTIL -99 DO IF tek=ia THEN bEGIN COMMENT Izpis abscisa in znakovi izpisi (1, 1, » ",0)| izpisi (3,32, "»»", "-",0) ) iipiBl (34,63, 1) ) END tmE BEBIN REßL aresin, y| INTEGER pol) yl = tBk»a.'«l I arcsini^arctan(y/sqrt(l-y»y))| IF teki» THEN BEGIN pol i=i-erit ier (arcsin»liB) | izpisi (1, pol+31, "»*", » ",«)! izpisi (poJ+33,64~pol, ■'**", " 1> I END ELBE BEGIN pol »»entier (arcsiifi»lS!l)+É) izpÌBl(l,pol-l, " ".at I izpisi (pol, 33-pol, l)| END EMU END K3NI&H BEBIN COMMENT izplB sinusoide x navpično srednjo crto (osjo) I COMMENT deklaracija procedure za izpis «naka na poljubnem položaju| PROCEDURE izpis| text ( I, znak) f IF crlf)đ then skip(l)| END konec procedurne deklaracijef COMMENT glavni programi integer korak) REAL korobai korobBi-S^a.14/^01 FOR koraKi»« STEP 1 UNTIL DO Eie{3IN INTEGER tiskpl) REAL M) HiKkoraKttkoroOai t i Gkp 1 i»snt i er ( e in ( M ) «3t)>SI IF tiskol>A0 THEN bEölN iipi«(l,40, "!",(3) I izpis(4i,tiskpi,"«»",ni END ELSÉ IF tiskal^AO THEN izpis(l,4B,1) el&e BEGIN iipiad.tiskpl, "»tt",«».! i2pl»(ti«kpl+l,40,"(",1)1 ENU END END FINISH uloga relacije apsorbcije u algoritmima indukcije i dedukcije UDK: 510.5:681.3 d. marti novic MATEMATIČKI INSTITUT, BEOGRAD Relacija, apaoibcije igra .veliku ulogu u algoritnisiia koji se koriste [;rilikom mehaniCkog dokazivanja teorema i fomlranja hipoteza. Ona se koristi i kao relacija parcijalnog uređjenja u mreži (C/'i-f^jrjfij ). Pokazuje se obavljanje rezolucije u navedenoj rrreži, odnos izmeđju neređu-kovanlh i sastavaka sa faktorls:a, itđ. SüBSUfS-TIOH EtLATICW IW JiUCILH-ilCAI, TliEOREH PPOVIUC WJD KYPOl'KIiEIS FORIYiTICtJ. , Subsujmptlon relation plays a great role in the -algorithms used in irechanlcal theorem proving and hypothesis formation. It is also a relation of partial order In. the lattice ,n, U ) . It is showen how can be used In the resolution, what is the relation betv/een nonreduced clauses and clauses with factors, etc. Kada se na raCunaru obavljaju logifika indukcije i dedukcija nad skupom formula Predikata kog računa I reda,uobičajeno je da se taj skup formula ekvivalentnim transformacijama prevede u skup C sastavaka-formula bez kvantifikatora, koje su disjunkcije konačnog broja literala, pa da se pomoću njih reäava zadati problem. Ha sastavke iz dobijenog skupa se zatim^ obično, prlmenjuju čisto sintaksnapravila izvodjenja, koja se na računaru jednostavno realizuju, ali koja imaju jako semantičko značenje. Kako se sve ove operacije vrše nad skupor sastavaka, prirodno je posmatrati algebarsku strukturu skupa svih sastavaka nastalih u azbuci koju čine bar dva relacijska singola, irr,ena konstanti, promenljivih i funkcija. Po konvenciji, sastavke prikazujemo kao skupove literala. He ulazeći u mukotrpno, ali dalekosežno ispitivanje algebarskih osobina ovog skupa, navodin-o sario rezultat, uz neophodna objašnjenja i definicije: (C/-»-,<,n,U) je Kreäa. Relacija uređjenja u mreži je relacija apsorb-clje (subsumptlon), koja se definiše na sledeći način; Uef.l.: C2 akko (SB) C^efCj.// Ukoliko su ovi sastavci-,jeßnoelementni (literčili) rniesto relacije poc'slLup, stoji ječnakODt. Ova binarna relacija je odlučiva, refleksivna i tranzitivna, pa je relacija kvazi uređjenja. I'e-djutic, ona nije antiaiir.etrična, jer iz C^^C^ i CjtC^ ne sledi ni da su Cj^ i C^. varijante. To je zato Sto postoje tzv. nerèdukovani sastavci koji apsorbuju neki svoj pravi podskup. Na svu sreću, zahvaljujući odlučivosti relacije apsorbcije, može se formirati konačni algoritam redukcije, koji za svaki sastavak utvrdjuje đa li je redu-kovan ili nije, pa ako nije, vräi njegovu redukciju. Kada u skup C sastavaka uveder^o ekvivalent olju na sledeći naČin Cj^^C^« , ceo • skup C se raspada na klase ekvivalencije, a kako su ekvivalentni reduKovani sastavci iredju-sobno varijante, to 2a predstavnike ovih klasa uzimamo samo re'đukovane sastavke. U skup C/^ se uvodi uređjenje na sledeći način: [Cjl «fcjJ-Sy (yCj) (CjE fCjl ACjE [cj -i-Cj i lako se pokazuje da je 'tek ovako definisana relacija, relacija parcijalnog uređjenja. 66 Pokažimo sada kako je uvedena operacija fi: De £. 2 ! Najmanje opätom tjenerali zaci joni (least general generalisation) sastavaka C^ i C^, u oznaci C^nCj, nazivamo oaatavak koji zadovoljava sledeče uslove (1) C^nC^^CjA C^H C^tC^ i (2) za svako D iz C za koje važi iljC^ D^C^ važi 1 USCj^nCj. il ko9 dokazivanja teorema. Def.4; Binarnom rezolventom sastavaka C^ 1 Cj, nazivamo sastavak ( (C^\H)L»(Cj\H) ) 6 , gde je Cj varijanta od C^ takva da sa Cj nema'zajeđnlCklh pi-omenljivlh, a H i 7 M SU riedjuBObno unlfabilni literall aa najopätijim un i flk a to rotti e.// Nećemo, zbog dužine, navoditi algoritam (jonera-lizacije Bkui^a sastavaka (može ee naći u (2)), recimo samo da svaki JjooaCan skup ( Cj^,... sastavaka ima generalizaciju akko ima bar jednu selekciju h^,,. . gde su C^^ llterall sa latim znakom i predlkatsklm simbolom. U skup C/^ ae uvodi operacija generalizacije na aledeđi načini [c^lnfCj] = [CjH C^] . Sve do ovog stupnja, uapeäno su se koristila reäenja vrlo BliSna onima koja su se odnosila na skupove atoma, ali kada se .dodjo do koraka u kome je potrebno pronađi operaciju dualnu eaflj analogije sa skupom atoma prestaju, l'amo je ko-rlčdena operacija najopštije unifikacije (most general uhlficatloh), za koju nema sličnog reše-nja u skupu c(c/^). no, kako se relacija a'psor-bcije u nekim slučajevima svodi na relaciju "biti podskup", prirodno je iskoristiti skupovno prikazivanje sastavaka 1 dati slededu definiciju: Def.3t Najopätljl zajednički .slučaj sastavaka Cj 1 Cj, u oznaci C^UC^, je sastavak CjU C^, gde je C^ varijanto od C^ koja sa Cj^ nenrn zajedničkih promenljlvlh.// Već je jasno đa se proširenje ove operacije na skup C/,, uvodi ovako: fc^Jufc^] = ic^U C^l . Ovim je bar dellmlčno pokazano, kako je formirana mreža koja je, recimo i to,nemo-.dularna 1 nekompleiiientlrana. Polumreža je konstruiaano radi potreba obavljanja Indukcije na raöunarlina. Polazeći od zadatog skupa S sastavaka, prinienom nlfjorltrio generaliaaclje, formiraju ao hipoteze aasnovane na S, Dunlna operacija LI je uvedena naj vi Eie ziito da bi se zaotružile alcjebarske osobine polumrežo ali je interesantno cla ona može da nad je svoje mesto u proccdurajiia koje se prline-njuju prilikom dokazivanja toorama na tačunaru. Ovde ćemo se pozabaviti samo rezolucijor, kao jednom od metoda prinienjivaiilli prilikon- nifihani£- Odmah se vidi đa je po sredi' untranje "okrnjenih" polaznih sastavaka bez zajedniòklh promenljlvlh, a to je upravo operacija unlranja sastavaka u mreži. Dalje, rezolucijom se uklanjaju komplementarni parovi llterala, jar oni u uniji filne logičku jedinicu. Napomenimo, da au prilikom konstrulaànja mreSe saotava-ka logička pravila bila potisnuta od strane algotara-l:lh, ali 6u implicitno bila prisutna. Tako, recimo. Iz Cj^Cj-^CjB^Cj, a rezolventB jo posledica sastavaka iz kojih je nastala. Posmatračemo, zato, podskup ođ C , koji ćemo označiti sa 1, koji čine sastavci koji su dlajun-kcije dva kompleii-entarna llterala. Nazvali emo ga jediničnim akupom. Jer pretstavlja skup logičkih jedinica. Tada možemo reći sleđeće: (C^U 161. StaviÈe, možemo p os- matrati 1 sastavke označene kao I', koji prlme-nom mgu atoma koje sadrže, postaju eastnvel iz l< Primer: l'=(L{a, f (b) ) ,L(x,y ) ,lL(a , f (z) ) , e=Ha,J:) , (f (b) ,y) , (b, z) , 0=mgu{L(a, 1: (b) ) ,L(x,y) , ,L(a,f(z))) , l'0=l=lI,{a,£(b)>,lL(a,f(b)) } Tako odnose izmedj u sastavaka koji učestvuju u rezoluciji niožemo prikazati na sledeči način; C^ U C2>=U1' , NOM = 1' (NilM)O =1 (CjUC^'je U 1 Skup 1 Be može potsmatrati i kćio skup'valjanih ^ (CjUCpD foi-ti.ula odrodjone vnUc, takvih dn su neke oci njlii iiodjuaohno u relaciji, a neke nc-, kao iOto HC vjai Iz tsledeiiey primora: H(y ,x)v7('(y;3<) [i(x,x) VIjTU!^ H. ( n^Wl^r^^Ò MyTäiVjBly.fl) P(ći,a)Vln(a,n) B(y,x)V?R) n(ä,x)vlR(a,x) R(a,b)VjH(a,b) Sku[! 1 je zatvoren u odnosu na priinenu supstitucije -BO svakim sastavkom iz 1, skupu 1 pripadaju 1 evi sluCajcvl tog sastavka. To jo sasvim razumljivo, jer iz i^C^, dakle i Cj je valjana formula* a kako je sastavljena od dva literala različito oznaSena (to se priinenom supstitucije ne moie promeniti), onda je i C^ el> Ovaj skup je takodje zatvoren u odnosu na operaciju generalizacije, ukoliko sadrži sanio jedan relacijski simbol, jer onda svaki njegov podskup ima selekciju, a iz alcjoritma cjeneralizacije se vidi da se kao rezultat dobi ja takodje sastavak iz 1. Osim na navedeni način, rezolucija se može. defi-nisati 1 ovako: De £.5 ; Ako je E unifabilan podskup od C sa » kao svojim mgu, onda je C Kako se u dcfinlcijama redukovanih i. faktorisar-nlh sastavaka poematraju sastavci 1 njiliovi pod-skupovi, interesantno Je videti kakav odnos postoji izmedju pojmova "biti redukovan" i "imati faktore", TVE. 1 i Ako sastavak C nenia faktore, onda je redukovan, i i liokaz; Ovde demo dokazati obrnuto tvrdjónjo, tj, (la C ima faktore uko nije redukovan. Iz Egc i Cfli-^OO) CWlä, tj. tìa o preslikava neke podskupove od C u elemente iz C. Neka je' (l'I.....jec i IMj.....i »a sastavka C^ i faktora od C^, faktora od C^ i faktora od C^./V neko Đ, Tada zbog rk+m>iii Sto je ispunjeno kada je L pravi podskup od C, postoji bar jedan niz indeksafi^ , . . . , Ij^, J }, (ij,... ,i|^)£{l,...,ii+in) 1 jE{l,...,m) , takav da je IJB = Mj, gde je M neki k-elementni podskup od C. No, tada je If unifabilan skup ša ^ kao svojim mgu, pa je C ^faktor od C, Ako postoji supstitucija e koja nije jedinična, takva da preslikava sastavak C na sebe samoga, isti zaključak važi: tada mora postojati podakup (Nj,.. od C, takav da je H^O = ""3,. ., dok su ostali literal! u C posle pri- mene 6 ostali nepokretni. No, odavde zaključujemo da je '■'k^^^'r' '^"k ^^ su ovi litorali aJfobetske varijante, 0 u tom slučaju se bar svaka dva od njih mogu unifiko-vati, pa postoji faktor od C. l'rimer; C= {P ,1'(y ,a) z) l^poatoji sup- stitucija €= I (y,x), (z,y),(x,z)) takva da je CO = C 1 p(x,y)Đ =p.(y,z)iiMy,z)o=PU,z)( p(x,2)(x,y), Ovde je čak ceo C unifabilan; recimo sa o = ( (z',it) , (z ,y ) ) , Ca = {ÌMZ(Z)). -O- E e '=a jiiOj 6 Ovde je EUF=i; jer püütoji supstitucija 0 koja ih prevodi u 1:, Ifo^- (l-O yd(! je 0=(OjUO2)V uz pretpostavku da C^ i C^ nemaju zajedničkih premenijivlh. Da lil, se mogla izvršiti rezolucija tipa 4), iiioraju i)o unifabllnl skupovi, tj, mora postojati X , takva da.je = Sto se grafički možo prika- zati na navedeni način. Znači da pod navedonlni pretpostavkama uvok postoji unifabilan potiskaj od C, pa dakle i faktor . od C.'Pokazali smo da je osobina posedovanja faktora, mnogo Sira od osobine "biti nereduko-Vtin ". U pretliodno navuclenoj definiciji rezolucije, se pod 1) govori o nalaženju rezolvente faktorisa-nog afistnvkB, ali aci no knžo koji faktor treba uzeti. liaJme, sastavak u opäteni slučaju moie imati vlSc faktora, jcir ima vläe unlfabllnlh skupova, Stavile i kada je reČ o samo jednom uni-fnbllnoiii podskupu, tiaštavak može imati vi Se fak-toi-a, jer su 1 avl podskupovl unifabilnog skupa takodje unifabllnl i' mogu imati različite, mgu. Zbog toga je važno poznavati odnos koji postoji Izniedju razllčitili rozolventi dva sastavka. Pos- GS matradenio zato jedan od Bluöajova koji mogu tiaatatl, jor ee 1 ostali na sUCan na6ln nioyu obradjivati. TVE. 2 ; Noka au li^ , . . . unifalaiXni tmäshupovi od c, ukvi flft jtj tijSKjS ...s i;^, Oj^iwjud;^), takvi dü no iinlfikujü noki nadakinj od Kj^ u C nt za jorJno Kk, Iloka üu «(Co^^.d) l)infirnu rozol-vcintia faktora od C 1 oaotnvka D, takvo da ae iz* D uvük otklanja ititi literal, a tz Cu^^ uklanja Utì J'j^'j^» tnda voìi alodcdöi ill Ju ,111 H(C0j^,l3) apnorbu- Jü H.l.uSaJ nakotj faktora od »o saatovkoni U. »oka^i Uuk£s je la aleidi "l''" "'i-l ' ' l'Oötojl takvo da Jo .....li- .No uiiianjujiidl opštost [Ji'otpostavljanio clO'COj^ i u nemaju lojedniCklh ln-OiiiunlJivi!i, zliotj čccja nioŽGtiio pisati; pa je i Nfldjiiiio odno9 iameilju i • Ni.kfi «o i H mogu prikazati na sledetfl naöln; u Fj^ nema promonl JI vili Iz 1 H (jer pronia l)retpo3 tavcl Ca^^ 1 D noma j u za jedniCktli promen-Ijivlli), a parovi au oanov za foruilranje Bl>upa razlike, potrebnog ìiì obavljanje aUjoritwa uiiiClkficiJo. 'l'akn se dobijo da jü , zaviano do toija da li je Sj ispred t^ (o^l u alfahùtbkoni mt.i^ilu). Ovde Jo, noravnoj uvck druga konpouunta u [>flru, iric pron.ünl jive. ìe protstoviti na aledci5i naCiii! jo promonìjlvii 1 (s^ ,tj ) fj lut , 'jtlo t mUClku-ja ostale töriiio obJlka l^n^o je nfinljlve, tnoìowo pisati (t^ , t^ ^ J e ' j , pa ji^ Diikjo,- royu vaìitl sledoi*o rolacije: • Vi » u Ksvlanostl od tocja kakvo je moie eo redi dai 1) RtC"^-! »ß) (eluöaj 2°) 2) R(Cu^,ß) apaorbujo slučaj rezolvente faktora od (jer je ""JU akupa , òltne enio dokaanli tvrđjanja, Slično zakljuäujedio kada ctozvolimo da se i u D formiraju različiti faktori madjuaobno ucedjenl relacijom <. Prema tonto nije svejedno koji ae faktor uzima prilikom obavljanja rezolucije, ali ako se poznaje odnos koji vaii izuieüju raaliSltlU rezol-venti dva sastavka, u slučaju da nađjcna jrezol-venta iz nekih razloga ne odcjovara prltr.enJenoj proceduri dokazivanja, lako može biti zamenjen« nekom drugom rezolventom a da ee ne remeti konip-letnost i saglasnost postupka, Takodje se Istražuju niocjuiSnosti primene jiekih drugih vrata zamena rezolvonti koje so pojavljuju tokom traganja za dokazom, U svim zamenama ključnu ulogu igra relacija apsorbclje, jer se uvek apsorbovani sastavak zamenjuje ovim koji ga apsorbuje. Od toga kako če sc 1 u kojitii slučajevima obavljati ovakve zaniono ne zavisi aamo efikasnost procedure dokazivanja, ved 1 njena kompletnost, pa istraživanje u oblasti dokazivanja teorema na računam treba da obiüivata i mogućnosti upotrebe relacijo apsorbclje. LITSiRATUnft! 1. Chang,C,,Lee,n,i Symbolic Logic and Hcchanlcal Theorem Proving, flcadenlc Press, 1973. 2. PlotklniG.: A note on inductive cjenerallBntion, Hechine Intelligence, vol.5,Meitzer, ß, 0. ,cda. 3. riotkin,G.j A further noto on inductive tjehcralisfttlon, Hachine Intelligence, vol.6, HelCKer, n.,r!lchie, D. , eda. neposredno izvajanje visokih programskih jezikov na objektni arhitekturi v. 2umer, p. kokol, b. stiglic UDK: 681.3.06 VISOKA TEHNIŠKA ŠOLA, MARIBOR, JUGOSLAVIJA ISKRA, AVTOMATIKA, LJUBLJANA V Slanku podajano algorlteis zs LR razpoznavanje in neposredno Izvajenje visokib programskih Jezikov. Za aanesljlTO in uSlnkovito izvajanje Je predlagana objektna arhitekttira. Prav tako so nakazane reäitve za izvajanje krmilnih stavkov in povezovanje parametrov. DIRECT EXECUTION OF Hli ON OBJECT ASHITEOTURE. The algorithm for IiR psralnK and direct execution Of HLL Is given. The object architecture for reliable and efficient exeoution is proposed. Solutions for control statements and parameter pasaing are also included. 1. UVOD 2 razvojem visokih programskih Jezikov ee Je dvignil nivo programskega okolje sočasno s tem pa zahteve po interaktivnostl dela. Idealno . interaktiven' sistem Je takšen, ki omogoča neposredno izvajanje kateregakoli pro^ramakega Jezika in kjer med uporabnikovim nivojem in računalniško materialno opremo^ni seinantidne vrssli. Iz literature poznamo že nekaj poskusov aistemov za neposredno izvajanje. Ene glovnih slabosti teh sistemov Je, da so narejeni samo za en Jezik. V članku podajamo koncept sistema za neposredno izvajanje, ki Je primeren za vse profi'ramske Jezike. Samo pregledovanje In razpoznavanje se da enostavno rešiti univerzalno za vse Jezike, 5e ob upoštevanju repulame gramatike in LR gramatike vnesemo ustrezne tabele. Tc tabele vsebujejo lastnosti posameznega Jezika in krmilijo univerzalne procraae aa pregledovalnik in za raz-poznavnik. Erie največjih ovir za učinkovitost neposrednega izvajanja visokega programskega Jezika Je vsakokratno pregledovanje in raspoznavanje krmilnih stavkov. Z objektno orientirano arhitekturo obravnavaso vso infonnecijo enotno, torej tako podatkovne strukture, kot stavke programa. Pri tem so krmilne strukture predstavljene kot objekti, ki omogočajo hitrejše izvajanje struktur, ki se ponavljajo. Izvajanje poteka s klicom procedur, ki najprej opravijo povezovanje in dinamično preverjanje. Te operacije so učinkovite, ker Je semantika informacije skrita 2e v arhitekturi. Po povezovanju in preverjanju se opravijo 6e ostale potrebne operac-ije kot ao n.pr. aritmetične operacije, klicanje procedur, izvajanje krmilnih stavkov, hkratno izvajanje itd. S sodobnimi VLSI vesji, mikroprogramiranimi Bietemi, programireniini logičnimi polji in po-ranilniSkimi elementi Je implementacija takega sistema tut'i praktično opravičena. 2.. RA3P0ZNAVNIK V splošnem Je raapoznavnik sestavljen iz dveh delov: iz tabel in iz programa, ki te tabele upravlja /1/. Za različne gramatika ee spta-minjajo le tabele. Izkazalo se Je, da Je aa neposredno izvajanje visokih programskih Je- zikov najbolj primemo LH razpoznavanje /2/. LR (left to right) razpoznavniki so takšni, ki razpoznavajo vhodni tekst iz leve proti desni in skonstruirajo najbolj desno izpeljavo. Razpoznavnik ima sklad, vhod in tabelo. Vhod se bere iz leve proti desni, simbol za simbolom. Sklad vsebuje niz s^ Sj Sg Bj .... B^jj, kjer Je s^ na vrhu sklada, s^^ pa. se imenuje stanje in vsebuje vse informacije o stanjih v skladu pod seboj. Tabela je sestavljena ia dveh delov, iz funkcij ACTIOM in GOTO. Punkcija ACTION (Sj^j, a^) ima lahko naslednje vrednosti 1. pomakni (shift) a 2. reduciraj A-» 9 5. sprejmi 't-, napaka Funkcija GOTO CSj^, a^^) generira novo stanje s in predstavlja tabelo prehajanja stanj determinističnega končnega avtomata, katerega vhodna abeceda so simboli gramatike. Konfiguracija LR razpoznavnlka Je dvojica; <®o ®1 ••• ®m. ®i «i+1 «n Prva komponenta Je vsebina sklada, druga komponenta pa še ne prebran del vhodnega tekst«. Naslednja akcija razpoanavnika je odvisna od trenutnega vhodnega simbola a^^ in Stanja na vrhu sklada s^j^. Konfiguracija po tej akciji Je glede na štiri vrednosti funkcije ACTION naslednje! 1. če Je funkcija ACTION (Sj^^, Bj^) ■ pomakni s, razpoznavnik izvede pomik in dobimo naslednjo konfiguracijo • reduciraj (s^ ag' H+1 2. Če Je funkcija ACTION (8„ .A-»(J , rezpoznsvnlk reducira niz $ v neter-mlnal k in dobimo naslednjo konfiguracijo: Ce, H ®2 ®iB-r ®i+l S S) Stanje e doblno iz funkcije GOTO kjer je r dolSina niza , to ja desne strani produkcije. A), 3. Če je funkcija ACTION (a^^, a^^) - sprejmi, je razpoznavanje konSano. 1.. Če je funkcija ACTION (Sb» ^i^ " d® raspoznavnik odkril napako in se pokliSeJo ustrezni podprogrami. Kaveden poetopek za razpoznavanje z nepoared-nin izvajanjem je dan z naslednjim algoritmoio. Prusir-aw RM.POZNAVNJ.Ki tftx1;)f NAJIU J«; PPOKcdura za liskanJc po LR 'Ubeli» .t^bod-» ACTIÜN in N ») <* SCANER Jt ^>re;JlK(Jova,lr!j,l< ») l3f.5Jin prt.ljcr;! vhodni i'KkJitf 1'==0J ( R .-.ŠK dolžina produkcije NAJD^? i s!5a )!"N( (* 00 TO j-f ni n«t>4k Jla. fjf.ne.rira.j sliko ali ij-.vaiaj c.nd ^ izpisi rE j; u liste ali eventiiEine napak (t Algoritem vsebuje pretvorbo krmilnih stavkov v slike oz. v reverano poljsko obliko. Vsi ostali stevki se izvajajo neposredno kot so zapisani v vhodnem tekstu. Na tak način dosežemo največjo moSno hitrost izvajanja vhodne- fa tekata'. Prednost danee^a algoritma je, da se stoŠaano z razpoznavanjem opravlja tudi delna generacija vmesnega teksta ìti izvajanje. Tako je oriogcöena največja možna paralelnost dele, ki jo lahko realiziramo z vec paralelnini pro~ Cesorji 03. s prekrivalno tehniko. Neveden algoritem je univerzalen aa vse programske jezike, saj so značilnosti posamezneRS jezike vne-šene v tabelah. Algoriten vsebuje dve Vfrnezdeni zanki. Zunanja zanka se ponavlja tako dolgo, dokler ne dobi funkcije ACTION vrednosti sprejmi. To pomeni, da je razpoznavanje in izvajanje programa kon-£ano. V tam primeru se izpišejo rezultati in eventualne napake. V notranji aanki pa se izvaja akcija pomateni s ali napaka tako dolgo, dokler funkcija ACTIOH ne dobi vrednosti reduciraj . V tem pri- meru se izvrši redukcija ter izvajanje ali generacija slike. Da se izognemo pri vgnezdenih krmilnih stavkih in rekurzivao deklariranih procedurah rekuraiv-nim slikam, se v tem primeru generirajo samostojne slike. Vstopi in naslovivseh slik so v glavni sekljalni tabeli. S tem doseremo enoten dostop do vseh slik in veSjo uSinkovitost izvajanja. 5. IZVAJANJE Neposredno izvajanje visokih programskih jezikov zahteva pozno povezovanje objektov. Ce pa želimo, da je takšno izvajanje tudi učinkovito in zanesljivo, je potrebno opremiti objekte s semantiko /3/. Ko funkcija ACTION doseže vred- nost reduciraj A-^^ , razpoznavnlk fenerira ali pokliCe procedure za izvajanje. Te procedure lahko oprevljo tydi semantično analizo kot n.pr. primernost tipa, meje indeksov polj, pravilnost parametrov itd. NajveS težav pri neposrednem iavej enju nastopi pri krmilnih stavkih, ker jih ne moremo izvesti neposredno /4/. Zato pri razpoznavanju generiramo slike krmilnih stavkov. Pri v^rnezde-nih krmilnih stavkih omorročitao pravilno izvajanje z dodatnim skladom, ki vsebuje adrese vrnitve zunanje slike. Ker ima vsak krmilni stavek in vsake procedura svoje sliko z vstopom v glavni sekljalni tabeli, je izvajanje krmilnih stavkov enako izvajanju procedur. Na tak način je tudi učinkovito rešen problem re-kurzije. Z upoštevanjem objektne arhitekture se zelo poenostavi povezovanje parametrov pri klicu procedur. Dejanski parametri ao v delovnem skladu in za vsak parameter se zgradi objekt. Hato se v delovnem skladu zamenja ime parametra z naslovom objekta tega parametra. Formalni parametri so v sliki procedure, ki se je generirala pri deklaraciji procedure. Zamenjava formalnega parametre z dejanskim je samo postavitev ustreznega kazalca na objekt dejanskega parametra. It-. ZAKLJUČEK Neveden koncept neposrednejra izvajanja visokih programskih jezikov se od do S eda j znanilf razlikuje z učinkovitim in zanesljivim deldvanjem. Poleg tega koncept ni vezan ns en sam jezik, ampak je univerzalen za vse programske jezike. ai IiITERATUHA 1. A.V. AhOf J.D. Ullman, Principles of Compiler Design, Adiaon-Wosley 1977 2. V. Žuner idr., Raaiakovo lailcroprot^rariiirene arhlCelcture za irapletnentocljo viaolce(ja programsltega Jezika, raz. .naloRa, VTK, Maribor 19Ö2 4. V. Žumer idr., Objektno arhitektura ne oe-novl aemantifne zgradbe informacije, INTOliMATIOA '85, Ljubljano 1985 P. Kokol idr., Neposredno iavajanje viaoke-Ka proj^ramokega Jealko, INFORMATICA »81, Ljubljana 1931 — PROGRAMSKA PODRŠKA M I K R O R AC U N ARS KO G SISTEMA ZA UPRAVLJANJE, KONTROLU I DIJAGNOSTIKU STANJA ALATNOG STROJA K, M. BOŠNJAK, P. MARIC, R. DEJANOVIĆ UDK: 681,3:621.9 ELEKTROTEHNIČKI FAKULTET, BANJALUKA JUGOSLAVIJA U radu je data programska podrika koja Je razvijena za mìKrora£unar$k1 sistem koji vr£i funkciju upravljanja alatnim strojem fEE 2bO. Prosraml su testirani i verificirani na pogodnom simulatoru. mCROCOMPUTEfi SVSTEH SOFTWARE FOR THE CONTROL, CHECKING AND DIAoWSTIC Of" MACHINE TOOL. The jjaper deals with software which is developed for microcomputer system for the control machine tool PEtZbO. Programs are tested and tneir verification Is done on the simulator. 1. uyoo Računarsko upravljanje industrijskim procesima se sve viìe £1ri uf stalno smanjenje cijene hardware-a raCunara za rad u realnom vremenu a Istovremeno se povećava njihova fleksibilnost i pouzdanost. Medjutim, cijena i složenost software-a 1 programiranja rastu mnogo br2e»ito Ima za posljedicu da je ukupna cijena, zatim zakainjenja.te slabosti Instalacije računarskog upravljanja« problemi koji Su uglavnom vezani za software. Zbog toga posebnu painju treba posvetiti razvoju programske po-drSke za raCunarske sisteme koji upravljaju Industrijskim postrojenjima, ^a mikroračunarsko upravljanje alatnim strojevima odgovorna je programska podrSka koju Ce u realnom vremenu provoditi mikroračunarska sklopovska struktura i prema kojoj će biti utvr-djivano stanje na davačima te aktiviranje u pravon trenutku odredjenih izvršnih elemenata. 0 programskoj podrScI ovisi koliko se i kako provodi kontrola upravljačkih komponenata, kako se dijagnosticiraju kritična stanja i kako se izbjegavaju potencijalne teže posljedice utvrdjenih gre£aka. Algoritam automatskog upravljanja alatnim strojevima može se podijeliti na niz različitih stanja stroja. Stanje stroja odredjeno je stanjima senzora, davača odnosno stanjima ulaznih parametara upravljačkog uredjaja. Promjena stanja stroja, odnosno promjena stanja nekog od ulaznih parametara, ostvaruje se akcijom preko izvrsnih elemenata tj . Izvršenom promjenom izlaznih parametara upravljačkog uredjaja. , 2. PRINCIP RADA ALATNOÙ STROJA Alatni stroj se sastoji od pogonskog dijela (elektromotor sa odgovarajućom dodatnom opremom), radnog mehanizma (čiji je osnovni dio potisklvač), uredjaja za prenos pogonske energije sa elektromotora na potisklvač (spojnica, kočnica, elektropneumatski ventil 1 zamajac) i davača položaja potiskivača. Motaciono kretanje osovine elektromotora se preko odgovarajućih uredjaja pretvara u trans latorno kretanje potiskivača. Zato Je položaj potiskivača, preko davača položaja pritiskivača, odredjen odgovarajućim uglom. Jedan ciklus kretanja potiskivača od gornje mrtve tačke («i4T) do donje mrtve taCke (DMT) i nazad^do bMT odgovara promjeni ugla od 360°. Uglu od ü" ili 360® odgovara položaj potiskivača u uMT, a uglu položaj potiskivača u . Ovaj ciklus predstavlja radnu cjelinu koja IzvrSi obradu jednog uzorka materijala. Maksimalna sila potiska potiskivača pri kretanju je 2SOO kN. Način rada stroja obuhvata tri radna režima, koji se mogu odabrati odgovarajućim prekidačem, 2.1. Podelavanje U režimu podešavanja se samo odabire početni položaj potiskivača, koji uglavnom zavisi od alata na potiskivaču. Pokretanje potiskivača se može vršiti dvoručno sa dva prekidača koji se moraju aktivirati u vremenskom razmaku od naJvISe U.S s. Pokretanje se može vršiti i nožnim prekidačem, Potisklvač se kreče sve dok se ne isključi bar jedan prekidač dvorućnog upravljanja ili nožni prekidač. 2.2, t>o4ed1na«n1 ra'd ... U ovom sluĆAju »e aktivnost stroja odvija u pojedi nafnlm c1k1us^.a.(proniJena ugla od do 3t)ü°). Na. poietku ciklusa potlsklvać se mora nalaziti u (ìMT (poCetnl položaj). Pokretanje pDtlsklvaia Je Isto kao u režimu podeiavanja, PotIskIvaC se do DMT kreće samo ako su uključena oba prekldaCa dvorućnog upravljanja IH no-int prekidač. Nakon.dolaska u DMT potiskivai nastavlja kretanje u drugom siiijerui bez obzira da H su prekidaćt dvorućnog 111 nolnog upravljanja uključeni. Ha ovaj naCIn se omogućuje rukovaocu aJatnloi strojem da Izvadi obradjeni dio 1 postavi sledeći komad materijal a.'Nakon dolaska u UMT potiskivah Staje neovisno o tone da 11 su prekidaći dvoruCnog 111 nožnog upravljanja uklJuCenI . Ovlffl je Jedan radni ciklus zavrien. Za početak sledefeg ciklusa uslov je da se potiskivai nalazi ù zoni tàHT 1 da su prekidači dvoručno9 upravljanja (111 noini prekidač) Isključeni. Ako su ovi us lovi Ispunjeni stroj je spreman za naredni ciklus koji se aktivira kao 1 prethodni, 2.3. Automatski rad U automatskom radu se potlsklvač kreče neprekidno od üiMT do QMT 1 obrnuto. Ovaj način rada se može aktivirati samo dvoručno. I''r1 tome je kre--tanje potiskivaća do DMT Isto kao u pojedinačnom radu, U trenutku kada patiskivač dodje u DMT mogu se prekidači dvorućnoa upravljanja de-aktlvlratl. Potisklvač nastavlja kretanje do ÜMT a zatim nastavlja kretanje u drugom smjeru bez potrebe da se novi ciklus posebno aktivira. Ovo automatsko ponavljanje ciklusa se odvija dalje neovisno o rukovaocu strojem sve dok se ne aktivira prekidač za Isključenje automatskog rada. Nakon aktiviranja ovog prekidača potisklvač se pri prvom narednom dolasku u üMt zaustavlja, eime Je zavrien reilm automatskog rada, Z.4. Rad u liniji . . pored navedena tri načina rada, stroj Ima mogućnost rada u liniji. üvo je nioguče jedino kada Je stroj u autaniatskoffl radu 1 uz dodatak dodatne opreme. Stroj se može povezati sa drugim Istim Ili drugačijim strojevima za obradu metala, kao 1 samo sa uredjajem za dovodjenje materijala, Ovi dodatni uredjajl za povezivanje strojeva se Istovremeno koriste za sinhron1 zaci J u rada kompletnog postrojenja. 2.5. Hjrtre sigurnosti U radu' razmatranog'stroja se zbog velikih rad-plh povrilna 1 sile potiska, mora posebno vodi- ti računa 6 mjerama sigurnosti. Najviinije.su svakako zaitita rukov^oca stroj« kac 1 osnovnih dijelova stroja (alat na potiskivaču i energetski dio). U cilju zaitita rukovaoca Je ..neophodno pbeibje-dttl takav način upravljanja strojem da se «11-minlie mogućnost bilo kakvih povreda rukovaoca. kao i da se propiie kompletan postupak u raitu sa strojem. Sa stanovHta sigurnosti je najkritičnija faza kretanja potisktvača prema DMT.He-oph.odno je zato obezbjeditl da se rukćvaoc u .tom vremenu ne može nači u radnom prostoru stroja. Ovo Je obezbjedjen'o načinom rada stroja.. Rad na stroju sa nožnim uklJučivanjem 111 s au-, tomatsklm radon dozvoljen Je samo ako Je postavljena sigurna zaStIta pristupa radnom prostoru stroja (pokriven ili zaUićen alat, fiksne Hi . pokretne mrežice 1 slično). Uvoručno aktiviranje omogućuje rad bez oviti zaititnih uredjaja. Medjutim, u ovom režimu se potisklvač krede prema dole samo ako su pritisnuta oba dugmeta dv-oručnog aktiviranja. Ona su tako postavljena da se obadva ne mogu aktivirati Jednom rukom. Ukoliko se bilo koje od njih otpusti potisklvač Odmah staje. Pored navedenog je rukovaoc u mogućnosti da u slučaju potrebe u svakom trenutku potpuno zaustavi rad s.troja aktiviranjem odgovarajućih prekidača. . U cilju obezbjedjenja ovakvog naćina funkcionl-sanja stroja moraju se koristiti elementi velike pouzdanosti, a oni najbltnijl 1 u paralelnom radu. Takodje se stalno prate "kritične" veličine. Mjeri se temperatura namotaj« elektromotora i u slučaju pregrijavanja stroj odmah staje, Takodje se neprekidno raoraju kontrol isatl : pritisak u pneumatskoj Instalaciji stroja, upravljački . napon , 1spravnost slguronosne podluSke (koja se aktivira u slučaju preopterečenja stroja) 1 slično. Sve ovo ouetbjedjuje zaititu bitnih dijelova stroja, a time i dodatnu zaštitu rukovaoca. Za stroj Je tačno propisan standardni način rukovanja koji u normalniiit uslovima ellmlniSe mogućnost povreda i uništenje bitnih dijelova stroja. 3, PIIISTUP PrtüJEKTÜVANJU PKiJUKAUSKC HOUfiSKE Mlkroračunarsk 1 upravljački uredjaj ostvaruje algoritam upravljanja Izvodeći program vodje-nja procesa iz stanja u stanje prema tačno odred jenom a l.gori tmu , Stanje procesa utvrdjuje se ispitivanjem ulaznih parametara (ulaznih linija mlkroračunara) nakon čega se odredjuje sledeča akcija koju, prema algoritmu upravljanja, treba Izvriltl da bi se proces doveo u sledeče stanje: 64 Izvršenje odredjene akcije (aktiviranje odredj-enog Izvrinog elementa) Inicira se preko odre-djenog Izlaznog parametra (Izlazne linije inlk-roraćunara). Na sainoin poCetku Izvodjenja programa treba.pr- tavljaju poCetne vrijednosti radnih konstanti. Utvrdjuje se Ispravnost rada RAM memorije, Izlaznih registara 1 vremenskih pokazivala. Upravljački program poćlnje se Izvoditi samo ako Je utvrdjena Ispravnost komponenata. U protivnom t) ( Stavi ) • fìat- Wcwaf-tjd liiklJìiSanje HÌ^SIJ i' " HPR'l evih izTaaa ' Poafdüijim.ie -I stop ) DA r PodaSavanja AfF I Iahoì> NU. m HF. v, TKP»! UA t SE . HaHn tvttia. ' PojeiKnaiini yafì ?,cp)Btciv7jeinj,e i btei- i^vrgnje porzonvana iBklii^öenoo (j^eivrtod ^ j pogona, iniKitanja ^ c / atar^a g^fđaa _j AlifomataH rafi , NE / . • J ( 2 )--• TKP=1 pil-1 '-{j ) Pokretanje " pot,iaHva'ya DA flfE AfP-J I DA ne Pokretanje potiekivaìfa DA,- "t:, \ m . I"'- PÌP-1 oa[ Its, NE - , ■ ■'Dll=l ■ '{ij poHekivaàa HS m I----Nil ■"vn-i Dk .1 - -o r- Pokvetanje t poHskivaSa m .--■ . m I i Vokvetanje potiaHnaSa JS -- DA Iff. -.„^ ■ NE rl®) ne ff --.a . \DA f/H fDA dp=1' • O Dlf=] \da NR NE DA - tkp=1 . — KR t"? > ■ //F li>/l • ÖP-; n ilio" 0 1 caso" 'f/p-i da{ > 170 [DA DP=1 - -,170 ^ , (O \ M q- rtvUanJa poCInJe utvrdjivanjem trenutnog stanja, odnosno provjerom radnih, us lova za lad'ant mod rada. Ako su Ispunjeni usioyl za akciju Inicira se njeno izvodjenje. Prema dijagramu upravljanj« pomato Je koji se ulazni parametri noraju promijeniti Izvrdavanjem Inicirane akcl-Je,-a poznato Je I približno vrijeme u kojem se oCekIvana promjena ulaznih parametara morra doyoditl. Zato u nastavku upravljački program Izlazi u odsječak za utvrdjivanje promjene ulaznih parametara, uz kontrolu pojave očekivanih dogadjaja u očekivanim vremenima. 3,1, Hazvoj algoritma 1 programa za upravlja- ' nje konkretnim alatnim strojem Razvoj programske podrike Je zasnovan na pret> hodno uradjenom kinematskom dijagramu stanja. Neophodno Je bilo obezbjeditl, programsku pbdr-Uu koja će omogućiti potreban nadn funkcioni-sanja stroja uz uvalavanje njegovih kinematskih karakteristika. Na poćetku Izvodjenja programa se, nakon Iniciranja programabl Inog dijela., utvrdjuje Ispravnost bitnih komponenata mlkroračunarske konfiguracije. Ove komponente se dalje u toku Izvo-, djenja programa neprekidno testiraju 1 u s lutaju neispravnosti blokira rad stroja, a neispravnost dojavljuje u obllku.SIfra greike, . Provodjenje algoritma upravlja poCInJe utvrdjl-vanjem stanja stroja. Stanje stroja je odredje-no vrijednostima pojedinih parametara 1 ieljenim načinom rada. u skladu sa tim se iniciraju odgovarajući Izlazi. Nakon ovoga se ponovo odre-djuje stanje stroja, fri tome se Istovremeno dobiva Informacija o uti čaju-poj edini h Izlaza mlkrorafunarske konfiguracije na stanje stroja'. Ovo omoguCuje da se stroj dovede u ieljeno stanje 1 Istovremeno kontroIHe Ispravnost funkcl-onlsanja svih sklopova. U slućaju neoCekivanog . ponaianja pojedinih parametara, koje upućuje na nepr^llan rad stroja, stroj se zaustavlja. Istovremeno se dojavljuje il fra parametra koja omogućuje da se relativno Jiadnostavno taćno odredi mjesto 1 karakter neispravnosti. Dalja aktivnost stroj a Je potpuno onemogućena sve dok se ne otkloni neispravnost. Algoritam automatskog upravljanja alatnim strojem je dat dijagramom toka na slici 1. Značenje skraćenih «znaka na slici je sledeče: DU - prekidači dvoručnog upravljanja (UU-i u tluCaju da su oba prekidača uključena 1 to u roku od O.b s.); NP - nolnl prekidač nožnog upravljanja (za NP-1 prekidač uk1Jučen)i or • davač polol.aja pritiskivača (DP-1 - davač Ispravan)« a - ugao lakreta osovine davača polotaj«« TKP - testiranje kritičnih parametara (TkP"t - parametri su u dozvoljenim granicama); AR - prekidač za zaustavljanje automatskog rada (za AK>0 automatski rad Je lavrten); NU - prekidač za Izbor nolnog. upravijanja. 4. ZAKLJUČAK Osnovnrzadatak sistema upravljanja pomoću ml-kroračunara Je Izdavanje ^lažnih naredbi za stroj, na osnovi.prije uneienbg programa 1 (t* anja ulaznih veličina koje sistem za upravljanje stalno Ispituje. Istovremeno sistem .Ispituje samog sebe. U slučaju kvai-a na objektu upravljanja 111 na računarskom sistemu automatski dolazi do signalizacije gre£ke te do njene lokalizacije. Na bilo koju utvrdjenu neispravnost' trenutno se reaguje odgovarajućom zaitlt-nom akcijom! Svaka zaštitna akcija praćena Je dojavom greSke te njenom lokalizacijom. Poito cijena 1 slolenost software-a 1 programiranja rastu mnogo brle od cijene tìardware-a računarskih sistema za rad u realnom vremenu to Je vrlo vaino posvetiti painju razvoju eko-■nomlčne programske podrike. literatura 1. Lev'entha 1,L ., Walsh,C. i Hicrocomputer experimentation with the INTEL 5DK 86. Prentice-Hall, Inc. Névt York 1S80. 2. Herbert V.Shang, Eric Manning and Ueruot Hetze : >^au1t diagnosis, of ülgital Systems 1972, 3, INT.EL: Component Data Catalog 1882. 4, Applying Microprocessors, Ne.w Hardware, Software and Applications, Electronics book series, Mc^row-Hi 11, New York H7t>. 6. Microcomputer Ü.A.T.A.BOOK Edition 6, Decem-btr 1S78. b, PEE ZbU/IIKonstrukclona dokumentacija. INTELIGENTNO SPOSOBNOSTJO VZORCEV TIPALO S RAZPOZNAVANJA SASAPRESERN UDK: 681.3:681.52 INSTITUT JOŽEF STEFAN, UNIVERZA EDVARDA KARDELJA. LJUBLJANA, JAMOVA39 Zahtevni senzorski iiiteml, ki jih danei razvijajo v razvoinih laboratorijih po svetu in pri n« vsebujejo j«nzor le kot osnovno sredstvo zo detekcijo lignolov nekega procesa, Koko ibiroti signale, do bo zbiranja in kontrola procesa učinkovito? Kako vključiti računalnik v seniorski sistent? Kako-orsoniilroti boio senzorsltih podotkov, do bo roEunalnlSko vodeni senzonki sistem omogočil ra^oznovanje zahtevnih vzorcev? Ali lahko reprezentacija znanja poveča sposobnost računalniiko vodenega senzorskega il-itema? Članek odgovàr|a na ta vprašanja, ki so temeljnego pomena pri ra6jnalnliko podprtih senzorskih sistemih in [Ih predstavi na primeru inteligentnega tipala, k! je sposobno razpoznati industrijske predmete In posamezne vzorce no predmetu. AN IMTELLIGENT TACTILE SENSOR WITH A CAPABILITY OF PATTERN RECOGNITION; In odvanced sensing systems which ore developed nowdays, represents o sensor only a basic device for signal detection, hlow to collect signals in order to make o sensing system and o process control efficient? IHow to organize sensor data base, so thot o computer supported sensing system is capable to recognize compjex patterns? Is It possible to increase the capability of a computer supported sensing system by knowledge representation? This paper gives answers to these important questions and demonstrates them on an intelligent tactile sensor that con recognise complex industrial objects, identify a seam location and tiock a three dimensionol seam trajectory for an ore welding robot, 1, UVOD Senzorski sistemi postajajo na področju avtomatike in klberne-tike vse pogosteje mikroročunolnljko vodeni sistemi. Kompleksni robotski in industrijski procesi zahtevajo povečano preciznost merskih in kontrolnih sistemov, ki omogočajo večjo prilagodljivost robotov in avtomatov v spremenljivem okolju. Mehonsko tipalo, ki je podprto z mikroročunolnilkim sistemom, je eden od učinkovitih senzorskih sistemov, ki jih danes upo-roblicjo v robotiki [PRE81A , BOLSI , LAG791. V tem članku predstavljamo nekaj perečih in tesno povezanih problemov pri m i kroroču na I ni škem vodenju senzorskih sistemov in jih ilustriramo no mikroračunalniiko vodenem senzorskem sistemu s tipalom PRE81B . Sistem je no men j en opravljanju zahtevnih operacij razpoznavanja predmetov ali posameznih vzorcev no predmetu ter » tem v zvezi avtomatskem ploniranju ustreznih akcij. Prav vključitev mlkroračunol-nikov v senzorski sistem, ki omogoča nov pogled na teorijo senzorskih sistemov, po postavlja pred roziskovolca nova vprašanja v zvezi z mikroračunainlSklm vodenjem, ki je podprto z bazo znonjo in bazo podatkov. Podrobno bomo predstavili simbolni opis predmetov ali vzorcev, ki jih razpoznavamo s senzorskim sistemom ter reprezentacijo znanja, na čemer temelji avtomatsko plonlronje akcij pri rozpoznovanju. V mikroračunalnilko vodenih senzorskih sistemih uporabimo poleg numeričnih kontrolnih algoritmov äe možnosti, ki nam jih nudi uporaba mikroračunalnika. Tako bomo videli, da je sestavni del kontrol nego postopko tudi; - simbolni opis (predmeta, vzorca, okolice, ...) - baza podatkov irt ■ ' - reprezentocija znanja. Posebno vlogo v hierarhični modularni orgonizocij! mlkrora-čunolnifko vodenih merilnih sistemov jo treba posvetiti tudi metodam iskanja, ki omogočajo učinkovita primerjanje po- datkov iz senzorja z bazo podatkov in iskanje prave reiitve. No posameznih stopnjah razpoznavanja predmeta ali vzorca izvršimo primerjanje in iskanje po drevesu, ki vsebuje strukturo problema. Pomemben je tudi plan dela, torej strategija zajemanja vzorcev, do bo identifikacija čim učinkovitejia. Oglejmo si reäitev te problemotike na senzorskem sistemu s tipolom, ki je nomenjen robotskemu varjenju. Kontrolni algoritem vodi avtomatski varilni sistem. No podlagi baze znanja o postopku tipanja In varjenja, ter infor-moclj o trenutnem stanju, v katerem se nahaja varilni sistem, se izbere ustrezna faza kontrolnega algoritma, 2. SIMBOLNI OPIS IN BAZA PODATKOV Glavna nalogo večine ročunainiško podprtih senzorskih sistemov je bodisi razpoznavanje predmeto in njegove lokacije ali pa razpoznavanje doiočenego dela no donem predmetu (to je reže, ki jo bo robot voril, Izvrtine kamor »e vstavi drugi predmet itd.). Do lohko ročunotniiko vodeni senzorski sistem razpozna predmet, je potrebno izdelati simbolni opis prostorskih lastnosti predmeto. Če je tak opis pravilno zdruien i strategijo zajemanja vzorcev, lohko no preprost način ropre-zentiromo predrhet ter s tem omogočimo učinkovitejše iskonje po drevesu ter hitrejäo identifikacijo predmeto. Simbolni opis p<^meznega predmeta • P sestoji iz strukturirane reprezentacije njegovih sestavnih delov- To reprezentocija je množica fizikalnih lostrwst! predmeto Fi, i = 0,1,.,. ..., M, no primer (Slika 1); PREDMET{I): povrììno P = Pi ■ ekjtromna x točko EXTX = X( ekitr«(nna točko EXMX = MX I ekitremna y toćko EXTX = Yi ekjtremna -y točka EXTMY = MYI vliina V = VI dolžina D = D1 izvrtino L'= (Lil; LI2,'..,, Lik) k [e iL ixvrtin Itbokllna C = (CM, CÌ2, ..., Ci|) i |e it, Ixboklln (1) (V bodoče bomo rarodl enostavnosti privzeli omejitev, do Imamo zo dan predmet največ eno Izvrtino In eno izboklino.) STOPNJA RAZRED VflEDNOST (n predmetov) , PI, P2, Pn XI, X2, ■.Xti MX1, MX2, ., ,,MXn Yl, Y2, Yn MY1,MY2, MYn VI, V2, Vn Ot, D2, Dn Ll =(»<,>',iir),. .,Lk = (x,y,i)r) Cl=(x,/,iir),..,Cl=<>i,y,z|r) Slika 2: Koza podotkov za rczpoznavanje predmetov In posomeznih vzorcev » pomočjo »enzorjo. 1 f II EXTX III EXTMX IV ÉXTY v ÉXTMY VI V vit 0 VIII L IX C. EXTMX = MX-9 EXrX = X9 L9={x,y,z;r) . Slika I. Oblika predmeta in njegov simbolni opis. ' Podatke o prostorskih lastnostih predmeta organiziramo In reduciramo v stopnjoh. Baza podatkov zo razpórncivanje predmetov in posameznih vzorcev no predmetu s pomočjo intell-gerttnego tipala je organizirano kot hierarhična zbirka opisov predmetovih lasinosll, kjer vsaka stopnja hierarhije predstavlja različno geometrijsko lastnost predmeta. Najprej služi senzor zo detekcijo najbolj znočilnih lokocij r\a povfälnl predmeta, ki jih [e tudi najenostavneje detektirati, kot na primer ekstremno točko predmeto v smeri x, dolžino . predmeto, lokocijo izvrtine itd. Potem riostopi Sele foza de-toljnega razpoznavonja jjosomeznih specifičnih lokocij no površini predmeta. Celoten ta korok Icjer podatke o predmetu zberemo in zreduciromo imenujemo transformocija iz signalne reprezentacije v simbolno reprezentocijo predmeto. Vsok predmet je opison s specifično simbolno reprezentoci jo In tvori bozo podatkov zo mikroročunolniiko vodeni senzorski sistem. Simbolni opis predmetov je shranjen v trajni bazi podatkov In ima obliko preprostih izrazov (simple expression) kot nq primer L4(x,>',z,r) ■ (2) kar pomeni, da ima predmet Stevjlka Stiri izvrtino no lokaci|i (x,y,zl s premerom r. To je sploino znanje sistema m je shranjeno v trajnem spominu. Vsoko stopnjo trojnega spomino vsebuje rozred flzikolnift lastnosti predmetov (Sliko 2), kot no primer rozred povrÜn predmetov, roired ekstremnih točk predmeto v x smeri, lokacijo izvrline, itd. Končno konjunkcija preprostih Izrazov zo dan predmet' je simbolni opis predmeto kot' na primer PI«EDMET9 - X9 A MX9 A Y9 0) kar pomeni, da je predmet itevilka devet opisan s trerhi koli-, činomi, ki jih vidimo i«i sliki I. ' Katere elemente simbolnega opisa bomo pri dejanskem razpoznavanju vključili v bazo podatkov, [e sevedo .odvisno od vrste senzorja, ki ga uporabljamo. Tako bo povrlino ali bolje plojčino tlorisa pri računalniškem vidu koristen podatek,'pri uporabi tipala po odvečen^ Obratno jxi no primer velja za viiino, ki [e koristen podatek pri uporabi tipala in odvečen pri uporabi kamere, ki zazna le tloris predmelo. Baza podatkov sestoji iz mnoiite simbolnih opisov vseh predmetov . 3. REPREZENTACIJA ZNANJA Pomemben problem pri opisu- in Interpretaciji predmetov je reprezentacijo in uporabo vsega potrebnega in razpoložljive-go znanja [NILSO]. Števitne alternolivne reprezsnlar^ije zno-nja, kot no primer mreže, okvirji (frames), produkcijska pra-v.iio in proceduralni opis lahko ponavadi podpirojo hierorhi-čno strukturirano baso znanja. Podsistem, ki vsebuje bazo znanja našega tipalnega senzorskega sistema je podan kot semantična mreža z veinivojskd hle-rorhijo (Slika 3). Izvori znonja so podprogrami la gradnjo modela predmeta, ki ga tvori množico karakterističnih lastnosti (dolžiiai, ekstremno točka v x smeri, lokacijo izvrtine, .,.). Za razpoznavanje objektov In reje, ki noj jo robot vari, služI bozo znanja, ki jo uporabi robot po tem, ko Interpretilo podatke iz senzorjo. Opis predmetov v simbolni obliki In odnosi med posomuznimi. vozli v semantični mreži sestavlja bazo znanja, ki je bolj kompaktna kot pa zgolj podatki Iz seiizorja, torej zajema ntanj prostora v sporriinu in omogoča dobro strategijo iskanja po drevesu. Vozli mreže Znanja predstavljajo lastnosti predmetov (razrede simbolnega opisa) medtom, ko medsebojne povezove med vozli predstavljajo odnose med vozil, Semantična mrežo, ki predslovljo bozo z no njo za razpoznavanje predmetov je nu.to način strukturirana z namenom, do'bi omogočila učinkovito iii hilto iskanje. Vozli v zgornjem hi-erorhičnem nivo|u vsebujejo tiste merske podotke, ki jih je možno določiti z najmanj računal niikego časo in v pilmeru uporabe tipalriega senzorja z najmanj premikanja robotove roke, ki drži tipolo. Včasih lohko že z merjenjem teh osnovnih podatkov identificiramo predmet ali pa vsaj drastično zmanjäomo preostanek dievesa zo iskanje. V primeru, do predmet Se ni identificiron je potrebna izločitev Je drugih značilnosti na spodnjih hieiorhičnlh nivojih, ki ruto omogočojo enolično idonKfikacijo predmeta. Obdelava podatkov iz senzorja na spodnjih hierarhičnih nivojih semaKčne mreže zohle-va ve5 račuiialfiižkega čosa in več spomino, Slika 3: Boza znanjo, podana kot semantična mreža z več-nivojsko hierarhija. Poglejmo kako tvorimo seirigntično mrežo, ki pfedjfavlja baio znanjo. Za vsoka fiilkalno kolićino F tvorimo AND-OR grof, ki ima sledeče lastnosti i) vsebuje vrednosti donu fizikalne količine Fi za vse predmete i (a = Bi ■ podolki v ba/.i pUikjll(ov la pieJtnut i {trojni spomin); M - Število ultimoiilov v bui i podolktiv, l«i so povezani s prujSnjiin vozlom, to je število poiomtev vozla 1). Vsu vozle, ki iiimjo vnidnos! funkciju podobnfuti P večjo kot p (p 0.1')) ok I es limo (p^aj ui ujenosi i (iv) imm pospoS! klestdnje) in likonje s« noduljujo na nuslednjeiii nivoju z re-duciiatio rtMbffj znnrtju. Na iliki 4 vidimo, da smo v primeru o okletHH 3/4 dreve-to, v primeru b pa 1/3 drevesa. ■ koren , |p=0Ti0[[p°Ó,9(|p'0,8Ì|p = 0,6l pVsj q) b) Sliko 4: Klestenje drevesa, ki »emel|l na funkciji podobnotri P. Kles^en|e temal|l na Izrafunu vrednoirl funkcl|e podobnoirl P, Tuke je vrodnMt Funkcije P element ki «luil xa arodn|D Iskolneoa dreveio In doloici mnotieo potomcev, ki jih borno obravnavali na naslednjem nivoju {Slika 5). / _____ •^EllTHXtHXg.HXlOl filli imi 111,11. II, III,II,nt, IH,HC.liti iiiHn cu NU 1 ,,..) [I1HII EKtNlJ IN)],Hill. 1 ,..,1 .J!i1_l_ slika 5: iskaino drevo za roi poz no van j e predmetov, ki uporabljajo funkcijo podobnosti P no vsokem nivoju. 5. delovanje ìntelìgentnega tipala v realnem ■ času Ko sprejme robol predmet, ki noj 90 zavori, je treba najprej identificirati ioltocljó reže, Čeprov je idealna lokocijo reie shranjena v robotovem spominu, je dejonska lokacija reže pogosto premaknjena. Pri veiinl industrijskih aplikacij v robotT skem varjenju lozpoznavanje predmetov ni velik problem ker porwvadi poznamo tip predmeto,' ki naj ga robot zovari. Toda strategija identifikacije reže in kiosifikocije predmetov je podobno v smiiiu, da 1 tipalom robot "otipa" rozlićne ioko-cije na predmetu in zbira informacije postopoma, (Sliko 6), Tako na pritner robot razpozna neznani predmet tako, da najprej izmeri EXTX. Po tej metodi je neznortt predmet lahko eden od sledečih t predmet 2, predmet 9, predmet 10, predmet 13, predmet 16, predmet 19l , Po meritvi EXTMX j s nainani predmef samo Je eden od { predmet 9, predmet lO) , Po meritvi EXTY po je jasno, da gre za predmet 9. Sliko 6t Grafiien prikaz gibanja robotove roko , med postopkom Identifikacijo predmet«. Ko je predmet, ki gd je treba variti poznan (bodisi, da ga robot identificira sam ali pa sprejme to Informacijo) začne robot s strategijo za identifikacijo reže. Ta strategija zavisi od vrste predmeta fn od orientacije povrälne predmeta. Robat premakne tipalo k povräinl predmeta, blizu reže. Potem vleče tipalo tako, da Iglo drsi .po povrälnl predmeta vse dokler ne registrira s tipalom reže (točko Pg na sliki 7), Nato se tipalo pornokne proti začetku reže (točka Pb na sliki 7) in ga registrira z značilnim nenadnim odmikom tipalne igle. Sedaj je natanko znano lokacija zočetko reže. Slika 7j Grafičen prikaz gibonja tlpoia med procesom identifikacije reže. Ko je predmet Identificlron In to znane koordinate začetka reie, je nalogo tipalu detektirati odmike dejanske trojektori-je od idealne. Na podlogi izhoda iz tipalo upravlja mikroračunalnik po^icioniranje varilne Sobe. Sistem je trenutrtó v rozvojnl fazi. Tipalo je pritrjeno no avtomot za vorjenje t tremi prostostniml stopnjami. Ta sistem uporobijomo za laboratorijsko testiranje avtomatskega odaptivnega sledenjo tridimenzionalnih traj^ktorij, Pričakujemo, da bomo končno verzijo sistemu z inteligentnim tipalom uporabili za razpoznavanje 20 do 40 predmetov ali lokacij no posameznem večjem predmetu in za sledenje večine tridimenzionalnih trajektorij. 6. ZAKUUČEK Namen raz tika ve obsega releva n|e pereiìh problemov mikro-raòunalnUko vodenih senzorskih tìitemov, ki podpifajQ delovanje zahtevnih fobotikìh procesov. Rezultati raiiskov lo llu-striroi^i na primerih tenzocikego »Utetna i iipaiom. Raiunalol-iko podprr senzorski sistem za uporobo v robotiki zahteva pri-itop, ki je problemsko orientiran za rozpoznavan[e predmetov In !ctentifikocl[o reže. Samo na ta način je lahko kontrolni sistem za tipalo majheti (n učinkovit In ga |e mogoče Implementirati ria mikroračunalniku. Predlagali smo hierarhično organizacijo baze podatkov to da-r^e predmete. Uporabili smo optimal nI žarkovni algoritem primerjanja in iskanja, ki je zlasti primeren za razpoznovarije predmetov v Industrijskem okolju. Metoda reievanja posamez* nih problemov in celoten sistem, ki smo ga opisali je mogoče razširiti no večje itevi lo predmetov, kolikor jih poč lahko robot streže, Sledenje reže z opisanim sistemom smo testirali v laboratoriju^ ne pa !e med postopkom varjenja oli v električno motenem industrijskem okolju, kjer bomo morali yporabiti dodattvo xa-JČ i to proti elektromagnetnim motnjam. Za postopek razpozrKivanja predmetov In avtomatskega Iskanja začetka reže {e potrebno Imeti tipalo, ki vsebuje poleg dveh pasivnih prostostnih stopenj tudi eno aktivno notranjo prostost-no stopnjo. Tak® tipalo je trenutno v izdelovl v noiem laboratoriju. S.tem tipolom bomo povečali itevi lo možnih strategij "tipanja" In hitrost posameznih faz tipalnega postopka. Z novifn aktivnim tipalom bomo ludi preizkusili opisane ttrote-gije razpoznavanja predmetov-In avtomatskega iskanja začetka reie. ZAHVALA. Zahvaljujemo se Razvojnemu Institutu Iskra za uporabo modularnega avtomoto zo varjenje, 7, LITERATURA iBOLBIj J, G. Bollingert Using a Toctile Sensor to Guide a Robotic Welding Machine, Sensor Review, No. 3, July 1981. fLAG79l B, Loflerlof, Current Industrial Robot Applications for Arc Welding, Proc. 9th Int, Symp. on Industrial Robots, Woshlngton D.C., 1979, pp. 99-10Ó. [ NIL801 N.J. Nilson : Pri nei pies of Artifi eia I Intel I Igence, Tioga Pub. Co., 1980, IPRÉ81AI S. Prelern et ol. : Tactile Sensing System, with Sensory Feed-back Control for Industrial Arc Welding Robots, Proc. 1st Int. Conf. on Robot Vision and Sensory Control, Stratford-upon-Avon, 1981. I PRESISI S. Prelern, I. Ozi mek In M. Spegel: Mikroprocesorsko vodenje senzorskega sistema za robotsko varjenje, informatico 4/Bl, pp. 33-35, 1981. jRE078] D.R. Reddy in S. Rubin: Representation of Three Dimensional Objects, Technicol Report, Computer Science Deportment, Carnagle-Mellon Univeiilty, 1978. MIKRORACUNALNlSKI SISTEM ZA VODENJE VISOKOBEGALNIH SKLADfSC JANEZ PETELINKAR UDK; 658.78.011.56:681.3 ISKRA AVTOMATIKA, TOZD PROJEKTIRANJE IN GRADNJA SISTEMOV, LJUBLJANA Microcomputer system for control of hlgh-level-ahelf stores Abstract . . The article gives the layout of .mloro'computer syatera for control "of storage with In tire- factory VAZ Togliatti in USSR. high-level shelves Hiorooomputer system is aseemlsled of terminal station on shelfi-llfts and central .miorocomputer which takes care for work coordination and connection with purchaser coraputer frei which the dsraande for delivery of tires from production are transmitted, The system enables-automatic operation of the stor? vher'e the purchaser computer at the beginning of the shift transmitts ■ the data about ne.oeasary quantities and sort of tires however microcomputer system independenty assures a correct, material supply from the store. Miorocomputer system solves also the problems about supply and delivery of material .from the store and. enables a supervision of the whole system by operating'register. Microcomputer system' has two modes of operation, automatic and manual one being performed by operational keyboard, Due to its reliability the central microcomputer has a atand-by. Data about the arrangement of material in the store are for reliability reasons sent also, into the purchaser computer. '?hì3 enables the reestab-liahment of system operation at every moment. MikroraSunaln'iäki sistem za vodenje visokoregsilnih skladiš£ v visokoregalnem Povzetek: Članek pb^aja koncept mlkroraäunalniäkega sistema za vodenje procesa skladiščenja skladišču gum v tovarni VA2 Togliatti .v SZ. Hikroračunalniški 'sistem sestavljajo končne postaje ■ na regalnih dvigalih in . centralni mikroračunalnik, ki skrbi aa koordinacijo déla In povezavo z računalnikom kupca preko katerega prihajajo zahteve za izdajo gum proizvodnji. Sistem omogoča avtomatsko delovanje- skladiSča, kjer računalnik kupca ob začetku izmene pošlje podatke o potrebni količini in vrsti gum za proizvodnjo v izmeni. Mikroračunalntškl sistem nato samostojno skrbi aa pravilni odtek materiala. Ib akladisSa. MikroračunalniSki sistem reäuje tudi probleme hkratnega pritoka in odtoka materiala'v skladišče ter preko obrato'valnega protokola omogoča nadzor nad celotnim'sistemom. Hikroračunalnižki pozna dva naSina obratovanja, popolnoma avtomatsko obratovanje ter ročno upravljanje preko funkcijske tastature. Zaradi zanesljivosti delovanja je centralni mikroračunalnik podvojen. Razpored materiala v Skladišču pa zaradi povečanja'zanesljivosti pošilja tudi v računalnik kupca. S tem je y vsakem trenutku omogočena ponovna vzpostavitev operativnega stanja sistema. 1. Naloge .računalniškega sistema v avtoma-tisiranem skladišču 1 .1 Naloge .centralnega (oskrbovalnega) računalnika v skladišču Odvisno od velikosti in tipa skladišča, organizacije celotnega skladiščnega poslovanja in nivoja avtomatizacije skladiščnih operacij se naloge oskrbovalnega računalnika močno razlikujejo, vendar jih je možno deliti v dve . skupini: obvezne naloge in fakultativne. .Pri obsežnejšem skladišču nora oskrbovalni računalnik opravljati naslednje naloge: - vođenje praznih skladiSčnih lokaoioj po vrstah, skladiščne transportne enote (gabaritih)', - vodenje zaloge na posameznih skladiSčnih lokacijah s šiframi vskladišBenega materijala, - vodenje skupnih zalOg posameznih vskla-diščenih artiklov, - vođenje datumov sprejema posameanega artikla v skladišče, . - izpis skladiSčnih dokumentov (izdajnic, dobavnic). Liata fakultativnih nalog je obaežnejSa: vodenju cene poBameenlh artiklov, - evidenca in prednost Izđajć a naöetlh skladläßno ~ transportnih enot, - rok uporabnoKti posumeanihfl artiklov (akaderioa), vodenje evidence o posebnih laotnontlh blußa (napake, poaabna Izvedbe, barve in 81.), - doloftitev iaViora akladliSSno - tran-a^jortna enote, ki se leti dan koimialonlra Ka vefi komleionov In ae tako popolnoma izprazni, - predpisovanje az. izbor predpisano sklrtdLSčno - transportne enote aa akladiäöenje poaoraeanih artiklov, - naöin akladanja artiklov na akladl.üäno -transportne enote po vnaprej prodpiaanem VKorcu, - optimiranje eklađlšSnih manipulHClj transportne opreme z uporabo dvojnih ciklov pri povratnih nafilnih aklndiSSanja, - izpia komialonirnagu lista po naŠalu Btrategije najkrajših poti mehanakih pomagal , - iKpla nalogov aa vnoB oprejetega blaga, " iapia nalogov za innoa blaßa pri skladiščih K ro6niw krmiljonjem mehani ai ranih nuprav, - isbor altornatlvnih doaegljivih akladiš-änih enot v primeru okvare posameznih mehaniziranih pomagal, " aiÉ'.nalizacija kompletiranju poeamearilh nfiročll, - adreuiranje poälljk. t. 2. Naloga mlkroraSunalniäkega krmilnega alatema V odvlru vodenja procesa akladiSčenja prevaema mikroraSunalnlSki sistem naslednje naloge: -- komurilniranje k nadrejeniio raixinalntkom aaradi pravsamu nalog in pošiljanja po-aehnih infoniiactj o spremembah fjtanja v BklRdiSfiu. Nh1o^;q je možno |joraređovati poaamlÄno ( pofiamoKon hod dvlf^alu) all skupno aa časovno obdobje (obläajno bo to iKinena). Povratno Informaci jti o Invr:it;n'lh nalogah omogočajo arhiviranje potinetku utanj t)kladi?)Ča v nadrtijontjm ruiSunaltiihu. To je pomeinbno za uarno materialno poslovanje akladiSča In hkrati povočuje zanesljivost delovanja rnLkroraSunalniäkeßa aiatema (možnoat obnovitve stanja ob mortibitnem izpadu mikro-račiinalnlflkeg!! aintema ). - vodenje ragaltiih dvißal no OHnovJ dobljen« nal.o^jP! iK nudro jöiiop;) računal tilka ali naloga, ki p,ii vneuu optirater |if(!ko ftinkoi Jaka taatiituro. Vodenja invnjajo končna postaja (tiiikroračunnlnik ali prOHl;o--pro/;raml rnl eifitem K Kmožnoatjo komiin Lol fanja a centralnim mik roi-ačunalnIkom) na odnovl ukn?,a 1k oantr.alno po«taja, - vodan J iS transi por Ln{!/;a siahcma nO. on nov i (iobljanef^n nalojin iz nadraji'na/ra računalnika all iz runktiijtike tan ta tu re. Vodanje ue izvaja prako končnih ponta.) ali neposredno prekf) (tij/J tai niii tKhiidov. - nadKor nad stanjem regalnlh dvigal In transportnega sistema. Nadzor obsega prlkaa trenutnih poKlclj regalnih dvigal na numeriČnem prikazovalniku in eventualno prisotnih alarmnih ulgnaliKaclj na ainoptlki in v obrato-valtium protokolu. Obratovalni protokol lahko obenem vsebuje tudi zapis vneh opravljenih nalogov. Stanja rogalnih dvl(',ttl zajimajo končno poutaje na rezalnih dvigalih. Stanje truntiportnoga aiutema zajemajo neposredno diijitalnl vhorli ali končne postaje. Stanje tranapotrnoca alstema je prikazano na alnop-tiki. Alarmno eignaliaaolje ao protokolira-ne. 2. Zgradba o i sterna Oskrbovalni dal sistema Je odviaen od namomb-noBti akladiftfta (število skladiščenih artiklov, Stavilo laanlpulaeij). NJeßovo konl'lßura-cijo je potrebno določiti v vsakem primeru posebej. V primeru, ko gre za skladišče a majhnim Številom artiklov (do 100) je možno tudi na teia nivoju uporabiti uotrö7,no konflfiU--riran mikroračunalnik. Krmilni del ne konceptualno ne spreminja. V odvisnosti od velikosti skladišča in števila upravljanih podniatamov se spreminja Število končnih postaj in Stovllo difjitalnih vhodov/lBhodov, Periferija aiatema Je odvisna od zahtev kupoa. Končna postaja (mikroračunalnika ali PPS) predvideva zajem oca 60 bitov sl;;nalliSBGiJ .(vključno s poaieijo) in izdaja do 60 komandnih bitov (možna raaširitov z dodatnimi vhodno/lahodnlml moduli). Opremijona Je z 32 kB pomnilnika (RAM ali ROH) in modulom za komunikacijo Ö centralno poatajo (od 50 Bd do 600 Dd).. Centralna postaja fsklad i .'inega sistema oTOOROČa priklop do 20 končnih poataj (rezalnih dvigal) v atand-by režimu ali do 10 končnih postaj v hot atand-by režimu. Opremljena Je z 2 x ć'lkB pomnilnika (HAM in TiOM). Centralna postaja skladišnega sistema je a koaSiiiil postajami povedana v Kveadasti konfi-(ajracLjl preko induktivnih zank. Povezava krmilne£>u in oaki'bovalnO(',a računalnika je serijska asinhrona po protokolu RS ali nS 4P2. Protokoli rno-posluževal ni podalatein omO(^oča prikaf. informacij na l^brannm oiedijii (plsaJ-nik, alla/numerlČnl tormina!) In Izbrani načtn poni uäovunja (fiinkoijaka taatatura, (ilfa/nnmerlčna tastatura). Centralna postaja t ril nn portnf-ra nlatama zbira podatku iK trfirisporta.jj'.a sistema iireko ser-Ijako poviBKMve o končnimi pootfijamJ all/ln prifUo •llf'.italnlh vhodov (odvisno od fitevSla liiforraaol jfi in njihovu prontoraka porazdelitve). fiulotni krmilni iilatam J.i zasnovan In ) u o snaći Je skup «'U*', gde au u ^'samo cnl parovi iz * čije druge komponente nisu u Don e, a u e' su svi parovi oblika (tjA, za koje Je , i«l,.,.,n. // . Iz definicije se vidi da Je kompozicija dve supstitucije takodje supstitucija, tj. da je 8ktq> Y zatvoren u odnosu na operaciju konpozlclje. Ta-kodje se jednostavno pokazuje da je koiif>ozlclja supstitucija asocijativna. U skupu postoji 1 neutral u odnosu na operaciju ko^ozlclje, to Je prazna sx^stltuclja t,-koja svaku proinenljlvu prevodi u samu sebe. Dakle (V,*) je asocijativan grupold sa 1. Kako je jasno da svaka supsUtuclja nema sebi ittverznu, pogledajmo koje uslove treba da zadovoljavaju supstitucije e La, da bi vaillo e.a = e " a-e. Heka je . 9»( Ctj,Xj).., (t^^.x^^)} 1 ,..., (Spj.Xj,) ) r tada Je e*o"e'U(T'"{ yjrf Dom 6),>l,...,nt B^e-y^.y^eDom e U tom aluöaju su domeni ove dve supstitucije jednaki, a njihovi tenni su £> romeni j i ve. Tako dolazimo do zaključka da su jedine supstitucije koje zadovoljavaju navedena uslovei i) prazna supstitucija i 2) supstitucije koje biunivoko preslikavaju skup proinenljivih na samog sebe 1 u tom slupaju iz sledi U literaturi se £esto koriste supstitucija koje se nazivaju invertibilnlm, ali kojima bi vlSa , odgovarao naziv slabo invertibilne supstitucije. Def.2; ),..., Je slabo Inverti- bllna supstitucija akko su svi termi t^ međjueob-na razlifilte promenljlve, u kom sluCaju je Slabo invertlbilnlh supstitucija Ima daleko vlSe netjo invertlbilnlh, ali kod njih, kao Sto (^emo videti ne važi klesiöna definicija inveranosjtl: tako je ^ lui ^ Doii! 'j« e nett, u sluCaj-u (XÜ ja e Invortibilnti u'etroZijeni smislu,kao Sto je i e u opStein isluönju, Prlmuri " j^f (x.y), (y,;i), (b,x) ), Oj -Ui,x),(x,y) (y,xi ), Civdu aanio eupetltucija "j printatavija j>ritiier invortibilnti uuiJi;tlUucije. Skup Invertlbilnlh ouiieti tuci ja čini yrupu u odnoau na o^jurctclju koiiiiioziolje. Oataje joB da vidimo da 11 kort neklli Biipatltucl- ja ,kompozicija ir.ia tmoMnu V.omutatlvnostl. ■ Nökä SU date aiipstltucl Ja 0= )( tj , x^ I ,...,< t^^, 1 ""'(Sj (Yj ),..., ), njihove Uc in t kì cJ ji:> đemo prikazati .il.1 i.J.(ilc<.i na&ini U U8^,yj)/(!.j,yjto Dom g) BjO^y^, y^eOuir. (<' Dom q Da Li ova dva skupa bila jednaka, moraju va£ltl siedete jednakosti i 1) za eve Oom(a), mora biti t^ojSXj 1 t^a-t^, 2) za »ve Dom ,mora biti »jSJ^Vj ^ ojö"«j f 3} Ka svako y^cl^m (u)r\Đom (0), takvo da je fijO ^ postoji Xj^e Dom (a)oDo)» (e) takvo da je Xj^-yjiX^jft^o 1 tada je tj^o - s^e . Obrnuto, za svako Xj^ iz preseka domena, postoji njenu jednako y^ takvo da vaie navedene relacije. 4) ako je y^cDom (at) n Dom (9) 1 a^o yj ■ "«ra biti' za neko is fireseka domena, "j^^Vj ^ Sumirajmo sada navedeno Slnjenice: proizvod substitucija sa nG|.}raznin> presekom domuna je komutativjm aVko uu zodovciljcnt sledeči uslovii a) oni parovi u uO) koji imaju druge komponente van Dom (o)nDom (3) imaju za prve komponente teme u kojima ne učestvuju promenljlve Iz Dom (S) ( Dom (g) ). b) Oni parovi u g(e> koji imaju druge komponente iz Dom(a)nDom(e), 1 aa koja je y^f's^eiXj^j'tifl) imaju prve komponente takve da vaie jeiiakoatl tj^a ■ Sje» dok parovi u o(e) kod kojih je yj"»j$ imaju za prve komponente promenljlve 1 va£l s ledette I ako je y|^cDoiu(e t-e-a » t, pa su 0 i o inverane supstitucije. Poslednja mogudnost je da su 6 i a prazne 1 tada svakako mogu da komutiraju. Primer« a) (f(žj''* «-Mzi .VjJ ,<9(b> .y^il,«'®- tìWo - o.e b) tìo) (z,x) , (a,z^) ) i o-((a,z),Uj,x)) 0.i),(a,s),(a,i«j)) c) e- (,(a.Xj)) , o- {(z,Xj),(Xj,?),(f(b),y)) e-o = ( (a,• (f (b) ,yH - a.e Kako smo videli, Inyertlbllne supstitucije pripadaju akupu supstitucija koje mogu da komutiraju sa svojim parom. Ali da bi za ceo skup vaillo pravilo komutatlvnostl/ ono bi moralo da se odnosi na svake dve supstitucije u skupu, bakle, cakljufiujemo da sujedln^ podgrupe ranije kon-struleane grupe supstitucije koje su Àbelove, trlvljaln« podgrupe, koje Cine samo neutralni element «,ili NOVICE m ZANIMIVOSTI Podjetje SPL International je ustanovilo evropsko skupino vodilnih industrijskih in raziskovalnih organizacij kot odgovor na japonski načrt pete računalniške generacije, po katerem naj bi se Japonci v letu 1990 pojavili na trZi- sču s popolnoma novimi in različnimi vrstami računalnikov. Ta skupina izpolnjuje pogoje ALVEYEVEGA poročila britanski vladi v zvezi s peto računalniško generacijo, SPL ugotavlja, da je vladna investicija v razvoj pete računalniške generacije nujna, na razpolago pa je zaenkrat za te namene 350 MlL'Ijonov funtov, in sicer .za„industrijske raziskave, podobne japonskim. Skladno z Alveyevim poročilom je .bilo konec lanskega leta ustanovljeno podjetje imperial Software Technology; njegovi ustanovitelji so Imperial College, National Westminster Bank, PaCTEL in PlESSEYj to podjetje naj bi organiziralo industrijske in univerzitetne raziskave predvsem v.smeri nove programirne in programske tehnologije. Nadalje je šest podjetij, med njimi SPL, Pactel )n Logica ustanovilo skupino za skupen razvoj programske opreme za peto računalniško genera- CIJO, l je medtem organiziralo tudi prvo po- svetovanje o peti generaciji izven. lAPONSJi IN SPLova skupina insight bo delala na dveh področjih: na sistemih, ki so osnovani na znanju in na povezavi s končnim uporabnikom. . DeLO bo vodil svetovalni kolegij osmih članov- med njimi sta tudi Alex d'égapeyeff- in Bob Kowalski, izvedenca za jezik Prolog, ki so ga Japonci izbrali za razvoj programske opreme pete generacije. skupina Insight je omejena na 20 organizacij z letnim prispevkom 7000 funtov, s temi prispevki se bodo pokrili izdatki dvotedenskega študijskega potovanja po svetu in v japonski, z ogledom raziskovalnih središč. izdalo svoj izvedenjski sistem Sage, I Pri nas o podobnih pobudah doslej nismo razmišljali: izjema so posamezne delovne organizacije, ki so začele oblikovati skupine izvedencev za usmeritve prihodnosti na področju računalništva in informatike, Na področju skupščinskih in vladnih institucij pa se podobne pobude doslej niso pojavile. a,p.železni kar Več dejavnikov napoveduje konec miniračunalni-kov) med njimi je tudi predsednik največje neodvisne softwarske hiše MSA international, MIkroračunalniki vse bolj spodrivajo svoje starejše predhodnike, saj njihova zmogljivost narašča, cene kabinetnih mi ni računalni kov pa se morajo spričo tega zniževati, To mnenje potrjuje tudi vrsta strokovnih sestankov. na mesto minijev bodo stopili bolj inteligentni Ml kroji v obliki računalniških delovnih postaj in te bodo komunicirale z velikimi kabinetnimi računalniki. Največji problem današnjih mikrojev je napor, povezan z vnosom podatkov pularne aplikacije, kot je rabnik si danes dejansko želi ga vnos podatkov bistveno omejuje, &TKOV ZA NAJBOLJ, PO-NPR. VISICALC,. UPO-LI KOMUNIKACIJO, KER V PRIHODNOSTI JE POTREBNO RAZVITI PREVSEM KOMUNIKACIJO MED MIKROJI IN KABINETI, TAKO DA BO ZAHTEVNA PROGRAMSKA OPREMA KABINETOV DEJANSKO DOSEGLJIVA TUDI UPORABNIKOM MIKROJEV IN LE DOLOČENE PODATKOVNE PLASTI NAJ BI SE POSREDOVALE HIKROJEM, to DRUGIM NAJ BI TO OMOGOČILO TUDI DOBIVANJE PODATKOV IZ KABINETOV ZA POTREBE PROGRAMOV V MI KROJIH. S TEM BI ODPADLO INDIVIDUALNO ZAJEMANJE IN VSTAVLJANJE PODATKOV. PRVA RESNEJŠA POVEZAVA KABINET/MIKRO JE„ PREDVIDENA ZA IB'IOV OSEBNI RAČUNALNIK (PC). KOMUNIKACIJA BO TEKLA SKOZI PROTOKOLSKI PRETVORNIK MED KABINETOM IN TELEFONSKO LINIJO Z MIKROJEM, TA PRETVORNIK BO MOGOČE VGRADIT! TUDI V PC, A,P.ŽELEZNI KAR Razvoj novih mikroračunalnikov je vselej povezan z velikimi napori razvijalcev, še posebej tedaj, ko gre za inovacijski razvoj, v to kategorijo razvoja sodijo npr. razvoj ApPLOVE .isE, Fujitsujevega micro 16 in tudi Deltinega 'artnerja. Najbrž bi se večkrat morali vprašati, kdo^so ljudje, ki so uresničili take projekte. Druga vprašanja, ki se ob tem nujno postavljajo, pa so še način organizacije projekta, kvaliteta in koncentracija razvojnih kadrov, izjemni pristopi k delu in izjemni odnosi do kadrov, posebno delovno ozračje in nujen pojav kriz v času razvoja, nesoglasja z menažer-sko strukturo, izoliranost inovacijskih projektov od drugih projektov v podjetju itd. SiLICIJSKA DOLINA, KI LEŽI 70 KM JUŽNO OD SAN Franc i sca, je zibelka ^ste inovacij na področju' MIKRORAČUNALNIKOV, To JE DOLINA MAJHNIH NASELIJ IN POSEBNIH LJUDI, KI KUJEJO MIKROELEK-TRONSKO PRIHODNOST -REVOLUCIJO NAD TEHNOLOŠKIMI REVOLUCIJAMI. - PoSEBNE VRSTE DRAMA V SlLI-CIJSKI DOLINI je bil TUDI RAZVOJ MIKRORAČUNALNIKA Lisa, prave,inovacije podjetja Apple, ki ima svoj sedež v Cupertinu, Lisa je izredno uPORABNIŠKO PRIJAZEN !N DOLGO PRIČAKOVANI MIKRO" RAČUNALNIŠKI (osebni) sistem, ki je zbudil NAJVEČJO POZORNOST V TEHNOLOŠKIH IN POSLOVNIH 0-KOLJIH STROKOVNJAKOV. V DVEH LETIH TEGA RAZVOJA SO SE POJAVLJALE NAJRAZLIČNEJŠE VESTI O NJEGOVI FANTASTIČNOSTI, O POPOLNOMA NOVIH, LASTNOSTIH OSEBNEGA RAČUNALNIKA, V PROJEKTU LISA SE JE RODIL NOV STROJ, KI IMA VSA ZNAMENJA SKUPINSKE INOVATIVNOSTI IN GA JE SPRIČO TEGA VREDNO NATANČNEJE SPOZNATI. Vodja projekta (J. Couch) je prišel v Apple za POLOVIČNO PREJŠNJO PLAČO OD HEWLETT-PACKARDA V LETU 1978, VENDAR Z VZNEMIRLJIVO NALOGO, DA OBLIKUJE STRATEGIJO PRIHODNJIH SISTEMOV OSEBNIH RAČUNALNIKOV, ZE TAKRAT JE BILO JASNO, DA JE TREBA ISKATI GLAVNO SMER NAPREDKA V PISARNIŠKIH SISTEMIH, TAM KJER OBSTAJAJO VIRI ZA PRODAJO NAPREDNE TEHNOLOGIJE. DRUGO IZHODIŠČE JE BILA UGOTOVITEV, DA JE NASLEDNJA STOPNJA NAPREDOVANJA TKIM. PROGRAMSKA REVOLUCIJA IN DOLOČENA A-PARATURNA EVOLUCIJA, iME LiSA JE BILO IZBRANO KOT IME UPORABNIŠKO PRIJAZNEGA SISTEMA IN TEMU CILJU SE JE PODREDIL PROGRAMSKI IN APARATURNI RAZVOJ, ■ Določene izkušnje , na osnovi 80, kjer je bilo za poenostavitev njegove.uporabe potrebnih več in več novih programov, na tem primeru je _ _ SO BILE DOBLJENE NEPRIJAZNOSTI MIKRORAČUNALNIKA TRS-S POSTALO JASNO, da BI BILO MOČ VRSTO MEHANIZMOV INTEGRIRATI V OSNOVNI SISTEM,TAKO da B( apliKACIJE POSTALE LAŽJE REŠLJIVE. PROJEKT LISA SE JE ZAČEL IZVAJATI S ŠIROKO PERSPEKTIVOt STROJ NAJ BI BIL PISARNIŠKO USMERJEN, ZMOGLJIV IN LA-KHO UPORABEN, Pfil TEM NI BILO POVSEM JASNO, KAKO naj Bi BILI TI cilji DOSEŽENI, KOT PRVO SE JE POSTAVILO VPRAŠANJE UPORABNIŠKE POVEZAVE, KAKO NAJ BI UPORABNIKI UPRAVLJALI S STROJEM. Do TEDAJ SO BILE ZNANE TKIM, TIPKE MEHKIM FUNKCIJ, TODA NI BILO JASNO, KATERE NOVE IN OBSTOJEČE TIPKE IZBRATI, V DECEMBRU 1979 TO VPRAŠANJE SE NI BILO REŠENO,. IMPULZ V DOLOČENO SMER SE JE POJAVIL PQ OBISKU XEROXOVEGA RAZISKOVALNEGA SREDIŠČA V Palo Altu, kjer je bil razvijalcem^ podjetja Apple prikazan sistem Smalltalk. Ta sistem je bil nenavadno,,prijazen z intenzivno UPORABO z roko POMIČNE-"MIŠKe",. KI JE POMIKALA KAZALEC NA TERMINALSKEM ZASLONU. APPLE SE JE KASNEJE ODLOČIL ZA UPORABO MIŠKE OB UPORAB! TASTATURE. AEROX SVOJEGA RAZVOJA NI SKRIVAL, KER NI BIL POSEBNO ZAINTERESIRAN ZA podroČJE OSEBNIH RAČUNALNIKOV, inJAKO^se JE GLAVNI RAZVIJALEC SISTEMA SMALLTALK (L, TESSLER) PRIDRUŽIL PROJEKTU LISA, Odločitev za uporabo miške je zahtevala tri mesece in tri mesece po sprejeti odločitvi je ž£ bil narejen prototipni stroj, ožičena vezja, VALE TLA IN Ml-ZBIRA PROCESOR- m tiskane plošče in žice so prekr ze, toda sistem je že deloval,. ja in drugih vezij je bila pogojena z OBSTOJEčimi industrijskimi standardi. naSLEDNJA faza, katere naloga je bila oblikovanje uporabniške povezave - to je. bil vjdik, od katerega je bil odvisen uspeh ali padec llse - je zahtevala veliko mero. poskušanja, eksperimentiranja. v tej fazi je bila razvita vrsta izboljšav in sprejete so bile odločitve o osnovnih funkcijah programske opreme. Pojavile so se zamisli vrstečih se menujev, pomičnih palic in posebnih pro-^ cedur za zapleteno uporabo kurzorja iN „miske, ki. bi nadomestila funkcijo tastature, PoSEBEN problem je bila tudi odločitev 0 številu tipk na MISKI (idealno ena sama tipka z določen stanjem kurzorja pri trenutnem stanju zaslona Uporaba miške je tako postala osrednje vprašanje razvoja novega sistema, slstem naj bi tako POSTAL LAŽJE uporabljiv.predvsem za začetnika. < temu je bila dodana se zahteva, da naj bi začetnik s sistemsko podporo obvladal uporabo sistema v POL URE. Načrtovanje te nove povezave je zahtevalo VZORČEVANJE uporabnikov, predvsem uslužbencev podjetja apple, med njimi direktorjev, RAČUNOVODIJ in" drugih brez izkušenj z računalniki, Opazovanja in-preizkus) so bjli o-prevljenl pod nad20r.stv0m izkušenih psihologov in shfianjeni na videotrakove, V jeseni 1980 je bila uporabniška povezava v glavnem določena in razvijalci so se začeli dogovarjati z uslužbenci iz marketinga, katere vrste uporabe naj bi bile razvite do prve najave novega sistema, te osnovne funkcije so bile izbrane takole; " procesiranje teksta grafika . finančno modeliranje V treh mesecih je podjetje pridobilo 20 novih programerjev s povprečno degqletnimi izkušnjami) prisli so z vseh strani ZDA in v tem razdobju so se privajali skui-'inskemu delu in začenjali z d^lom na projektih, Prva, groba .verzija aplikacijskih paketov je bila končana poleti 1981. Ta verzija je imela šE vrsto napak, vendar je omogočala interaktivno delo na sistemu, najtežja naloga te faze je bila integracija aplikacijskih paketov s premetavanjem podatkov naprej in nazaj, s prikroje-vanjem tekstov in usklajevanjem operacij. cilj TE faze JE bilo zaslonsko krmiljenje funkcij z uporabo tkim, namiznega upravljavnika, pri tem je število nalog tako naraslo, da je bilo potrebno uvesti PERT metodo planiranja ob upoštevanju vseh vidi kov.projekta. dlagrami PERT metode so se dopolnjevali in spreminjali vsak teden, Tako je bila dosežena visoka motivacija in vzburjenost slehernega razvijalca pri izdelavi novih programskih paketov, na samem začetku se je pojavilo tudi tipično (laično) nasprotovanje marketinga (značilno za inovativne razvojne tlf'e), ki je prenehalo šele z osebnim prepričanjem, da so novi paketi resnično uporabljivi im boljši od dosedanjih pristopov na drugih računalnikih tipa Apple, TaKO je projekt .isa postal regularna produktna linija [n kasnejše marketinške študije so le potrdile njegovo tržno primernost in proizvodno masovnost. Rojstvo Lise se je zakasnilo za dve leti v pri-. merjavl s prvotno planiranim rojstvom in določena uvidevnost podjetja je bila prav gotovo potrebna v oblo«i polne podpore menažmenta. inovacij namreč ni mogoče v celoti" vnaprej obvladati , konflikti med menažmentom in novim projektom so vselej ostali na nivoju ožjega vodstva projekta in niso obremenjevali razviJALCEV, StEVILNE izboljševalne iteraci je razvoja šo znantno zakasnjevale dokončanje razvoja (n s tem končno obliko novega produkta. NaJBOLJ kritično obdobje je nastopilo pri integraciji sistema, tj. pri integraciji aplikacij v okviru tkim, namiznega upravljalnika. ta povezovalni mehanizem naj bi omogočal aplikacijam dodeljevanje določenega programskega koda, v dovolj kratkih časovnih rezinah. V juliju 1982 so. se aplikacije končno lahko izvajale simultano v okviru namiznega UPRAVLJALN1ka in uporabnik se je končno lahko brez težav pomikal od ene aplikacije k drugi, Kljub temu uspehu in proslavljanju novega produkta se je skupina inženirjev odločila, da se vrne na delo in da vstavi med aplikacije še določene izboljsevalne segmente. ta postopek je zahteval še nekaj dodatnih tednov dela, ko so bile odstranjene še nekatere' napake in stranski učinki, 11 Ko je bil projekt Ll tje Apple v jun proizvod Apple dela, Pritisk Se povečal, v nih že 50 uporabn programske opreme. KI dela, Pritis.k na projekt Lisa ZAČETKU LETA 1981 JE BILp NAREJE- polnem teku, je podje" uvedlo na tržišče nov fji bil plod dozorelega e je zaradi tega h sistemov Lisa za razvoj STOČASNO je bila na teh sistemih opravljena tudi analiza obratovanja v najkritičnejsih pogojih (časovne oblike, temperatura, logika, nalaganje itd,) in ustrezne spremembe v načrtih. TaKO so se izboljševale lastnosti zanesljivosti in proizvodnosti, ko je bil v februarju 1982 izdelek pripravljen za proizvodnjo, Tudi preizkušanje programske opreme je bilo podvrženo ostrim zahtevam, odstranjenih in ugotovljenih je bilo več kot 1000 napak. . Format namiznega upravljalnika je bil natanko določen tako, da omogoča uporabniku manipulacijo kurzorja in izbiro med aplikacijami. na samem začetku je bilo nekaj težav, vendar je podjetje Xerox y juniju 1981 pokazalo svojo delovno postajo Star, ki je bila tudi uporabniško prijazna, z močnim vplivom sistema smalltalk. äeroxov mikroračunalnik je bil močno podprt z grafičnimi simboli - ikonami - za organizacijo svojih funkcij, Tako so se tudi pri Applu odločili za ikone, ki so jih pridružili v sistem že skorajda na koncu projekta, ikONE so majhne slike simboličnih preohetov !n so npr, zbrane v stolpcu na desnem robu zaslona. ObLIKA ikon je izrednega pomena, morajo biti skladne in dovolj elegantne in tudi lahko razumljive, pllška in ikone so bile dokaj podobne zamisli Xeoroxovega Stara. Sodelovanje med Applom in Xeroxom je bilo temeljnega pomena, produkt ,isa je tako na določen način podpiral produkt StAR na tržisču, saj je bila med njima določena podobnost, lu pa je bil skupen interes obeh podjetij, aj Projekt Lisa je bil v marsičem poseben. 2e na samem začetku je b[l v celoti ločen od ostalega dela podjetja Apple, TaKO se je projekt izvajal v posebni. ločeni stavbi. daleč stran od drugih obratov. Projekt so smatrali kot revolucionaren in ga mo niso omejevali z ll 0sv0jem0 (starejšo) tehnologijo, Novopri dobljeni programerji so bili ločeni in deležni posebnih prednosti v podjetju, v podjetju se je pojavljal skeptl-cizem in uslužbenci so se vpraševali. kdaj se bodo lahko pojavili plodovi te6a novega projekta. vendar je Lisa počasi postala del Applove kulture in delo na njej se je vzdrževalo v treh letih s prodajo sistemov apple ji in iii, seveda pa zdaj od prodaje li se pričakujejo podporo novim raziskavam in razvoju, ki je porabil vec e^^za razvoj! .apple II in lil d: Lisa je bil masiven projekt, kot 200 človek-lei _________________________ _ sta PORABILA le 25 ČLOVEK-LET, naJVEČ dela je bilo vloženega v naporen razvoj PROGRAMSKE op-remel ta Vi Sina je dosegla npr, napor, ki je BIL POTREBEN PRI RAZVOJU PROGRAMSKE mini računalni k VAX (prodajni razred veliko razvijalcev v LETIH izvajanja projekta ni IZKORISTILO LETNIH dopustov. TaKO je bil ta projekt podoben onemu, opisanem v uspešnici SouL of a New Machine , ki opisuje razvoj mi-NtRAČUNALNIKA (AvON books, 1982). v tej knjigi je opisano noro in naporno USTVARJALNO delo pri OBLIKOVANJU vizije, PROJEKTIRANJU IN razvoju novega RAČUNALNIKA podjetja data general. Projekt Lisa predstavlja nenavadno obliko skupinskega napora, ki je upošteval LE toliko strukture, kot je bilo nujno potrebno, vodje 'rojekta niso imeli nobenih posebnih nazivov, jokumentacija projekta je bila zelo podrobna, od 50 do 100 strani. Na koncu projekta je bila ta dokumentacija kratka in neformalnaj termiNALSKi emulator je bil opisan le na dveh straneh, Vendar, je bilo na začetku projekta jasno, da je Lisa vznemirljiv pisarniški produkt z grafiko !M lahko uporabljiv, Po enem letu je bilo vsem jasno, kaj Lisa pomeni - naslednjo stopnjo domiselnosti, Projekt ni imel vodilnega genija, obstajala pa je vodilna vizija, skupno deljena podoba produkta. vse je ßlLO podobno uspešnemu filmu, v katerem 'SO bile vloge natanko opredeljene. V jeseni 1982 se je že pripravljala predstavitev Lise in v konferenčni dvorani podjetja so bili POSTAVLJENI TRIJE SISTEM! LiSA. ODZIVI ÜB PREDSTAVITVI SO BlLf ZELO POZITIVNI IN TO JE BILA TUDI NAJVEČJA NAGRADA RAZVOJNI SKUPINI, V Iskri Delti smo doživeli tak film v malem, v naših slove ga sistema zne-DI- ;NSKIH razmerjih pri razvoju nam ^artnefi, Tudi mi smo imeli PEÌ grame, kratke roke, pritiske marketinga, nerazumljive nabavne probleme, porodne krče pri prenosu izdelka v proizvodnjo, koncentracijo sposobnih kadrov, določeno izoliranost v svojem okolju itd., preden je bil partner dokončno rojen in postavljen v tržni prostor. O teh doživetjih in izkušnjam pa bi veljalo napisati poseben prispevek, A,P,Železni kar * Cutionov miki-oriii-iijhjhilk * J jpoliHku pofljüljü C.UlOl,, Ulli,11,-I kuL (M-oluv., ialiH-- Filnibklli kriinor, kup L rn.i Ko\/ in k^i I kul u tor iiiv , jo tia'iiivlLo IJ i-o i z vod lì;) o B/1 G-bi Lm^tja mJ kL'orcnfiun.i I-tlika. Td mćuri.flnJk |ju::ric'!iki l.uSnio nov Ui prol z. vo,lüv, ki n ludi io konüopl.ir rneiiii.i In I kti PC löM. Canonuv i'ijčun.il ni k ASlOO ho üpoi.dliJ jj'l flvd Eiit;l:i.™ii, in tiiui'r TP/M-Sf. in MS-DOS. Loeijivost grafike bo 640 x 400 toök za barvno ali monokromatiCno sliko. Sedem barv od 27 bo lahko prikazanih. ASI00 uporablja procesor 8088 pri taktni frekvenci 4HHz. Standardni pomnilnik je l2Bk, razširijlv na 5l2k zlogov, Uporalanlk lahko izbere maynetnl modi j med 5-colsklni, 8-col8kim upogljivim diakoni in 5-col-skira vi'nöestrskiin diskom. Pomnilni obseg prt tej izbiri znaša od l,28 do 8,14H zlogov (formatiranoj. Osem V/I integriranih vezij krmili vrata, ki se lahko uporabljajo v lokalnoh mrežah. Opcije Canonovega sistema pa so teles akumulatorsko napajana ura realnega čaaa, razäiri-tvena plošča za trdni disk z RS232C kanalom in paralelno podatkovno povezavo, pomnilniška razširitev 256/384k zlogov, posebni serijski, cen-tronskl in sinhroni V/l kanali. Cene začenjajo pri >(3500 za örnobolo in končujejo pri 06000 za dva diska in barvna grafiko. Cena tiskalnika je 5Ì900. A,P, Žtžleznlkar * Milijon rabunalnikov za dom * Angleško podjetje Sinclair Research je prodalo äe milijon raSunalnikov za dom. Njegov glavni tekmec je podjetje Conmiodora, ki se je tudi približalo ali pa celo preseglo to število. Sinclair izdela nov računalnik vuake štiri sekunde na liniji podjetja TJmex v ^kotskiim Dundee. Doslej jo Sinclair dobavil 130000 ZXÖO, 7500 0 0 ZX81 in 20ÜOOO ÜX Spectrum. Coimnoclore dobavlja množično sisteme VIC-20, K toin štuvl-lom je treba dodati že 600000 sisteiiiov, Ki jih je Timex prodal na severtioamuriškom tržišču. Tako ima danes Britanija več računalnikov na glavo kot katerakoli druga dežela. Cena teh sistemov je 40 funtov In njihova uporabil je dejansko množična, A. P. Zel oz nI kar ************* * Sprumonjonj vlogü programurjüv * Nova računalniška pisiiiunost so danes Kiiècnja že v osnovni šoli in bo bržkone vplLvcila na pil-hoclnjo vlogo poklicnih prog ramo c jo v . Vse vi.-i; ju ljudi, ki spoznavajo pomembnoBt računu)nikoo v va.ikdanjcm življonju in sc zato priučujejo njihovi uporabi in programiranju. Progratnlianje In način mišljenja, ki jo za programiranje polie-bcin, postajata dol vsakdanjoati, tako kot sta npr. osebni prt'VOü Iii tolovl'/lja. 'l'o pa bo odločilno vplivalo na prlliodnjc pi Se poklicni pr,)gram,jrjl7 Imoli bodtj sicer So določeno vlogo (kot npr. poklicni vozniki), toda kakSon nov tip progvamurja bu So potreben? Običajno liu programiran opravlja v visokih pt.-Offramlniili jczikili (Cobol, Korl.an, l'i./I) . Ta vrtita programi rati ja )i) So viidno di aga In rezultati no dOBiHjajo cil jt-v. Takfine ho tndl Izkušnje DOIJ (Ufj Department oi l>efe[iije), ki )0 za 9 projektov v vrodnniii.i >( f,,ÖM lahko uporabilo 11; programsko opremo vri-.ino )S llOk,' Nadaljnlh )l iIBk jo hUo laliko uporabljenih po liprt^miMnbati, ? 6,5M vrt- » It * « l'» k k » K- If * II k a « -t >' ■ ■ D • k k- k- ■ Vodstvo koncema Bienienti s& jö H. j.iHjd l.'iiiì.j odloČilo, da vloži näcfaijnih hC-jt milijonov (-iSch v. beljaško tovarno inteorii-sirn h vbzij. 3 b£?rin sredstvi bo realiziran projeki: 1-isijak JI. K.'.ró-čka tovarna polprevodnikov h.?. postala nrt.)-. sodoonejée sredi èce -m tni krot-i f« i r-oni ko ntóniaki^-öa Sieniensa. V kratkefpi botio v l:fjj I;ovarv,i rai^t;-li proizvajati £rStik-o i tne r.t i fmdi i ćr.K- pof.ii-. i 1 m u ij. a tem se b-:. Siemeris pridr-ti-lil vodilf.ji.i ni-o-i svii-jalcem po I prevodni ^.i; i h pomni Ini.nov. / iioùr.-^d :i i, - KRITIKA t********************************** * Sploäno o kritiki na pođrofiju * * računalništva in Informatike * i!********************************** S to Številko odpiramo v đaaopiau Informatica rubriko o kritiki dsjavnosti na podroöju raöu-nakništva in informatike (kratko Ril). ■ Ril sta danes v arediäöu pozornosti tehnoloäkega, proizvodnega, izobraževalnega in splošno obveščevalnega razvoja. V časopisu Ekonomska politika (1620, letnik 32, 18.4.1983, str. 22, prvi stolpec, 4.odstavek) lahko preberemo tolet "... Intenzivni tokovi razvoja informatike i promene koje taj razvoj unosi u privredu i đruStvo ostavljaju nas po avemu sudeči sasvim ravnodušnim. Postaje drastično uočljiv kontrast opaednutosti aveta' kvalitetom razvoja i spokojatva u naSoj zemlji koja kao đa postaje jedinstvena oaza hezbrige u tehnološki zahuktalom svetu . ..." Ta tekat se brez dvoma dotika tudi same kritike na področju RH pri nas, ki je preprosto nismo razvili, nismo jo sistematično spodbujali in Ščitili kot del äivljenskega, kulturnega in predvsem tudi tehnološkega napredka. Da bi to zaduši j ivo stanje lahko ohranjali, am9 razvili dve protikritiški, značilni reakciji: - ogorčenost kot posledico vsakršnje kritike {zbeganost, prepadenost, osuplost, strah, vzvišenost, nesposobnost, manipulativnost) in - brezbrižnost (pomanjkanje občutljivosti, dojemljivosti, odgovornosti, ieljo po miru). Kritika naj bi razumeli predvsem kot spodbudo za boljäe delo, kot pripomoček za odpravljanje pomanjkljivosti, kot normativno kulturno navado, kot nasprotje spokojne tlhote in nesposobnosti in tistega brezbriŠja, ki hromi misel in z njo povezano možno tehnološko in organizacijsko napredovanje na področju Eli. Spoštovani bralci! Pripravite se na kritiko! Ko boste začeli, boste ugotovili, koliko ustvarjalnega napora, odgovornosti in strokovnosti je za kritičen prispevek potrebna. Izurite se v kritiki, negujte jo: tudi skozi njeno kakovostno jedro drži pot naprej - iz nesposobnosti, malomarnosti, površnosti, lagodnosti, lahkomiselnosti. Kritiki! Dobrodošli in pozdravljeni! A.P.Železnikar * Posvetovanje o mlkroračun.alnikih * ************************************** Naslovljeno; Organizacijski odbor posvetovanja informatica B3, Parmova 41, 61000 Ljubljana . V dneh 7. do 9. 6. 1963 ste organizirali posvetovanje o mikroračunalniški tehnologiji In uporabi. Organizacija posvetovanja in potek razstave nista bila na ustreznem nivoju. Predvsem pa me raotl, da so napovedana predavanja drug za drugim odpadala oziroma niso bila izvedena. Vse skupaj vzeto, je bilo posvetovanje dokaj slaba reklama za informacijske sisteme, ki naj bi jih začeli uvajati (z vašo pomočjo?) v gospodarstvo. Mislim, da smo udeleženci pošteno plačali kotizacijo za udeležbo In za pripravljene referate. Glede na to bi bilo pošteno, predvsem pa načelno pravilno, da bi udeležencem vrnili del plačane kotizacije. Raimlalltel Reklame za obvladovanje informacijskih slBte-tnov pa si s tem posvetovanjem prav gotovo niste naredili. Lep pozdrav t Emil Sekne Iskra Industrija merilno-regulacijake in stikalne tehnike Kranj, n.eol.o,, Delovna skupnost administrativno tehničnih služb Kranj, Savska loka 4, 64001 Kranj 10. 6, 1983 ************************************** * Odgovor na pismo tov. E, Sekneta * ************************************** Podpisani sem globoko zainteresiran,za kritiko na področju Ril, za njen kakovostni nastanek In razvoj. Pismo tov. Emila Sekneta pozdravljam In z njegovimi ugotovitvami v zvezi s posvetovanjem se strinjam. Na teh osnovah naj mi bo dovoljeno, da pismo tov. Sekneta analiziram In da predmete kritike razširim In jih osvetlim Se iz drugih vidikov. Posvetovanje in razstava Informatica 83 prav gotovo nista bila na mogoči ustrezni višinij k tej višini prispevajo različni dejavniki, kot so organizatorji, razstavljavci, predavatelji in seveda udeleženci. Kakovost posvetovanja in razstave ne more biti odvisna samo od dobre volje organizatorjev, v marsičem je odvisna tudi od njihovih zmogljivosti, od vloženih naporov vrste sodelavcev, zlasti prostovoljcev. Vobfie velja ugotovitev, da doslej nismo uspeli vzbuditi tisti prostovoljni interes strokovnjaka, ki je nujno potreben za uspešno organizacijo In Izvedbo posvetovanja in razstave Ril. Pasivnost je postala manira, za pičlo aktivnost pa so odgovorni redki posamezniki, ki jim ostane prevelika količina dela in odgovornosti. Posledica določene pasivnosti so tudi tisti primeri, ko se predavatelju ne zdi vredno, da bi svoje najavljeno predavanje predstavil. To seveda ni značilnost posvetovanj tipa Informa-* tica, je pogost pojav na računalniških posvetovanjih pri nas. Tov. Sekne bi dejansko prispeval k zdravljenju takih pojavov, če bi poimensko navedel to zaporedje neopravljenih predavanj , tako da bi bila mogoča evidenca brezbrižnih predavateljev. Organizator posvetovanja naj bi ^ v takih primerih zahteval opravičilo {dopis delovne organizacije, zdravniško potrdilo) , saj malomarnost te vrste posredno škoduje ugledu" strokovne prireditve. Med akutne primere posvetovanj ne sodijo le •malomarni predavatelji temveč tudi neresni, strokovno nezainteresirani udeleženci. Večkrat se pripeti, da predsednik sekcije in predava- teli) zaman čakata poaLušalce, pa tudi predsedniki sekcij se velikokrat ne pojavijo, tako skupina predavanj nima predvidenega vodenja razprav. Roko na srce I Razvili amo natanko to, kar smo Imenovali in Se imenujemo turizem posvetovanj v negativnem besednem pomenu. Taka je torej zavest udeležencev, znana in nelzreCena. Pred leti sem se odločno uprl In se Se upiram posvetovanjem v turističnih središSih, kjer so bila posvetovanja tudi sredstvo za plačano razvedrilo, oddih ali celo ža odsotnost ha samem posvetovanju. Mednarodne letne äola NATO na področju Ril (v juliju, avgustu), pa bo bile intenzivno delovne (predavanja, razprave, strokovni pogovori v prostem.času) in poživljajoče, osamljene v go^-akih naseljih, brez turistične infrastrukture, vendar izredno kvalitetne, seveda z izbiro udeležencev. Slovensko : druStvo Informatika prireja posvetovanja zaradi potrebe po strokovni izmenjavi mnenj, dosežkov, zaradi prepotrebne vzgoje na zahtevnem tehnološkem področju. SDI nima reklamnega programa, potrebuje pa prostovoljne sodelavce pri izvajanju svojih akcij. Očitek v tej smeri je brez osnov (Sekne) in SDI nima realne moči, da bi na osnovi strokovnih argumentov vplivalo na uvajanje določenih informacijskih sistemov v gospodarstvo: tó je lahko kvečjemu možnost daljne prihodnosti. A.P.železnikar sa LS =; sa =«:===;==: 3:=:=:=;=:= ===:==:=: = iS IS iSKii EJ =; = HbtCHUlMil UVÌÙHtìKij KHilULti = CLHNKCìV Ll£TNXKn iNFÜftMMf 1 ChI 1 I I yü.^) = = K1=:==:=;== = =:=====; = s flloiaio G., F. Corvino, M. Mailarno, l>. t>(ai"i no : Kltìdiory mariageijiev.t avid Protection Methcua jn the Sinùit feKpsrirni^ntal CcmpiitBr; at. str. 'a. flvreski D. rt. , b. G. . tìlnvcvi W System fc.r ftutciinatic "leat Proorain foenerat ion, st, i^/j, str. 6>A. berce J., 7. Steoe, J. Ui-atniK, 1. Zuinsjt i MikroračunalniSki GiBtum za spremljanja in vo-QBi'ijBi laboratorijskin procesov, st. K/j, &tr. 13Ü. Fohanec in,, F. rtoaiiiani titanaarai <:siej ja komuniciranja med polpozivi v tisiefonskih sistemili serije bi èt. È/3, str. 111. wosnjak K. M., p. Maric, w. De janov 11 : Prooi-am-SHn poorÄka mi krc.raCunarsKùg sistema la upravljanje, kontrolu i d i jagnost i t^u stanja alétnoci stroja; èt. 4, str. lirzezinski J., W. Cellary, j. Krealewski: Èxpe-riinental Local f4rea Netwiìrk; èt. 4, str. kh. thoras rt. 13. j Graphical 1 nforrnat icn Processino m a vision üyatetn tne Industriai Hotir.t, st" i/j, str. £13. Cokan H. , v. Hajković: Nacunalnik v šoli; èt str. ea. Lsik G. 1 Protokoli v koinuni Kaci j skerü . koncencra-tc.rjij centra za nani or in vocJtme mestni^oa cest neoa premeta; st. C/3, str. i7ö. Diallotì., m. lesjaks Prilagodljiva zasnova programske onreniD računalniških ekoloèkih ir. niororjieteoroloskJh merilnih nostaj, st.. ^ str. 1^7. " ' UobniKarPl. , v. bustini MicroDroorflminpd D&tr, Ho« Lot.iputer Urnitecture for fluì 11 orogramsni nn byslsjiisi Ét. r;/,j, , str. M. UoDrin fi., h. i\iovaks Odkrivanja virov neoak v delovanju aigitalnih vezij i uporabo signal:urne analize, èr. t/j, str. he.. üoUnsek I., ti. ikica, k'. Knaflic: Pagraihi si s com na i.ii kroraCuna .1 ni ku làKWHljfim ap- d/.i, str. Bd. ' Duj„iovie J. J.: ,.,n inporoacn to Lot.,pansion of machine Instruction Formati e>t. i, str. 11. I^ujmovic J. J. , Jtnun kvant 11 at i vni postupak ia vreunovanje organizacije rni krcproceeorsk i registara; (it. 1, str. itì. F. sehet t i E. Klar, o, i,. Pet ragi ia= bel r D^acinofeis Tools for hicrcs/st^m^, j,t, ^/i, j,tr. Furunojic i,. b. , „r<,ani- zotion ar,(i-Mpplicat ion, tt, ^tr. n)"/. ' —vira.n, o.-str'^ tifcKin-ih vezij, s^t, .-/.i, L'/ii'^ti-! äfil." bi s t; (.m ÜCi.D s. k. Hudooivnik ii, t iJaacai U na ini kroračunalni ku IDliSifl, st. è/ò, str. 9ia. Jakopin H.! Tttjii-Urejevalnik besedil za Sinclair Spectrum, st. sti-. li/i.t. Jel-ic h. V. s Prošireno upravijanjt? nieniorijom za račun,ar Uelta lit. 1, str. bU. Jelavic h. 1 Jezgra vecprocesorskoc, öpfei"aciof,og sistema realisirtina na aiste-mu s mikronrocwao--rima Ipibli^i,/!) èt. btr. ii^, Kantìuc J., L. Lf^r,art, N. V. Kc-smar.-, L). l>iÌKu.iic: Celni iiukrorBtunalnik teleinrctrmac-'i Bkega ei štetna at, str. ) jö. Kapov. Ii., J. uzecjovici h u oer i rnent a l na realizacija programa za format iranje tektt-J, , ét. ci/j, str. 99. Kastelle 6., R. . murn, U. Pecekf Funkcionalno testiranje mikrorèicunalniskih enot, st.. k/ji, str. Kejäar B, i Dialog na IDäö,, èt. 'd/'i, &tr. VB. Knatlic P, , 1, Dc'Jinsek! tniulacija Ibi^ kocicen-tratorja üNM/SDÜL na im wroraCuna1niku JbKUHuflTH öiS, &t. K/j, Str. 7b. Knežević P., II. Lapainei hodeliranje rada jedinica iiietnorije sa direktnim dostupom lUASDi j ^>t. 1, Btr. 5(đ. Kodek D. , h. llaiej : Konzola Ib-Oitnega ■ tni kro-raćunalnika 11)101?, ćt. Str. A3. Kos L. , (4. ÜCko, i>i, KiKelj, J. Kar.OuCJ tniikro-raeunainiéki prikaz aiagramov voienj, èt. d/S, str. 1/1. Kozine , hl. Kooric: Mikroracuna 1 ni6kđ tehtni ca, Èt. i/i, str. Itil. Kritsel Z. t Tertiiir.ai za prodajo vozovnic v if-lezniÉKern prometu; št. k/,.1, str. Lakner : Manipulacija z ravni frak iim p.;.lilf'ki, St. £/.1, str. iilii, Lenart L., N. Panic, V. Girlanc, K. Fat,joi-.t iJistriouirana podfickovna baza sisti^md I (-.iiii za upravljanje procesov, st. ir/j, str. l'u-'. Ma le J l>i, , U. . Ha Inerì Krmilnik za iginchwster aisk za IB-bitni mi kroraCuna I ni k IDH^iW, tt. t/3, str. 19. harinkovii; J., U. HadovanoviC i CtlHMUtì ra.-vojnv aisterfi sa vise razvojnih mesta j st. i-i/J, £3. Markun h. s Krmilniki aiökc.vnin enot v mikrora-čunainiSkih'öiäta,.iil, lütn^, èt. rì/j, titr. 'i /. Mart 1 novic li. i hitiiJQeìi'ìiKa bvoj^itvi» skupa feuo-stttocijaf at. 't, '.t,'. 7/. wariincvitr li, i Ul.-.i;ia relrifije abioriit; i je u *1-pc-ritmuna j ndunci i ot-dnkei jej st. ^i, htr. t,S. hesko £.1 Mr-OfHit.t it.n flarrnwn| l)y I nmPi fi' . str. 1 limovi lovi e , h. J. Si u i liocnnd (iiaqnßinin tjietmrc kov pri n,icrtovrtniu racuf^a I sk iti oods i st i^nidv in 11 k t fhifi/ ter- iiro-prari,Bk(i; oo,-tf,iu^, ^t. .'/.'i, ntr-. /K. Wiletit M.I LiEC J-ll SioBia fcuBiifieBs Syotew Design Exanplej st. str. Mi 1 icević Vi. ' B. j. (H u tematske, upravi jai^ijB letećom testeroin uvoOjerijem jBdnosrnerriCig inctoi^fl 1 miKroračunalai èt. I,' str. tV. . Mi lovanović' tì.', V.: Pj'ogramsUa realisacija fan-' tórizacioriog aigoritina za réèavarije sistema ü-nearnih jeariacina, fet. £/3, str. lO^t. tniBjak J,, K. DrirjBi Već.iiporaonitKi aiBt»tn ID aii-?6| St.. ž/3, str. SS. hukaetcv T. i PoDeirjÀanjé Veiuitata e-st.iitiirartih parainetarè procesa pri identifikaciji optifnal-r-iiin sionalc-rn u cđnoBU na binarlnu' eekverttru maK-Bimalné duiin«, éf. str. l^è. tJiegovic J.C 1 ristai iranje programskog »istettia FpfiTH- r>a računala sa operacioriim sistemom Ct^/il, Èt. Btr. ^iS, Panić N., L. Lei-iart, P. Pettìrltr., U. iliHulić, P. Uratifiik, J. skrabe, J. Kar>nue, J.. Petelifi-kari nult iinikroraćurralriićk^' izvedbe! 4-Bke tabele kao'periferije raćuir.ara fci-H&, tt. a/i,-.str^ .Ib'/.. Öilc J. , ■ P, Hol'bezain, B. Mihovi Jovif.. str. bfe. Stebe T. • , mdči-io poveitan večmikrciratimnalir.iški Biscetm MCtaatìiS. v funkciji komurnkatorja, Èt. S/3, Btr. 4«. Veiaèevxc D. i. Hr« ftnaJyaiB of Hrittiinetic Lkpre«-oior-iB eaaetì on Vectcr-lieneratrice Ccf.cept | iit. A, str. 3. ■ . . Yankov b. , L. Ntkolbvi Approach to tniild a Multi-User mu.l ti tirocesaor-basea System) 6t. &/Ü, Btr. 2agar M.i Arhitektura mikroracunar&kin modula namijenjenih- za upravljanje procesima^ st. A, str. Sd. ■ '■ Zeieznikar 14. P. ■ .Hlgol za aietem CP/il It št. 4, str. 41, 2eieznikar A. P.. i Operacijski sistem CP/m PUis| st. 1, etr. j. 2umer \J. , . .P. .Kokol s Pbjektna arhitektura na osnov) semantiòne zgradbe inforraacijej st. 4, str. 21. .2umer V. , P.' Kokol: NepoEsreano izvajanje v.iso-■ kih programskih jezikov na objektni' arhitekturi; št. 4, str.'"tj9. hozmari I., M. Uolnarici Nooeliranje hiP/ciC arni-tektur s snupnim voailonij st. str, Koztflus B. , ft. Koasiljt basic i'ia rm kroracunalfu'i-kin sisteiiTih lUäid, st. 2/.i, , str. Sc;. Üabo R. ! PriKaz sinfironizaci'je panalelnm procesov na problemu proizvajalcev in i3otrošniHov( št. 1, str. - liù. Bh i varova B. ,1. , I. K. bBiirqievi If.teractive Language ana Processing in a Cornpuber braonica .By stem, ét. ü/j,. str.. Siti-; * «■ * VflBILO K SODELOVANJU * » » CflBOPIBU INFORMOTl'Cfl • • * Časopis Informatica lahko redr,o izhaja le, će ima pi^avočasno r.a razpolago zadostno kolicirio kakovostnih p>-ÌBpBvkov. Kljua krisni/n razmeram i znaj a tasopls I riformati ca redcio i'n posKuSa o-hrarijati .tehnoloSko roveri raCunalriiätva in iri-forniatike Vt?b je, aa razvija<(io podroCjo Ril, aa na itjm pcnn.-öj