s 5 informatica TA Tržno IwfRutiicirafite Parmova 41 atica ČASOPIS ZA TEHNOLOGIJO RAČUNALNIŠTVA IN PROBLEME INFORMATIKE ČASOPIS ZA RAČUNARSKU TEHNOLOGIJU I PROBLEME INFORMATIKE SPISANIE ZA TEHNOLOGIJA NA SMETANJETO I PROBLEMI OD OBLASTA NA INFORMATI KATA časopis izdaja Slovensko «irnstvo INFORflATlK^., 6 1000 Ljubljana, Parmova 4 1, Jugoslavija IJREDNiäKI ODBOR! T. Aleksld, Beograd; D. Bitrakov, Skopje; P. Uragojlovid, Rijeka; S. Hodžar, Ljubljana; B. Horvat, Maribor; A. Mandžid, Sarajevo; S, Mi.halid, Varaždin; S. Turk, Zagreb GLAVNI IN ODGOVORNI- UREDNIK: Anton P, Železnikar TEHNIČNI ODBOR: V. Batagelj, D,vitas — programiranje I. Bratko — umetna inteligenca D. dedez-Kecmanovid — informacijski sistemi M, Exel -- operacijski sistemi B. Džonova-Jerman-Blažič -- srečanja L. Lenart — procesna informatika D, Novak — mikroračunalniki Neda PapiS -- pomočnik glavnega urednika L. Pipan — terminologija ^ V. Bajkovič — vzgoja in izobraževanje H. Špegel, M. vgkobratovid — robotika P. Tancig — raäunalnlätvo v humanističnih 3n družbenih vedah S. Turk — materialna oprema A. Gorup — urednik v SOZD Gorenje TEHNIČNI UREDNIK! Ruđolf Hum ZALOŽNIŠKI SVET: T, Banovec, Zavod SR Slovenije za statistiko, Vožarskl pot 12, Ljubljana A. Jerman-BlažiS, DO Iskra Delta, Parmova 41, Ljubljana B. KlemonSič, Iskra Telematika, Kranj S. Saksida, Institut za sociologijo Univerie Edvarda Kardelja, Ljubljana J, virant, Fakulteta za elektrotehniko, TrSa- ke. 25, Ljubljana UREDNIŠT\'0 IN UPRAVA: . Informatica, Parmova 41, 61000 Ljubljana; telefon [061) 312-988; teleks 31366 YU Delta LETNA NAROČNINA za delovne organizacije znaÈa 2900 din, za redne Clane 790 din, "za študente 290 din; cena posamezne Številke je 890 din. ŽIRO RAČUN: 50101 - 678 - 51841. Pri financiranju časopisa sodeluje Raziskovalna skupnost Slovenije. Na podlagi mnenja Republiškega sekretariata za prosveto in kulturo ät. 4 210-4 4/79, z dne 1. 2. 1979, je časopis oproščen temeljnega davka, od prometa proizvodov TISK: Tiskarna Kresija, Ljubljana GRAFIČNA OPREMA: RastO Klrn YU ISSN 0350-5596 LETNIK 9, 1985 - St. 4 la. jvigoslovansko mednarodna posvetovati j e za računalniško tRhnologljo in uporabo Mova Sor-Ica, 24.-26. september IVSS ZBORNIK DEL t N F CI r< ti A T I C ft 8 5 Uredil: Marko Rogać Programski odbor; finton P. ieieinikar Janez Brad Nada Lavrač Stanko Cufer Marko Rogać Prispevke objavljamo v prvotni obliki. Na osnovi ocen recenjentov je programski odbor uvrstil predložene prispevke v program " in-tormatica 85" in jih razvrstil v deset tehničnih pndroiij. ' J-' t informatica JOURNAL OF COMPUTING AND INFORMATICS Published by INFORMATIKA, Slovene Society for Inforinatlcs, Parmova 4 1, 61000 Ljubljana, Yugoslavia EDITORIAL BOARD: T. Aleksld, Beograd; D. Bi trakov, Skopje; P. Dragojlovlö. Rijeka; S. Hodžar, Ljubljano; B. Horvat, Maribor; A. Mandžid, Sarajevo; S, Mlhalid, Varaždin; S. Turk, Zagreb EDITOR-IN-CHIEF: Anton P. Železnikar TECHNICAL DEPARTMENTS EDITORE: V. Batagelj, d. Vitas — Programming I. Bratkc ~ Artificial intelligence D. Ćečez-Kecmanovič — Information Systems M, Rxel — Operating Systems B. Džohova-Jerman-Blažlč — Meetings L. Lenart — Process informatics Novak — Microcomputers Neda Papid — Editor's Assistant L.'Pipan — Terminology V. Rajkovič — Education M. špegel, M. Vukobratović — Robotics P. Téme ig — Computing In Ikiraanities and Social Sciences S. Turk — Computer Hardware A. Gorup — Editor in SOZD Gorenje EXECUTIVE EDITOR: Rudolf Hum publishing council: T. Bsnovec, zavod ER Slovenije za statistiko, Vožarski pot 12, Ljubljana R. Jerman-BlažiS, DO Iskra Delta, Parmova 41, Ljubljana B. Klesnenöie, Iskra Telematlka, Kranj S. Saksida, Institut za sociologijo Univerze Edvardu Kardelja, Ljubljana J. Vlrant, Fakulteta za elektrotehniko, Tržaška 25, Ljubljana HEADQUARTERS: Ir.forraatica, Parmova 41, 61000 Ljubljana, Yugoslavia Phone: 61-312-98S; Tplpx: yij ANNUAL SUBSCRIPTION RATE: USS! 22 for companies, and usa 10 for individuals Oj^lnions expressed in the contributions are not ne'cessarljy shared hy the Editori-Tl ».r-a'-d PRINTED BY: Tiskarna Kresija, Ljubljana DESIGN: Rasto Kirn YU ISSN 0350-5596 VOLUME 9, 1985-No, 4 ISth Yugoslav International Con-terence on Computer Technoloov and Usage Nova Gorica I September 24-26, 5 985 PRGCeEDINCS INFORMftTiCf* a S Edited by Marto Rogai Programe Commitiee ftnton P. Janez Gr ad NaOđ Lavrat Stani-o Cu+er Marko Rogat The contributerJ texts are in their submiltfđ ■form. The reports reviewed extended summer let of the communications. The commurncat i out. e contained in thie programe " I n-f or mat i t a fc' ." and cJ -f I eri in Li^h rprhn^r.^l ^rf?^-. v s E B I N ft PLENftRNft ZASEDANJA J.J.Dujmović 10 Interactive system per-■farmance mecasurement and analysi 5 J.Hi ggins J,A.Redmond J.A.Redmond 22 ftrtificiai ijn i ntel 1 i gence the computer in educatinn 26 ESPRIT Project 510 "TQOLUSE" 36 TEHNOLOGIJA, ARHITEKTURA RAČUNALNIŠKIH SISTEMOV Ei^pert Systems IN 7GfiAr>ĐA A.Paul in N.Be:ić C.Jenko M.CnlnariĆ; !.Rdi man F'rsms el I .Ro-man h. Col nar- i t B.Stigl Le A.Snidi lagtć D.Pećek fv. mi.ir'n Ei. Kastel i c S,Rihari i V,Guètin A. Dobni kar A.Dobn i kar V.Buitln G.filoigio 49 Relaxation mesh dynamir.s in the method o-f ^^inite d jf-ferences 30 WE vodila v veCraću-nalniékiti arhitekturah 54 Efficiency of multiple bus structure 50 Hardversko poboljšanje kod Üii kroprocesora radi realizacije interlivirga adresa pri partitivnom alociranju memorije u mul tiprocesrjrskom sistemu 62 Implementacijske zasnove sa izboljšanje zanesljivosti delovanja polprevodni-šk. ih pomnil ni ških si Stemel v 64 Model procesora za obrada i raspoznavanje slika 69 Realizacija ratunalni4ke logike s celičnimi struk:-tur ami 76 Sinteza spremenljive arhitekture rafunanja I VLSI programirnim poljem na osnovi DF analize 82 The rest module: computer simulation o-f the control UNIT . L.Manasiev A.Petkov K. Boyanov B. Yantiov L. Ni kolov S.Bonev M.A.Brebner E.Kocuvan N.Karba T.Dogša 1.Rozman A.Dobrin F.Novak M.Tornii D.Stđjić V.Mandić J.Barie J.Grad B.Furundiić 109 A "formai approach to the ' problems of microcode compaction caused üy transitory data resources of the mirroarchttectures 113 MBP flicroprocessor development cross-system: the emulator subsystem 117 Benchmarking micrcomputer s for some mathematica) dna scientific comp ut at i Olì ^ 121 Operacijski podsistem ^ ,i pr ogrami ran je 125 Sta POSLOVNI SISTEMI D.Milenković T.Welzer 157 i:b Poenostavljena napoved nastopa napak pri testir^-nju programske opreme lliä Avtomatsko generiranje testnih odlo±itvenih dreves v signaturni analizi 1'34 Interaktivna metoda za briu realizaciju materna'-tićkih funk.cija na elektroničkom raCunalu 136 Primena mi kroračunarsk.og -mulatora transportnog la-àn-njenja smitovoj metodi avtomatske regulacije 14GI Programski rsalizovano nalaženje Blodnosti bulove funkci je 144 Algoritmi za reinverzijo bazne matrike v linearnem pr ogramu 14a Stepenovanje dinamičke matrice primenom podma-tr i ca )52 Projekt logićke strukture baze podataka □ biblioteci Podatkovne Ebirke Z.Las arov 89 Pr i 1 agodavan j e raS unar-siiog sistem proèirenju termi-nalske mreže SISTEMSK.I IN APLIKATIVNI PRIPOMOČKI P. Kokol M.Ojsteršek V.2umer Z.Vukajlcvlć A.Zele M.Ovil na T.Bol ja 94 B.Kej i ar J.Dol ene R.Mittermeir liil" Isbira jesika ra podat-k.avno vodene ratunaliiike 99 Formater teksta izvornoci programa za Pascal 101 Operacijski ^iistem CDOS Requirements elicitation bv rapid protcitypi ntj V.Rupnik G. Koch M.Apostolova V.Trajkovski E.Skočir V.Mahnid S.Eržen P.Bel tram a sintezi generalizira-nega vrednoter*ja informacijskih sistemov 163 Mjesto i uloga persolnih raćunara u informacijskom privredne organizacije 167 Metodološki pristap vo planiranjeto na informa-cioni sistemi vo uprava 173 Infor,sistem za delo re publiških organov in organizacij izkušnje pri uvajanju ter moinosti sa nadaljni razvoj 177 Programski! paket za vadi?i-i-je evidence i nvest i ci jül i ii pr ogramov R.Kol ar 1B0 M.Toni I.Lajovic F.Serdin Izdelava p^^'et.a "f^enićno poslovanje" 2a Ljubljansko banko GRftFIKA IN CAD/Cfih SISTEMI M.Vintar 182 Programski pat-et APP-1 UPRWI.JANJE PROCESOV Ö.Dnbni kar V.Suétin T.Vidmar F.Jur kovi C D.Donlaglć 0,Tovor n l k D.Jakovijević M.Subic P, Hinić Z.Majkii M.Hinić S.TaliC 186 Mikroraćunalni4ka realizacija reqenerat ivnega sledenja v realnem ćasu 198 Jezikovno modeliranje procesov 2lilii( Pri mena radunar a u ijradi koristenju prog-noatićkih moelela 204 Procesorji v I skr i ni h tel e-f i h SPC centralah 203 Navđ generacija spektro" fotomeUar a M,MiheliC V.Mi ki avi it S.Talić Z.Rupnik S. Pr e4er n B. Di allo P.Mlakar Đ.Glavić M.Lesjak Z.Pola); 211 tli kror aćuna 1 n i iko vadö"" ni TL analizator 213 Mikroračunalnièki sistem sa kontrolo procesa vul kan 1 2 ac i j e? 219 Meteoroloika avtomatska merilna postaja AMP-BTOLP 2a doloćevanje disper:;ije v atmos-fer i pri Nlv icrSko M. Arbutina-Jović224 Metrolo^ti i n-f or m^ci on i E.Crnovrèanin sistem M.Toni M,Bril R,Kol ar U, Maruéie M.Maruèii J,Plave M.Mäher B. Crni v6C B.Delak J.Zaje M.Skumavc J.Piave M,Skumavc L.Gulić B. Alatii K, J ez er n i k P. Cavlović M. Lc.ir I Ita 229 Paket =a projektiranje p an orameli: i h ploSć 233 Mi kroraćunal ni sis-stem za prenos in obdelavo in+ormacij pri po-iarni zaSćiti PASO Reka 236 Multiratunalnièki sistem vodenje in nad;:or HE MavCite 239 Mul ti raduniti ni 4ki sistem vodenja ir-v nadzora visoko regaLneqa ^kladiSCa Programska oprema mit-iro-računalniškega si interna .28 nadzor in vodenje vi-SDkoregalnega skladisea 244 Model raduna 1 ni4kega razporejanja cestnih tovorni h vozi1 248 Računalniško podprto načrtovanja pulzriih usmerni kov 251 Interaktivni programi za proračun namota u transformator u 256 Programski sustav za proračun eleltrično jiolja ur naniote tr an^if i ir in&tor a P.Vrane4 So-ftver gra-fičl og termi - M.Bajčetit nal s prema GKS ^itandär if'i P.VraneS 2ò'i Projekat ter mi nal skog 1.Vojvodi C grafiikog modula srednje rezolucije i'iB Arhitektura intelegent nog 3D gra-fičkog terminala visoke rezoluci je L.Damjanovi Ć S. Bi 1 čar 2.Konstant i novi č D,Marinćić M.Kastelic B.6rilec P.Peteri in B.Gri1 ec M.Kastelic P.Peteri in M.Markelj M.SroSelj N.Panić D. F'agon D. Zvizriić T.Weiser B.Horvat Barve v r adunai rn 4ki gr ■fiki 279 Barvni gra-fidni terminu! tel Bi n-f or mac 1 j6.VeQa sistema TI-T0 t^Jamest 11 veni algoritem ?1S7 Koncepcija CAD sistema za pr oračun zagrijanja transformatora u pratu-ekBplosivnuj lEvedbi Nairtovanje in proizvodnja i del 1 ov RAČUNALNIŠKE MRESE R.Slatine)! 29h Komunikacijski krmilni! B.Horvat N.Crnko D.Soètarii D,ByorkoS I. Biz Jak S.Capon S.Kunćič B.Crni vec Đ.Pehani B.Pohar J.Be4ter M.Marc 301 Nekatere iskuènje pri delu z računal m 41 1 mi mr-ami 304 Realizacija protokola X.2S - LAPB za digitalno naročniško zanko ?l!ia Multimi kroračunal ni Èke mreie W.ot alternativa za mi ni računal nike v kompleksnih sistemih vedenja procesov v realnem času ^11 Povečanje informacijskih pretokov s tranzitniin pr etvorn i kom 315 Uvajanje teleinformat-skih storitev v PftBK I.Tvrdy F.Rozman 323 Uvajanje novih funkcij v R.Sabo H.Tvrdy tel einformatske sisteme B,Jelovi ca N.Panii O.Mikulič V.Kosmač 327 Interaktivni rad posred-stvin te!en mreže 330 Arhitektura lokalne Imikro) radunalniike mreie Tl-3tìl za vodenje procesov UPORABA PRI IZOBRAŽEVANJU 2. Kur tan jek ?4É1 Primjena kompjutera V nastavi na pr ehr aiiibfi -biotehnoloètom fakultfe ti,i sve^ld 1 1 1 4ta v Z^g/t^-h- M.ft,Brebner 343 The potential of micro- cömputör qröptücs in thEf teaching D-f some classes o+ compressi M e fluid 1 tram fv. Kol ar h . T ori i r . L n j D v i C F. lerdin M. ntar PROCESS CONTROL fi. Dobnikar V. C3u4tin T. V)dmar 177 A programfTir? package for- th^ management program data 1S0 ThB "Billig- Df (=Mchsnge" so+twarp [ifckarje 1B2 The pray ramming package ftPP-1 IBÄ» Mi crocompijter realisation -far regenerative control in real time L.Buiić B,Alatie 1;!. Jezerni k P.Cavi Dvlć M.Logics 744 The model o-f the computerized disposition Q-t road freight vehicles 240 Computer-aided design o-f swi tch mode power SLtppl yes 251 Tnter-active program -for transformer performance 256 Program system -for calculation o-f the elPCtricaS field near transformer-windings GRAPHICS AND CAD/CAM SYSTEMS F. Jurkovii? D.noni agiĆ P > Tovorni k D . Ja l-iDvl jevi t M, Subi C P.Hi nitf I .Ma jiiiei s. Tal i e M.Minit M.Mihelj £ V.Mi klaviie Z . RLVpn i k P.Satđlić S.Fr o^prn t. Ci lo r-. r-11 a k ar P. '31 ^vić M.Les Jak Z.Pnlak l^B Linguistic modelling Df processes 200 Use DE computer5 in the Development and implementation OE! -forecasting models 204 Processors in iskra telephone CFC enchangs 208 The new generation of spectr ophotometer 211 Mi cr opr-ocessnr contr-ol analiiator 215 Ml croconipL^ter- system for control vulcanization process 219 Meteorol ^gical automatic measLire station of AMP tower- -for de-fiFiing d i s-1 perses in atmosphere at ME Krèko M. Ar ìiut i na-Jovi £ 224 T^etr ol oq i c al information E.Crnovrèanin system M,Toni R. Kol arri.Maruiit U.Maruèie M.Gr i 1 -T.PI ave O.Häher e.Črnivec ti. De : a k ,1. la.jc M . B k Lima v C J.Plave M. Sk'jmavc M,Jenbo 229 Projecting packet for panorama hoards 233 Microcomputer systsem for transfer- and process infor-rftaticn fire pro -tection PASO Reka 236 Multicomputer system far the control and supervisory of hydroelectric power station Mavćiće 239 Multicomputer system for the control and supervision of high day warehouse 242 Software o-f microcomputer system for the control and supervision fo high day warehouse P.Vrane^ 2iß! A GKB based graphics h.Bajćstić terminal software P.VraneS 263 Design of a middle range KVnjvodić resolution graphics terminal modul 268 Ön architecture o-f intelligent high resolution 2 D graphic terminal L.Damj anovi ć S. Bi I ć ar D.Marinili Z.Konstantinov! Ć M.Kastel i C B.6rilec P,Peter 1 in 273 About colours in computer graphics E.Gr i lee M.Kastel i c M.MarkelJ P.Peteri In M,Pan i d B.Gr oéel j D.Pagon D. Zv l zdi ć. T.Welier B.Horvat 2TB Colour graphic terminal of telecontrol system TI-30 285 An algorithm for the automatic placement of circuit modules 207 Concept of CAD system -for calculation of neat transfer in flameproof mining transformers Development and manufacturing of products COMPUTER NETWORKS R.51atinek B.Horvat N.Cr nko 2'?6 Communication controller D. f.oètar i± D.ByorkoÈ I. B i 1 j a k B. Cr ni vec B.Pihani B. P oh ar J.Bester M.Marc 301 Experiences using a computer network 3^14 X.25 realisation protocol - LAPE for digital user loop 308 Multimicrocomputer network as an alternative for minicomputers within complex r-eal time process control systems 311 Information stream increase with transit converter 315 Introducing teleinformatic in PSBX I . Tvf dy F.Roz man B.SabQ H.Tvrcly B.Jelovica N.Panii □.nikulit V. Kostoai 323 Introducing new +unctions in tel ei n-f ormat i c systems 325 Interactive work with telex net 330 Local micromputer network architerture TI-30 -far process control Usage in Education 2.Kurtan jek M, A,Brebner S. S t amen kov i (i S.Maksi mović 34m Application o-f computers in teaching at th« facultv o-f food and hi otechncil ogy , the University of Zagreb 3A3 The potential of microcomputer graphics in the teaching o-f some classes o-f compressible ■fluid flow problems 347 Some applications of APPLK II microcomputer in the teaching of phyiäira Artificial Intelligence G.Brajnik 332 A Functionally di str i boleti (3.Guida architecture for thw IN- C.Tasso NLt expert interface M.Grobelnik 35Ò Unability of prologue I.harić 3òiil Phone recognition usir^q sequential autocorr e I nation vector analysis rjv&r limiteü number of coniac-cuti ve frames FIFTH COMPUTER GENERATION B.Robić J.Silc B.MihoviIpvid J.SiIc B.Rob i ć B.Mihovilovie 366 Functional prograrnminq systems 371 Data driven computer-archi tectures B.Mihevc T.Ogrine 349 Preparation of educational ini croccmputer ' s programmes and their application by geographical lessons PLENARNA ZASEDANJA PLENAR MEETING INTERACTIVE SYSTEM PERFORMANCE MEASUREMENT AND ANALYSIS Jozo J. Dujmovic Department of Electrical Engrlneerincf University of Belgrade, Yugoslavia UDK: 681.3.02 ABSTRACT; Two techniques for ienchmarklng interactive systems are proposed in the paper. The techniques are baaed on synthetic benchmark programs which simulate two typical workloads s (1) a transaction processing workload, and (2) a program development workload. These workloads reflect two fundamental activities that are regularly encountered In all Interactive systems. In the case of the transaction processing workload the proposed henchoark programs are near machine-independent and Include a synchronization mechanism enabling simultaneous start of a number of independent processes, one process per each Interactive terminal, as well as the automatic collection and processing of measured performance indicators. In the case of the program development workload the proposed benchmark programs are shorter and simpler than in the case of the transaction processing workload, but are machine-dependent and require more operator activities. In both cases a single evaluator can realize the complete performance measurement and then use analytic aodels to extend the measured results. The proposed performance measurement approach is verified in a VAX/VMS environment. 1. INTRODUCTION The basic goal of benchmarking Interactive systems is to evaluate the performance of multi-access computer systems serving a number of interactive users. Interactive performance measurements are generally considered complex and expensive CBEN753. They frequently include specialized minicomputers for simulating the activity of terminals and for generating an Interactive workload, as well as for collecting and processing of measured results CSP0793. Benchmarking of interactive systems sometimes requires many machine-dependent activities and/or the use of a number of specially trained human operators for executing an Interactive workload according to a given script CBEN75]. Obviously, such activities are both complex and expensive. In this paper our main goal is to propose an interactive system performance measurement technique that is relatively simple and inexpensive. The most convenient performance analysis technique depends on the purpose of such an analysis and in this paper we are primarily interested in benchmarking techniques suitable for computer evaluation and selection processes. So, we need a performance measurement technique that can be applied both for the efficient performance measurement of real interactive systems and for the processing of measured results. To that end the following requirements should be satisfied: 1. Perforinance measurements must be as simple, realistic, and inexpensive as passible. 2. To achieve the simplicity of measurement benchmark programs should be relatively short, and, in all cases where it is possible, maChine-independent. 3. To provide a realistic envlronnent and reliable results it is necessary to organize measurements using real terminal equipment' connected to real communication and control units. 4. To minimize the cost of measurement it Is necessary that a single evaluator can perform all measurement-related manipulation with a set of terminals, and the measurement time should be kept within reasonable limits. In this paper we propose two different benchmarks for interactive system performance measurement and analysis» (1) Interactive Transaction Processing Benchmark tITPB) and (2) Interacfclye P.r.o!T,r,a,B Deve^oEnent Benchmark (IPDB). Both benchmarks completely satisfy the above requirements but they fundamentally differ in the workload they use. ITPB is based on a simple synthetic workload consisting of a repeating cycle which includes a think tlisie period followed by a sequence of disk accesses and CPU activities. Such a synthetic workload simulates a typical transaction processing where each interactive terminal is used for performing essentially the same task. As opposed to that, IPDB is based on a natural workload and performs a typical interactive program development cycle including editing, listing, compilation, linking, and execution of selected real programs. Therefore, IPDB uses various systems programs Including compilers and linkers and integrally measures interactive performance of a complete computer system with all of its hardware and software components. Such an approach eventually yields a different workload for each of competitive computers due to different resource consumption of competitive systems programs. Of course, this type of different workloads is completely Justifiable since it exactly reflects real life situations where each computer's global efficiency significantly depends on the efficiency of systems programs. On the other hand, ITPB generates the same synthetic workload for all competitors, AK INTERACTIVE TRANSACTION PROCESSING BENCHMARK (ITPB) Interactive transaction processing Is a. frequent Interactive application In banking, reservation and sale of tickets. Inventory control, and in many other areas of data processing for business systems, - Information retrieval systems, ■ etc. An Interactive computer used for transaction processing Is assumed to serve a number of interactive terminals. Each interactive terminal processes a relatively simple workload. In a typical situation a terminal operator is serving customers and at the beginning of service the operator accepts customer's service request and then uses his/her terminal to type-in a processing request. The Interval from the beginning of service to the end of typing Is called a "think time" and it may vary from few seconds to few minutes depending on the type of service and tHe frequency of customers. When the processing request is submitted for processing the computer typically performs a sequence of disk accesses and processor activities, and then displays lor prints) a number of lines of an answer to the operator's request. Te same routine repeats with other customers. Therefoe, the above interactive workload can be simulated as follows; for k i= 1 to TRANSACTIONS do begin Wait during the think tine Interval; for 1:= 1 to CYCLES do begin Perform NACCESSCiJ disk accesses ; Perform processor activity specified by MILLISECCil ; Display LINESCia text lines end end In this algorithm NACCESSCi], HILLISECCl], and LINESC13 are respectively the number of disk accesses, a processor activity parameter, and the number of displayed lines in i-th cycle. If THINKTIHE denotes a constant average value of the think time interval then a spectrum of interactive workloads can be precisely specified using the following parameters: TRAHSACTIONS, THINKTIME, CYCLES, NACCE3SC1..CYCLES], HILLISECCl..CYCLESD, and LINESCl..CYCLES]. A FORTRAN Implementation of the above interactive workload can be organized as shown in Listing 1. The primary goal of benchmarking interactive aystema la to determine actual changes of performance indicators caused by increasing the number of active terminals. If the total number of available terminals is MAXTERM then we should measure the performance indicators of a computer serving 1, 2, ..., HAXTERM terminals. The simplest way to perform MAXTERM independent measurements with an increasing nuiaber of active terminals is to organize a completely automatic measurement procedure with MAXTERM copies of an interactive benchmark program (INTERBEN) and a control program (CTRL) which succesaively starts the groups of 1, 2, ..., MAXTERM benchmark programs using the technique of process sinchronization with global semaphores. During the performance measurement INTERBEN programs save all measured performance indicators in a shared file (TIMES,DAT) and at the end of measurement the CTRL program reads the accumulated results and performs a final processing which includes both the computation of all important global performance indicators and the prediction of system performance for cases where more than MAXTERM terminals are active. The organization of CTRL and INTERBEN programs is presented in Fig. 1, and all qomponents of ITPB are shown in Fig. 2. A FORTRAN implementation of two basic programs CTRL and INTERBEN is presented in Listing 2. Results of a typical performance measurement using ITPB are shown in Fig. 3. 3. AN INTERACTIVE PROGRAM DEVELOPMENT BENCHMARK (IPDB) Interactive development of new programming systems is a permanent activity in almost all computing centers, and in computing centers serving universities and research organizations program development may be a predominant activity. During the program development typical interactive users generate a workload characterized by relatively long think times and frequent activating of various systems programs including oparating system, editors, compilers, linkers, debuggers, etc. So, in many cases it may be rather important to measure the performance of competitive computers processing an interactive program development workload. Let us first clearly specify the essential property of IPDB: it mainly measures the efficiency of systems programs and consequently the workload of competitive computers must differ. In a general case the efficiency of relevant systems programs indirectly affects the efficiency of all benchmark programs: for example, the processing speed of FORTRAN and COBOL benchmark programs partially depends on various optimizing properties of pertinent FORTRAN and COBOL compilers. However, the activity of compilerà precedes all general batch measurements, and in such cases the computer workload is essentially the same for all competitive systems. As opposed to that during the benchmarking based on IPDB we usually wish to explicltely.measure the speed of compilation and linking, and obviously each computer uses its own compiler and linker yielding inevitably defferent workloads. Of course, such measurementa are both Justifiable and important because they realize exactly those processing activities that really occur in practice. The only disadvantage of such an approach is that albeit it can be rather general it cannot be machine-independent. Hence our pesentatlon of IPDB must be based on a real operating system and we will exemplify IPDB using VAX/VMS. A typical program ■ development process includes one or more of the following activities: (1) display of source programs, (2) editing òf source programs, (3) compilation, (4) linking, and (5) execution of linked programs. Each of these activities is performed interactively and it consists of two basic intervals called "think time" and "run time". During the think time interval the terminal user is assumed to analyze previous results, to prepare a new task, and to type a corresponding service request. During the run time interval the user is waiting for results of the previously submitted request and then the sane interaction cycle repeats. The sum of the .think time and the run time is termed the interaction cycle time, and one of main tasks of benchmarking interactive systems is to measure the interaction cycle times as a function of the number of active terminals. According to the above presentation it is convenient to organize an interactive benchmark program using for each program development interaction a separate "interactive block' presented in Fig, 4. He assume that a fixed number of blocks is to be executed during each 12 -čtSL- Execution trace fot 1-1 and MAXTEIlM-2 (CTRL must be started before all _ INTESBEN programB) START_)■ K Road HAXTERM Clear IVlXTESM reaJjr flags (jirepare for mlt-1ns the start and readiness of INTEKBEN programa)_ Walt until KAXTEKM ready flags ate set by [STERBEN prngrams CI.«, all INTERBEN pro-prama are started and ready for neaaunjicnt) KTERM - 1 (NTERM is the number of active __terminals)_ Clear NTKH« ready fl.iga (prepare for wjitUw the end of measurement with HTEKH active terminals) ____ Set NTERM start flags starting the measiiretiiunt with t4TERM active terminals Walt for NTERH ready fl.igs signalizing the completion of measurement with NTERM active certninAls NTEBM - NTERM + 1 {prepare for newnvoasiitenEii, NTERM > MAXTERM (End of measurement?) Read the results of measurement from the TIMES.ClftT file__ Process the results and print a performance analysis and prediction report —I" Clear tlie 1-th start flag (prepare for waiting start nlsnals)_ Set the i-th ready floB signalizing the readiness fur measurement _ Wait until at least 1 flags are set tlxecute the interactive cransaccion processing workload (subroutine WORKLOAD) and neasure both the CPU start and stop times and the elapsed start and stop t lines All measiircnents coiapleted? alt 20 seronds so tliat all lo t her INTEHBEN programs can complete their work without cine disturbed_ Isave ail measured results in he TIMES.DAT file et the l~th ready flag Ignallzlng the readiness or processing the results aved In the TIMES.DAT file (ŠTOf>-1 Figure 1. The structure and synchronisation of CTRL and INTERBEN pror.rams 4 6 8 10 14 16 18 £ö tSUMBER OF ACT I (JE TERMINALS F'l <3-\af e measurement and consequently each block must contain an end-of-measurement teat comparing a current value of a block counter with a given maximum number of blocks to be executed. Im IPDB conalatg of a cyclic chain of interactive blocks where each block performa a selected program development taak. Fig. 5 shows such a chain reflecting the following scenario of interactive program development: Bloek #1 iMSTi The interactive user displays a aource program and discovers a need to modify the program. Block jtl (EDIT) Editing process which creates a new source file. Block #3 jgOHPILm Compilation procesa generating a file with compilation messages and, if no errors are detected, a corresponding object file. Block #4 (LIST) Display of the file containing the compilation laessagea. Blpglt iS (EDIT) Assuming an error is encountered or an additional improvement la needed a new editing process is performed. Compilation of corrected source programs generating both liat and object files. Block fl ILim) Linkage of all necessary object files creating an executable program file. Block la i EXECUTEI Execution of the linked program. The above program development cycle is rather typical but it can also be eaaily modified according to user'a needs. The proposed interactive blocks can be easily replaced by some other blocks, and both their number and their ordering can be changed. Once we have a cyclic chain of interactive blocks we are faced with the following problem: if all termnals are used to simultaneously start the same sequence of blocks then an artificial situation la created where all hypothetical terminal users ainultaneously liat their file:', simultaneously think, compile link, etc., causing unnaturally concentrated excessive requesta for system resources. So, it is necessary to uniformly distribute various program development activities of supposedly unrelated terminal users and that can be done as proposed in Fig. 5 where each terminal user has its own entry point in the cyclic structure of IPDB. To realize such a benchmark program with multiple entry points, some interactive blocks are to be skipped yielding a corresponding block select test at the beginning of each block as shown in Fig.' 4. A program realization of IPDB using DCL for VAX/VMS is presented in Listing 3. The technique of starting the measurement now differs from the control program technique used in the case of ITPH. To simplify the IPDB the system time is used for synchronizing the start of all simultaneous copies of IPDB. Results of a typical perfornia.nce measurement using IPDB are shown in Fig. 6. 012345678 910111213141516 HUMBER OF ACT IUE TERHINALS F'ig-xjire 6 C I IMTERACTIVE BLOCK } 1-1 INTERACTIVE BLOCK » i ^TOP STOP ) < CO.OT INUE BLOCK SELECT TEST Perforili Ithls block THINK; (O (2) (3) Analyse previous results Prepare a new task Type-In a request i RUS : < 1 ) (2) (3) Process the request Display the resuits Increment black counter > Skip this block Yes END-OF-MEASUKEMEìn TEST: block counter - HAX_BLOCK > CONTINTE ESTERACTIVU BLOCK J 1+1 1 ^CONTINUE IPDBJ 1,9.... IPDBS 2,10,... IPDBtf 3,11,... IPDB# 1.12,... IPDB J I.D.... u u C u: Block tf [ LIST IPDBS 2 ,10,... >% C ui Black ; i 2 EDIT H Block t 3 COMPILE Block f <• LIST INTERACTIVE PROGRAM DEVELOPMENT CYCLE Block e e Block l 7 Block i 6 Block ( 5 EXECUTE LINK COflPlLE EDIT oo i r-. l i --r > u fi u M C 5 C [U 1 IPDB fi S.16,... IJ'DRfl 7, ,15____ ivmlf è,Ih____ ll'DB ff 5,13,.. . Figure Basic structure of an Interactive block FlpureS. A» interactive program development cycle with a uniform distribution of entry points for IPDü uorkloađB C [HTEÈSeTIVE IRAHSftClION PSOCESSIffi WOSKLDtì» SUftOUTlUE WOlt.LO(iD. (ID) ! Ui ^ ucrklojd identificjlioil HIEOER IMHSfiCIUÄSi CYCLES fWAHETER (TfiilMSliCTlÜNS = 50. IHifJKIWE = 15.. CYCI.ES ' 5) Il!«ENSIOtt MCCESSf C YCLES).MlLLISEC iCYCLESt ,LIMS(CIXIES) £H3,:/ HOD = mii «UL = 9??3 kEY = ill TEXT - 'iniliäl strins' ! Mutter of displsysd line^ ^ ! hiitializđtion of raridot ! ! nuiber senprstor'. ■udul'jsi! ! ftuHipUer I initial v5luE> !..........................-V KÜTMIdi yn äene ration 0 < UR« ; 1 I um fürs rindotì nunberl IiD K - liTRAHSACTltWS isti = KEYJI«. - KEY»«\JL/«JMhDS UKN = ELDS1(KEY)/HDD CALL USIT.lNTEROftL ITH!t)KIIhEtURN) m I = 1,CYCLES IF IHACCESSUI .ST. 0) CW.L BWMXESB (HfitCESSU 1) IF («LLISEClIt .GI. 01 CALL tPIIHE tWLLlSECt!)) IF (LlffiSU) .BT. 0) CALL HISKAY (LINESIl)i tUDMl PRIKT »r»»-------------------------TransKlion f, K CW.L Ittn.IttlEROAL (THIWTIKEt(l.-UR(t)) END DO RET» EM DISK ACCESS SUBROUTINE EUtROUTIHE DISKACCESS (HACCESS) > COHNOH IWDiWl,KEY.TEXT ! CHASfiCTEIiieO IE»T DO ] z 1,«ACCESS KEY = KEY»hUL - KEY(H1L/HDD«H0B ! lUNll^liiFhT-lOiRECzKEY) TEXT to FORKATIAI WR SO RETURtI «HCCES5 = raabei- uf rindo» äccesifi Rmtoi KEY Antral ion ist C PROCESSOR Tint SUBROUTINE SUSRffiniHE CPTIKE ihlLi-SSEC) PWANETS (LOOP • 214) LTEHP = «SLLISEC MEHP = HILLISEC 60 J = SfWLLlSEC SO 1 = l.LOOP LTEKP « LTENP-I KTEhP = MENPtl EKE DO LIEKP = tLT£HPH!TEHPI/2 KTEHP = LTE«P END PD HILLISEC I KTEHP RETUfift END riìLLlSEt = frocessor sotivilv paffute r LOOP = pfoär» fafsMtcr to tie adjusted so Vhät CPUIINE(I) z 1 « for i selected coiFutsr I.e. LTEHP = «LLISEC i.e. «LLISEC rsiäins urchansed DATA DISPLAY SUfSOUtlKE Czzzzzrrszzzsszzzzzzsrzzzzzz, ;z±=zrz5is^=zzzzzzzzzzs==. SUBROtlTIHE DISPLAY IlIHES) CHfiRACTERtSO TEXT COHHON l«)lihU.,KEY.TE*T DO L = I.LINEB fItlHT h TEXT END M RETtKN END > LINES tSe fìUBber oP 80-chäräcter lines to i» displiwd Czzz5Fzzzzzrzszzzzzzzz=zzzzrzzzzz=zsrrrzzzz=zrrzc=zzzzzzzzi rI; r-j:i; z^ C CTRL - Control proärä» for bcnchiarhinä inltfictive siiteli C tThls frosròi «ust, prtcede ill lìdERfE» proiräiil INTEGER CTRL CtXiiW« HAXTESH ! HAXTERH = toljl nulber or (eroinr-l.. !or PARAHETES (IKTERDEKzl, CTFLz;i ! fcrlonititu ».■.■.Ln-.siit OPEN (UNlT-;2.FlLE='[IHES.0ATSS!ATUS='ltEl|-.HCCE3S=T.iS£CT', I FORH-'FIJS)iflITE0'pRECL=8O.IHITl«.Si:E=35 ! Creslioi, of ÌIWS . .ORGMUIAIlOH-'RELMUreSSHtótDi I IFor ;Ci lfraif,j!i aOSE (UHlI=!;i ! ire 510 recuid;. PRINT«.' ENÌtS THE TDTM. WHSER DF lERHlNALS' > Slocl l'OntiU,", = READ I. hKXIERH DO KTERH = UMXTERH CftLL CLEWi-M ;CTRL.mERH> EHD DO CALL Mli.UAIT (CTRL,2 FORn^'FORnSllED'iSKAREDl DO NTERH = IDjHASTIKìI ! Save sU results URITE (UMIMJi fìEC-IDfi(TERHtlNlER)i-U/2. FliT=M) I START-lira.WlERHi. 31«iT.CPU.Tl(IE(N!EMli r STOf.TlltE(KtEfiH) i STIff-tPU-TlrtElHtEkHI END DO 10 FORMAT (4E20.1:) CLOSE 1 um 1=22) !................. CALL SET-BS (CIRL.ID I SI OP END ! End of le'ssureiie.-t and ( ! start of Frocestins ! L±st±r%<=r 2 lL.±3t±r>g- X 16 UIEtACTIVE PeOGIUh DEVELDPnEMI tEKHMIK S»«S»6Ei™D*EeaaflSli»5BB==aM±SS*66SSS*S* »I' J! im - t DTEH/eEW Off M SIAÜT.Mt • SIASI. Mt contili» the stwt of •nsureuflt tiH t KEAD IHFtU SIMtllHE t lead S»miNE as a chnicter slrinj lHl:nn:SS) t CLOSE DIFIU f UHLE it i logical naw aiii^ned to STUT.DAI I!------------------------------------------------------------- ■ J4 i 1 * m BIDCX t HBL « IP « FLM ID-1 • (ID-D/NBLAKBL • STAtT Tllffi - STARIINC » COUW " 0 » « MIISTAIT I!----------- ! iFiunted nuAef of proceised blocks ! N». the nober ol blocks in imi > ID • t«ritiMl id. nu^r 11,!,...) > 0 FUQ <= NBL-1 > Define srAIt.tlME as a 3lobal syrtal ! COM the nuiber of processed blocks • Uait until tiae-of-day ° SIAM TIHE ♦ BtOCX l; Lis: ( I t t t » BLOCK !: IF FLAG .GE. 1 IHEH GOTO HOCK 2 « IHDK 13 mE MIIKl.FO!, rSCIt.FOB e SIOPTESI « «alt 15 secomis (think and typins tiie) ! List source profus > COW! COUHM; ! it COONI = MM BLOCK Uwn STOP EDIT t t t ( t Bum.3! !C FLM 2 THEH BOTO tUKK 3 t IHDK IS BUH EDIIIKl 0 SnPTEST I ! Vait 19 seconds (think and typin] tiiel I Siaulttion of file editing I Increient COUNT aiy) test t t » t t!------- t BLOCK t: IF FU5 .OE, 3 MM eOTO BLDOt i t TttlW 15 FOl/LISI HAIHI, illWl, PSCIl e STOPTESI C O It P 1 I E ! Vait 15 secoKts (think an) typlnj tiae) ! Capile EDmM* pro3rai! • Increient COUNT and test LIST IF FLAG .(ü. ^ THEN GdlO tLOCK 5 e IHM » m «ATM, HIKVl, pscn I SIOPICST t t $ » tt-------------------------- ( BLOCK S; » IF FLAS .6E. S IHEK GOTO 8L0CK.6 I t TMIHK 15 * HM EDIIDIGl » t SIOMESI t!---------------------------- ! Vait 30 seconds (think and tyjiinj tiw) ! list the obtained coipilation reports ! Inc/Hent COUNT and test ! EDIT j======r=3aB=====^=aBBe9==3=33HHBassps ! Vait IS seconds (thiidi and typing tiu) i Sinjlalion of file editins ! Increient COliNI and test t BLOCK b: ! confile t t I »!----- » »10» 7; !t FUS M. 6 THE* MIO SUDI 7 8 THINK IS Eoa/Lisi MT»i, niHvi, rscii B STDKIEST ! Vait 19 seconds (think and typing tile) ! Cotpile EOITIAH projra« ! Increwnt COUHT and test L 1 H K « « t I I I------ t BLOCK s: IF FIAS .GE. 7 MK GOTO BLKK.S t THINK IS LINK NAIIHl, HINVI, PSCEl e STDnEsi ! Bait 13 seconds (Uiink and typinj t lie) * Llnli object prosrais ( Incre«nt COUNT and test EXECUTE t » » t t »!- ( IHUW 30 BUN Fscn » STOPtESI FLAG • 0 GOTO BLOCX.l ! != ! Iiiecuticin of linked protrai ! Iflcreaent COUNT and tost I Continue uithoul skipin^ blocks ! Bepeat the above sequence of blocks »! STOPTEST PBOCEDUIE (STOP VHEN THE NUHJEB OF FlOtXSSED BLOCKS < NAX.BLOCN) f ! S3BSna5BSSBeBB:SSSB3S3SSSSSSEZai4aA*HHS**«««S«bBBI«nWt*CaBBBUn3B*SBBSBS* t COUNT = COUNT * I ! Increwnt block counUr » wm ««»OUTPUT •»>-----------------> (WBM OF HECUtEB BLOCKS = ', COUMT t IF COUNT .Lt. NAX.DLOCK IHEH EXIT ! Stop or continue ? 11 BEALI INE ! NeasureKnt of teal tiw • BUHTINE - ('E»EXTBA[T(0,J,TINE.Or.DAYI'-'nE)(HACm,J,STABT.T[HE)')»36OO -• ('ItDI8ACI(S,l,TIHE.(IF.BATl'-'F»EXII«T(3,2,SIAn TIHE)')*H » 'nHTBACKi.J.lIhE OF Mlf-TtEXTMHt.J.STMl IINE)' » VJITE STStOUTPUT ' ' IPDt SISTEX • END OF PEIFODHNCE NEASUBENENT' mmkMumMUMiMtthMuutkMUiMuiMijLmm' TEB«m IDENTIFICATION HUNBEI ■ ID TOTftL (MtBEB OF tXICUTED BLOCKS CaJW TOTAL MJK TINE ' BUNT INE, ' SECONDS' ! »»»»»» End of (easureient » UBITE STSHMTFUT t lanE STS«(»JIFUT t VBITE SrSIDUTPUT » UBITE SrStOUTPUT • VBITE STS»OUTPUI • UBIlE STStCUTPUI • STOP »!----------- !• UAETSTABT nOCEDUBE (V»]T A OIVEK TINE-OF-IM MD STABI THE HEASUtEKENT) »'e lEALTDIE I Neasurekent of real tiM » VAU 'MTE"STAlìt,I!HE' ! VAIT uses tiie-iif-vear (or>3t(DD-«tt-im HH:«:SS1 » EXI1 ! Beturn to a calling procedure »!----------------------------- »! THINK PBOCEDUBE (VAIT A GIVE* TINE IHIBWil ■ f Ibs==c===: » UAIT oo:oo!'pr » EXIT • t------- nUtttanftsnSSBBXHUn^KEK»*» SINUUTION OF THINK TINE) ! PI is an Input arsiaent denolinj seconds I leturn to a calling procedure (MEASUBENEHT OF DATE MO TINE) tlETBSAaBftmBB »! REALTIHE PtOCEiWHE » IDffiSTSlHG ' miNElt ! « tiie-ol-year itrtn? (DDHVM-Tm HH!«H:S5) » DATE " F»E*I»CT(0,12,IIHESTRDI(J) ! DATE • DD-WN-TTTT string » IME.®.Dfl* " F»E(HACT(12,8,IIHESTBING> ! Tttt.OF.DAT = m:l81:SS slfinj » EXIT I BeUirn to a call inj proceikire i;------------------------------ C EDIT INO C" SINUUIIDN OF AN EDRIffi PBDCESS CHAlACtEBltSO TEXT HOD, HUL, KEJ, TEXT C----VOPKLDAD PABANETEBS' DATA INTEIACTIOHS, THINKTIHE /(, 10./ DATA NAIXESS, HILLISE, LIKES /24, 2», I«/ NOD ■ 99)91 I Initlalliall« HUL ° 9973 (at landoi KEY 1 I nuiber generator OPEN (lUItT => LI, FILE = 1 ACCESS = 'DIBECT' -EDIT C I C I E BO »T l.INIEtACIIONS CALL DISKACCESS (NACCESS) CAU DISPW« (LINES! CALL VAn.INTEBVAL (THilffiTIHE) CALL CPTIKE (HILLISEC) END DO CLOSE (WIT ° 11) STOP END PFBEL.DAI', STATUS • W, {OM " 'FaWAHQ', SHAÌE») »! I Start of edit cycle ! ! OPEN-LOflJ-SA«-CLOSE ! I L I S I ! 1 TN I H K I I P Ì 0 C E S S I ! Bepeat the edit cycle! 4. AHALYTIC HODEIIBG OF imEKACTIVE SYSTEMS Analytic nodeIs are frequently used In conjunction with benchmark measurements in order to derive various synthetic performance Indicators and to predict the performance of measured systems in cases where their parameters are changed after the completion of performance measurement i:F3R83]. Analytic models can Include various levels of detail and the fallowing three models, ordered according to an increasing level of detail, will be discussed below: - bottleneck analysis model, - machine repairman model, and balanced central server model. The bottleneck analysis model CDEM78, LA2843 la shown in Fig, 7. The » model Includes N interactive terminala and a central subsystem containing a bottleneck resource. The bottleneck resource Is defined as a resource having the maximum VbSb product, where Vb denotes the number of visits to the bottleneck device during each Interaction and Sb denotes the corresponding average service time. Other indicators of the model Include the average think time Z, the average response time R, the average Interaction cycle time Cs=2+B, and the average throughput X. All terminals are assumed to be equal and to receive identical services from the computer system. Consequently, during each Interaction all terminals must be served yielding the throughput X - N/C = H/ls Xmin = 1/Cmln - l/(2+Rmln). The minimum response time can be easily obtained as a net sum of all necessary service times without queueing delays) Rmln = VISI + V232 + + VkSk where k denotes the number of resources. Vi Is the number of visits to the i-th resource per Interaction, and Si is the 1-th resource service tine. If N>>1 then the bottleneck resource is saturated, limiting the global throughput of the system to X=Xmaz. The throughput of the saturated bottleneck resource is Xb=l/Sb. In cases lAiere the bottleneck resource Is visited once during each interaction It obviously follows Xmax-Xb. Generally, If the bottleneck resource is visited Vb times per each interaction then Xmaz = Xb/Vb « l/VbSb . Therefore, the C(N) function has two asymptotes. The minimum load asymptote is a horizontal line C = 1/Xmln = Z+Raln and the saturation asymptote Is the rising line C « N/Xmax - NVbSb . The intersection of the asymptotes denotes the beginning of saturation and that important point defines the critical number of terminals Nc: Nc • Xnax/X»ln = (Z+Rmln)/VbSb . If N <= He then the operation of the system can be considered normal; however, if H > Nc then the system becomes saturated yielding poor response time defined by the formula R ■= N/Xmax - Z ■> NVbSb - Z . According to Little's formula we have that the number of jobs In the central subsystem (i.e. the average number of terminals waiting for system's response) is n = RX, and for a saturated system it follows n • RXmax ° K - ° N - Z/VbSb . Obviously, for N >> 1 the ratio n/H approaches 1, i.e. the majority of terminals are In a nonproductive waiting state. It is important to realize that Nc depends both on the workload and on various system parameters. Since system parameters are constant, and the workload can be easily changed. It follows that Mc primarily reflects the computer workload and can be easily adjusted to take any desired value. However, the Interactive workload during benchmarking is approximately constant and consequently the corresponding Nc indicator of competitive systems can be successfully applied for their comparison. It is useful to note that the above bottleneck analysis holds also for batch systems where Z-0 and C=R yielding Xmin - 1/(V1S1 + Xma* = 1/VbSb , + VkSk) Nc = (VISI + ... + VkSk)/VbSh , R = VISI + = NVbSb + VkSk N << He H >> Nc where Ne is now Interpreted degree of multiprogramming. as the critical To derive Nc from benchmark measurements we need a more detailed model of computer system than the bottleneck analysis model shown in Pig. 7. The first such a model to be considered here is the machine repairman model shown in Fig. B CSCH65, KLE68, KLE75]. The machine repairman model is obviously the simplest possible model of an interactive system since it represents the whole central subsystem by a single service center. Using this model Nc is defined as follows« Nc = 1 + Z/Sp , i.e. during each think time interval the central subsystem is expected to serve all of the remaining Nc-1 terminals ( (Hc-l)Sp = Z >. The machine repairman model can be used very efficiently for modeling the interaction cycle time and for a precise - computation of Nc. Let C(N,Nc) be the Interaction cycle time computed from the machine repairman model and let Cm(N), N = 1, .. , Nmax be the set of measured interaction cycle times. Then the critical number of terminals can be determined by minimizing the dfference between measured and computed Interaction cycle timest 100 D(y) »= ---- Nmaz D(Nc> min y> = l Nmax y I Cm(N) - C(H,y) I / Cm(Nt N = 1 D>>>>> Response tine R >>>>>>| CENTRAL SUBSVSIEH BOTTLENECK RESOURCE I N-n Jobs " X " Throughput I I I BOTTLENECK RESOURCE | ■-->1 ■-------.----. I~>' ) ">| QUEUE I—>1 Sb |--> I I .-------. .----. I n jobs 1 ----i Z j<— 2 ----i Z j< — N TERMINALS N ----i Z i<--- !<<<<<<< Think tine Z <<<<<<<<| I I I Interaction cycle time C=R+Z j I I |»>>» Response tirne R >>>>>>! CENTRAL PROCESSOR •--->1 PROCESSOR OÜZÜE (--->| Sp |—> N-n joba Figure 8. Machine repairman model of an Interactive syatea Throughput n jobs Figure 7. Bottleneck analysis ntodel of em Interactive system with N active terminals (K+0)*/l (K+l)x/2 (K+2)3£/3 ■ I I I V V V H(l) . —. H(2) . —. H(3) 1 —>1 A I----.----->1 * I..........>i * I----.-- ' — ' 1 '---• I ' —' I I I 1 I I I V V V , —. G(l) . G(2) . —. G(3) 1.....>i + I — . — .--->1 + I —.--.—>1 + I I • —■ I t I II I .---. I I . —. •--->1 / |<~' ■—>1 t |< — (K+3)*/4 (K+n-l)x/n I I V V H(4) H1 * I----.— ... ---->1 A I-—......> V ->i + I G(4) I I '---' I I I I .---. I I .---- I —>1 / !<--• • —>) / |< —■ ) Up(l> 1 V I Up(2) X--->1 * t i UpO) I I Up(4) ( V V Ud(l) X--->j * j V Ud(2) X —>1 * j i v Ud(3) X--->1 * I i V Ud(4) i I V G(n-l) . —. G1 + I — . I I t ' —>j / j<-- j Uptn) I V X--->i * j i v Ud(n) 1 2 3 4 n K 1 Kx (K+l)/2 (K+2)/3 tK+3)/4 * * ■ Up(2) .Op(3) UpI4) Up(n) 1 Ud(l) Ud(2> Ud(3) Ud(4) Ud(n) 1 Figure 10. Numerical technique for direct computation of processor utilization and disk utilization for a balanced central server model of nultlprogramaiing 1 ■j 2 i<-2 l<--------------I 2 l<----------------I l<- N TERMINALS N — i z i< — > N-n I JobB !<<<<<<< Think tine Z <<<<>>>>> Response time R >>>>>) | CENTRAL PROCESSOR X Throughput I .- I > —>1 PROCESSOR QUEUE ----->------ .----. ) ->| Sp t I I I l<-I I I I I I — I Sd j<----j DISK QUEUE t<- 2 I .----. .------------. |<----] Sd j<----1 DISK QUEUE | , (i.e. nl service requests at the 1-th service center, 1 = 1, . ... , k, where the number of service centers is k = K+1) for the BCSH Is n2 + ...+ nk p(nl, nZ, nk) / G(nJ C(n) nl+...+nk n2 + + nk I > n I jobs I .---<----vd visits - - - - <---• X 1= pd Sd / Sp - Vd 3d / CK(l+Vd)Sp3 . The computation of the normalizing constant G(n) for the BCSM can be performed according to a simple algorithm which can be derived from the original Buzen's algorithm CBÜZ73D. From the first row of Bujen's table It follows G(l> ■= 1 + K X . Fron the second row we ttave 2 G(2) = Gil) + K (K+1) * / 2 and generally Figure 5. Balanced central server model and its parameters N, K, Vd, Z, Sp, and Sd A FORTRAN program for computing Nc is presented in Listing 4. A sample output of this program exemplifying the analysis of an ITPB measurement of a VAX 11/750 Is shown in Listing 5. The machine repairman model cannot be used for detailed analyses of interactive systems with disk units. In such cases a more detailed analytic model is necessary and such a model is the central server model CBUZ71, 6UZ73, CUR84]. In all performance measurements based on synthetic benchmark programs disk units are regularly uniformly utilized, I.e. the Interactive workload Is designed In such a way that each disk unit is accessed approximately the same number of times. The central server model in the case where the probability of accessing disks is equal for all units Is shown In Fig. 9 and It is called the balanced central server model (BCSM). During each Interaction each terminal is assumed to generate Vd disk accesses (i.e. Vd/K accesses per disk for a system with K disks units). In such a case the number of visits to central processor is Vp = 1+Vd per each interaction. After a visit to the central processor the interaction can be completed with the probability pi = 1/Vp = iy(l+Vd> or a given dlak can be accessed with the probability K(K+I) ... (K+i-1) i G(i) = G(i-l) +.................. X il K+i-1 . = G(l-l) + ( IX-' , i I = 1,... ,n G(0) 1° 1 . Therefore, the computation of the vector C for the BC3M can be done substantially simpler than in the original Buzen's algorithm. For n jobs in the central subsystem the processor utilization Up and the disk utilization Ud can be computed from Up = G(n-1)/G(n> , Ud = X Up . So, using the computational technique shown in Fig. 10 all fundamental parameters of the BCSH can be computed using the following simple algorithm which la suitable even for manual calculation using the table presented in Fig. 10! G{0) 1= 1 ; H := 1 FOR i 1 TO n DO BEGIN H ! = G(l) := Uptl) != Ud(l) i= X .= Vd*3d/(Sp*KA(l+Vdi); END H*x*/G(l> ; X A Up(l) suBtoiriH fnih) ir, xsiep, ebhii, xnih, fiiihi F = «I exlfrml tUKtion to be tiriiiced ! XSIEP - initial value at step (constant or variable) ! mot > UKiu Aulutf error al IH Ut Icoiul. or variAle^! JIHIN = an initial estiutc of local oiniM uhicli i« ! replaced by the retultin) coonJirute of ainiwi ! FHDi • FIXHIN) > the re«ultin} liniwi d1 function ! STEP <= XSTEP FNIH • FOUiUII do mile (absisiep) .be. £uot i 0.1333) step » - siep XMEn > »IM « snr fkext ° f(xhexi) m whe ifhexi .lt. ehud m» • xhexi fhn > fneh xhen : xnen » siet fNEn < FiXMEni DO) DO SIEP = STO / 2.7183 END DO ktutn END O." C CailEDIOl FUHCIIDN (WEUGE ttUIIVE CUOt) laflHHüBBjassaaaagrrTrrrrasctniCTSi FtKTIDII CEIIEIIOII (CtlTPlOG) CONHIM HPtOG, I MEt») C = 0. DO Ì 1, KPlOG OC* ftts=■ 1 IF ICIimOG .EO. ).) IHEH taiiffi > Hpsos lEMU EHD IF EMI " 1. / CCIIIPEOG - 1.) 5UH » 1. DD j = i,Mnoe SUH« 1. • i t iHflt9M EHD IO flELIBlE « «HOS / (d. - I./SUH) i CtlimK) tEIUW EtID EiniHU. ttnEIlDH COWW NPtDG, I]NE<») DO IMIIE I.TItUE.) PtIR 10 lEADl, HPlOG, (II)IE(i), i»l,IIP105) lito«)' IIHE<1) DO i = 1, HPlOG TIIiE(i) = TIi, IWUNUtT, S, i/TDSIi), EF EHD DO PBIHT 12 EKD DO U FOMAIClEnter MnOG, IDIE(l), IIHE(2), ... , IKumOG) :'/) 11 rOBIHTt//' Critical desree of wlliprovauinj {6.3 / Avera^ relativa error F6.3, ' Ä'/ Jhltiprosraieins etticiency liiit '',(6.2,' t'/// UC-')/ ,' Desree of Measured Cooptited telative ntDW Ikiltiprof.'/ iwUipro- elJp«d eltpsad error ----- efficiencif'/ jraaiin) tiw ti» [Il INULtI C I 1') IlFOBHAKHC-'» . 13 fOHWH n,Il2,ED. 2,I13,FD.2, IM,Ei.3,1«,Ei.2,IH, F4.J) EM Listi ing- 4 Enter KPMO, lllffill), IWE(J), ... , TIIK(HPtDG) : 12 17.613 17.664 17.713 17. DM 17.907 18.015 IB.134 18.343 ID. 482 18.691 18.901 19.397 Critical decree of wlUprasrauinj =1S.9M Averaje relative error • 0.20 I Nultl;ro3ianiR^ etticiencv liiit > «.72 t Desree of Iteawred CujMted Belative nuwo Kultipros. MltiPfO- elapsed elapsed error -- efficiency frauinj tiie tiee [ I ] IMILII II] 1 17.« I7.(t 0.04 l.DO O.DO 2 17.» 17.48 0.10 1.99 99.71 3 17.72 17.76 0.31 3.98 99.69 4 17.81 17.85 0.24 3.96 99.64 S 17.91 17.95 0.32 4.92 99.58 t 18.01 18.04 0.23 S.87 99.54 7 IS.13 18.1B 0.27 4.80 99.51 S 18.36 18.33 -0.19 7.47 99.39 9 1D.4B 18.49 0.06 B.S8 99.38 10 18.69 18,68 -0.04 9.4Ì 99.31 lì 18.90 18.90 0.» 10.35 ».17 12 19.31 19.16 -0.78 10,95 99,13 listirug- 5 The cental processor throughput la Up(n)/Sp and consequently the systen throughput Is now X(n) = pi irp(n) / Sp » UpCnt / (1+Vd>3p. The nunber of jobs in the central subsystem n la a function of the number of terminals N. It can be obtained from the condition cdster Univej^sity UDK: 519.682.7 ABSrHnCI Ilan4 applications c.t ,LO.«F>.,.t,-rsi in pjduc:5tion fai] becfflM?;^' assume that «ho ir.i.j i^c.U KnowU^d^e or skill. sre uni r, !• .,1 i ,'i^M.t. In H-sct l>asrn«rs brunq cc,union sense .and i nts 11 i gent prue;-,-., i. i 6.t.rateg i es to learninij tasks, ^..u.l ejü not nec;d an i ntet 11 giPiH: teacher. whether humiiii ,jr mec:h,j.nlct.1 , t) r u 1 tä-bound program iisn pra>.-1 d.' a challenge? to learnijrs to discover rules, and ths rules thus lasrn^n meu be" mor-e -Tie,iiori>bi^ than rul^js ore.ier.t^d ars i-tstements. This , ü ...................wnh Isn'iuf-ge learning pi-oijrđin i-ailf?d J(.ii;Ki-'i5đ. QroupwcJr k I wot.ild i lie 1;a start tfiis Sf?fiSion by descr i tiing -i liiirly well known CDmputei" program i.nd i^iairiofl whAt is IiUelM t a happ'^^n when a q^'ijup of ]Đ.:irners use It. i'loticf? that 1 đ group of it:;irnnr"s. M ij^t'^t.' ì si one th^t .'.ir re^nt e'-i p'Jr i lance wi iiu ^ i tars ^jUanJd have taught us? it ^.rit.- stren-.tth oi the instinct l.ti i rirm tiroups -snd fo cfil I an tüsk si, i'l'.ich of- C5ur conventi anal ed'-'t-at i onai pr-actic« i'i btìsed ori ^.a^lp.^h^ t j i^in. the tint.ion that the whoJc class are laiven ttrs süma 6?>;K'OSi.irf3 bMt thèjn (competa «-na i ndi vi di.ia i s ta ^hpw hQW I 1 they have atisor-bed what. tltĐ'j have htfard. H.i' praise and I:.lame. pass And iall, cr-eate ranLiiit.:^ lists cpn ujhich somebody mu^^t be tL^est and sscmebady worst. Intraduc;^ a compt.itrar and often this kind of thinking vani'ühi^s. The rGLripi.^t:f?r itsel-f is now the nniy 'eneiiiyS and 1:ht?n only because it cannot be influenned or ^-ititìtedJ eid into bre^t.inci n^tur-=ii ruifls» it is as Tieartless as natttre itself. But? by working together to discover the rulßs it uses tìnd then to turn theni to advantaqis in solving probUims^ csn (nsst^jr tn^ mrichi r-.g aT-id indSter t tiö rLile^, JACKASS 1 he program 1 want to desci'ihe is one known in Its original form as ANll-lAL. 1 bel i avt» the credit -for the idea belongs to Artl-iur t.ijehrinann and David (.ini. but it has had a numoer of reincarnations under diflerent titJes imd in slightly different forms. Une of tntsse is ma own J(hCKASS. written for thö Shsrp l-u'a'-.ili. the Mtfwbriiin. snd the Sipectrum. i h^ computer beqir-is by cha i 1 lane^it-iq tl-iet ifiarnsr to a gues'iinq game»: the learner is to tfiinf: of sa^TiQt ti i tig, arvd then the coinp»Hitc?r wii.i ti"y ta what Iiis, In my version t-he s!.^o f t ■■-»i i)F J-.NtjiAiL bi'LiEi, j(l t USÖ1'" t I:Ì firts^te cifi r.'^^i^or i es. ) Let us suFJpos-:? that the user chooses A sess.ion df f:. Jc^ti migttt i.:fa Iii e this. Does YÜMI-: ANlhfiL LUE ON A f-Hftrt VES. 1 I'NOU. 1( -J ti CQW. lb ItiHl NlüH'f? NO. VOU KNOW rlUI.F. t HAN I Ü0. PLEAStL TELL hf THE NAdF. CJI- YÜÜH ANIMAL. HOftSE. Tfirtt-4K VrjU. I-IÜW PLEASS G.1VE lie A QUESTI ! Ulli BEGINMlNLi 'DuLS IT' TO Dlirii INliUISH A Haf^-bt". FKÜM A CGW. DOL^a IT fi t IH r-iAceä? FOPi A HÜRSf-: WHAT IS THE ANSWEI:t stage tu' the program, once a number ot new t'ntrios have been made. As soon as the user answers NÜ to the guest inn BhALi„ l^G PLAY hSAIN?, the display chan'jtis to the toli owing menu of opti on s: 1 test me ün what 1 know 2 i.er l-ie test vüu 3 ble a classified i.iar 4 GO BACK TÜ THE GIJESGING GAI-IE 5 SAVE THE GAME ÜN T.fPt 6 END The +irst option represents the user's reward for having taught the iiii^chine, since it r^^quires the machine to us® its classi-fied knowledye to present little essays' about each animal. First tfie user selects nn animal from a displayed lisit by means ot a pointer. Now the machine will display something like the following! THE ANIhAL I AM THINKINđ OF DOESN' T HAVIl STRIPES, LüESN I' EAT NUTB, HAS A TRUNH Al4b OOESl'J'T L.JVb I.IN M F'At-:l1. WHAT IS iT? and now tt"ie U5ifiir" can point at an animal arid ge-t the answer IHAI ' b RIGHT or I WAS THINKINii GF HN ELEPHANT as this citse may be. Morphology The comput'^r"-i composition skills are rć'itihs?!-limited in tnis -form of the program, it simply goes 1 rora the animal node back up t fie question tree, selecting either DÜE3M' i pli.^s the verb stym j.lus th,^ rest o+ the pnrass; it it is climbing a negative branch, or verb steiri plus -5 pi'.IS ti.e rest of the phrase H it 'is climtiin«^ an I f i r-inat i ve brancii. However, even i-hiat proces'ii t riot as simple as jt -^otirivis. since adòiny -'i tliird person «-S to an Li'i<'j|jiin verb is Eiilj.i(»c-t to some interestit.g morpt"iol og i cai constraints. Tite -first, chölltange onc^ can give to the learners ly la ■find out if the machine knows ail ti'.e constraints. Cari the class catch the coinput.iir out. "for-ce it to make a mistölie? In «tn early distributer) v(;(-sion o-f the program there wa^^ a programming err or (a missing RETURN! whirh maant that ^Grljs like FlY were turned into FLYSES. Thi-j. was amusing, but quickly led to the queliti on, wiirit would the program do to iSrU or PLAV. II got those right. Bo what kind o-f error W'-ls i rHvi::>l ved7 And what was tt^te r"iil& of Englisi'i ^:ir'a;iimar which the program snoi.il d I'lave used? The program made use of one other set cH morphological t'l.U r^s in order to pLit an in front o-f ELEPHANI arii:l A in front ot CÜW. The rules can be expresi>eri fairly compactly, but not many native of E.nqiish could state tl'iem ail witho^Jt a i at of thourght. CGnsirler the cases o-f UNI CORN, IWGXPLDf^ED TERRITORY, HGtJK, iJnE-' 70ED bld1h, siitt DNAilieR. The subroutines whii ch I used to tiffUict fi cir AN ^nd to add -S to ^-erbs derived Irom what were originally -free-standing programs for tlicf IK i^XSi computer, writttìi-i by my colleagui? Tim Johns, He used them PLtrely as devices to allow students, to explore the iiiarpnoicigica I rtues invoiveci. i aej i oer a cei y l-jft a -few 'hales' in m>j vargi ons, sa thst !5ti.idents might try tn catcti the machine out. In the case o-f fi/flN, -for instance, I omitted to 'trap' the case af words or phrases br>qinnin9 "ith ONE ar ÙNCE. Althou-?h r-L/SEd was iust a programming error at -first, I have on occasion LiESHd the -fai.ilti.i version de t i herütel y in nrder to Cjet stuilants to think the pasiäible Adverbs o-f -frequency (inothwr, more impartant, omissian in tiif. -3 ending routine is that 1 have not tried to trap any -fraquency aci^erbs. It the user's qüastian IS mes IT evEft EAT BAMBUO?, th^. machine's statement wi IJ be either JT EVEh'ii EAT BhI'IBüQ ar IT düesn'T EVER 6;at BAHDGD. It la interesting tn nate that the negati vi^; sentence is acceptable. It the input question had been DOES IT SOhETIIIESi CftTCH HJCEV, then both versions of the statement would h&ve been faulty: IT ÜGIIETH-IEKEij urti CH l-IICb: and IT doesn'T SOMEl'[ hea f;atch h i ck . Thi =; particular hug could be cauqht f-;asily «riough by pri-ividing a .list ai- trequency advEjrhs which the machine shoultl niiitch agiMTist tfie Urst ward ai-ter does if. but having made the .natch, it is St in interesting to consider what th^L' fliachi ne should do whE?n 11 turns the t'luestions into stati:;msnt=.. Consider thesH ..>:;smpl es;: LiiJES it EI^ER catch nice? >es: it sometimes catches nice. ijü: [t l-^tver catches hice. DÙES IT OFIEN CATCH MICE? vcä: it often catches mice. MO! IT NEVER CATCHES MICE. DOES IT SCiHETlHES CATCH tllÜE? veö: it sùi1etimes CATCHES MICE. NO: IT ML-.VEk CHTCHES MICE. uoes; it usually catch nice? VEB: IT UE.UrtLLY CATCHES MICE. nq: it doesm't usually catch nice. There is much interesting material Tor students to speculate an here. What, for instance, is the opposite o-t ALWAYS? Is it NEVER BGNETII'IEB? The answer is not to tie -found äsnguage rules but in real wDrld truths ar the speaker's mind. or in are born a 11 i r trial, i ve or Doth negative, or wjTli BUT i-f tl-itire is one a-f f i r mat i »^e and utt^^ negative stritk'im-.'nt, The description ttht.* elephant would now come out as -fojlows: THE ELEPHANT AN ELEPHAUl J S HN ANIHAL. IT DOESN'T HAVt BTRIFEB HND I.'DESN'T EAT NUTS. IT HAt, u TRUNK BUT Irl lh,:rJI-J' T LIVE ON A FARM. One could equip the program with a reduction rule which mil remove repeated verbs i ri t hie same sentence, thus turning IT HAS STRIFES AND HAS CLAWS. into IT HAS STRIPEi^ AND CLAWS. If the machine is given this rule to apply in all leases, however^ it will turn IT D DE BN'-j HHVÉ STRIPES ANÜ DOESN'T M AVL CLAWS. into IT UOESN' 1 H(,VE STRIPES ANO CLAWS. suggesting that STRIPES and CLAWS are a c'lose-J4 linked pair.- Sooner or letter. a stiould point ni.il- that CIR is safer to use a negative h,..ii tjeen deleted. fHi-.c.f|„M- interestirig point that should sur-i ar e in discussion is I l-iat the at-f i rmat i i v,^ pattern cari bi^ sliortened as tolJows: IT HAS SIKI|-l-;-s taUT NOT CLAWS. whereas the rtoga 11 ve-af T i r ma 11 ve patterti will not work: IT EiaeSN'T llnVE STRIf^EB BUI CLAWS. Thia is a posti b I e sentence. but suggests tluu claws Tunctiaih as a substitute ft,f learning can tat;e place very easily. E^'J respecting the learners' intelligence and providing this kind o-f experience, we r^n perhaps make many kinds of learning more rewarding and mare -fun. What are the implications of these? The First suggests that only sea-creatures normally eat r.stibitSj and the second that only l-iying creatures life people. With some e-f-fort it would be possible to anticipate many o-f these problems and equip the program with enough arti-fi ci al intelligence (eg through a semanticalla tagged lexicon of verösJ ta filter out all the noasense. But what wQuld be the gain? . It would mean that the learner would never be able to teach the machine -falsehoods or nonsense^ and would never see -falsehoods or nonsense nn .the screen. At ^irst sight this might seem to be sodistt-iing 'ta appla\.^d. lln re-tlection, htiwever? surely ttiis implies veru little respect -for the learners' own common sense» and imposes vast restrictions an the learners' i magi nati on, The mere fact that the machint? carries out orders in a si ave-li Jie £ind compiletely uni mag i nikt i ve way can bts a liberating -factor when a human being comtL'S to Lise it. . There are times when the machine-'s lack o-f intelligence shows us things we might npver have noticed -for ourselves and awaiiens intelligence and imagination in people who have had little chance tci develop them be-fnre. Human intelligence It is -for this reason that 1 am unhappy when people talk about intelligent tutoring systems, I agree that much o^ the material that .passes as educational nowadays is deplorable and unimaginative. i am talking about tutorial dialogue, in which the computer makes statements and sets questions. Those answers are then judged right or wrong, and scores are cai CLil ated. Here the compLiter conceals its Lin i ntei 1 igence behind a set of messages which seem to claim authority and intelligence (in ■fact those of the program author rather than the machine). The results achieved by such programs tend to be disappointing, and it might be claimed that we need to equip the macf^ines with both knowledge (in order to deal with unanticipated questions) and ' with a inental model of the student in order to diagnose the r;easons for wrong answers and so give appropriate eKPlanations, .These 'intelligent tutoring systems' will demand vast memories and therefore elaborate machines. But since the 1 earners themselves are already bringing with them to the learning situation a great deal of i.nte 11-!.gence and knowledge, I see no reason to ESPRIT Project 510 "TOOLUSE" DESCRIPTION, PROGRESS TO DATE & FUTURE DIRECTIONS: A VIEW FROM THE TRENCHES James A. Redmond (Dept. Of Computer Science, Trinity College, Dublin 2, Ireland) UDK: 681.3.06 Abstract Project ToolUse alms at giving aclive asslstancK hi thi; design, development, implementation, evolution and reuse of paciMgcd softwaro. A major foamrc is the fuciis on software development giethods objccts to be manipulated. This will be facilitated by the [itivclopmcnt of a prototype environment supporting a development language and an underlying knowlcdi;!: base. ToolUsc will use formal methods wherever possible, but if necessary will use senl-furmai nulhoda to achJuvc the projecl goals and objectives. 1.0 INTRODUCTION ESPRIT Project 5S0 formally entitled "An Advanced Support Environnent for Method-driven Development and Evolution Di' Packaged Software" Is 50» funded by the Coiinlsslon of the European Economic Communities, and has teams from Industry and universities In Belgium, Prance, Germany and Ireland. The project is more Informally known as the "ToolUse" project. The project budget is 12.45m ECU (about $!Oin.! and it will last 5 years. The official start date was October 15, 1984. The teams Involved are: BIOMATIK - Freiburg, West Germany CERT - Centre d^ELtudes et de Rocherches.Toulouse,France GENERICS - Generics isóftware) Ltd. Dublin. Ireland GMD - GMD Forschungstelle, Karlsruhe, West Germany 1,1. - Informatlque Internationale, Toulouse, France INSIGHT - Insight Software, Dublin. Ireland TCD - Trinity College. Dublin, Ireland UCL - Univursite Cathollque, Louvain, Belgium This project aims at providing active assistance in the design, Implesiontatlon and evolution uf software. Such assistance should be obtained by describing the dcveiopmont of software in a formai i zed manner such that (his description can be manipulated. The development of such a formalised description can only ho hasud on a thorough understanding and formal definition of methods driving the process of software construction from the first description within a framework of an application-oriented specification language to the stages of implementation, use and continued evolution and reuse. The use of a formalized description must rely on the existence of an advanced support environment. This support environment in turn must comprise tools relying on the understanding, acquisition, representation and reuse or knowledge and constraints relatiid to Information processing techniques depending on given application areas and on the target system. •The project "111 provide a prototype environment containing an adequate user interface supporting the use of the development language, an underlying database for the administration of data represeiitiitiuns and a set of tools supporting the whole development process. The short-term guai Is to prove thu l'iüis i hi 1 i ty and itroviiio tlie requirements specification fur the eiiv 11'oumiMit. ■OKi'fss tu date Is discussed. 2.0 UNUERLVSNG FUUSÜAT10NS 2.3 The Traditional Approach Software development can be regarded in simple terms in Figure 1 ; Document 0 j Specincation c> Transformation e._ Information Document n Executaiile Program [ Decision Control and Miiiiatiirnifn^ rigure 1 Software IlDvolopmont In simple terms The most serious problem with this view of the software development procoss is that a gene ral-purpose automaUc programming transformer which will take a specification and generate an executable program from it docs not exist, and Is unlikely to do so In the future. So therefore it is necessary to break the process up itito a number of steps. The traditional approach is the classic waterfal 1 diagram of Boehre [RoehitTei. This is shown in Figure 2, which is modified after a diagram hy S Koch nt a TooUise muniing in Octobor 84, Specification System Design I Program PeslgrTj Implementation | n.n:i:ulaìiltì Program Deelsion Control and ManagHisent Figure a Traditional Approach to Software ileveiopBt-nt Note that snme steps in this process have hiicn aulojnatei) (e.g. compi lat j on I. mhlle most steps are manual, with Slime automatfc support. The mnjur problem wjih this approach is the QUALITY of the final product - errors silil persist in the final product (e.g. a mìe of thimb itt industri? la that five bugs per thousand lines of code exist after liapleinentatlon). Quality of- product can be »easured In different nays, e.g. reliability, usability, functionality, oa intal nabil i tjr, efficiency, flexibility, user-frlendllness etc. Kowever CORRECTNESS dominates all others. In general, it la possible to suffer an inefficient, user-unfriendly system which Is correct, hut not one that gives Inaccurate answers. To inprove this aspect of (juality, tlie traditional direct solution has been to use TESTING. The major cri t i cisit of testing Is that testing Is unable to prove the absence of blies. However the main affect of testini; is to increase the CREDIBILITY of a particular program. An indirect method to Inprove quality has been tu enforce particular design and programming METHODOLOGIES. These approaches are shown In Figure 3. The affect of these approaches is to increase the credibility of the flnaT product. It appears therefore that Figure 3 is over-simplified in terms of acnuirJng a correct specification of the user's requirements, and should be extended somewhat as follows in Figure <1: 1 "Real World" j I User's Conceptual Model of \ "Real World Application" User Requirements | Decision Control and Management Spec i fi cat Ions Figure 4: Acquisition of Specifications from a UCM, In this diagram the acquisition of requirements from a user's conceptual model of the real Horld appileali on^may be manual, semi-automatic or automatic. In general these requirements arc Informa), imprecise and incomplete hut nay be made more formal, more precise and more complet.e with the aid of tools [B0RG851. !n fact, the requirements document itself Is a simplification In that feedback (for instance using the "tangibility" of rapid prototyping) is necessary to make the requirements more concrete (vld Figure 51, Final Product Final Product Final Product-Optimized Requirements - Informal Increasing Credibility ------> IMguro 3 Ways oi' increasing Crcdlisi lity In Figure 3, It may or may not be decided to use a particular, methodology and/or testing. There are different pathways through the graph. Using a good methodology AND testing would Increase the credibility of a program product. This product wU] certainly still have bugs in It. These will show up in operation, and will be handled/ corrected/ reprogrammed under what Is quaintly, but Inaccurately called '«AlNTENANCi; '. In fact, while a small percentage of maintenance time (typically 20* or less) is spent in correcting hugs,' in general it involves MODIFYING the system in response to changes in the user's environment. Maintenance is an extremely costly activity for a number of reasons, not least to do with .the fact that the person who is maintaining the system say 5 years later Is nearly always NOT the original designer. To case ili s Job and to forestall the introduction of even more errors, it would S>e useful to give hljo access to a DF.SICN HISTORY of the original program/system. The most important Information this history would give is why certain design decisions were taken, and why other decisions were rejected. In certain circumstances, the less credible alternative in Figure 3 may be preferred. For instance in the case of RAPID PROTYPING where a product Is developed quickly with little regard for'error-handlIng, user-frlendllness •etc,» but where the essential functionality Is presented so as to get feedback from the user as to whether the original specification is adequate or not. So far it has been assumed that the specification captures the requirements of the user community. In fact, this la highly unlikely, and it Is much more likely that the user does not know exactly what he wants until a system Is delivered to him which he can see. touch and eKpi:rimeot with. This "TANGIBILITY" almost I mmcd i a t e I y tells him what he does NOT want, but this is usually.what has Just been delivered. Requlreiaonts -■ For-rnal Functional Non-functional Non-logical Design History Decision Control and Management 1 Figure 5 Making the Specification Mare Complete For each transformation in Figures 4 and 5, It should be possible to do as much as possible automatically, but if this Is not possible the Developer should be allowed as much information as possible to allow an intelligent choice of transformation, e.g. In Figure 3 whether to use an optimizing compiler or not. In Figure 3 the possibility of going down the prototyping route after some' atages of the structured approach is not precluded, e.g. for a prototype one might not want to do any testing. Industry has usod these now traditional techniques fur the last ten years or more i.e. they are happy with a structured methodology and a standard approach Io testing, possibly with the customer signing off on tin; last acceptance test. This works for larte scaln projects! they are routinely implementing systems whiirii would have marie heBdlines tun yearsi ago. They l'ai;! i tl\ey can live with the present technology; tyiiicaiiy they will havti evaluated formal met hods in tini pasi and' are not imprussoa particulariy fr"" ecuhumic viewpoint. Barry Bochm has been heard to aay that "he has vet to see a formal svsten loplemeiitatlun that did not take at. least five times as lout; as a conventlonaJ approach would have taken. The TooJUse project (imphasisca forniil nr:thods whenever possible, aiiinl-furreiil iiKthods win be used otherwise. This discussion is an Indication of the credibility gap that rormal plus seBl-formal nethods have to bridgu. A further Indirect nethod of Increasing the credibility of the procesa Is automating as many manual tasks as possible, and providing support for the creativity of the programmer In a proEranolnE support etivirotimeat. Another Inadequacy of the eicposltlon so far is that the focus has been on a tested, executable product but the characterlstIch of the TARGET SYSTEM (i.e. the software-hardware system) on which It is to run has been ignored. The next section discusses one formal approach which has been developing for at least the last fifteen years, and has recently been looking much more promising. 2.2 The Transformational Approach What has been described so far Is essentially one ronceptlon (industry's) of "Proerammine-Jn-thc Largo" and what corresponds to industrial practice today. Another much more theoretically acceptable approach to tho software development problem shown In Figure 1, .is that used by Praeram Transformation Systems [BA1.Z81] [W11.IÌU3] IPARTS3]. This approach reflects the Idea that the difficulties Involved in constructing correct prourams can only be overcome If the whole task is broken down Into sufficiently small and formally Justified stops. The essential idea is to modify Pl^iire 1 as follows: I E;coeutable Program [ | Increasing Efficiency Figure 6: The Transformational Approach A possible solution has been darkened In. Notice that backtracking may occur. All transformations Ideally could be done automatically. In practice hunan decision control and management of the process Is necessary. Transformational programming is a methodology of program construction by successive applications of transformational rules, The Individual transitions between the various versions of a program are made by applying correctness-preserving Lranaformatlon rules. It Is guaranteed that the final version of the program will satisfy the Initial specification. This approach has the enormous advantage of solving the credibility problem, but the problem of efficiency is a very large problem with this method. Nevertheless some transformational systems can even take a tentative. Incomplete specification and gradually develop it Into a complete une. Nearly all transformation systems are interactive and rely interactively on the developer to resolve unexpected events. Most systems document the development process in some fashion ranging from a simple, sequential log to sophisticated database mechonisns. The most clever are even able to automatlcaUy redo a particular prugram development starting from a (sUghtly) changed input. Most systems have a predefined collection of transformation rules, either as a catalogue (with problems of completeness and structures) or a generative set (a small sul of powerful elemenlary rules to be used as a basis for constructing new rules). The major probleiawith transformational systens have been their efficiency, their narrow scope and their failure to scale up. Programming in the Large In academic computer science is building up large programs from simpler small ones. This has not been successful (yet?) and there has been no significant acceptance yet into industry, although this has been forecast for some time. "The time is cleai-ly ripe for program manipulation systems" This comment by Knnlh In 1976 would appear to have been somewhat preneture. A variety of systeos tisist In research Institutes today [PART83). However num; yet work on other than "toy" problems of narrow range. However, work Is under way worldwide to Investigate 1 lui unsolved theoretical problems and also to chi^ck the methodology's feasibility on modlum-siZB problems from many application areas. Z,3 The Inferential Programmine Approach Both previous techniques have their advantages and disadvantages - large, efficient programs, but not proven correct, versus small, correct programs. In a narrow application range, but Inefficient. Inferential programming, referred to by Scher S is and Scott IScherSaj, would seem to offer a reasonable compromise, bul with formidable obstacles to be surmounted. They feel that what Is needed Is a logic of Programming, This is a mathematical system which allows reasoning about individual programs, hut also the carrying oui uf operations (transformations) on programs, as well as the reasoning about these operations. Their fundamental concepts are: program derivation; the conceptual history of a program Inferential programming: the collection of methods and associated tools fur constructing, modifying and reasoning about such derivations over tine. They feel that 11 Is much more useful to talk about a program In terras of Us EVOLUTION, i,e. the sequence of insights which Is required to derivo the loplementatloii from a specification. Dy representing the process of program development as a sequence of programa, arranged as if the final Implementation were developed from an Initial specification by a series of refinement slops, we can maintain a structure in which clarity, modlfiabi1 ity and efficiency co-exlst. Therefore the programmer dues not have to worry about for Instance an ADT and its efficient implementation In the same prograa. A specification and an Implenentation differ only in degree, and may be regarded as being on the same axis of structural choice. One end of this axis represents a specification which la for human consumption, while tho other end represents an Implementation which Is for machine consuaiption. Inferential Programming Is analogous to the proceat. af building mathematical proofs. Mathenatlclans do NOT develop proofs by starting at line I and slogging through to the last line. Instead, they formulate a general strntcgy for the proof and try to fill in gaps in it until they have enough detail to make a convlrsclng argument. The proof that subsequently emerges Is j HIGHt,V-STRUCTURED Justification for a mathematical fact . even if it Is written In ordinary language. On the utht-r hand, the process of building a proof Is a snurwh.it undisciplined and exploratory activity, in which ln,ili;liis are gained and expressed, and finally woven Logillni lo foro a mathematical argument. SInllariy a pruLiam derivation is a highly-structured Justlficat 1 ou r>,[ d program, whilu inferential programming Is the prorfs!. cil building, manipulating and reüSonliiB about |>i- )!;i .lO derivations, and Is analngiius lo thi: proof liiiililjng process. inferential progranalne however will allo« proofs and proeraaa to be developed together without requiring clie progranner to rediscover the insights that went into the original developnent of- the proeraa as in conventional correctness proofs. By representing prograns as sequences of derivation steps and using .systeoatic techniques to nove fron one slep to the next, the correctness of the prograa will follow directly from the correctness of the derivation techniques. With cleverly constructed aechanical tools, the business ol proof could be so effectively bidden fron users that the development of a correctness proof would appear to be autonatic. Also those steps in a derivation whose correctness has not yet been proven can be isolated to facilitate debugging and testing. The conventional wlsdoa is that it is better to nodify an old prograa, than to develop an entirely new prograa [SILV851, therefore significant sharing ot the program derivations la to be expected, e.g. conpiler exanples in (Frenasi- Kodiflcatlon is difficult in a conventional franework, because, lll(e a posteriori verification, it requires rediscovery of concepts used during developnent of an inpienentatlon. Sinple conceptual changes to a prograa often require conplicated and extensive changes to code. In an inferential progranning system, the conceptual changes can be nade at the appropriate places In the progran derivation, and the supporting systen can be used to propagate these changes' correctly into inpleuentation. The success of progranning logics with large probleas has been slnlttal. The question nust also be asked of inferential programing - will it PAIL to scale upl Modularization should help, but the question,renalns valid and open. 3.0 THE REQUIREMENTS . FOR A SOFTWARE DEVELOPMENT ENVIRONMENT A discussion has been given of the traditional software engineering approach as practiced by industry, the formal approach favoured by Bcademla and research institutes, and inferential prograasing which is an attempt to bridge the gap between the two. Inferential prograouDlng Is closer to the underlying philosophy of ToolUse. Based on this discussion, it Is possible to specify the. ideal software developnent systen. A software development environment with a solid fornai basis Is required. This is an environment In which prograna are constructed by fornai development methods and which supports formal and well-understood software developaent principles. By fornai methods is meant those which hove a sound theoretical basis where software specifications', designs, developments and Implementations are treated as Batheaatlcal objects whose properties can be investigated by formal analysis, in contrast, in informal nethods the semantic properties of objects are usually described In informal natural language terms, which makes it difficult to manipulate then as objects. A software development environment Is required .for large scale Probiens. The following are its desirable characteristics: ' The basic OBJECTS tä be manipulated, and their required behaviours, should be represented by a mathematically based theory or model. This theory should be powerful enough for real world systens and ideally should cope with sequential, non-deterministic and concurrent aspects of systens. - There should be a CALCULUS for manipulating fornai objects which represent system conponents and their behaviours. Usually the operators are composition and deconposltion and possibly higher level operators which may assist in the process of reflnenent by ensuring correctness-preservation during a reflnenent step, - The software engineer should be supported ■ with autonatic SUPPORT TOOLS as nuch as possible, e.g. syntax checking, type checking, documentation, theoren proving, correctness preserving assistance during transformation, prototyping etc. There should also be support for partitioning large problems, e,g, version management etc. - support should be provided tor EACH STAGE of the life cycle. - The formal methodology should support VERIFICATION and VALIDATION, where verification Is a formal rigorous proof that a design satisfies a specification while validation relies on a convincing demonstratlòn that a formal specification captures a systen requirement or that a specification is acceptable to the user. - A formal methodology should handle REQUIREMENTS ANALYSIS as an Iterative process during which an analyst attempts to construct a formal model encapsulating the user's requirements. The problem areas are consistency, completeness and feaslbllUy. Ideally ways of animating the model so as to display the properties of the specification to the user should be available. - Aid for software reuse should be provided - Significant support (training, packages, case studies etc.) should be available for the methodology to allow it to be marketed to industry. - The formal methodology should also SCALE UP. This has not happened in the past with large projects. Khere it is not possible to use a thoroughly formal framework a "rigorous"' approach should be used. This approach may appeal to intuition In the presentation of correctness arguments. The formal framework allows formal verification to be pursued in the event of a query. However in practice the situation is even more depressing. It is not yet practical to adopt even a rigorous approach. Therefore the alternative is to mix formal and senl-formal approaches. This mixture of formal and senl-fornal approaches could be a mixture of Figures 3 and 6, for Instance getting from requirements to a specification might require a semi-formal method, while from a specification to an Implementation could be handled by a tranafornational approach. While not ideal' this has obvious significant advantages and may be essential for convincing a sceptical industry. The use of fornai and semi-formal techniques in electrical and electronic engineering Is a historical example of this approach. There is the possibility of initially starting in a semi-formal fashion and increasing the formality as necessary with time. Unfortunately for a good software engineering method, more than Just a sound theoretical basis is needed. Industry remains very'sceptical that tangible practical benefits will accrue from implementing these methods-There is an abundance of elegant mathematical theory. Turski [TURSB41 has comnented that there is a danger that the nathenatlcs may be pursued as an end In itself (since it la elegant and relatively easy) while the engineering Probiens are ignored. Guttag et al. [guttbz] have stood hack and crlticUed their own research and concluded that It is: - difficult to establish a useful correspondence between elegant formal systems and the untidy realities of writing and maintaining prograns. - difficult to maintain a consistent attitude about what constitutes a "good" specification. - too easy to become bogged down in the clerical details of managing, reasoning about, and maintaining the consistency of large specifications. The traditional semi-formal design methods are functional decomposition, stepwise refinement, data decomposition. The most successful formal nethods to date have had an approach sinilsr to these (e.g. JSD, VDK). Senl-fornal methods generally support the construction of system models. Model-oriented approaches_ are more easily assimilated by software engineers. So In a model-oriented approach, a rigorous approach is attractive since it allows the. use of Justifications which appeal to experience or Intuition within a formal framework. If a formal method Is used along with the traditional semi-formal techniques, then formality can be introduced gradually. 4.0 PRINCIPLES AND GENERAL DESCRIPTION OF TOOLUSE The main motlvatjons of ToolUse are; - the understanding and expression of software doBign methods - the Bodelling and use of application doDalna and target systeas knowledge.* - the dealgn and experinentatlon with a goftHare envlronsent. prototype The general principles underlying ToolUae are:' - the software developaent process is described by distinct states, each associated «Ith infornation about the software product, - state transitions can be described/ aided via a developaent language. traversing the states from specification to lapleaentatlon, via the use of correctneas-preserving transformations, guarantees the logical consistency of the products. - at every state, knowledge can be acquired or acquired knowledge can bè reused. The aain research and experlnentatlon areas aro i - the understanding and foreiai nodelUng of: - the software developaent process - application donains - target systems - the specification, definition and evolution of a prototype development language. ' the definition, t»plenentetlan and evolution of a prototype environment supporting the development language, 4,1 Method-Driven Software Development The objective la to gain a deeper understanding of the process of software developaent, and what acans are suitable for describing the process of software developaent. Software developaent and evolution consists cf writing specifications and transforalng them into progroas by the following steps: - representation of data types by other data types - Introduction of control structures - integration of predefined parts - specialisation or generalisation, via instantiation or pa raaeter1sa tlon. - transitions between distinct representations Software developaent and evolution should be organised in terms of coapositions using the composition rules: combination of independent steps; choice between alternative steps, and the abstraction of design schemes Into functions. The Logical Structure of Development Methods Many Informal methods are currently used to eitpress the software developaent process. ToolUse will Investigate the possibility of reasoning about design decisions within the developaent language. The Intention is to evaluate to what extent and by what means It is possible to use design methods as the aain driving force in the construction of software support envlronnents. Some criteria to be used In picking suitable development aethods are t - suitability for system coapositlon (for large scale probleas) - adequacy for desired application donains and target systeas - continuity of designs with respect to evolution - logical coherence between successive states - possibility of using methods as parameters in the process Knowledge Representation ToolUse will aake use of explicit knowledge representation. The nethodologies for expressing knowledge representations will be analysed with respect to: - Beta-knowledge and development paradigms - design strategies and transformation plans - specialised expertise available to the project - human coaprehenslblllty - adequacy for automatic processing The Developaent Language The following problems must be addressed: - the overall structure of the development language - the techniques to ensure coherence of the development steps {does the language need the intent of the design decisions?; and how will It control their consistent evolution'?). - the expressing of speoifJcatlons, design methods and strategies in a suitable fora for organising In libraries. Basic Support for Program Development There are possibly three aain classes of tools: - tools for assisting the environ'acnt configuration, according to specific developaent aethods. application domains and target systems. - tools supporting development methods and scenarios, e.g. "intelligent compilation" for instance a 4GL application being transforaed to an imperative impleaentatlon, direct interpretation for rapid prototyping for Instance. - tools supporting the Integration of components resulting from the development plans. e.g. administration of state information about program components; and assembly of systems out of their components. Application Domains The objective is to provide an experimental basis for the experiments with the final prototype environment. This basis Is formed by a set of representative application examples covering real world problems. They are selected to demonstrate the applicability of aethods, tools and languages supported by the prototype environment and the development language. Modelling of Knowledge fron ^plication Areas The objectives are: - classify applications - develop means for describing applications - describe and structure expert knowledge about the applications Knowledge Transformation end Han-nacblne Comaunlcatlon This is concerned with the eoamunlcatlon between the application expert and the computer expert. The process of capturing requirements and mapping them into specifications needs methods for knowledge acqaisUlon, structuring of specifications and building and evaluating prototypes as examples and experimental objects. Target Systems - Reuse of Existing Components Research on the topic "Target Systems" aims mainly at facilitating the reuse of existing components. This requires the availability of diffcjpeot formallsas far functional and operational specifications at the different levels of abstraction within the program development process. It is necessary to build models of the target environment. 4.2 Summary Of Key Concepts Of ToolUse The previous discussion has served to hlghllght the aajor underlying concepts and motivations of ToolUse: - Formal Methods where possible - Knowledge-based Methods where necessary - Method-driven development - Concern with Application Domains - Concern with Target Systems - Developaent Methods and Plans as Objects - Envlronaenta] Support - Composition of Design Knowledge -Vortical Integration i.e. consistent representations on different levels - Integration of Tools - Large-scale applications - The higher level expression of design knowledge should be a guiding principle - Modiflabillty and Rouse - Adequate User Interface - Toolset - Developer's Assistant - Bevelopoent Language - Nonfunctional requirements S.o DESCRIPTION OP TASKS AND PROGRESS SO PAR The activities of the ToolUse project are organized Into seven aaln tasks: . Task 1: Basic Support Tools Task 2: Hetbods Evaluation Task 3: Developsent Languaee Task 4; Support Environment Synthesis Task S: Application case studies Task 6; Target systeas Task T: Logistic support and nanageBent 5.1 Task 1 (Basic Support fools I Task 1 has the objective of providing the basic support tools the prototype envlronnent. To this end Task 1,1 evaluates tools froni existing environnents particularly with respect to how nethod-driven thcjf are. T 1.2 selects a basic toolset for use tri thin the project. Task 1.1 consists of Z phases. The initial objective of Phase 1 Has to Identify the role of tools In existing environaents especially: - ho« nethod-driven or method independent a tool is. - how applicable the tool Ja over a set of applications or target areas, A decision Has nade at project start-up to associate Task 1.1 and Task 4.1 (Evaluation of existing environaents) because of their obvious close affinities i.e. it was difficult to look at tools without also looking at environments. Some probleas have been encountered in executing the original plan for Task 1.1. PROBLEM l! The realisation that tools were rarely separable froa their environaents - even in UNIX, SOLUTION! It was decided to closely couple Tl.l and T4.1 so that: Tl.l would study the function of tools In SEE's, T4,l would study the SEE's support of DESIGN and use of DESIGN KNOWLEDGE, PRQQLEH Zi How can the role of tools be assessed uhen they are so closely linked to environaents? SOLUTIOH: Environments were broadly classified into 3 classes, and the tools were characterised in each class. The 3 classes were: ■- Programming Environments, e.g. UNIX, PCTE (BQUR85]. - Software Environments; e.g, Afflm (GEREI801, SPRAC [LEMA83], Mentor (DONZBO], GRASPIN [HEVDSB]. - Support Environments, e.g. (possibly CHI [0REEe2]). In general the less advanced environments have DISCRETE GENBELAL PURPOSE tools whereas the Bore advanced (Support) environments are HIGHLY 'INTEGRATED so that the tool Is CONCEPTUAL rather than a separate conponent. Task 1 Results to Date - Tools and Environments are NOT, In general, easily separated. . - Method support and reuse of design knowledge seem to require a tightly integrated environment. - The study of tools as' simple functional units will NOT be sufficient for ToolUse, Instead the role of tools must be Identified within their home environment. - The prototype envlronnent will often use tool CONCEPTS rather than simple copies of useful tools, - A Unix-like environment will be used for ToolUse project manageaent. - Work to date has concentrated on standardising tools and their usage at each partner's Installation. - Selection of tools will not be as slnple as originally anticipated. Instead experience will be gained through using and porting a nuaber of different environments. Task 1 Future Work The Tool/ Environment classification will in future focus on two main aspects: FUMCTIONALITY: How does It contribute to: - An Object Management System . (The richness of the object Increases from Unix to PCTE to Adele [ESPBae] to CHI|. - A Developer's Assistant, asine - communications tools, - syntactic tools, - semantic tools - support tools qUALITV; - where used in SLC - for which applications/targets - which netbods are supported - how reusable is the tool or concept - availability and documentation of tool Short Term Horkplan (6 Months) The next 6 months involves close interaction with T4 and T5. Things to be done are: 1. Choose one or two substantial case studies. 2. Carry out a design on these using a small representative set of environments (Mentor. Promod, Sprac, Affirm, Interlisp). 3. Observe and record the use tiade of tools during this . design work. In particular: - how are data/ knowledge represented. - how auch does the tool SUPPORT, transforaations or ASSIST IN THE CHOICE of transformations. - how reusable Is the tool or-tool concept. - does the tool reflect a particular method, oppiJcations area, or target system. 4. Complete the new functionality/ quality classification for each tool. 5. Extract key tools/ functionalities and synthcsise them to forn part of the requirements for the prototype environment. 6. Produce the final report for Task 1.1 These studies will lead to a deeper understanding of the concept of tools, especially in the area of software knowledge nanegencnt. and will enable a first set of requirements to be produced for the prototype support environment. The major criticism of the work so far Is that the merging of the tools/ environment study focussed too much attention on the environments to the detriment of tools. Thla is perfectly understandable as tools can only be understood within their environments, so it is natural to try to comprehend the envlronnent first. Most classifications wore done for environments, very few were for tools, A shotgun approach to the problea has been used where a rifle approach mlglit have been more appropriate. To clarify this, we are much more Interested in nob-obvious tools or tool concepts which might be useful in the rest of the project. Longer Term - Task 1.1 — Phase 2 Task 1.1 does not end after the first year but comes alive formally again after month 3D and lasts until the end of the project. The objectives of this phase are: ' - Review new tools and concepts as they appear Incorporate these developments Intn the prototype environment. - Continually reassess and develop the ToolUse toolset. 5.2 Task 2: Methods Evaluation The overall goal of Task 2 is to compare various important software design methods In order to find a set of concepts expressing the logic of these design methods. Research should also focus on finding a suitable notation useful for formulating these concepts. This notation could be a first stab at a subset of DEVA, or at least at what DEVA should express formally. DEVA is the name for the development language of the prototype environment to be built by the project. The goal of Task 2 la to compare ' various design methods and amalgamate them where and If possible; then extract any general underlying methods as a guide to what thei primitive concepts In DEVA should be. Initially two weJl-knoira and quite different »ethoda, the Vienna Design Method (VĐH) (J0NET91 and Jackson's method (Jackson Structured Design - J9D IJACKS3]) were selected. (Jackson structured ProersBBlng - JSP, a precursor and a subset of JSD vas also Inveatleated). Jackson's Hethoda cover the »hole development procesa, fron Infornai requlreaenta to programs written In a target language. They ala at providing significant support for developers, especially in building Iforaal) specifications froa requirenents. Both nethods use the idea of data atrean as a fundanental conccpt. JSD Initially builds a nodel of the real world: this model is an "executable" specifIcatian of the problem. Then thia specification is tranaforaed for execution on a target systea. The JSD paradlgn is essentially "Model • First". Jackson clalas to be a method baaed on conposltlon, not decomposition. It Is important to note that JSt) and JSP have been widely used coanerclaUy for quite some tlae. The strongest contribution of VDH to the developnent activity aeeas to be that it forces the designer to use a Hell-establJshed foraal (but not executable) specification language, based on a foraal mathematical underpinning. The success of VDM Is probably linked to the Importance of a good, flexible natation to support mental activity together with "rigorous' checking of deveiopaent stepa. The algorlthnic part of the method (I.e. how, why and when to connect different development steps) ia auch lesa foraal and seens to be actually used much less. The general idea is a topdown hierarchical approach to the development, in which subproblea specifications are progressively produced. VDH has been used generally in research projects, but has not in any way received Induatrial acceptance. In future, sore feedback will be aoUdlted fro« partnera who have direct experience with the nethods of Interest on real case studies, in order to deepen the technical understanding of the basic mechanisms and to isolate pragoatic rules associated with given application areas. It la proposed in future to also look at SAUT. A surprising omission from consideration so Car is HOS [HAMI76], which has a strong formal baals. and would seem to have taken off commercially recently. 9,3 Task 3; Dovelopment^Language The overall long-term objective of Task 3 is to design a prototype, experimental envlronnental notational system for expreaslng software design and development methods. The first step towards that goal, Task 3.1, is to get a feel for the atate-of-the-art. There has been little attention paid to design and development methads as objects of concern In their own right. Since there has been so little attention paid to dovolopment methods as objects. It Is no surprise to find that even less attention has been given to a language which would express these methods In a foraal manner. Task 3,1 concentrated on a small group of projects, considered interesting for a number of reasons: these should be well-documented, accessible, quality projects, exemplifying a aajor approach towards expressing design knowledge; the range of projects should be at the forefront of knowledge in Industry, development and research, vld [PARTSa]. The projects looked at were: - Darlington's transforaatlonal system [DARLSel (Imperial College London); It builds upon the Burstall-Darlington rules for unfolding and folding. -Paddle-Popart [NILES3) (D. Mile, ISI, Los Angeles); this Is a working, complete Interllsp-based environment, which supports a transformational approach in which coapoaltion nethods are introduced explicitly. - CIP (H0LLS3) (F. Bauer'a group at the Technical University^, Munich): Thia project, built on solid semantic 'foundations, covers the range from IogIco-algebraIc specitlcations down to «achine-levei progressi the design knowledge is expressed as conditional, parsmeterised rewriting rules. It has been applied to the design of the support system Itself. - SPRAC (CERT, Toulouse): This is an example of the databaae approach. Design Information la kept and controlled at the structural, syntactic level: linguistic frameworks are provided for specifications, programs, and developments. SPRAC exempli flea practical software engineering environments developed in research. - Attribute grammars in CMpiler design [KASTaa] (University of Karlsruhe and GHD-Karlsruhe); the compiler design area la of interest because of availability of deep design knowledge and powerful tools. Attribute gramaars constitute an Important means of expression because they are akin to abstract data types and logic prograns, and also because they are executable efficiently. - PROMOD (Industrial product - GEI, Aachen, Germany); this system integrates the full life-cycle, from SADT-like techniques of requirements analysis to software modules. It represents the current state of the art in industry. Conplenentary Approaches The study of complementary approaches to those already studied (e.g. knowledge-based approach) is starting now. Some conclusions are: - means for formally expressing development nethods are not available. - specifications arising from nonfunctional requirements are neither expressed well nor we11-integrated with other specifications. Task 3.2 ( the definition of the requirements for the development language ) has been amalgamated with the continuation of Task 3.1. The topics to be investigated in the lamedlate future are: - Knowledge-based aysterns - Conceptual modelling in the context of databases ' Functional, logic, or relational languages for specifications and programs, e.g. FP, NL, EQLOC, or Larch [ESPRBa}. - Constructive logic for the semantics of design knowledge. These studies will crystallise the properties which a developnent language should ideally have, and also give a feel for which properties are feasible. 5.4 Task 4: Support Environment Synthesis The main objective of Task 4 Is the production of a prototype environnent for DEVA so as to allow experimentation with nethods and strategies. As olready stated. Task 4.1 (evaluation of existing environments I was closely associated with Task 1.1 because studying environnents was Inevitable while studying tools. The work has nalniy focussed on the integrational aspects of an with respect to Its tools. Classification schemes for tools and environments have been proposed and applied to a wide selection of tools and environments including Unix, PCTE, PROMOD [HRUS82], SEEK [EPSI64], GRASPIN, CHI, AFFIRM (GERKBO). RAPID, Tektronix/SA, PAPS, ARCTURUS, Interlisp, Microprolog, SPRAC, DASIS, ADELE, Mentor, SPES, Zetallsp, Programmer's Apprentice, Toaipack [ESPRSa]. In line with the general objective, a framework for the environment sbould be designed, so Task 4 focusses on the GLOBAL aspects of environments rather than the particular i.e. what la the architecture of an environment, what are the links between tools, their interfaces, how Integrated are they, how difficult is it to add new tools etc. More specifically the objectives of Task 4.1 arc: - a global exanlnation of existing environments according to some fundamental keywords (ARCHITECTURE, HETHUDS supported, INTEGRATION of tools or concepts making up the environment, APPLICATION classes. TARGET systems). - a deep understanding of the functionalities needed to support the strategies or methodg expressed *lth DEVA This understanding will facilitate the preparation of the next Bubtask. Results , The first results have shown the lack of methods for configuring environments and for supporting nethods of software development. Future activities Hill include: - Extracting from existing envlronnents the concepts nost useful for the support envlronsent - A reconcentration on the study of AVAILABLE existing environments I.e. SPRAC, AFFIRM, SEEK-MENTOR, all hopefuHv available on Unix - the studies of sophisticated environments Hill continue (e.g. C1)I, KEE) but the studies will be focussed on specific points, tor Instance, Knowledge Engineering. 5.5 Task 5: Application Case Studies Task 5 Is concerned with two activities. The first one Is related to the application domain for case studies (TS.1,T5.2). and the sccond one centres on the acquisition and nanipulatlon of software design knowledge. Task 5.1 (Selection) evaluates a number of possible case studies with respect to bow well they represent real world software development problems and experience. Particular emphasis is to be placed on the relationship to tasks 1,4 and 2,3 in evaluating tools, envlronnents and methods. The planned outcome is a description of representative case studies for evaluation by other tasks. Task 5.3 (Knowledge acquisition and representation) selects the knowledge from specific application areas and suggests specific notations to represent the knowledge. The delays In the formal signing.of the TooltJse contract by the CEC have delayed work on this Task. To make up some lost tiae two initialLv snail esse studies with scope for considerable Increase In complexity have been started. These two case studies were selected to provide early feedback by experinentation: - a message passing system - "the" package router problem The specification of functional and non-functional requircnents has initially been kept simple to allow an early start to experimentation within the limits of available manpower. These snail problems permit the study of how the addition of further requirements, especially non-fuoctional requirements, affect the design. Two other case studies are a LIFT study and a PUBLISHER system; both have been formally verified. Also in the next 6 months, the requirements for small experiments will be formalized using SARS [EPPL83J. Several large industrial case studies will be studied. One Involves a Bank with 3S0 branch offices, which has written a banking system conalsting of 500.000 lines of source code which took over 100 manyears to develop. The inplementatlon of this system has Just been completed. This system, together with documentation, design history and decisions, will be available for study and accesa will be provided to relevant staff. Another possibility Is a high-security real-time command control and communications system. A draft study schcme for proceeding with case studies has been prepared. In the mediUB-tera this Task Is Interested in how the application area characteristics have an affect on design and development decisions, and consequently in identifying parameters for describing application areas. A preliminary classification scheme is by: a. functions and data b. typical requirements c. life cycle model Task 5.3 is concerned with developing a knowledge acquisition model for capturing requirements ; This work has just started. A preliminary classification of requirements is: a. functlonaj versus non-functional b. application system requirements ys target system characteristics c. Application area classification of requireaente; (1) e.g. Realtime.............Data Processing (a) Collection of typical non-functional requirements based on experience. 5.6 Task 6: Target Systems The main objective of this task is to facilitate the reuse of existing' components of target systems. Therefore it Is necessary to describe the functional and operational properties exhibited by the hardware and software of target systems. The goals of Task 6 are: - the derivation of models for specific target systems - the integration of these models within the framework of the development language DEVA. Not a lot of work has yet been done. It seems to be difficult to describe a useful formal model in this area, other than the conventional hierarchical layer mode] of application software, basic software, and hardware on the bottom, e.g. Libraries of a MODULA-2 system; MODULA-2 system: IBM-PC. The mid-term responses from this task will be: - exploring the role of such target system descriptions in a SEE » Interaction with DEVA: a linguistic framework Is necessary to work with target system descriptions; propagation aspects. - Compile results from other research groups on the propagation of non-functlunul requirements and software component reusability. The long term actions will be: - Investigation of formal mcthoda to describe computer systems - Development of a formal framework to describe target systems. S.7 Task 7: logistic Support And Management The scope of Task 7 encompasses all the traditional project management activities with their logistic support, and in addition the peculiarities of such a project: - an R and D framework with very ambitious objectives: - wide distribution of partners both geographically and organIzationally; - highly correlated tasks In the original workplan; - specialised expertise and Interests among partners; - communication in a multl-1inguai, multi-organizational, multi-national project. The project organization which was set up includes a project manager, with an assistant responsible for logistic support, a technical board for arbitration between partners and task coordination according to the project objectives. Such a structure with a control body and distributed sites requires that exchange of documents be actively promoted and that a common understanding of the project objectives be reached by team leaders within a short period of time. This has been encouraged by a document referencing scheme, by a classification scheme for the project literature base, by project organization guidelines and by the use of Eurokom, a computer-based conferencing system. Task coordination and monitoring Is aided by; - Project status Is described at regular Intervals. - Assistance Is given to late starting tasks - Reuse of existing knowledge is promoted. - Technical, fora for promoting exchange of ideas on a six-monthly basis. 6.0 GENERAL COHHENTS This discussion is based on one team member's perception of the project. The TOD team of which he is a member conceotrated on Taška 1 and 4 In this time, ao the coverage of other areas could be deficient. A description and conentary on the project Hhlch «ould be acre balanced and aore In «sreeaient with the percepì Iona of the project aanager and the technical board hIII be given at the Esprit '85 Review Meek In Brussels In late September 1985 [ESPRITS6]. It should be noted that barely nine Bonths have passed since the contract Mas signed. The research objectives are very anbltlous and technically daunting. Obviously It Is hoped that the benefits of craBS-fertlllzatlon of Ideas will greatly outweigh the disadvantages. There are obvious goals and benefits to the CEC of trying to foster cooperation across national boundaries as well as cooperation between universities and industry. At this stage we can say that cooperation is working: that the teaas are working in general reasonably well on their tasks, but that cooperation and comunicati on should be laproved further. There is a general feeling at this stage and at the lowest leve] in the hierarchy of a considerable vagueness In what the project is trying to do. This could be laproved by an overview of the project; this will coae out of the Esprit 85 Review and also out of exercises like this one. Perhaps nore effort should be put Into coaaunleating with the grass roots, as insights and Inspiration coning froa this level aay be sore valuable In not being bound by the prejudices of experience - "where angels fear to tread .....", To this end perhsps •ore use should be aade of nhort visits by workers to other teaas' sites to encourage cross-fertilization of ideas. People have been concentrating on their tasks to a great extent, and. not aaklng sufficient effort to couBunicate with other teaas. Id TCD, it Is scknowledged that we have received requests for critiques of work to which we have not responded. Perhaps this will laprove with soae effort in the near future. A considerable aiaount of the attention of all workers In the first year has been spent In Just getting the show on the road; other Itens with lower priority have been Ignored. There has been a tendency for teaas to work too auch In Isolation and to consequently get carried away with their own work without reference to project goals. An exaaple is with Tasks 1 and 4, where the envlrooaental classification scheoe seeaed to take on a life of Its own. There should be significantly aore eephasls on experlaentatlon. classification scheaes on their own are boring and generally uninteresting, even if they are essential for coaparatlve purposes and for structuring the work. Experlaentatlon gives tangibility with consequent benefits in insight and Inspiration. 7.0 SOMMARY ToolUse will have been In action for a year officially on October 15. 198S. In this year, soae solid achlevenents have been aade: - The project has been got on the road; teaas are In general working well on their tasks; and cooperating with perhaps soae laproveaents to cono. Because of the very high connectivity between project tasks cooperation will be auch aore necessary in the future. Hultl-teaa, lultl-natlonal, aultl-llngual, Bultl-cultural research works; but the next open question is will the quality of tbe end-product be high? - The crunch-point in the project will coae In the next eighteen aonths to two years and is likely to revolve around the point of whether a foraal aethodology can be put Into a fraaework suitable for Industrial large scale products. A personal oplnon is that the project Is on the right track; that software engineering Is an engineering discipline which requires the right alx of seai-foraal and, foraal techniques (as electronic engineering for instance); that a knowledge-base approach is necessary; that studies Into why Industry is reasonably happy with Its existing techniques will be useful; that inferential prograaaing approach indicates a useful direction to take; that reuse of prograas^wljl be extreaely useful. Industry has a considerable Inventory of software products. These products are constantly being aodlfied and updated. An autoaatlc aethod that would help solve this problea alone would be a aajor advance. Towards this end. It seeas that Industry would like the 'objects" for aanipulatlon to be up to aodule size say 2 to ]6K or so. Proa a search of the literature. It appears that this sort of object would give severe. If not fatal difficulties, to any of the current aethodologles. In addition the vast najority of industrial software ha* not been foraally verified. Inferential prograaaing offers in theory the ability of working back froa an iKpleaentation so as to generate a specification for an existing working prograa; Industry alght prefer however to take an existing prograa and transfora It to another while still aaintalnlng the credibility factor of the original prograa. At this point in tlae, it would appear that while those changes can be aade relatively easily Banually, a system that could do it autOMtlcally is soae tlae away. The aajor probiea areas that I see for ToolDse are: - what transformations should be used. Including how aany and how big - what size objects should be aanipulated; Ideally they should cover s wide range. - what knowledge representation should be used? - what foraal notation Is suitable in view of the above? - all these questions are obviously interlinked The najor benefits froa ToolUse, at least, will be an ARTICULATION of the Problems of treating design aetbods as objects; this aay in turn give rise to »ignlfleant SIMPLIFICATIONS in design aethods, rules, transforaations, tactics and strategies, RESEARCH HOEUCERS : S Baker, M Dausnann, 0 Declerfayt, P de Broot. J L Durleux, D Ozlerzgowskl, H Gibbons, J t Gleeson, H Borgen, A Hunot, R Jacquart, S Jaehnlchen, D Kautzaann. S Kearney, Q Koch, H-J Kugler, M Leaaitre, M Leaoine, P Luchner, B Hathews, P Koran, D O'Neill, M Pasa, J A Redflond, K T Ryan, K Singer, H Slntzoff, K Machsauth. I would like to thank H Brady, S Kearney, D J O'Neill and K T Ryan for coaaents and discusslons. I would especially like to thank H-J Kugler for aany discussions and for coaaents on a draft of this .paper. Postscript: The moat visible OBJECT in the view froa the trenches is a large paper aountain. References [BALZei] R. Balzer "Transforaatlonal lapleaentatlon: an example' IEEE Trans, on Software Eng. Vol SE-7, tio l Jan 19B1 pp 3-14. [B0EHH76] B. W. Boehm "Software Engineering* IEEE Trans. Coap. Vol 025, No 12 Dec 1976 pp 1226-1241. [BORGBS] A. Borglda, S. Greenspan, and J. Hyiopouios "Knowledge representation as the basis for requlreaenta specifications" Computer April 1985 pp 82-Bl. [BOOR66] J. P. Bourgulgnon "PCTE: a basis for a Portable Coaaon Tool Envlronaent" In ESPRIT '84 ed. by J Roukens and J. F. Renuart CEC Brussels Belgiua North Holland 1985 pp 75-84. [ĐARL8Z] J. Darlington "Program transformationa* in Functional Pragramalng and its Applications. eds Henderson, Turner Caabrldge University Press 1982. (D0NZ8D1 V. Donzeau-Gouge, C. Huet, G, Rahn and B. Lang Programming envlronaents based on structured editors; The MENTOR experience. Res. Rep. 26, INRIA Le Chesnay, Francs 1980. [EPPL83) W. K. Eppla and G. R. Koch "SARS - a sysren for application oriented requlreaenta specification" IFAC Real Tine ProBranmJne PP 43-SO Hatfield UK 1983. IEPSI64] Epsilon GBbH "SEEK - software engloeerln^ envlroiuaent kernel". Reference Manual/Draft, Versian 0.2 (Internal). 19B4 lESPRSa) H Morgen 'Esprit Project SIO: ToolUse" In ESPRIT Status Report of online work to be published April 1986 North-Hollaod. (FREN8B] K. A. Freokel "Towards autonaclne the software-deTjeloiment cycle" Comn acM Vol 28, So 6 June 1985 PP S7B-589. [GERHSO] S. Gerhart, D. R. Husser, D. H. Thompson. D. A. Baker, R. t. Bates, R. W. Erickson. ft. t. London. D. G. Taylor and D. S. Wile "An overview of Affirm: a specification and verification system" pp 343-347 in Information Processing '80. ed S H Lavlngton North-Holland Hew York 1980. [GREE821 C. Green, J. Philips, S.Westfold. T. Pressburger, B. Kedilerskl, S. Angehranndt, B. Nont-Reynaud and S. Toppe1 Research on knoHledee-baaed proerannlng and algorithm design - 1981" Rep. Kes. U, 81.2 Kestrel Institute, Palo Alto, California IBaa. [0UTTa2] J. Guttag, J. Horning and J. Wing "Sone notes on putting fornai specifications to productive use" Science of Conputer Proerauing Vol 2 No 1 October 1982. [HAMI76] (C. Hanllton and S. Zeldln "Higher order software - a oethodology for defining software" IEEE Trana on Software Eng. Vol SE-Z No 1 March 1978 pp 9-32. tHEYOes] P. Heyderhoff "GRASPIN: A coherent nethodology" J. F. Renuart CEC Brussels Beleluo North Holland igas pp 76-84. IHRUS8Z} P. Hruška "PROHOD: Motivation and Introduction' Version 1.2 GEI Aachen, P R Germany July 1982. [JACK83] N. . A. Jackson "System Development" Prentice Hall 1903. IJ0NE7BJ C. B. Jones "Software development - a rigorous approach'. Prentice Hall 1979. [KAST82] U. Kastens. B. Hütt and E. Zlmnernann "CAG: a practical coapller generator" Lecture Notes in Computer Science 141 Springer 19S2. [LEHA83] H. Lenaltre, H. Lemoine, and G. Zanon "SPRAC: a coBputer assisted softwware development system" in 'Tools and Notions for Program Construction' ed. D. Neel Caabrldge University Press 19B3. (H0LLB3] B. Holler, H. Partsch and P. Pepper "PrograBmlng with transformations: an overview of the Huolch CIP project" aubnltted for publication 1983. (PART83] H. Partsch and R. Stelnbruggen "Program transformation systems" Computing Surveys Vol IS No 3 pp 199-236 Sept 1983. {SCHE83] W. L. Scherlls and D. S. Scott " First steps towards inferential prograiUDlng" IFIP 83 pp 199-212 Elsevier 1983. [SILVSSl -B. B. Sllveman "Software cost and productivity laprovenent: ao analogical view" Computer Vol 16. No S pp 86-96. . [TÜRS84J W. H. Turski "Completeness and executablllty of specifications" In Proceedings of Software Process workshop Eghaà, U K February 1984 IEEE pp 153-156. [HILEB3] D. S. Wile " Program developments: formal explanations of implementations" Cosb ACM Vol 26 No 11 Nov J 9 83 pp 902- 911. EXPERT SYSTEMS - EN COMPUTER AND ELECTRONIC SYSTEMS. James A. Redmond & John F.J. Gleeson. (Dept. Of Computer Science, Trinity College, Dublin, [reland) UDK: 681.3:159.953 ABSTRACT. An outline of an approach to the use of expert systnns in fault diagnosis of clactronlc tircult boards is given. Lessons are drawn from existing suci:ossful expert systems such as Ri and Steamer. The Esprit project 96 is described with sooe conmunts on progress to date. Some guidelines and future directions are given. 1.0 INTRODUCTION. Considerable interest has hec:n shown in so-caUed F.xpert Systems In the last few years; an introduction is given In iNAUaaj, This has been due So the suolos.-! af some applications. Changes In technology - hardware and software, and dccroaae in the costs of exploit ini; the technology. Figure 1 shows the dramatic decrease Sr the tine to implement a systen. Table ] (appeniiix) uhows the wide range of Expert Systen Shells avuilable. and their wide ranye in coat. Figure 2 shiiws an estimiitnii dcmanii curve for "Knowledge Engineers" in the neur futuro ; J0HN031. IW >M1 ttU liU lua l»r l«H l»9 19» i'ig 2. The drauatlc decrease In the number of aanyeurs iti develop an expert system Is due to a number of effects : - The we 11-known learning curve effect, - The growing expertise in building expert systcas, ' People are better at picking suitable application areas. - Better software and hardware tools are available cheaper. What is an Expert System? There Is considerable scoptlclsn in sane circles at this questiosi; suae cynical responses have Includod "Any Lisp prograu" to "A user interface to an application progroo". However while we may arßue about the definition ami iis usefulness/appropriateness, there I's no doubt that sonc expert systens applications have been successful I'.g, Mycin. HI, Dipnetcr IFEICESI) [MCDEK821 [«CDER84]. Mhat ari! the characteristics of an Expert which Jjre of interest for modelllng? Experts can: ' Apply their experMse in an effici(!nt nanner. They employ pi an s Hi I o inference and reason from 1 ncomp 1 ü i. e and uncertain liiitu. - Explain and justify what they can da. - Communicate weli with other experts, - Rcstucture and reorganlice knowledge, - Rrcak rules. They understand both the spirit and the letter of a rule. They have many exceptions. ~ Detenni ne re levari ne. They know when a problem is outside their expertise, and when to sake referrals and to HhoD. - Degrade gracefully in their problem-solving pcrforinaricf: at the Holts of their expertise. Present-day expert systens have modelled the first three of these, and research has started on Explanation and Knowledge AcqnSsitlon [HILSNaS], Z,0 EXPERT SYSTEMS Expert systems have developed gradually from eariy research Into Al and they can be described as computer prograns which perform certain tasks, tradltlonajly regarded as requiring human expertise or Intelligence, at a comparable level to the human expert. The tasks which experts perform are usually seen as requiring Intelligence and- such tasSts or operations are often extremely difficult, or impossible to describe in algorithmic form. This Is because experts do not wf hcurisLlca tü perforili tasks, solve problems or control operations. Those are Infurmol judeementaJ riilos or "rules of thujib" l^EiGEai]. Such rules are often very Improcise. UitallnB or nudelJing these tasl THEN Although each production rule is ' individually simplistic, collectively they can represent a i aim; number of complex and interacting ideas, representing a considerable umn-.utl uf experience. In an expert system for computer aided design oi' electronic cirtiiit.i [t;QXB4l [STEFKB3]. a typical raie might be that pin number 9 of of a 611B, 2718...IC should be connected to dataline HD. and this would be i;xprusseii in production rule form as: IF THEN Expert Systems with some sort of framework [FBIGEai], are genera) J y domain Independent, uiit i i I iie domain specific knowledge has been Incorporated into them. To change the problem domain, all that la required is to change the incorporated knowledge, ie the rules. This' is the principle of EMYCIS, which is an expert system builder, developed from MYCIN (EMYCiN stands for Empty MYCIN). The Processor system was developed by adding rules to the EMYCIH system. Processor currently contains 213 rules. If these production rules, or what ever other data structures are being used, are regarded as pieces of know)edge, then the addition of new rules or data structures is like adding knowledge to tiie expert system. An attribute or characteristic used to describe this aspect of a particular representation schema, is ' modularity. Modularity refers to the ability l.o add, modify or delete individual production rules or data structures, mure or less Independently of the rest of the database of rules/structures. tlumans often find modular or clearly divisible systems easier . to understand or work with, especially once a system iiecoraes large and the number of interactions increases. In such cases perceiving the total system with all its Interactions is virtually impossible, and it becomes essential Lo adopt a moduiar view of the sysiem. However a great- deal yl' tjuman knowledge Is i lliieienl 1 y non-mudular. and it is often extremely difflcuÌL to exi.racl frnai an expert anu ihc:; lo express In rule format ur in a definite modular rasjiiim. fie 3 2,4 CERTAINTY FACTORS. Rules In »any systens including the MYCIN op EMYL.N ■ysteas are described s« being Judgemental [FEIGE81] tSH0RT78J [VANMLejJ, this l.npHes that they make, ur are used to nake. Inexact Inferences on a confidence scale ranging fron -1 to tl, «here represents cosplete confidence In the praposition, and -1 represents no confidence in the proposition, or complete confidence that the proposition is false. when the NVCIN systcB Has being developed, attcnpts Mere sade to incorporate fornai statistical seasures, however these were rejected. partly due to the Implesentatlon difficulties of incorporating them, but more importantly, because It »as found to be very difficult to reflect the medical experts selection or weighting process in conventional or standard statistical franeHOrks. Doctors did not appear to use anything reseabllng a statistical approach when deciding between alternatives, they weighted the choices as strong or weak, so a straight forward weighting scale was adopted for the certainty factors in MYCIN. In these systems, a certainty factor may be regarded as a measure of the strength of association between premise clause and action clause of a given rule. When a particular rule succeeds, it is because its promise clauses ar« true in the current context of the system, however the certainty factors of the component clauses of the premise are combined to form a now overall certainty factor for the premise. This premise ccrtainty factor Is then used to modify the certainty factor of the resulting action clause. Therefore, If a premise succeeds, but with a low combined certainty factor. In other words with a low degree of confidence, then the resulting actions taken are assigned a low certainty factor also. 2.4.J CERTAtNTV FACTORS IN THE PROCESSOR SYSTEM: - Certainty factors, which are an Important feature of the EHYCIN system, were used very little in developing the Processor expert system. The reasons for this are very Interesting, and ere a reflection of the problem or fault domain. In most Instances the system asks the user if there is a signal, pulse or sctlvlty at a given point on the board, this Is a simple yes/no query: there is very little vagueness, or ambiguity, as there la a pulse or there is noti If the expected pulse or signal Is not there, then there Is a fault br problem in the circuit which produces or uses that signal or pulse, and that la definite. So the system localises to that part of the circuit, and tests another point, or section of the circuit; again It either finds what it expects to find or It does not. There is very litt lo room for uncertainty in digital electronics, a line Is generally either high, low or carrying a signal t The nature of digital test equipment also leads to precise results to testa, you either see a signal on an oscilloscope screen, or you don't. This Is very different to the situation in medi cal diagnosis where estimates- and qualitative Judgements must be made without clear quantitative results. It can be concluded therefore that there Is very little need or possible application for certainty factors In systems of this type and this is a reflection on the fault or problem domain of digital electronics. When certainty factors are used to any great extent in a system, they decrease the predictability of the system, as the tree-like structure of possible consultation paths becomes much more complex and vague, and therefore more difficult to predict. This has the effect of increasing the nystlque of the system, and thus the system appears to be more "Intelligent" to the user. The comiflexlty however, or unpredictability of an expert system, is not a measure of the "Intelligence" of the expert system, and this is an extremely important point. In fact, increased use of certainty factors, however 'invaluable in certain clrcumstanccs, implies decreased ■ certalijty in the result of a consultation. Perhaps they would be better called "uncertainty" factors. 2.5 THE INFERENCE ENGINE The purpose of the Inference engine Is to take the collection of rulos which form the knowledge source, and the initial database of facts, select an applicable rule and apply it. The result of applying a rule modifies or updates the database. This operation is repeated until the final goal state or solution is reached. When the inference process is data driven, the premise of each rule would be checked against the contents of the database, to find the applicable rules from the rule set. One of these rules is then selected and applied, the action part of the rule,, once applied updates the database creating a new sub-set of rules which are applicable. The Inference engine can select the rule to apply either by taking the first rule it finds which can be applied, by selecting the rule which appears to have the shortest path to the goal state or alternatively the rules may be assigned priorities by the builder of the system, so that the rule with the highest priority will be selected. The second of these options is often extremely difficult to Incorporate into a system. Assigning the rules priorities adds another dimension of complexity to the system. Increasing the argument In such cases for a modular approach. Host systems, however, simply select the first applicable rule. A data driven procedure may be illustrated as follows: Refr tC0X84] Database Is Initialised: Repeat Until Database Satisfies Goalstate Compare The Condition Part Of Each Bule H Uh The Contents Of The Database; Select A Rule From The Applicable Rules; Apply The Selected Rule, Thereby Updating The Qaftabasei End i In a medical expert system, the goalstate might be a diagnosis, treatment or therapy, for example. Goal driven Byatoms represent a top down strategy whereby the rules are chained together so that the output from the part of one rule, is used in the part of a later rule to establish its applicability, or eventually to satisfy the goal state. In many cases the nature of the knowledge source will dictate, or at least Influence, what control strategy should be adopted. For example an expert system for electronic fault diagnosis, might be goal driven, that means it might expect a 14 MHi signal at a particular pin of a given IC, and would look to see jf this signal was there. Alternatively the system could be data driven where it looks at what signals are at the various pins and does analysis of the result to determine what is actually happening on the board. Mhere possible a combination of data driven and goal driven Btrategies within a single system would produce the best and most elegant system. Whatever approach is adopted the control strategy of the Inference engine could not be regarded as being responsible for the seemingly Inteliigent behaviour of an expert system. Feigenbaum CFEIGET9} makes this point: 'TiiL- ptiwi;r of an expert system liuriv^js fron the knowledge It iwssossos, not from tlig pHrl.1(;ii]ar riirmilisma anil ijifurcncn schta« ii cmp Uiys. ' With this in !ni.^li It is intüreatlny to «uu: (!i..l pxpcrt sysLums urc »ftün rtfcri-l-d t.o uü 'ktiowJedi^u ijjsi'ij systems'. 2.6 EXPLANATION FEATURES OF AN EXPERT SYSTEM Although the basic building blocks of virtually all expert aysten prograns, are the database, the knowledge base and the Inference engine, various other facilities are often desirable. Of the extra facilities Incorporated, explanatory facilities are possibly the past inportant. The ability to ask for an explanation of e particular result, or Hhy a certain question Is being asked. Inspires confidence In the users of the the system, as it allows the users to judge the results of a conauitation for theasolvea. The users are given the feeling that they are getting an opinion from the system, not being ordered or told what to do by the system. This is very important in applications where computers were not previously employed, as resentnent and suspicion of such systens is-often connon. Like any conputer systen, an expert system, has to be }lked by Its users if it la to be sucqcssful. Therefore systems should be as user friendly as possible. In many cases simply phrasing the questions and results clearly in good natural English will sake a noticeable difference lo the user's view of the system. Where possible replies from the user, should be accepted In natural or near natural language. Alternatively replies fron the user could be through menu tables or some suitable graphical input facility (such as touch screen or mouse). Prom the point of view of inspiring ct>nfidence in the system, by far the most Inportant feature to be Included is the explanation facility, and It Is questionable whether this should be regarded as an essential part of an expert system program, like the knowledge base, or merely as an additional feature. ^ )4ithoyt an explanation facility, the 'intelligence' of the system is hidden from the end users, and also, to a certain extent, its expertise. An example of the use of the HOW and WHY facilities In the Processor system, is shown below: 7) Is the Vcc input to the EPSOH (pin 24) connected to the Volt line? (YES/NO); Wlfy [le WHY Js It Important to determine whether the Vcc pin of the EPROW is connected to S volts?] [2.0] this will aid in determining whether the memory mapping decode circuitry will be examined. It hae already been established that la.l] The EPRQM Is the suspected fault area, and [2.2] You are certain that the EPROW test program was loaded correctly into the EPROM, and that the EPRQM IC Has Inserted correctly into the socket, and . 12.31 The EPHOrt ground pin is connected correctly to ground Therefore, If [Z.4].The Vcc pin of the EPROM is connected correctly to 5 volts, and [2.Si The Vpp Input of the EPRQM Ic has been wired correctly, and [2.61 With reset pressed the EPROM Is not being selected Then It la definite (1.0) that the memory mapping decode circuitry will be examined. [HULEOai] [Back to question T...] •• KQW 2.S [le HÖH Is It determined whether the Vpp input of the EPROH IC has been wired correctly?] There are no rules which allow the deduction of whether the Vpp input of the EPROM IC has been wired corructly, so a question will have to be asked. The query mechanism provided by EMYCIN la virtually identical to ^ the facilities in the NYCIN system [VANHL81]. When asked a question at any time the user nay respood "l(HY% if the response does not satisfy the user, then they can ask "HOW" a particular pact of the explanation provided was arrived at. The system replies by listing the relevant rule, but not in Its Lisp form, instead it lists the properties of each parameter of the rule with the desired value that they should have for the rule to succeed. Processor Ig a production rule system with 213 rules implemented In ENYCIN on a DEC-20 in TCĐ by J, Gleeson. It does electronic fault diagnosis on an H6S09 microprocessor card. This project provided experimental input to Esprit Project 96 (discussed later). If a sophisticated explanation facility Is required, it may be best implemented by secondary expert system, giving rise to what is termed, a multiple expert system. Table 1 shows some sample expert systems develdped in TCD. All these systems are production rule systems , all are experimental, some have led to on-going work and potential future development, eg Processor, Floors, Lending. One, MRCPI, has been quite successful and it is planned to use it in Its present state. In the remainder of the paper we will look at some examples of expert systems. R1 is an example of a first eeneratioh expert system. Steamer is arguably liot a full second generation expert system. Project 06 is an example of a design for a full second generation expert system. 3.0 TWO SYSTEMS OFFI^RING USEFUL INSIGHT. 3.1 Rl: The Evolution Of A Production System. Ri (now known as XCOH) [HCDERSOj [HCĐERe«! Is a program that configures VAX conputer systems, originally developed by McDermott at Carnegie-Melloo for Digital Equipment Company It Is a production system. 50 to 150 components make up a Vax computer system, Rl has sufficient knowledge of the configuration domain and of the peculiarities of the various confIguratiun constraints that at each step in the configuration process it simply recognizes what to do. Consequently little search is. required in order for It to configure a computer system. The history uf Rl gives some useful Insights for the development of expert systems, especially production systems. HI was originally written in 0PS4. In the first four months, 200 rules were written by extracting knowledge from experts In.the absence of a system. In the next 4 months, 60Q rules were generated. These rules were generated by omissions not covered in the first 200 rules. In general the omissions were of items which were "obvious" to an expert. Rl is considered hy DEC to he a successful expert system; It has been In use for over S years, and has configured over 70,000 computer systems. One in a thousand mlsconfIgurations occurs. At present seventy people support the Rl system. SI has been significantly expanded in the five years to cover additions to the VAX range as well as to the PDP-11 range. It is possible that the problem solved by Rl could be formulated as a knapsacf-style problem, and solved by dynamic programming. However It is possible that It would be coabinatorialy bound. If solvible a table of solutions for the various pieces of equipment required would be available with significant cost and time savings. Another advantage would be that the cost function would be minimized In arriving at a solution. A criticism of Rl Is that while a feasible solution is usually derived, it is not known if it is close to the minimal cost for the configuration. [Back to question 7...] •• YES 8)...... Rl The originators of Rl considered that at sume stage would be finished. It Is Interesting to liotc that It !a stili not flnlahed and con'tlnuKs to grow. The cruMlh In the nunber of rule with time Is eiven In Fig. 4; have bi->.:> undcrlyiii,'. NLfMui;ii or huLO fpf-iun m/bw PPP-ll/34 Ill/UI MicMwtx.i nivali MiCflO-PDPlI |1>B) Fig 4: Number of rules In R1 over tine. The under 1V inc concepts of sscaaer reflected In other projects. The basic notivatini; Jiiuas in Steamier arc; - The Conccptuiil Hödels which an expert uses need - > be understood i'or constructing ust:fuJ appi Icui lon.i. -Graphical Interfaces for rNTEHftCTlVE, INSPCXTMl .t. Simulation. - Conceptual Fidelity! morie1 tho conceptual sortoIs - ImpLcmentutloii Philosophy: Develop a useful sysicir. concerned with a real problem jn n coenplex trulnini; domain making fruitful use of abstraction. A detailed simulation for a shipboard Bleompliint already existed before Steamer was bulit. A colour ^raphlcf) Interface was considered a sine qua non so tl^rit one could view and manipulate the plant at a number of hierarchical Icvirls (100 colour views arc avollable). Knowlcdec representation was necessary for adopt ine various perspectives of the plant and for aaintalninij a fleiclbie Bodel of the state of the plant and the state of the student beine trained. Steamer is very concerneij with explanation as a prlnary ^oal. It needs to be able to represent th4^ operating procedures for the steasiplant in a forn isuch that they can be executed and explained at different hierarchical levels. This oxccutlon and explanation should also be mimlclted by the eraphics. The growth in manpower has been from 5 people originally to a after 2 years to 77 after 5 years. A final comncnt by »ene root t ■. "The real world treats Al tools with the same disrespect as it treats all other tools". Steamer illustrates state of the art explanation racllltles. smilar explanation facllltlea will be Included In many future systems. Much nore work on multi-level systems will be done in the next decade. 4.0 SECOND GKNEHATTDN EXPERT SVSTEMS: ELECTRONIC FAULT DIAGNOSIS: AN APPKllACm T(1 3,2 STEAMER; State Of The Art Explanation Facilities. Frame and network-based approaches allow the Impiementatlon of "doeper-icvel" reasoning such as abstraction and analogy - important expert ai:LiviLies. Also object-oriented programvilne can bo used to oi'ganlxe collections of rules. In object oriented proyrumminc. objects can be given behaviours, and therefore the control of rules can be distributed into mie, rule-packot and domain objects. For example, we could represent objects (e.g. a PUMP) and the processes {e.t-"start instructions") for it. Frame systems also provide a system to Inherit attributes from a taxonomy of entitles. The control of frame or semantic net systems Is usually much more involved than surface systems and they arc usually implemented In a way that an explanation facility cannot get at. Steamer is a trainini; aid developed for the US Navy for the purposes of training personnel in the operation of shipboard steam plants. The operating procedures consist of a series of steps or subcomponents uf the plant. The components antì procedures are represented as frames in Steamer, as are the abstractions of components and procedures that experts use in teaching steam-plant operation. The steps of a procedure come from the observation of the components {and subcomponents) of the device to which the procedure applica. The orderlne of the steps comcs from a third represented entity - operating principles, which are culled from experienced ojierators and represent "compiled" or "distilled" knowledge of steamplant operation. Steamer Is an examplo of a multi-level ayatera (I.e. a system that uses knowledge represented in different forms). Steamer uses the following representutioiis: - An ICONIC representation of the objects of the steam plant e.g. valves, puops, tanks, dials etc. A F1ÌAME representation of steamer objects, procedures and operating principles; used for describing, explaining, categorizing, abstracting and referencing. An ASSERTinNAL database where assertions about steamer can be made and retracted - A quanti tutIve simulation used for observing cause and effect of the application of processes. Active vulue methods, which are used, are round to be extresElv useful In that <>iii;e communications difficulties by means of a 'blackboard' [HAYES60J type mechanism, hencc these systems are referred to as 'blackboard systems'. The llearsay-II Speech Understanding System [llAVKSBU] proposed a very interesting general framework fur problem-solving in which a number of i ndeiieiident processes are coordinated to produce good cooprrut ive behaviour. The general structure of Hearsay-11 sugi^esis un interesting possible approach to an udvuot fil electronic fault diagnosis systeia. If we refer to figure 1 the effort in producing a multiple expert syaiuju. Hcarsay-Il, as opposed to a first generation expert system can be seen. The broken curve is a conjecture for future multiple level systems. If the ilcarsay-11 approach to expert system structures were to be adapted for advanced general purpose electronic fault diagnosis systems, a potenliaily powerful expert system could be developed. For exumple, a hierarchical svatom for laicroproccssor based circuits, could consist of many clearly divisible sub expert systema. at various levels of detail or abstraction. Examples of the possible sub-systems Included might be: a: Purely electrical checking at component level, driven by Kirchoffs laws, etc. b: Digital testing at gate level, driven by tesi algorithms such as the U-Blgorltlim (ĐENETSaJ. c: Electronic faults at ic level, eg propagation time delays due to characteristics of components or ILs. d: Physical circuit construction faults, dry jtiints, etc. e; Software analyses and checking, A system of this type should be capable of extremely advanced fault and design error diagnosis, on a ruiige of systems. As the logical representation of a digital circuit, is normally quite different and Independenl from the electrical representation of the same clrcuU. either logical tests/analysis or electrical tesis/analysis un their own are not always sufficient for finding foiiits. particularly at the design statue. Wy creatimi u system which simultaneously examines the logical and electiunii: aspects of a partictilur circuit, tin.' i; 1 n-t nui a- engineer's knowledeo Is bctng modelled mucU more accurately than Jn a systoD with a sinclo level of abstraction or single fault finding/nodel1 lue approach. As a rcsuK u onre "inteJligent " expert system will be produced. However the construction of a null i level systen as proposed here, involves coordinatine diverse knowledge and data In a useful cianner. This Is exlrcmcly coisple*, even If It is limited to a very narrow problen domain. Such an expert system would overcome many of the limitations of plain rule baaed expert systems, and wouid alluu for top down or bottom up approaclies to sulvinc the problem. As an expert systcn shell, or builder. It would ai low for quicker and cheaper development of new expert systems, as the problem domain may be described or oi.-rined lotrlcany. electronically or partially at a series of levels, and interactions between the various levels or knowledge baites, would [rcjnerate ^4^p^escntations of the problem domain, or circuit, at each level of aiistraction nf the system. The varKms modules of the ^circuit, or fault domain, could be defined at the level, or in the terms which best suit tliera. The end result would be a multiplicity of representations, or models of the fauit domain, within the expert system, each one ropreseiitinE dLfCeront aspects or characteristics of the fault domain. The resulting; system would Ql>vtously be very powerful, and could be produced relatively quickly within the expert system framework doscribed here. An example of such a system rai^ht be a fault or test system for microprocessor boards. Such a systen cuuid bo quite complex and a variety of represciitatioiis may be reijuired. Tliese representations of the sy.sLem could Include: The project goes beyond the use of Skeletal Systems and uses a Jayered Conceptual Model to control complexity and separate concerns. An Expert System Builder (ESB) win be developed, and a number of prototype expert systems will be implemented. It is feit that expert system functions will be key competitive oloments in most future electronic products. The underiyine philosophical motivation for Project 96 comes from the claim that she main probien with expert system techniques becoming naHS tcchnoloE:y is less the basic theory than the sheer cost of implementation and the shortage of skilled aanpower. Conaequently the emphasis of the project is that the ability to plan and to fulfil plans has been given hieher priority than the invention of new and more sophisiitated representations of knowledge. It also wishes lo eliminate the need for the knowledge engineer- The l.ayer Hödel of the ESB is given in Fig 6: (KNUC184] IWOHIEISC EHStHHEeil I I I 1 KHUIH expcKT I I I »a«)» TOOLS I I I —I I I AI EXPERT I I SrKBOlIC UUISIIWC »ud KACHIHE EHVIIIOKHEHT | I I I ■ I Fig 6: A Simplified Layer Model of the ESO, o: The physical structure of tiie system, o: Electrical behaviour, o: Digital electronic behaviour, o; Olgi tal logic representations, o: Representations of software running in the system. The inter-rei ationshi p iK.^Lween the various representations might bo illustiutod with the following diagram: MICROPROCESSOR SYSTK.M. DIGITAL■ I ►i-l.ECTRONIC I ■ LOGICAL A more [MNUCI641 detailed diagram is given in Pie ': Ll bW^Ml (I E ZZShL^SZjaHEZZZZZ I DHA • - ' Zil Fig 5. Fig 7: The Layer Model Tiraphical representations of ttiii components, and their behaviour along with graphical representations of the modes or states of the system would also bii of iinportancc in such a system. A structure for the development of Knowledge Bases is shown in Fig 8 as a waterfall diagram. Of course, lit practice the process is an iterative, not just a sequential, process with feedback to previous levels. S-O ESPRIT PROJECT 96 - EXPERT SYSTEM BUILDER The aim of Project 96 (a five year Esprit project) Is to investigale the extent to which the production of Kxpert Systems can be industrialized. The partners in this project are CIMSA IFrance) with subcontractor LAIM, CSi:i.T (Italy) with subcontractor Tecslel. Soren T. I.yniiso (Dcninurk) with subcontractor RISO, ['lessey (UK) wUli subcontractors Plymouth Polytechnic and Ti-iiilty iliiilege riublin ( I rei and ) [MSUCTS-i 1 . The layer model allows the ESB to incrementally Improve itself by progressively building upon facilities in iower layers (so-called "technology bootstrapping'). The Conmon Base Programmine Environment (CBPE) shown in Fig 7 la similar to the environment presently available on Lisp machines. The Dasis Expert System Builder Is the "Topdown with Revision" method. - The preferred hurriware to support the CBPK is i Jiir Symbolics 3G00. - The preferred commercial Al tool chosen is ,;ht. but further experiments and developsnent will. In addition, uso Sli'KOr; lievi; id pod by C i «.SA. PROGRESS: Progress in the second year of the project could have been better, many of the problems encountered were contractual but these have now been ovurcome. Tills wus due to specific project management policy of generating Inter-pcrsonal contacts initially via meetings. Aisu very largo use is msde of Eurokoa in the project. Communications iiave been good between all partners ami subcontractors. Even though It is still early duys in the project, ihe prospocta of stimeihing viaiile iii.'iiii! produced iouk very good. in the coming year It ii expocteii tiiiii till; four sample expert sysiems wj i j 1ji: implemantud. A nUB)>cr of interesting i;imclus ions sliuuid lie >irawn friim ihe slmultanuous devi; 1 oiiment uf four i systems. fi. o GUrr^EI.TNFS PnR A SUCCESSFUL EXPERT SYSTEM This Is il list of conerai guUl«Mnes for producing RiiccrRsful uxport systems [BAHSfii] IHCWIR«:»! IKIINZ«"!! {SMITUÜ^I. - Focus oti a n-arrow spcnia.ìly arua that wledce engineer must ensure lhat the representation of ihe knowledge in the computer is whut the domain expert actually intended, in other words lliat it is a valid representation of the knowledge. 'Along with being valid, the knowledge must be structured in a useful manner. Rules for instance must be well designed and structureri in or commiifclul St iiiiti;)! ds . has a lowur bciund of 5 mitiyu-itr b . with at least 2 pooplc Involved. Tin: uxporL shulls now iivfl liable Nlll fjo sooe way towards solving this probi um. Wc hrtvo aisf) s(i<;n fron Piß J Lhiil a fciirly ih-fundtic Icarnlns affcct scocrs to apply. • Shnrtoirc nf skilled manpower oa tixcniplcM<:il In 2, ds well as shortage of knowlcdgo engineers. Thurc Is filso a shnrtaK«: «.'f M prtiuramiiicrs. - A RC'cntiil major prob len is the amount of time nuot-ssary to öL-quiro knowledjie r#«in un expert Jn som« pr(il)lt!nt domain. This problem Is dui; to a Uok of tools for the tEisk, but jfl duo to our own InudcguaLc utidurslund^nc of huoan problem-solving. " Finally there is considerab^io e^poritìnctj in industry of the problems of developing and inaintaining iarge software systems, even if there is ntit a lot of satisfaction with the resulting software quality. However there is little e:pl9 far*«tt DJRftlirr STATUS AMD eOWEHTS. Dtveleped hf iMrk LyaMht. ib« Mit»«a MàlMtH tppllCtUOM fqr IsftM «f<»!fii. Bdvlr« I« Yh« btnk ■mbr«''. LrndlAt 1* CUir«Ai||r uied an • dCkonjtrallon ■yii«». D«v«]aped by ,7ehn Oi>»«ao. ProeelBQr Cerr-lvB «ut alvctranl« fault dlapioAti on q particular rtue« of ■lcraproc«*»Dr b«arda ■Bd I* currantly iv^llBbln tD studenta dtveloplni th«aa twirdi a« «»rt at theJr cn^rM «rV. Plaon U M einer ItentAl devrtoped Ivr TTIaah Htrtr, t« »Id itructwi-al d«»icn of bulHIhn-Current wrlr on sore edvtnced wrklena at thi* lyatea li betHC den* in LISP not £»>Vc1n. Devfllopad by padraJc Broannq. ihji ty«^«« ^sr thyroid BalfuncClon dlienoal* A cur« dcv0l«ped veralan of thJi «irvte* Hill be ported fraa t VAX to t RalAbDW Mlih CaaAnn Llip Jn Sl.jAaci'p iloA»itaJ Dublin, «tiers It 1*1M ba utnd. APPEHDIX. Tables 1 to 3. D«veiot>cd under Nike firody. An objrellve «a« ta tvAluete Prolot tar ejipcrl 4yiiei developaent. Table t: Sane B*p«rt SyilMt Developed «t TCO. Tabic 1. Soae Expert SystCB Shells Available in Kid-RS. Table 3 Some AI Workstations Available Mid-BS. APliS ■ ART Coat 1240 «as.ooQ Humb-Sold taniuace llarchiara X.E. 40D proJQff IDM-PC Yei 40 LUp AppJlcat Envtaasa «12.004 ESP Ailv I ior IMfl Kapert Eaa* STOQ ealran-T Sie.đOO tCL Advlur til .000 ICL R«v*oi tsa.tm m »»0.000 Peraonal CunauU«M »2,000 Jtevaal a tar SZO.OOĐ a Paacal >00 pro I oc flOO Paaca) IDN PC ft rortrdn IHM PC Q paacAl ICL Ha ? Fortran ■alA-fre« Ho Medicinu. Uüül SDCurUy. L lull liiiu I iii-ur'I Rtf Syabollci. Yet NAM »iijCu ihuiUo lu^iillnfl r.Jip N/c. avAlL-*. faull illiiuiiiiaiH in Vax ■isallei. Vee Yci No Mnybe Circuit Oojird KmuU Kln<1i:r: Sulhwlu Odta Analytla Pruni rnil Oil A Aoro«[>iiL'r Apiiltci Ha Caaputar kizlne; »'autt DUcniiMls In icIvphiiAu end aantirBcturlnii, Cnpjicliy p I anilina; Enurey plsiftnuit; lluaan roHpi>;i5C aifal. Beine tiy bucini; and lASlC4. Hi SyaboMca Yea Lisp M/c Kerox 4D0 Raalc Tt Prot Fortran IM. Dec. PC. Prlaa (JDIR Vjia.Sun S«valr »10,000 »,000 Paacal Vbs tlJW im-PC IHM PC Narkat buiÌrIUdi!: Vaa Pej-turaunCB ■unlturinK: Corpurul« onalytli. Vaa Savore xlnra furecaat Ine: I^D^r truniforacr ilJaunpila: NASA Vei liidlvldiifll uaa fungicida: St rcAa/Cpaclc J ne/aiJw | cfl tyalca; l^fudLCtliw coptroi »3,000 IHM PC «49S No T«ble I. StMtf Rapurt Syal» Shelì* AVAllable In M»d ftfi. d-8». ■ Mn. Su Id M.'tri t . 1(1 un»«!» cupin« h^ivu been aolil tii parent/»hnrehntiln tUL Uialv IHN PC Mmnn pP IhN Pti nr Pf^ cnapullbla aarJiinu. It aay aJ u^iivr Ikjchlnv« »ui-.h a* Slrlua, Ilei*. KvlnUwv, vtc. Advent Al Ejcptorsr KPS 10 Syabolte* nuoo Coat »4O.Q00 »100.non-»sÖQ.ono »I0o.0(to »»00.000 »Td.UC^O »tas.ü«] Nalfl Othfir l.dAUMBKC Laiuniaeei Source CiiMiin Pbtcal.C Adwnt Dat« l.lsp Syaloa» Tcaja InairuaeniA Zaini lap Unu 4.1 KacöI N^taIi Zeiblilpi TektrùhlK 4AM E*rui jioa Tabta 3 Sa ZclBltep« ProJoS. Pluvora Liapit), Purtran. Poacal. HAcayaa^ AUT. Htm Saatltalk Prant1 lap,Taktr< AQ Prolue [nierllep 0 Xaroa l.l«p Nachlnaa Inturporalpd Sirabpllc* Inc. Up 1u 4 U^ert Prolof * l.)«P can Lall r«< h tiilibr »19.000 »40.000 t A[ Korkatattuna Available Hld-SS. (.iep Object Or^nnird Prutfruaatnu It.D. Kuaber eold le »a oatlaqie. 4« pr ald-A». Note that aoao aold aay b« li> parent/ahoreluIdar coapony. RtFEHENCKS: tHAHSRI] ll.R.Hurstuw and Đ. G . Buchiinan, "Maxims Par Knawludgu EiiEineet-lnn" , Hl'Hai.1, 1901. IBENET821 R .C. HtmiL-tts •'Introduction Tu nltjitnl Board Tustlng" Arnold i982. [»HAD¥B41 M.Brady.P.Agrc.n.nrauncijB and J.Conncll, "The Mechanics Kali;'' RKAI 04 (üd: Tim D'Shco) North Holland, 19aa. Ipp eai-6ÜG). (CLARKSZ] Clurk and Tarnlund, "l.u«ic Pronranitinir" Aciiàcnic Pi'css. löaa. [C0XB41 I.J.Cux. "lìKpert Systems" IKi: "l-^luctronics anü Power". Mdrch 19S4. Ipu 237-24D). [FEI0E791 E.A.FdccnbauB, "Tlntni;s And CuHi: simiics Of KnowUidee Knglneerlnc". ill'"Expert Svslums In The Mlcrouluctroniq Age", ert Il.Hichlc. KülnburBh Unlvurslty Press, 1070, Ipp 3 25). IFEICESI) Barr und Feleenbuum, "The Handbook 01 Artificial Intol liufjic«" Pi taan Boaits , lOai. |F£IGK&3u| E.Tl-ii;enbiiuii and P.McCordncic, "Tim Fifth CeiiuraLiun - Artificial Intelligence And Jai>un'» CuBpuiiii- Ktmlluniie To The World" Addison Mesley, 19H3, [i'EI(;i-;aabl Ei.FcilKtnbaun, "Knowlcdee lincliiL-oPing: The Applied Side" in " IiiLo M I 1 üyslLins, The Uiipreix'Ueiitnd Opportunity" Eiiia llurwuud, 1993. [FHEN05) K.A.Frenke!. "Twords Automating The Softwarc-DevL-lopnent Cycle", CÜMM ACH. Juni: IDAS, (pp. 578-589 ) . I HAYES DO] E man. II ayes-Roth, Lesser and Reddy, "The Heursuy-11 Speech Under» t unii ini; System; Integrat ine KnoHledgD To Heaolvo Uncertainty' Computine Surveys (ACM), Voi 12, June 1900. ipp 213-263) [HAVesaa) edt. Hayes-Roth,Haterman and Lenat, "building Expert Systens" Addison Mcsluy. 1983. (lEEECSSl "Bpociui ISBiia On Knowledge Representation". IEEE Computer, October 1983. 1J0HN041 T.Johnson, "The nonmercial Application Of Expert Systeo Technology" OVUH, London, 1H94. iKUKZa4j J.C.Kuax, T.P.Kohlcr and H.n.Williams, "Applications Uevciopiaent Using A Hybrid AI nove lopnent Syslura" Ai Magazine, lall 1984, (pp 41-54). IMNIICIB«) F. Manucci. J. Gallagher, H. Swabey and C. I'lsher "llxficrt System Builder" Esprit '84: Statua Keport of Oncoing Work od. J. Hiiiikeiis and J. F. Renuart IvisevlLM- Science Publishers l'.Wü [KCI1ER831 J.Hcncrnotl., "Extracting Knovilcdgc From Expert Systems" IJCAl 10B3, (pp lOO-lOT). tHCDERBl) J.HcDcpmott and J.Hachont. "Kl Rovislteil: Pour Years in The Trenches" Al Magazine, Fall 1984, (pp 21-32). (MlCHETSi crtt. D.Michic, "Expert Systetna !n The Microelectronic Age" Edinburgh University Presa, 1979. [HILSN85] R il Mlchaclscn, D Michle, A Doulsnger, "The Tnchnolngy Of Expert Systems" Byte April 1905 pp303-312. [NAUfiS] O.S.Nau, "Expert Computer Systena" irre Computer, Fehaary liina, |pp 63-851. LN1LSN821 N.Nilson, "Principles Of Artiriclal Intel]Ignnce" Sprlngor-Vorlag, 1382. [0SHEA841 T.a'Shea, "Artificial intelligence" Harper And Row. 1904. [SH0RT75] Shortllffe. "Compaters And Hionedical Research" Elsevier 1975. [SlI0RT7e) E.H.Shortiirfe, 'Computer-Based Medical Consultations;M¥CIN" Flsevlor Computer Science l.ibrary. 1976. [SKIT1I84Ì R.o.Smith. "On The novelopment of commercial F.xpert Systems" AIMagazine, Foli 1964, (pp 63-731. , [STF.FKRSl «.J.stcfik and J.lic Klnor, "Prospects For Expert Systems In CAD" Computer Hesign, 22. 1S03. (pp 56 7ß) . [ST0NEB4] T.Moto-oka and il.Stone. "Fifth Generation Computer Systems: A Japanese Project" IEEE Computer, Vol 17 Number 3, March 1984. (pp 6-13). [SWAaY85l cd. by M.Swabey "Export System KuiIder - The Second Vcar" in Esprit '85; Status Report of Ongoing Work to be published in 1986 based on Esprit Technical week September 1985. [T0l)RE84] D.Tourctzky, "LISP, A Gentle Introduction To Symbolic Computation" Harper and Row 1984. IVAHM181] Van Melle.Scott.Bennett and Peairs. "The EMYCIN Manual" Dcpt, of Computer Science, Stanford University. Report Number STAN-CS-81-065, October 1981. IWINST7B1 H.Winston, "Artificial Intelligence" Addison Wosley, 1979. [MCDERaZ] J.McDernott, "H1:A Rule nased Configurer Of Computer Systems" CMU-CS-80-119. April 1900. TEHNOLOGIJA,ARHITEKTURA ZGRADBA RAČUNALNIŠKIH SISTEMOV TECHNOLOGY ANO SYSTEM ARCHITECTURE RELAXATION MESH DYNAMICS IN THE METHOD OF FINITE DIFFERENCES Alojz Paulin, Niko 6ezić □apartment of Technology, University of Maribor Bojan Jenko IE VT, Ljubljana UDKi 519.852 The number of relaxation mesh points in the finite difference method is defined and essentiaUy restrained with the fast memory siie of the computer in use. The boundary conditions for the second order differential equation of the first degree include in many technical applications certain fine structure in their geometry. With an uniform relaxation mesh a given finite number of mesh points that fine structure can not be taken properly into consideration. The relaxation mesh dynamics represents a procedure which gives some possibilities for the improvements. The applicability and the constraints of the relaxation mesh dynamics are quoted. The uniqueness of the solution to the second order differential equation is mentioned wfith regard to the application of the relaxation mesh dynamics. The method of finite differences in its computational version yields a digital solution to the second order differential equation of the first degree. It provides in a certain way the uniqueness of that solution. The solution uniqueness could be achieved with an algorithm, which should exactly define all the steps in the numerical approach to the solution of the differential equation. The finite fast memory size in the computer defines and restrains the number of mesh points in the relaxation mesh. There is a possibility to increase the number of mesh points in a given smalt part of the region, and simultaneously decrease the number of mesh points in the rest of the whole region given within the extensions of the independent variables. Those extensions are defined with the boundary conditions to the differential •equation. The uniqueness of the solutian cancels, when the mesh thinning an d/or the mesh thickening is performed optionally and independently from the form of the differential equation solution, A complete uniqueness of the solution should be achieved, and including the relaxation mesh dynamics, when the mesh dynamics could follow the equipotential curves of the differential equation expected solution. The basic suggestion how to approach the relaxation mesh to the equipotential curves of the expected solution for a given differential equation and the boundary conditions is described by A.M. WINSLOW in the year 1966. A successful application of such a relaxation mesh dynamics is usually connected to the interactive graphics at the computer in use. That application is Introduced by J.S. COt,ONIAS in the year 1967. When designing the relaxation mesh dynamics in the procedure, where the boundary conditions should be satisfied, the logical lay-out has to be strictly distinguished from the lay-out of the real geometry, given with the boundary conditions of the problem under consideration. With another words, one has to distinguish the boundary conditions input data as given into the programme from the data about the boundary conditions, accepted within the programme performance. The relaxation mesh dynamics has to be adjusted to th? lay-out of the real geometry of the problem under consideration, Therefore the relaxation mesh generator should provide the solution uniqueness in the differential equation as well as the mesh dynamics. It should be done in such a way, that the solution accuracy is evenly distributed over the whole region, given within the extensions of the independent variables and defined with the boundary conditions. In this report, we do intend to describe some experiences with the relaxation mesh dynamics in the method of finite differences, in the computational work, done during the past severa] years. The simplest approach of the relaxation mesh dynamics represents the partitioning and the compounding of the solution matrix, respectiveiy. Usually the matrix partitioning and the matrix compounding are pcrformed simultaneously, although not necessarily.-with the thinning and/or the thickening of the relaxation mesh, respectively. That approach includes the solution value linear interpolation at the trnnsilion from the thicker mesh to the thinner one. The matrix partitioning nnd/or compounding involves very large data handling. The next approach in the relaxation mesh dynamics is the profframmad mesh thinning. The interpolation conditions require, the region of the thinner mesh has to be surrounded and located inside the precedine thicker one. In this report some of that approach significances with the programmed mesh thinning are described. It is possible to programme as many mesh thinning as they could be accepted in the finite fast memory size of the computer central processor. At the RRC CYBER 172 computer the procedure with five sequential mesh thinning is implemented. The basic mesh extension A could be that way decreased 2 times. That appears as a satisfactory solution to the most of the problems under consideration. At each of the mesh thinning, it is firstly necessary to determine the interpolated solution values of the differential equation at the thinner mesh region boundary. With the defined solution values at the region boundary for each of the relaxation mesh thinning, an intera-tion procedure for a given kind of relaxation is performed. The kind of relaxation, i.e. the over-relaxation and/or the under-relaxation depends on the linearity and the non-linearity of the problem, respectively. The actual matrix of the differential equation solutions for a given relaxation mesh thinning is saved on the magnetic tape for the later final consideration. It is necessary to remark, the mesh thinning could be simply developed only for the method of finite differences at the accuracy of second order. At the accuracy of the fourth order, as introduced by P.. BCN-^ JOUR and S. NATALIS in the year 1972, the relaxation mesh thinning would require an extremely involved procedure. The linear interpolation of the values for the differential equation solution at the mesh tliinning does not appear always as a justified one. An interpolation with higher order splines should yield a more applicable results. The relaxation mesh dynamics provides a better interpretation of the boundary condition fine structure and a more uniform distribution of the solution accuracy over the whole region under consideration, A better accuracy of the unique solution in the whole region could be accomplished with the method of finite differences of the fourth order and applying an exact consideration of accurately defined boundary conditions. The suitable and an applicable method of finite differences using the accuracy ot the second order should include several ten thousand of mesh points in the relaxation mesh. The solution accuracy is directly proportional to the inverse value of the mesh points number in the relaxation mesh. For the purpose of completeness and briefness this report is supported with only two references. The report [l ] from the Dubna Institute is quoted for the early publications and historical background. The work by P. BON JOUR [ 2 ] includes more recent achievements, particularly the intentions how to approach the relaxation mesh dynamics to the form of the expected solution of the second order differential equation. REFERENCES [1] S.B. VOROZHTSOV et al. "Calculation of a two dimensional magnetic field using irregular triangular mesh". Report P9-5013, Joint Institute for Nuclear Research, Dubna ( 1970) [2] P. BONJOUR "Computing electrostatic and magnetic fields", pp. l-ii in the Advances in Electronics and Electron Physics, Supplement ISA, Applied Charged Particle Optics, A. Septier, Editor, Academic Presa ( 1980) New York v ME VODILO V VEČRAČUNAL-NIŠKIH ARHITEKTURAH M. COl.NARtČ, r. ROZMAN, G. FREMZEL TEHNIŠKA FAKULTCTA MARIBOR POVZETEK - Članek obravnava problematiko vodil v večprocesorskih sistemih s poudarkom na VME vodilu. To je prirejeno za prioritetni in Round Robin arbitracijski algoritem z Daisy-Chain povezavo na posameznih nivojih. Ker je v novejših raziskavah utemeljeno, da tovrstni algoritem ne daje optimalnih rezultatov, so v članku nakazani možni načini realizacije drugih izbirnih pravil. ABSTIÌACT - In the article multiprocessor systems' buses are discussed with accent on the VME bus. It is designed for priority and Round Robin arbitration scheme with Daisy - Chained modules on each level. Since it is proved in recent research that this kind of algorithms are not optimal, some other arbitration protocols are described. UVOD Z razvojem mikroprocesorjev prevzemajo mikroraču-natniški sistemi čedalje kompleksnejše naloge. Marsikaterih zahtev pa tudi najmočnejši procesorji ne morejo zadovoljiti. Iz tega razloga in ker jim cena nenehno upada so čedalje zanimivejši sistemi, kjer si več procesorjev deli globalne resurse. Najpomembnejši med njimi je vodilo za prenos podatkov. Preko njega procesorji komunicirajo z drugimi resursi.' in med seboj. Vsak sistem z več procesorji mora reševati problem dodeljevanja vodila uporabnikom. Uspešnost reševanja tega problema v veliki meri vpliva na prepustnost celotnega sistema in je torej ena cxJ najvažnejših odločitev pri snovanju mikroračunalniškega sistema. Hitrost je tudi vzrok, da ne uporabimo programske temveč aparaturno rešitev. Sistem za dodeljevanje vodila po vnaprej določeni shemi se imenuje arbitracija. Druge pomembne odločitve pri snovanju protokola vodila so še - ainhrono ali asinhrono vodilo; odločiti se moramo, ali bodo vse enote v računalniku dolale z istim taktom, ki se prenaša po skupnem vodilu (sinhrono) ali bodo lahko njihove hitrosti različne (asinhrono). Sinhroni način je bistveno enostavnejši, asinhroni pa omogoča kasneje vključevanje novejših, hitrejših enot. - muUipletcsirana vodilo alt ne: ker zarad) same zasnove mikroprocesor in resursi ne potrebujejo istočasno na linijah naslova in podatkov, lahko po istih lini jah pošljemo naprej adreso, nato pa vsebino teh celic. Za- radi manj linij je vodilo manjše, uporabi se manj vezij, vendar ne dosegamo takšnih hitrosti kot pri nemultiplek-siranih vodiiih. ČlaTiek teh prcblemov ne obravnava. Dotaknili se bomo le tematike arbitraže. SPLOŠNO O ARBITRACIJSKIH ALGORITMIH Glavni nalogi arbitracljskega sistema sta preprečiti istočasno dostop dveh ait več procesorjev do vodila in dodeljevanje vodila procesorjem po vnaprej predpisanem optimalnem pravilu. Osnovne odločitve o tipu arbitracijskega algoritma so vezane na naravo naloge, ki bi jo naj opravljal. Če gre za sprotni sistem, nas bo zanimal prioritetni (ali vsaj delno prioritetni) algoritem, če želimo poslovni sistem z več procesorji in pametnim razdeljevanjem nalog, bo nam bolj ustrezal Fll-O ali Round Bobin algoritem (rotirajoči prioritetni algoritem ).' Kol za pridobitev nas zanimajo tudi algoritmi za sproščanje vodila. Poznamo dva glavna principa - sprostitev, ko je prenos končan ( release when done, RWD) in - sprostitev na zahtevo (release on request - ROIÌ). Pri prvem enota, ki je zmagala v arbltracijskem postopku, sprosti vodilo, ko je izvedla prenos podatkov, ne glede na to, katera enota je medtem zahtevala vodilo. 1'rl drugem pa enota med prenosom podatkov spremlja linijo, preko katere ji arijiter signalizira, da mora prekiniti s komunikacijo, ker je vodilo zahtevala po prioriteti višja enota. !k samega delovanja vodila lahko sklepamo, da poleg vodila in čistih modulov obstaja še sistem, ki skrbi za arbi-tracijo. Ta arbitracijski sistem je lahko samostojni modul, lahko pa je porazdeljen na vse potencialne uporabnike vodila. Glede na način povezave modulov nanj IcaČimo nekaj osnovnih tipov: - Zvezdasta povezava: Vse naprave, ki lahko zahtevajo vodilo, so povezane na arbiter mimo vodila s po dvema posebnima linijama. Po eni enota zahteva vodilo (Bus Request), po drugi dobi odobritev (Bus Grani). Protokol je Izredno enostaven, arbiter lahko dela po kakrčnikoli metodi. Slabe strani so drago posebno ožičenje, na vodilu ni informacije o . tem, kdo trenutno zaseda, na arbiter ni mogoče programsko vplivati. Slika 1 : Zvezdasta povezava na arbiter Daisy chain: Na vsakem konektorju je par priključkov za arbitražo. Signal s prejšnjega konektorja gre na en priključek, z drugega pa na naslednji konektor. Na ta način je realt- Mi-ftlTE«. Pl P2 zlrana zaporedna povezava modulov. Kadar hoče naprava vodilo, pošlje po "vfire - OH" Uniji signal arbitru in čaka na odobritev na vhodnem priključku. Vsak modul ima vhodni in izhodni priključek kratko staknjen, razen če tudi sam želi vodilo. Kadar torej dve ali več naprav istočasno pošljeta zahtevo po vodilu, ga to dobila tista, katere konektor je fizično bližje arbitru. Slabosti lega sistema so: - počasnost, saj vsaka plošča doda nekaj zakasnitve, dokler se signal ne vrne do enote, ki je zahtevala vodilo - v vsakem konektorju mora biti plošča ali slepi konektor s prevezo, ki omogoči prenos signala - o arbitraciji je na liniji še vedno malo podatkov. - Shema z naslovno - prioritetnimi linijami To posebno shemo uporablja več sodobnejših vodil in tudi standard IEEE P 895 Futurebus. Na vodilu je 4 do 9 arbitracijskih linij, na katere skušajo posamezni moduli vpisovati svoje prioritetne številke po posebnem algoritmu, opisanem v 4. poglavju. Čigar številka je ostala na vodilu, je dobil odobritev za prenos podatkov. Razširitev osnovnega algoritma, da se moduli po princiixi "poštenosti" sami odpovedujejo vodilu in s tem omogočajo, da tudi moduli z nižjimi prioritetnimi številkami dobijo dostop do vodila, bistveno izboljšanje lastnosti, povezane s sodobnimi izsledki o primernosti posameznih arbitracijskih algoritmov. S tem se namreč približujemo enakopravnosti modulov. Prioritete ostanejo le za reševanje istočasnih zahtev vodila. san* &CLC. Slika 4: Shematski prikaz delovanja arbitracijske sheme na VME vodilu za eno Daisy Chain linijo Za arbitražo laliko uporabimo prioritetni ali krožni (Round Robin) algoritem. Na vsakem od nivojev se ustvari Daisy Chain struktura, pri čemer ima modul, ki jo bližje arbitru, višjo prioriteto, oziroma bo večkrat dobil odobritev za uporabo vodila. Novejše raziskave kažejo, da prioritetni način ni najoptimalnejši pri dodeljevanju resursov. To ne velja za sprotne sisteme, kjer zaradi naravetaskov mora obstajati prioritetna lestvica. Največja prepustnost sistemov se doseže pri enakovrednosti procesorjev in ustrezni razdelitvi nalog med njimi. V ta namen bi bil najustreznejši arbltracijskl algoritem Čakalna vrsta po principu FI F O.Te pa s konceptom, kot ga ima VME vodilo, nI mogoče uresničiti. Sam problem nastopi pri tesni povezanosti procesorja v sistemu, te dodamo vsakemu procesorju svoj del lokalnega pomnilnika in tako samostojne naloge, da ne bo pogosto zahteval povezave z drugimi moduli, bo vodilo razmeroma nezadostna in se bo vrsta le redko zgradila. Tedaj strežni algoritem ne bo imel prehudega vpliva na prepustnost sistema. Tipični primer takšne arhitekture so računalniški sistemi za vodenje robotov. Pogosta je zasnova, kjer vsako os robota vodi svoj računalnik, vsi pa so povezani preko VME vodila s skupnimi globalnimi resursi - globalni pomnilnik, disk in druga periferija. Vsak računalnik je na nivoju premikov svoje osi avtonomen, iina svoj lokalni pomnilnik in dirpkitäi) upravlja preko vmesnikov z izvršilnimi organi. Sklopi Jo- nost sistema je v tem primeru še dovolj lahka, da slabe strani prioritetne sheme ne pridejo usodno do izraza. SPLOŠNEJŠ! AKBITRACIJSKI ALGORITEM Ker 30 več procesorski sistemi vse številnejši, je nastala potreba po novem vodilu, namenjenem prav zanje. V ta namen so pri IEEE ustanovili posebno komisijo, ki raa-vija novo standardno vodilo IEEE P896. Osnovna ideja o arbitraciji datira v leto 196&. Kasneje je bila predelana in prirejena za sodobne zaKteve ter uporabljena v standardih IEEE 696, P8<)6 ter v NuBus (Texas Instruments) in Multibus II (Intel). ■— Vsaka enota ima svojo N-bitno arbitracijsko številko, vodilo pa N-bitno arbitracijsko vodilo na principu odprtega kolektorja. Ko dobi enota, ki je zahtevala vodila, signal za začetek arbitracije, skuša na arbitracijske linije vpisati svojo številko. Če je na vodilu že višja prioriteta, kot je njena, umakne manj pomembne bite. Enoti, katere prioriteta ostane na vödilu ob koncu arbitracije, ae dovOli; prenos podatkov. FVedno ta sprosti vodilo, sproži ponovno arbitraci Jo, ki omogoči naslednji najpomembnejši enoti dostop do vodila. Ker smo s tem pravilom še vedno pri prioritetah mu dodamo še pravilo "poštenja", ki prepoveduje enoti, ki nima izrecne časovne omejitve, zahtevati vodilo, ki ga je sprostila, dokler ga ne dobijo vsi drugi prosilci. Na ta način dobimo gotovo najpopolnejšo vodilo, vendar z najbolj zapletenim arbitracijskim vezjem, ki mora biti na vsakem modulu v sistemu. Na tem mestu je treba razčistiti s pojmom prioritete na vodilu. Namen prioritet v zvezi s pravilom "poštenosti" je rešiti problem istočasnih zahtev. V zgoraj opisanem sistemu ima prioriteta malo skupnega z odločanjem, katera enota bo največkrat dobila vodilo in nima nič skupnega s prioriteto taskov. Taski z nizko prioriteto imajo mnogokrat na vodilu visoko prioriteto (masovni prenosi podatkov itd...). zakuuček; VME vodilo je bilo koncipirano za enoprocesorske sisteme. Sam koncept sicer podpira tudi večprocesorsko arr hitekturo, vendar ne moremo doseči optimalne propustnosti, kot jo teoretično lahko določimo. VME sistem pa ima druge prednosti. Ker je kot standard izredno široko razširjen in priznan, obstaja na tržišču mnogo modulov, ki jih lahko uporabimo. Od zahtevnosti problema, ki bi ga radi rešili z našim računalnikom ho odvisno, ali se bomo zadovoljili z VME ali bomo iskali optimalnejše arbitracijske algoritme. Literatura /1/Rozman, I., Colnarič, M.; Modeliranje MP/MC arhitektur s skupnim vodilom. Jugoslovanski mednarodni simpozij za računalniško tehnologijo in probleme informatike, Informatica 83, Ljubljana 1983, str. 14-18 /2/Colnarič, M., Rozman, I.; Simulacija multiproce-sorsKega računalnika s skupnim vodilom, Jogoslo-vensko savetovanje o mikroprocesorskim sistemima MIFRO 63, Rijeka 1983, str. 2.32 - 2.38 /3/ Rozman, i., Colnarič, M., Bonačič, D.; Analiza učinkovitosti arhitekture s skupnim vodilom pri statistično neenakem zasedanju vodila, Jugoslovensko savjetovanje o mikroprocesorskim sistemima Mll'lìO 84, Rijeka l^B'l, str. 3.80 - 3.84 /4/ VMEbus Manufacturers Group: VMEbus Specification Manual, Rev. !3, August 1982 /5/Gustavson, D.B.: Computer Busses - A Tutorial, IEEE MICRO, August 1984, str. 7 - 22 /6/ Taub, D. M,: Arbitration and Control Aquisition in the Proposed IEEE 896 Futurebus, IEEE MICRO, August 1984, str. 28 - 41 /7/ Fischer, W. : IEEE P1014 - A Standard for the High- Performance VME Due, IEEE MICRO, ["ebruary 1985, str. 31 - 4] EPPICIETTCY OP ÜIULTTPLE BUS STRUCTURE r. Hozman, H, ColnarlS, B. Stiglio' TEHHISKA fakulteta MARIBOR ISKRA avt0i.1atika. ijtibljaha UDK: 681.3.02 ABSTRACT - Anolyala of efficiency two or mora tuses linked wltha"bufl linker is ahown in pio a^ tlel«. A dueueing theory ia used. Analysie exaotly valid only for exponential diatributiona for both A and>i. It ta ahown how the linking of two buaea influencea the mean bua reaponae time In comparision irlth the arohitectijre with ooneiato of one bua and the aame number of computers that are connected to two buaea. INTRODUCTION Analyals of efficiency of nrulticomputer architectures with a coramon bua la well know in literature /1/, /2/, /3/, /4/. A model of these archltecturea ia derived. An anlytioal treatment of thia model la baaed on a queuelng theory or better on already derived equations for mean time eiaistence In the ayatem which is deaoribed by the queue M/G/l/N. \7ith the aid of introduced approximations is shown that resulta obtained without major tolerance are valid alao in cases where distributions are un-exponential 1. e. in such oaaea which can be treated by a queue. Por thia queue an exact mathematical solution is not known. Thia statement la also valid for the calculation of throughput /but not for the mean bua response time Wjj/ in the caaea where the arbiter is not FCPS, But in all theae oases, Individual pro-ceaaora which are oonnected on a common bus perform a statiatically equal work. In literature /3/ ia ahown the approximation which tranaforma a model with a atatiatlcally unequal work into a model with a statistically equal work. The problem of connetlng two or more buses where computers are connected to each bua etili remalna an open question. The most important problem ia how the linking of two buaea influences the mean bus reaponoe time in cotn-pariaion with the arhltecture which consista of one bus and of the same number of computers that are connected to two buaea. DESCRIPTION OP ARCHITECTURE The linking of two buaea to each other is made for the following reasons: - the increase of the throughput of the whole architecture ia greater If we add qne raore bus with connected computerai the realization price for a bus linker is low in coparison with the price of the whole system; the fault tolerance is existing. Ploturo 1: Two-Bua-linking Bus linker is an active interface which enables two-direction communication between two buses. In ita inherent structure, It rauat contain a memory v/tth enough capacity. Into tl.ls memory computers write messages for the cor.pu-ters which are located on tJie other bus. A too amali memory causes an lucreaae of the responge time Tjeacuse the measages have to wait to obtain bus and also have to wait that the memory 13 empty. Therefore it Is convenient that the memory la great enough for a two-sids trangmlaalon In order to permit the transmission of all eomputera from one "bua to the computers In the other bua in the aame moment, Tha bua linker also packs messages Into a block. Tfhen the bua linker obtains another bus, It permits the tranamlsalon of all existing Dieaaagea In the block to the computers to which the messages are addressed, THE model Searching for the suitable model the following suppositions are made; - bua linker acta undependently 'for each dlre-rectlon of transmisaion; - the time which Is necessary for the transmission of message through the bus linker is short in compari as on .with the bus occupation time. Therefore it can be neglected; - the arbiter at each bus is rCPS; - the bua linker acts in the aense of bua occupation always then when the message enters Its empty memory. In cases there are still messages In the memory (the bus linker la waiting for bus occupatlona), the new message is loaded into the memory. On the baais of the above mentioned aupposi-tlona and the queueing theory the model la formed. Picture 2Ca): The model for transmlaalon of mesaages in the following directiona! bus 1 - bus 3 Picture 2Cb): The model for transmisaion of measages In the opposite direction In the model shown on picture 2 the bus linker is đevlđed into two parts - separately for each direction. The Influence of one bus upon the other is expressed by the source which generates the bua occupations \ or ^ j^j^g according to the direction of tranamiasion. Aj^j»»»»» '"'In processors which generate bua occupations for bus 1 with the mean time between bus occupatlona presents a bus with the mean bus occupation time The same impretertation is valid also for bus 2. tt;e analysis In the analysis of the model only exponential distributions are taken into account for both A and/j. . Otiier distributiona cannot be taken into account exactly. In such caaes some approximation methods ahould be applied. The exponential diatributlon leada to the solution of the quene m/M/l/M. ' The mean time of retardanee In the system la solved by Ferdinand /5/,/6/. "i (1) Z (V (l-'lk» '-TT /k (2) request from source k waiting for or being serviced (3) 0, request source k la in operational state 56 w. /i (I A du, In Z, (4) The calculation W1 according to the equation (4) la difficult. When the value N la high, the calculation of Zj^ la not almpls. In the calculation Vfi the derivation 1„Z„ 1b nece- n floary to be calculated which additlonaly coat-plicatea the whole procedure, Ferdinand /5/. /6/ presenta the efficiency of each element U, (i) 'N aa a probability that i th element la not waiting for or being serviced: U, (i) CD /2 (5) "i 'w can be ezprwaaed with the following ex- presgion; '-N 1 1 Al (6) ■ +w. from which the mean bus reaponce time Wi for the element i can be derived (7). (7) i U (i) N If we wont to calculate the throughput of the whole architecture according to the equation (S), (B) the correct reault will not be obtained. The equation (8) is valid only in such cases in which each task obtains the bus. In our case a part of taaka Is concluded on the level of one bus. The equation C3) involves only those tasks which occupy another bua but does not include the local ones, THE NU!.1BRICAL REStJlTS In the presentation of a numerical calculation two examples are shown (pictiire 3), They clearly present all features which are typical for a llnJc with two buses. In the first example two computerà are connected to each bus. In the second example four computerà are connected to each bus. The parameters u^^, i = 1 ... 4 are equal in the first example. The pareraetera Uj^, 1 = 1 ... 8 in the second example are equal, too. A6 « iS iS ^— cctäc 4 + 1, A*- J.ore.1an.1e podatkov Razporejanje podatkov je naSln, s pomoSjo k teroga zmanjSamo vpliv okvarjenih pomnilnih elementov. ka- za rasporejanje podatkovnih bitov uvedemo tako imenovano razprSevaloo vezje, ki poskrbi, da se ishodi ene okvarjene raSunalni^ke besede preslikajo v veiS raBunalniSkih besed. Postopek je izveden s pomoSjo materialne in programske opreme. Enostavno povedano, gre za neke vrste transplantacijo dobrih in okvarjenih podatkovnih bitov, Ce vsebuje neka beseda N okvarjenih bitov, moramo poiskati M dobrih (ne okvar jenih) raäunalaiäkih besed la v vsako vsadlti en okvarjen bit, oziroma ga samenja-ti. Tako smo N kratno napako v eni besedi razbili v K enki'atnlh napak v N besedah. Poseben primer razporejanja podatkov je tako imenovano prenaslavljanje. V tem primeru äe-Itmo okvarjene raSunalniške besede adruäitl v Sim manjSe - seveda neuporabno pomnilno področje . Slika 1 prikazuje princip realizacije razpo-rejacja podatkov. touhulni tte. ÜJA f-SZ. >- inEt UtA »H Dr S>C oeA/->- >- *- utJSf- H ToVE^AX/A -*» VA etc vj:vi£ Slika 1. Razporejanje podatkov Pasivna redundanca Pasivna redundanca omogoSa samenjavo okvarje-. nega pomnilnega pomnilnega področja brez posega operaterja. Ta pristop lahko uporabimo ta. same pomnilne elemente in za nadzorna vezja. 2arad\ zmanj!ianja obsega materialne opreme se obi!!ajno odloSlmo, da pasivna redundanca do zamenjave ne opravlja funkcije sledenja, !iato je ob zamenjavi 3e poskrbeti . ; da se podatki prenesejo iz okvarjenega dela pomnilnika v njegovo zamenjavo. Tudi za to akcijo moramo predvideti funkcije v sistemski programski opremi. Princip dvo.ine na sadje Dvojna negacija je postopek Izveden s pomoSjo programste opreme, s pomoSjo katerega lahko popravimo dvojno napaio v okviru SEC-DED kodnega sistema. Oglejmo si postopek ca zgledu. Osnova bodi dvojna napsia, ena stalna In ena trenutna. stalna in trenutna napaka 1 0 1 0 1 0 1 0 1 s T 1 0 0 0 0 0 1 0 1 0 1 1 1 1 1 0 1 0 0 1 0 1 1 1 0 1 0 1 0 1 0 0 0 1 Ol 1 0 1 0 1 0 1 0 1 1 0 0 0 1 0 1 0 1 tanju, sistem jo popravi Zaporedna korekcija Zaporedna korekcija je postopek, ki ga izvedemo s pomoSjo programske opreme. Osnova j» aopet SEC-DED kodni sistem. S pomoSjo zaporedne korekcije poveSamo uäinkovltost SEC-DED kodnega sistema, Postopek sloni na zgodovini pojavljanja stalnih enojnih napak. Zaradi akumulacije napak lahko pride do pojavitve stalno dvojne ali veSkratne napake, ki je s standardnim SEC-DED sistemom ne moremo odpraviti, ,Za aaporedno korekcijo moramo shranjevati sindrome okvarjenih pomnilnih lokacij po vrstnem reda pojavljanja. Ko BOC odkrije nepopravljivo napako, se prejänjl slndromni biti uporabijo za rekonstrukcijo'osnovne besede. Tudi ta metoda zahteva dodatno sistemsko programsko o- -premo. ZASUilÖEK Smo v toJSkl razvoja, Jro bo raSunalatk prevzel veliko opravil, ki danes Se temeljijo na neposrednih, medSloveBklh odnosih. Ce mu ne bo uspelo, da bi se prijazno nasmehnil ali pa nas grdo pogledal, naj vsaj svoje delo opravlja brez napak. SLOVSTVO Blahut, H. E. Theory and Practice of Error Control Codes, A-Wesley. 1983 C.L.Chen Error Correctiopg Codes for Semiconductor Memory, IBM J, Res. Develop, vol.28, läarch 64 MODEL PROCESORA ZA OBRADU I RASPOZNAVANJE SLIKA Slobodan Ribarid VTA, Zagreb UDK: 681.327 u radu I e prikazana hi]erarhl|a procesora u sustavima la obradu I raspoznavanje slika. Na temelju svojstva ko[a procesori pokazuju u raEunanju arStmeliCklh E i logičkih iiraia L , le Uvođenju operacija nad slikovnim elementima, procesori se razvrstavaju u fietlri razine: H - procesori koji iivršavaju samo binarne 1 marne operacije, H, - procesori koji izvršavaju m-arne operacije nad jeđnovrsnInP aritmetlEklm Ui logičkim izrazima, H, - procesori sa svojstvima "računskog demona" i ko-natno, procesori razine H, sa svojstvima "računskog demona" koji izvršavaju operacije nad slikovnim eiementima. Procesori razine Hj predstavljaju glawiu komponentu modela visokoparalelnog raäunala R koji je opisan u drugom dijelu rada. A PROCESSOR MODEL FOR PICTURE PROCESSING AND RECOGNITION: This paper presents a processor hieararchy in the systems for picture processing and recognition. Regarding the properties of processors in evaluation of the arlthemtic E and logical expressions L , and the performance of the operations on the pixels they are classified into four levels: H - processors that perform only binary and unary operations, H, - processors that perform m-ary operations on uniformea arithemtlc or logical expressions, H_ -processors, with the properties of the "computational demon", and, finally, processors of the Level H- with the properties of the "computational demon" which perform operations on the pixels. Processors of the level H, are the main component of a model of highly parallel computer R described in the second part of the paper. 1. UVOÜ U posljednjih desetak godina zanimanje za područje obrade I raspoznavanja uzoraka u stalnom je porastu. Razvoj VSLI tehnologije i rad na rjeSavanju problema saotiračanja čovjek - stroj, u okviru projekta slijedeće generacije računala, snaino je pospjeälo Istraìlvanja i primjenu novih metoda i tehnika na području raspoznavanja uzoraka. Obrada I raspoznavanje slika predstavlja u većini slučajeva veliki računski problem koji zahtijeva veliku performansu raCunaia. Na primjer, potrebna performansa računala (ii-raiena u milijunima instrukcija u sekundi) za tipičnu obradu slike rezolucije 512x512 slikovnih elemenata, u stvarnom vremenu iznosi između 65 i 65Q MlPS-a [l] . U ovom kontekstu pod obradom slike u stvarnom vremenu podrazumijevamo obradu u vremenu manjem od vremena potrebnog za obnavljanje slike na zaslonu • 10"^ s). Obrada i raspoznavanje slika, s druge strane, predstavlja problem s visokim stupnjem inherentnog paralelizma u podacima i operacijama. To nam omcgučava postizanje visokih performansi upotrebom multiprocesorskih sustava, matričnih procesora, sistoličkih polja i računala upravljanih tokom podataka [l ] , [2] . Procesor! - procesni elementi valna su komponenta paralelnog sustava. Oni u zavisnosti od svojih sposobnosti obrade gotovo izravno utječu na performansu sustava [3], U prvom dijelu rada dane su definicije procesora u sustavima za obradu i raspoznavanje slika. Prikazan je njihov utjecaj na broj potrebnih koraka T za računanje aritmetičkih E i logičkih izraza L . Procesori su razvrstani u četiri hijerarhijske razine, U drugom dijelu rada opisan je model visoko paralelnog računala R koji je poslužio kao osnova za izvedbu mlkroprocesorskog klasifškatora rukom pisanim znakova t^] . 2. HIJERARHIJA PROCESORA Procesore prema njihovim svojstvima u računanju aritmetičkih 1 logičkih izraza razvrstavamo u četiri razine: a) Procesor hijerarhijske razine H^^ Aritmetički izraz E možemo definirati kao pravilno tvoren niz sastavljen najmanje iz Jedna od Četiri aritmetičke operacije -,«,/] , lijevih i desnih zagrada {ukoliko su potrebne) i atoma koji su konstante ili varijable [}} . Aritmetički izraz sastavljen Iz n atoma označav^ če-mo sa E , Logički Izraz L je pravilno tvoren niz sastavljen najmanje iz jedne logičke operacije, iijevih i desnih zagrada (ukaiiko su potrebne) I atoma koji su logičke varijable iU konstante. Logički izraz L sastavljen iz n atoma oinačavat čemo sa L . Twdrija I Upotrebom potrebnog broja procesora sa ulazima samo za dva atoma (procesor izvrSava binarne operacije a o b ili unarne operacije) aritmetički izraz E moäe se Izračunati u T [E ]j.''log, n koraka, gdje'"*'oznaCava gorn|u cjelobrojnu vrijednost broja Dokai ivrdnje 1 je trivijalan [3 1 . Tvrdnja 2 Broj potrebnih koraka za računanje logičkog Izraia L az pomoć procesora s ulazima za samo dva atoma je: T [L J^'log-n . Definicija 1 Procesor koji Izvodi osnovne aritmetičke operacije I logičke operacije, te ima ulaze za dva operanda i zadovoljava tvrdnje 1 i 2 naziva se procesor p^ ili procesor hijerarhijske razina H^. Većina dàn^njih procesora u računarskim sustavima su procesori hljerartiijske razine H^. U biti, procesor p^ je procesor u današnjim oniprocesorskim sustavima (von Neumanrovlm računalima). b] Procesor hijerarhijske razine H, Procesor hijerarhijske razine Hj izvršava m-arne operacije nad jednovrsnim aritmetičkim i logičkim izrazima. Jednovrsnl arltmetSEkl Izrai E^ je pravilno tvoren niz sastavljen samo iz jedne vrste aritmetičkiri operacija (ili ili -, III Ili i), lijevih i desnih zagrada (ukoliko su potrebne) i n atoma koji su konstante ili varijable. Na sličan način mo2e se definirati jednovrsni logički Izraz: L^ [e pravilno tvoren niz sastavljen iz jedne vrste logičkih operacija, lijevih i desnih zagrada {ukoliko su potrebne) i n elemenata koji su logičke konstante ili varijable. Tvrdrija J Procesor Pj neka je takav da Ima m (m> 2) ulaza (procesor iivrlava m-arne operacije). Upotrebom potrebnog broja procesora Pj arllmetlCki izraz E^ Izračunava se u: T [e^ ] ^ 'log^ n koraka. Tvrdnja 4 Jednako vrijedi 1 za računanje jednovrsnog logičkog izraza L^j. Broj potrebnih koraka je: Definicija 2 Procesor koji llvräava Jednovrsne aritmetičke i logičke operacije i ima m>2 ulaza za atome (izvräava m-arne operacije), te zadovoljava tvrdnje 3 1 4 naziva ss procesor p I ill procesor hijerarhijske razine Hj. Primjer izvedbe procesora hijerarhijske razine pj dan je u radu [ć] gdje je opisan procesor za istovremeno zbrajanje m n-bitnih podataka. c) Procesor hijerarhijske razine Hj Procesor hijerarhijske razine Hj predstavlja neku vrstu "računskog demona" [7 ] . Definicija 3 Procesor p^ trojkom: procesor hijerarhijske razine H^ opisan je Pj = (U, I,yu. ), gdje U je skup raspoloživih atoma arltmetii^kog ili logičkog Izraza, I je skup rezultata aritmetičkih ili logičkih operacija koje se izvršavaju nad raspoEoiivim atomima, i jj. je funkcija: ^ : U—1. Funkcija predstavlja skup aritmetičkih i logičkih operacija koje se izvode u jednom koraku bez obzira na tip operacije (jsdnovrsna ili raznovrsna) i broj operanada n. Primjeri realizacije procesora p^ su funkcionalna memorija [8] i pragcamibiln I RAM u računalu za obradu slika. Cytocomputer [5 ] . Procesori u hijerarhijskim razinama H^ - Hj imaju takve značajke da vrijedi sSijedeči odnos: Ako neki procesor p ima svojstva procesora hijerarhijske razine H^, tada taj procesor Ima 1 svojstva procesora hijerarhijske razine H| i hijerarhijske razine H^. Primjer I Neka je procesor p iz hijerarhijske razine H^. Ograničimo mu funkcijujjl samo na jednovrsne operacije I neka Je m >2. Tada procesor poprima svojstva procesora razine Hj. Ako za ovaj procesor zahtijevamo m = 2 dobivamo procesor hijerarhijske razine H^. Primjer 2 Slika 1 prikazuje računanje aritmetičkog izraza E 9 za procesore pojedinih hijerarhijskih razina. Broj potrebnih procesora 1 broj koraka iznosi (si. 1): 3 procesora p^ t[e<9>]=4 3 procesora p, T[E<9>]=Z 1 procesor pj TrE<9>]=l i - b"c»(l*»« f+a-h "i ^ / 0/ aNb*c * * hj EvdfualiiJn EO > ^or p. I E£9> i] Eii»luatkifi E <9 > 'c^Pq Slika I. ■Te<9> cl Evaluìiio» > foF pj d) Procesor hl{erarM}ifce raolne H, Procesor Mlerartiijske razine Hj upotrebljava se za obradu slika. Deflnldia 4 DvodlmerHlonalna slika je graf f" finkclje t; f* .{«a,, a^),v)|(aj^^)€A. v=f(aj a^) } , g Aj , gdje je £ pravilo koje definira podskup parova Aj (re-zultlrajuće slike) nad kojima će se dignuti rezultirajuča vrijednost (f, (a^, a^) + tj (aj, aj^)). U naSem sluiaju (si. 2) je to: {{aj, a^), Caj, a^ ♦ I), (aj, «1, a^), (a| *l, a^ * l)J 1, 1-' ffZi.-wli) ff^'-Vi-k/ Slika Z. Sllkovana operacija o mđe biti i operacija pomaka slikovnih elemenata (slika), operacija ispitivanja jednakosti slikovnih elemenata, zbrajanje, oduzimanje, mncfenje, 'dijeljenje »llkovanih elemenata (slika) 1 operacije s konstantom, te loglEke operacije rtad binarnim slikama. Procesor Pj sve operacije (jednostavne I mjeSane) nad raspoloiivim slikovnim elementima (ili cijelim slikama) izvrSava u jednom koraku. lako procesor pj Ima svojstva "raEunskog demona" [7] svoju fizikalnu pozadinu, djellmifino, moie naći u optičkoj obradi slika [lo] , gdje se Fourierova transformacija slike ili krilna korelacija dvaju slika IzvrSava u Jednom koraku. 3. MODEL RAČUNALA R Model visoko paralelnog raEunala R razvijen je u skladu s znaEajkama modela za tipične faze raspoznavanja: pret-proceslranje, izluElvanJe karakteristika i klasifikacija [12]. Kao osnova modela sustava za obradu i raspoznavanje slika uzet je paraielno-serijski konus raspoznavMija koji su predložili L. Uhr i R Douglass [ij] . Bitni element modela rafunaia predstavlja procesor hijerarhijske razine H^ - procesor za obradu slika. Definicija 6 Model rafunaia R je Sesirorka: R = (Fq , P5. M, C, S, F^), 9d|e su F^ i skupovi ulaznih, odnosno izlaznih slika (prema (tellnlci|l 4), Slika Iz skupa poCeCnih &l[ka nastala je paralelnim unosom slike (npr. osvjetljavanfem transparentnog materijala i pro-iekcijorm na polje rotosenzitlunlti elemenata). Slika Iz skupa konačnih slika predstavlja izlaz iz sustava. Pj je skup hijerarhijske razine p, [Delinidja f'j'tPjl'PjZ.....Pjk)- M je skup memorljskih ravnina za pohranjivanje poCetnlh slika, konaCnih sltka 1 medusllka kaje nastaju u fazi obrade (u skladu s paralelno - serijskim konusom). Memorl-jske ravnine se u naCInu djelovanja znaCajno razlikuju od konvencionalnih memorija von Neumannovog modela koje imaju sekvenc! jalni pristup: U sluCaju kada je memorljska ravnina izabrana - svl podaci, koji su pohranjeni u njoj, su Istovremeno raspolovi- ~ vi. U sluEaju upisa u memorljsku ravninu - svi podaci se Istovremeno upisuju. C predstavlja skup upravljačkih funkcija: koje se upotrebljavaju za upravljanje procesorima (aktiviranje, definiranje operacija), memorijskIm ravninama (Izbor i određivanje operacija), prospojnlm modulima (aktiviranje, odredlvsnje smjera toka podataka). Prema naCInu upravljanja obradom raCunalo moie hiti računalo s upravljačkim lokom, račinalo upravljano tokom podataka Ili njihova kombinacija. Skup S -($1, $2.....^p) predstavlja skup prospojnlh modula koji usmjeravaju rezultate izvršavanja slikovnih operacija prema memorijskim ravninama i procesorima hijerarhijskog nivoa Hj. Računalo R |e visokoparalelno računalo koje omogućava Istovremenu obradu na skupu ulaznih slika F^. Struktura m--s-pj-s odgovara strukturi protočnih segmenta [15] tako da raCunalo ima značajke MISD arhitekture računala; istovremeno su aktivni svi protočni segmenti na različitim međusllkama. Model računala opisan u onnj sekciji znatno se razlikuje od von Neumannove standardne arhitekture [l4] , ali bez obzira na visoku razinu njegove apstrakcije, postoji niz računala koje Imaju neke njegove značajke. Slika 3 prikazuje model visoko paralelnog računala R. siä Slika 4. ZAKUUCAK U radu je prikazana hijerarhija procesora koji se upotrebljavaju u sustavima za otiradu i raspoznavanje slika. Na temelju paralelno-serijskog konusa raspoznavanja predio-ien je model visoko paralelnog računala R. Bitna građevna komponenta modela je procesor hijerarhijske razine Hj. U skladu s modelom računala R razvijen je paralelni mikroprocesorski klaslfikator uzoraka Eijl je [edan. modul opisan u [4] . 5. LITERATURA 1 S. Rlbarlć, RaEunart upravljani tokom podataka, Informatica, br. 4, 1982. str. 3-11. 2 K. S. Fu (ed), VLSI for Pattern Recognition and Image Processing, Springer - Verlag, Berlin, 1984. J D. J. Kuck, A. Survey of Parallel Machine Organization and Programming, ACM Comp. Surveys, vol 9, str. 29-60, mart, 1977. 4 S. RIbarič, N. PaveSič, Mikroprocesorski klaslfikator numeričkih znakova s mreìom memorljskih komponenti LSi, Informatica 2/J, 198J. str. 162-167. 5 P. E. Oenlelsson, S. LevtaldI, Computer Architectures for Pictorial Information System, Computer, vol 14, no. 11, novembar 1901., str. 5J-67. 6 N. Konvaras, et al., A. Digitai System for Simultaneous Addition of Several Binary Numbers, IEEE Trans, Comput., vol. C-17, str. 993-997, oktobar I960. 7 O. C. Selfridge, Pandemonium: A Paraditpin for Learning, u Pattern Recognition (ed. L. Uhr), John WlieyÄ Sons, New York, 1966. 8 P. L. Gardner, Functional Memory and Its Microprogramming Implications, IEEE Trans, on Comput., vol. C-20, No. 7, str. 764-775, juli 1971. 9. A. Rosenfeld, A.C. Kak, Digital Picture Processing, Academic Press, New York, i 976. 10 A. Rosenfeld, Picture Processing by Computer, Academic Press, New York, 1969. 11 T. Pavlidls, Algorithms for Graphics and image Processing, Springer - Verlag, Berlin, 1932. 12 S. RlbarSč, Paralelljem v razpoznavanju dvodimenzionalnih vzorcev in njegov upliv na model procesorja, doktorska disertacija, Fakulteta za elektrotehniko, Ljubljana, 1982. 13 L. Uhr, R. Douglass, A Parallel - Serial Recognition Cone System for Perception: Some Test Results, Pattern Recognition, vol. il, str. 29-39, 1979. J4 A. W. Burks, et ai-. Preliminary Discussion of the Logical Design of an Electronic Computing Instrument, u G.G. Bell et ai. (ed.), Camputer Structures: Readings and Examples, HcGraw-Hill, New York, 1971. IS C. V. Ramamoorthy, H.F. Li, Pipeline Architecture, ACM Computing Surveys, vol, 9, mart, 1977., str. 61-tOl. REALIZACIJA RAČUNALNIŠKE LOGIKE S CELIČNIKI STRUKTUHAMI UDK; 681.3.5.7 Vfiselko GUŠTIH Andrej DOBNIKAR Fakulteta aa elektrotehniko Ljubljana, TržaSka 25 iuEoslavia POVZETEK - V referatu omenjamo realizacijo poljubnega algoritma s podatkovnim tokom. Taka realizacija omogoča predvsem veliko število hkratnih izvajanj. Pokazali bomo tudi primer prevedbe grafa podatkovnega toka v programirano celično polje. Zasledili bomo poseben formalni zapis polja celic, ki ga imenujemo matrika logičnih elementov in povezav. Prav tako so omenjeni nekateri algoritmi za računalniško načrtovanje logičnega polja. COMPUTER LOGIC REALIZATION THROUGH CELLULAR STRUCTUSES ABSTRACT - The paper outlines the transformation of general computing algorithm into its data ■ flow graph notation which shows the degree of parallelism that is characteristic for the algorithm. The way, how the data flow graphs can be realised by the programmable cellular array is also shown. Special formal description of cellular array is introduced. It is called matrix of logic elements and its connections. Its use in automatic logic design is briefly described. 1. Uvcjd . Uvajanje mikroprogramiranja v aparaturno opremo računalnika Je omogočilo večkratno izkoriščanje aritmetične logične enote (ALE). Prenašanje vsebine preko le-te pa nam je naenkrat odprlo pot v realizacijo poljubno obsežnega algoritma. Na ta način načelno skromen nabor funkcij ALE izvede še vse drugačne operacije. Z večkratnim preslikovanjem vsebine skozi ALE na . primer dobimo: normalizacijo števila, pretvorbo celega števila v zapis s plavajočo vejico, množenje, deljenje, sinus kota ipd. Lahko rečemo, da skoraj ni omejitev, kaj vse s preprostim ALE naredimo. Pa vendar, ali Je možno razširiti osnovni nabor funkcij v ALE tako daleč, da sploh ne bi govorili o nekem številu novih funkcij, ampak o sprotni konfiguraciji ALE vezja. In kateri logični gradniki so sposobni oblikovati neko vezje, oziroma preslikavo? Zelo primerna oblika takih vezij so polja celic, ki Jih lahko na preprost način programiramo in naredimo takšna kakršna želimo. Omenimo naj še, da Je celica logični operator ali pomnilni element. Skoraj ne moremo govoriti o fiksni strukturi, pač pa o strukturi, ki jo sproti prilagajamo potrebam paralelnef!;a procesiranja algoritma. V nadaljevanju prispevka si bomo pogledali realizacijo algoritma s podatkovni« tokom in prevedbo le-tega v polje celic. Opisali bomo izbiro celice in njene lastnosti utemeljili. 2. Preslikava algoritma v.data-flow graf Prav presenetljivo Je, koliko hkratnih akcij lahko opravimo v procesiranju nekega "strogo zaporednega algoritma". Ob pregledu razne literature ugotovimo, da. so o paralelnem procesiranju razmišljali ie pred več kot JÒ leti. To Je komaj nekaj za tem, ko Je bil narejen prvi računalnik. Kar ne moremo razumeti je, kako da onožica teoretičnih pristopov ni našla svoje mesto v kaki konkretni, komercialni realizaciji, temveč je ostalo pri več ali manj laboratorijskih poskusih. Paralelno procesiranje lahko razvrstimo po sledečih načelih: - Petrijeve mreže - Diagram računanja (computation graph) - Paralelna programska shema (parallel program schemata) - Podatkovni tok (data-flow). Več se bomo ustavili samo pri podatkovnem toku (data-flow). Poznamo več načinov izvajanje da--ta-flow (DF) grafov. Izbrali bomo tistega, ki je najbolj podoben principom paralelnega prncfi- 70 stranja, to je način sporoCil {token oiode). Kaj zDore realizacija nekega algoritisa v ĐF načinu, boDio spoznali, k» prealikamo poljubni zapis alsoritoa v nekem programskem jeziku (na primer Pascal) v DF graf. Input («,*); y i; t i- O; while tOw do begin if y > 1 then y :-y/2 else y :=y»3; t t t 1; end; output y. s podatkovnimi vodili. Kontrolni vhodi all izhodi DF grafa nam v logični shemi predstavljajo kontrolne signale. Operacijo v ĐF vozliSču pa nadonestloo z aritmetično logično enoto (ALE), ki je sposobna £eleno funkcijo izvesti. Če torej podatkovni tok nariSeoto s tako dobljenimi logičnimi gradniki, dobimo logično shemo vezja (glej sliko 5). 3. Realizacija DF grafov a) Realizacija DP grafov 8 komponentami srednje (HSI) in velike (LSI) integracije ni nobena posebnost. Na tržišču se pojavlja cel kup komercialnih vezij srednje integracije (prekodlrni-kl BCD, onožilniki, delllnlkl itd.), ki povezani v smislu DF grafa dajo že kar njegovo realizacijo. 1LÄ JLin] SI. 1. A-lgoritem v programskem jeziku Pascal nasproti podatkovnemu toku Na tem mestu nas bolj kot preslikava jezika Pascal v D? graf sanlma, kako lahko DP graf preprosto realiziramo z logičnimi komponentami. Poskus take preslikave srečamo prt /4/. Realizacija po naSi zamisli bo nekoliko odstopala od osnovnih načel DF grafov, bo pa vsekakor najbližja zveza ned grafom in njegovo logično realizacijo. Če si zamislimo preslikavo osnovnih DP gradnikov v logične gradnike, bi narisali kot primer sledeči zvezi: r i SI, 2, Primera logičnega in DF gradnika Pndobno bi bile videti Se vse ostale preslikave DF gradnikov. Kako pridemo do njih? Podatkovne vhode oziroma izhode DF grafa zamenjamo SI. 3. Realizacija DF grafa Ni težko ugotoviti, da smo logično shemo preprosto narisali tako, da smo sliko DF grafa uporabili za osnovo. Tako dobljeno logično vezje bi pravilno delovalo, ko bi ga časovno vskladili. Povsod tam kjer smo napisali ALE:op, si mislimo vezja večjih integracij, na primer BOM, BAH ali PAL. Le-te uspeäno uporabimo kot prekodlrnlke z £eleno funkcijo. Tak način Izgubi svoj smisel, če vsak algoritem posebej pomeni novo vezje. ReSltve moramo torej iskati v drugačnih logičnih vezjih. b) Začetne poskuse reSevanja logičnih funkcij s poljem celic srečamo Se pred letom 1970. Najpogostejša ideja Je, kako napraviti tako univerzalno (iterativno) celico, ki bo primerna zs reSevanje nekaj aritmetičnih operacij, na primer seätevanja (odätevanja), množenja in deljenja. Drugačen primer realizacije srečamo pri /l/t kjer celica ne vrši samo logične funkcije v SDÌslu logične preslikave od enega vhoda do drugega (iterativno), temveS aluJi tudi ie kot stikalo, poaailnik ipd. Tisto, kar nas privlaSi pri eeliSnib realisacijah, smo srečali Sele v /2/. Celica, ki Je tu definirana, predstavlja tako logiini operator kot saao stikalo ali pot, preko katere lahko povesujeao drxige celice. Avtor Je predvidel 1& razliSnib možnosti celic, ki predstavljajo tako loglSne funkcije kot tudi povezave med celicami. S takln naboroin celic lahko relitto poljubno obae£no in zamotano strukturo losiSnegs vezja. ali izhod. Cellcaa, ki so razseSEeae po robovih matrike, pravino robne celice. Tistim, ki 80 EnotraJ matrike in niso robne, rečemo notranje celice. Značilno za robne celice Je, da iz njih izstopajo ali vstopajo funkcijc ali spremenljivke. Hed notranjimi celicami se običajno prenaSajo vmesne spremenljivke. Čemu nam slu£i pol, ali vbodu ali izhodu, nam pove njegov pomen. Vsi poli skupaj pa nam definirajo funkcijski značaj celice. Skup celic imenujemo polje ali matrika ali makro celica. Če imamo celice razvrščene sano v eni vrstici ali stolpcu, tedaj govorimo o vektorju celic. Lahko rečeno, da smo celico iz /2/ vzeli za osnovo naSemu razmlSIJanJu. Celico na nek način programiramo. Polje programiranih in ponovno prograairaalh celic uporabimo za izvajanje logičnih funkcij, na primer iterativnih povezav seStevalnika, mnoillnlke ipd. Skup takih aritmetičnih in logičnih operatorjev nam ne predstavlja nič drugega kot podatkovni tok nekega algoritma. Obseino polje celic - struktura logičnih gradnikov in povezav - pa Je sposobne realizirati poljuben algoritem. Celico si zamiSlJamo kot pravokotno obliko. Na vse štiri strani je povezana z drugimi prav takimi celicami. Preko teh ätlrih strani lahko povezujemo ali vhode «11 Izhode sosednjih celic. Vsebina celic nam predstavlja ali logično funkcijo, na primer AHD, OE ali samo stikalo, na primer od zgornje celice preko naše v desno nam sosednjo celico. Primer celice v matriki logičnih elementov in povezav (HlEP) nam kaže slika t. 10,.«^« S K •0W* CfLICA SI. 4. Celica v Opredelimo nekaj pojmov celice in oatrike povezav (MLEP): povezave med celicami ali matrikami gredo preko polov ali trnov. Ker Je logično vezje celice poljubno orientirano , tedaj tudi pol nima vedno istega pomena .Lahko se obnaša kot vhod Definicija celice ql, J v HLEP Zamisel celične strukture vidimo na sliki SkuSaJmo sedaj definirati celico, ki nam predstavlja osnovni gradnik v matriki logičnih elementov in povezav, HLEP. SploSno celico qi,J v HLEF lahko zapišemo kot četverce spremenljivk x/s/ in polov g/s/: Definicija 1: C*m/sl/, gm/fil/i in/s2/, gn/s2/; xo/s5/, so/s V; rp/st/, gp/sV)i,j, kjer je xm, *n, *o, xpeX, X = {*1, x2, *3, .... *m, xn, xo, xp} ter si, a2. «3, b4 € množica vhodnih oziroma izhodnih spremenljivk, robnih ali vmesnih. gm, gn, go, gpeO; G = {gl, g2, g», gn, go, gp, ... ) ; G = Gl o G2; Gl » I vhod v celico, o| izhod celice, nl| negirani vhod, no| negirani izhod celice, -| pol ni opredeljen, 0| vhoda ni J . Dodatno potrebno tolmačenje vhodov oziroma izhodov nam omogočajo pojmi iz množice C2: 62 - {and | logična IN funkcija, ori logična ALI funkcija, exorj funkcija ekskluelvnl ALI, q \ pomnilna celica, s | indeks vhodnega pola, ki ga vežemo izključno na označbe o ali no pri celicah z več različnimi logičnimi izhodij sc N, a) vežemo izključno z - ali O ali i oziroma ni } . Pomeni parametra s so sledeči : S = {l.I levi pol celice, 2 | zgornji pol celice, 31 desni pol celice, t| spodnji pol cfili-ce) . i€ N, JCN, N = {1,2,5,...) indeksa i in j sta naravni števili, pri tem je največji indeks iN = I, JN ■ J. IndekB i označuje vrstico, indeks j označuje stolpec matrike IQIII,J, katere element je qi,j, torej Qi,j£lQ|I,J. Zapis logične funkcije Je naželno v PDMO, PKNO ali kaki drugi vmesni ali minimalni obliki. Celo nenormalne oblike ne predstavljajo nobene ovire za preslikavo v začetni zapis matrike, V enotno celiSno strukturo zajamemo eno ali več (mnogopol) lofsičnih funkcij. Zagotoviti moramo le, da vsak term ni daljši od treh spremenljivk. Vmesne spremenljivke skupaj zopet predstavljajo term, za katerega prav tako velja, da ne sme zajeti več kot tri spremenljivke. Postopek razbijanja v terme zaključimo, ko lahko prvotno logično funkcijo zapišemo z množico termov, ki niso daljši od treh spremenljivk. Preslikava ni definirana za sledeče primere: - če sn več kot trije vhodi v nek logični operator. V tem primeru si torej pomagamo z razbijanjem termov, - če logična funkcija terma ni v naboru G2, tedaj ali razširimo nabor logičnih funkcij celice ali rešimo logično funkcijo z obstoječim naborom. Primer 1; Zapišimo logično funkcijo treh spremenljivk po Def, 1; f(xl,x2,3c5) =■ x2.x5' v Xl'.*3 x xl.x2' . Velja naj , da po raz"bljanju v terme dobimo sledeče zveze za robne in vmesne spremenljivke; = *2.x5' i x5 - *l'.i3 ; x6 = *l.x2' ; x7 = x't v *5 v x6 . Sledeči zapis predstavlja enoumno preslikavo logične funkcije v obliko, ki ji pravino začetni vektor ali matrika in jo označujemo s j| Qz|| , Vsak term zapišemo v svojo celico, ki je poljubno orientirana in na poljubnem mestu v vektorju oziroma matriki, kot na primer; (*7,o orjx4,l;x5,i;x6,i) , (xt^.o and;x2,i;x3,ni;-,-) (x5,o and;xl,ni;x3,i;-,-) {x6,o and;xl,i;x2,nl,-) 5. Sestav polnega razreda celic Ločeno "bomo obravnavali polnost za a) logične funkcije in b) povezave. Nabor funkcij dvovredaostne logike, ki sestavljajo polni razred, srečamo v /i/ pa tudi v drugih učbenikih, ki obravnavajo realizacijo preklopnih vezij. Bolj nas zanima, kateri je tisti najmanjši nabor povezovalnih elementov, celic, s katerim lahko realiziramo povezave vsakega logičnega vezja. Pomagali si bomo s teorijo grafov, s tistim delom, ki govori o logičnem vezju kot o grafu. Vozlišče predstavlja logični operator, povezave grafa so povezave vhodov in izhodov logičnega vezja. V našem primeru bomo vezje gledali kot graf, ki ga skušamo vpeti v matriko elementov in povezav. Vsake celica predstavlja kvadrat, ki ima na sredi vsake stranice priključek - pol. Le-ta je lahko ali vhod ali izhod ali pa ni uporabljen. Zamislimo si, da tako vpete povezave realiziramo s celicami, ki zadoščajo vsem zahtevam po povezavah. Vsi možni slučaji povezav med poli nas vodijo v polni nabor celic. Najprej zapiSirao, kaj je polni razred matrike logičnih elementov in povezav. Definicija 2: Polni razred povezav sestavlja tak nabor, ki ne zahteva nobenih pogojev glede začetne topologije vezja, niti ni nobenih odvečnih polov, ki bi se jih morali izogibati med povezovanjem in povezovanje teče z izrabo vseh ooinosti takega polnega nabora (slika 5a). Vsa odstopanja mimo pravkar omenjenih zahtev, nas vodijo v pogojno polni razred. Zakaj polni razred sestavlja ravno 15 celic? Vseh grafov na štirih točkah je 64, neizomorfnih pa 11. Če torej izluščimo vse soiselne povezave, nam ostane (narisanih) 15.' S tremi izreki bomo pokazali, kateri je najmanjši nabor, ki sestavlja pogojno polni razred: Izrek 1 Potrebujemo celico, ki lahko poveže dva in dva nasprotna pola tako, da med obema povezavama ni stika. Dokaz ; Lahko najdemo slučaj, ko povežemo celice qil,jl-»-+qi2,j2« ...-"qi,j«-. ...»-»qin,jn tako, da povezave predstavljajo zaključeno pot, torej obkrožajo polje celic P. Obstajata vsaj . en ki je znotraj polja P in vsaj en qix*,j*K, ki je žunaj zaprtega polja P in ju moramo med seboj v ravnini povezati. Tako povezavo lahko izvedemo le tako, da na vsaj enem mestu križamo pot, tako da uporabimo celico iz izreka 1. Izrek 2 Potrebujemo celico, ki lahko poveže poljubni vhodni pol z vsaj dvema i shodnima. Dokag; Ko celica qtj krmili več kot dva vhoda v naslednje celice, tedaj potrebujemo vsaj 1 ali več ràzvejitev signala: vhod pride na po- • ljuben pol in se razcepi na vsaj dva pola. Obema pogojema zadosti celica enega tipa, na primer stiripölno stičišče. Izrek 3 Potrebujemo celice, ki povežejo vsaj dva bližnja (sosednja) pola, na primer iz leve vodoravne smeri navzgor, tako da omogočajo sestaviti zanko. Dokaz: Že v izreku 1 smo omenili možnost, da lahko nastopi slučaj, ko so celice povezane v zaključeno pot. To se zgodi vedno takrat, ko imamo opraviti z več kot pa samo drevesnimi strukturami, na primer pri povratnih povezavah avtomatov. Zanke pa lahko realiziramo le, če imamo elemente, ki nam omogočajo zavijanje v vse smeri. Izreki 1-5 nao služijo za ugotavljanje, ali nek nabor celic pripada polnemu razredu. Takoj labko ugotovimo, da vsem trem izrekom zadostita že dve celici: a) stičišče vseh štirih polov in b) stik med dvema in dvema nasprotnima poloma. Omenjeni nabor predstavlja pogojno polni razred, saj veljajo nekatere omejitve: - vsako postavljeno stičišče zahteva zase celotno vertikalo in horizontalo} - signal se ustavi Sele ko zadenemo ob vhodno/ izhodno celico; - na atičigču poljubne horizontale in vertikale sme biti le ena celica z logično funkcijo. Če jih je več, tedaj si morajo slediti v smiselnem vrstnem redu, torej izhod gre na vhod naslednje, izhod te zopet naprej, itd. Na sliki 5 vidimo nekaj primerov polnih in nepolnih naborov celic. tr n cn ra d b D" tL SI. 5. Polni (a), pogojno polni (b) in nepolni (c) razredi povezovalnih celic 6. Realizacija 4 polne kvadratne celice Za lažje razumevanje celice postavimo tako zgradbo, ki bo omogočala povezave v smislu polnega razreda in ki bo tudi logično polna. SI. 6. Bealizacija celice Vezje, ki ga vidimo na sliki 6, nam omogoča logične funkcije V, } , J, z oiožnostjo, da nekatere vhode po potrebi tudi negiramo. Število bitov za tako celico dosega že kar nemogočo številko, zato kaže to število zmanjšati do razumnih meja (do B), vendar tako, da je celica Se vedno element polnega razreda. Tudi tehnologija postavi svojo piko na i, saj realizacija z na primer bufferji s tretjim visoko impedanč-nim izhodom ali odprtim kolektorjeo pride v po-gtev le za TTL, medtem ko si moramo v CMOS-u poiskati drugačne rešitve. Končno pove svoje tudi postavitev na silicijevo ploščico, ko je površina Se kako pomembna In stremimo za tem, da je čim manj krmlnih bitov in čira več prostora za logiko oziroma povezave v celici. Programiranje povezav je smiselno, če uporabimo enega od sledečih načinov: a. dejansko pref.iganje povezav (PROM, PAL), b. tovarniško programiranje povezav (ROK, gate-array) in /4 C. laborfito "i . ■ iff. i nsE'ir' 1. "liit" - ■! rrr.. r; -- -I ^-vetee.T àt.'i, pi-oijru . ' ■■ C cs> . Ji prfpr-:-: r-.j.!. n 'ie viiHki Vse ÜO ' ■ i sti matrL'"- ćnj 4 primer vzeFi^^uj, da a. posamezna celica al' b. niz celic, vendar ne 1; -la h/v ii> c, cela horizontala sli vertikala ox'rcr,'. / njih. Primer a ae nan zdi aa^btil;] verbieten, ''v;.,! ivi-Č3ku,ieoc okvar vei sosi^dii.jih c.el-c, . Za obe primera S'i naiB por s.^aioìive r.j.-, itt ; vedeti moramo le, katere so te celice. Za pc-stoplte poveaovanja Jih označimo kot neuporabne. Take celice oziroma nize celic preprosto obide-mo Id si pot poiščemo mimo njih. Večji problem Je izpad celotne vertikale sli horizontale. V tem primeru ne raoreoo več govoriti o eni rlLEP, ampak ve5 matrikah. Od posameznega primera Je seveda odvisno, kaj lahko naredimo s tako presekano matriko: ali Jo uporabimo ali pa zavržemo. 7. Algoritmi za prevedbo iz začetne matrike v končno Analitični pristop temelji na: a. povezovanju logičnih elementov in b. povezovanju veffjih skupin že povezanih logičnih elementov, aakrojev. Pri obeh tipih povezovanj naletimo na nekatere že znane primere o povezovanju in razmeščanju integriranih komponent na plošči tiskanega • Ja. Fizikalno snovanje in modeliranje nam za makroJe povsem ustreza, medtem ko za nivo logičnih operatorjev ni toliko primerno, saj so problemi okrog povezovanja, razmeščanja in orientacije celic precej svojstveni. Omenimo, katere postopke lahko uporabimo za makro celice in delno zs ceIìcp: - vezje, grafični model - particije minimalnih povezav - particije minimalnih kasnitev - postavitveni problem - iskanje poti ali routing. Zt-ani £0 v /:■/, zato Jih tu ne bi por.pv ■ l.ia'ii, fift , .Tsvetimo raje algoritmom p.V'..uatrikft v končno; reallzaci.-'i Icjvčf-'^'"'- ve- -z osnovnih podatki'.'.' o f'unkci- . - r,':nljivk, razvrstitev po šcev'- 'j, r . '^-le sprem, navzdol ugntäv:. Äio 1.': ce te ni, tedaj c, sicer e (brez vrinj3n,;-0, c. iskanje ne :iV.l.:.?.Jih so j;- "la J ih vertikal ir hn-riznnt 1, . '. r. ' > in realizacija povezav [-o de] ~ 'c'ovv- ?■! goi'itmu, ■ ■ do zadnje. ■ v ... ■ •:.:'(aklivijo ••'''Iju- '•.■ ,', .^rtova'.Cf -i . ... ■ It^v.. ì'ako postopamo? Začetno veijc, ..i •• ■ . . .-rs;--. a poljubno prepletenimi povezavan:• r •,■..' mi skušamo spraviti v matriko našega uS^i. r^i -o vezav in log. funkcij. Posehen grafični JeziK naj bi omogočal naslednje operacije: a. razmaknitev horizontalnih oz. vertikalnih linij, b. rotacijo log. elementa, c. premestitev log. elementa, d. postavljanje poševnih linij v matriko navpičnih in vodoravnih linij, e. pomikanje začetka sli konca linije ns poljubno mesto (vejanje) in f. razbijanje vefi kot Štiripolnih log. aH i,ti — kalnih elementov. Vse začetno podane matrika || nas po transformaciji 7 pripeljejo v razred rešitev 3 II . Obstaja rešitev S'IIQzH = 6Qk|l , ki Ji pravimo dohro ohllkovana realizacija SQzlI , za katero velja S IlQzll & S'(IIQzli), Za primer ko Je S (IIQziO -= S(iiQzn) " IIQkil opt rečemo, da je to najboljša rešitev in T , preallkavEs pomeni polni razred. Sa optimalno rešitev llQkJ o;, veljii; •■'m (tsanjša metrika !lQkl opt krajše povezave. in Težko Je verjetno, da bi kar takoj zadeli ne, ugodnejšo rešitev, paČ pa se Ji laj..ko prihji^.i-mo z več poskusi. Zelo pomembno Je ' ■ ko obrnemo začetne celice in kaia J5L po." f ' ' Najboljšo rešitev bomo najhitreje našli nfc tesnem sodelovanju načrtovalca in računalnišicf-podpore. <3, Zaključek. 9. Literatura n.c-lo bomo nadaljevali z realizacijo osličnega v CMOS inikroelektrocski izvedbi. Kot na.TLioIj ugodna realizacija se je posasela celica, ki 5o vidimo tia sliki 6. Vaak& tehnci.osija, kot smo omenili, ima svoje dobre in slabe strani, svoje omejitve in prednosti. Motnosti, ki jih trenutno imamo, kažejo, da iii tako polje vsebovalo okrog 10x10« 100 celic. Res da to ni prav veliko, je pa eagotovo spodbudoa začetek k računalniškim arhitekturam ne von Meuman-novega tipa. 1. J-ViranL. L(5gično snovanje računalniških struktur À-; .-istemov, Ljubljana, 1979. 2, F.B.Hanninj;, An Approach to Slighly Integrated CoiEputer - Maintained Cellular Arrays, I££E Trans, on Comp., Vol. C-26, Ho. B, str. 5:56-552, 1977. 5. V.GuStia, A.Dobaikar, Interna porodila, 1962-1904-. 4. J.B.Dennis, B.Jock, Data-Plow Supercomputers, Computer, Col. IJ, 1980. 5. A.D,Friedman, P.R.Menon, Theory & Design of Switching-Circuits, Comp. Science Press, 1975. SINTEZA SPREMENLJIVE ARHITEKTURE HAČUKAHJA Z VLSI PROGRAIIIRNIH POLJEM NA OSNOVI DF ANALIZE UDK: 681.519.7 Andrej DOENIKAH Veselko GUŠTIH Fakulteta za elektrotehniko LJubljana, Tržaška 25 Yugoslavia POVZETEK - Prispevek podaja postopke analize podatkoimib tokov za splošni problem raCunanja in Binteae strukturne relitve ob izbiri ■Univerzalnega logičnega polja ULP z možnostjo reprogramiranja funkcij v realnem času. CHANGEABLE COMPUTING AECHITECTURE SYNTHESIS WITH VLSI PROGRAmiHG ARRAY BASED ON DF ANALYSIS. ABSTRACT - The paper outlines the procedures of data flow analysis of general computing problems end structure design aynthesia when Universal Logic Array ÜLA with the real time reprogrammable posibility is considered. I. Uvod Pri iskanju novih konceptualnih rešitev v okviru računalniških sistemov največkrat izhajamo iz dveh predpostavk. Prvič, da novi koncept omogoča boljäe perforpančne lastnosti od obstoječih sistemov in drugič, da njegova realizacija ustreza trendom v tehnologiji, kar pogojuje sprejemljivo ceno. Veliko večino danagnjih računalniških sistemov označuje serijska lastnost procesiranja. Zanje se je udomačilo ime po avtorju, von Neumannov tip računalnika. Osnovna hiba teh sistemov je v počasnosti procesiranja, ki je predvsem posledica "ozkega grla" med procesno enoto in pomnilnikom. Njegova arhitektura je toga in diktira sekvenčni način procesiranja ne glede na naravo problema, katerega rešuje. Alternativne rešitve, ki na osnovi analize podatkovnih poti vnašajo paralelnoat v procesiranje, imenujemo arhitekture podatkovnih tokov. Razvoj tehnologije gre v smeri procesiranja gostote elementov na enoto ploščine ter iskanje rešitev, ki dvigujejo hitrost in nižajo ceno elementa. Zaradi tega so a stališča tehnologije zanimive predvsem takšne strukture, ki Izkazujejo visoko stopnjo regularnosti in so hkrati kar najbolj univerzalne. Definicija 1; Logično polje je univerzalno, če je mogoče z njim realizirati vse različne resurse računalniške logike, oziroma poljubno podmnožico resursov računalniške logike Oi ; H = , " (1) kjer je : POV - pomnilno vezje KV - krmilno (sekvenčno) vezje FV - procesno (kombinacijsko) vezje PP - povezovalne poti. V nadaljevanju bomo predpostavljali, da univerzalno logično polje (ULP) zadošča zgornji definiciji, Primera takšnih polj sta podrobno opisana v /1, 2/. ULP j«i programirro, če je mogoče spreminjati vsebino polja, s tem pa tudi njpgn-vo funkcijo. II. DF notacija računanja Računanje nekega problema lahko podajama grafično ali analitično. Obe predstavitvi sta enakovredni in prikazujeta strukturo računanja, iz katere je razviden podatkovni in kontrolni del, 1. Grafična predstavitev računanja Računanje je grafično podano a g - <5>G,DG> , kjer je PG prednostni graf, DG pa podatkovni graf. Zanju velja: PG - (VV, IV, OR, RO, UP 3 kjer je: VV - vstopno vo zliŠče (i) IV - izstopno vozllšže (4 ) OR - operatorji računanja (male črke) RO - relacijsM operatorji (^(AND), V(OH), (kretnica)) UP - usmerjene povezave in: DG - (PC, OR, U?} (5) kjer je: PC - ponnilne celice (velike £rke) OR - operatorji raCunanja (male črke) UP - usmerjene povezave 2. Analitiäna predstavitev računanja Računanje je podano analitično z A = , kjer pomeni KI krmilne izraze, DI pa podatkovne izraze. dD KI {OR, EO, - } kjer je: OR RO - operatorji računanja (male črke) - relacijski operatorji (.(stik), V(ALI), &(IN), <> (iteracijski operator), ( ) (navadni oklepaj)) - znaka, ki sledita imenu decizijskegs operatorja in določata rezultat odločitve. Teorem 1: KI je regularni izraz (RI), ki ga realizira kompozicije konSnih evtoaatov (KA). Dokaz: V algebri dogodkov nastopajo le operatorji (., V, <>), vKI pa cSodatno še operator Ker vsak RI realizira en sam KA, sledi, da lahko vsak KI zapišemo kot produkt delnih EI, torej KI-B/l & R/2 & ... H/N. Tedaj KI realizira ravno H KA, katerih izhodi so povezani z operatorjem &. DI (5) kjer je: Dj^ = -tNVPC, SIPCÌ NVPC - niz vhodnih podatkovnih celic operatorja i NIPC - niz izhodnih podatkovnih celic operatorja i Primer 1: Grafični in analitični prikaz računanja R. A. Grafični prikaz: CD SI. 1. Primer grafične notacije R B. Analitični prikaz: KI - a. < (hS^).d.e-.f > .e+.g (6) Dia - ((A.B),(B)) Dih - (CB,C),(D)) DIc - ((A,B),(A)) Did - ((D),(D)) Die - ((E,D),(X)) Dif = ((D),(B)) Dig = ((B,E),(A)) III. Analiza paralelnosti računanja na osnovi DF notacije Za par operatorjev računanja (a,b) velja, da sta lahko v eni od naslednjih odvisnosti: a II b - a,b ata neodvisna, kar pomeni, da je: Ia/l(VbUl'b) = O in: Ibn(VaUIa) = O, kjer je: li-izliodna množica podatkovnih celic operatorja i Vi-vhodna množica podatkovnih celic operatorja i aAb - a,h sta paralelna a > b - a je pred b aAb - a,b sta na alternativnih poteh. Definicija 2: Če velja a^b, b::^ a in a || b, poten sta a in b paralelna, oziroma aAb. Zgornje odvisnosti v okviru določenega serijskega računanja jè mogoče predstaviti v trikotni prednostni tabeli-PT iiä sliki 2. Pri tem velja predpostavka: ajV Še i Definicija 3; Naslednja transfrirošcijska pravila.omogočajo uvajanje'paralelnih Telaci j : 1. a.h —r aAb če in samo če velja: ■ ^ ' ■■ Ibn(Veuia)' =''0-in ■ - • • ■• Ia/i(VbUIbV- O SI. 2. Prednostna tabela P![ 2. a Ab sli t.a 3. (a Vb).e , a.C b.el, kjer je cl kopija c 4. (evti)vc -—^ avbvc eVf!iV-> :—* avbvc -> a Ab Ac a/1 • —> a Ab Ac ■ fi" :itev nakslnalne stopnje para-lelnosLt y.u serijsko podano računanje R: 1. Sntoj.rsaj«! rt-evesne strukture B ° (sl,s2,.. ). Ko. '"an vozlišiu ustreia izraz, v katerem r.astopa na mestu eanke-posebno Ime operatorja. Vn?:llS5e naslednjega nivoja ustreza zan-Sneau izrazu, ki nastopa v vlSjeai nivoju kot operator i.n v katereai vgnezdena sanka nopet nastopa z iaonoo operatorja, itd. 2. OsnaCltev operatorjev i vrednostjo števca odločitvenih nivojev (ŠON) v vseh iarazih 156 drevesne strulrtiire: ČE (izras • zanfni izras) POTEM (velja za izraz znotraj iteracijskega oklepaja) s. inicializiraj SON oa O b. ekaalraj izraz od leve proti desni , C. 6e detektiraš znak "(" ali "t" ali "-", poveSaj Son za 1, Še pa naletiš, na znak ")", znanjSaj ŠOH ss 1 d. ob detekciji operatorja pripiši ope--ratorju trenutno vrednost ŠON SICER ■ " ■ a. inicializiraj ŠOH na O b. skaniraj izraz od leve proti desni C, Se detektiraš znak "<" poveSaj ^K . . za 1, Se pa naletifi na znak ")", smanjSaj ŠON za 1 d. ob detekciji operatorja pripiSi operatorju trenutno vrednost ŠOK Uporabi desno distributivno transformacijo (Definicija J) za vsak kontrolni izraz voz- lišča drevesce struktura. Pri tem aaključni operator ($) uporabi kci vse ostalo. 1-, ^ vsako vOzliSCe dreve-— „i-iiktiire '-r ■vi prednostno tabelo PT< Pri vpiaovir ' ■ vlsnosti oCa^.a^) v tacr upoaievaj n>if.,. ; A. ZA VSAK 1. ČE w Vq nasto'i" v zliS^-am izrazu, kjer sta w,q subi£raza, tako, ds ve- lja: a.e w in a^eq 2. POTEM o(a. ,a.) ^ J &E ai decizijski operator, aj pa ne ter nj>ni (nj^ni eta številki decizij-skega nivoja operatorjev aj, al) POTEM o(al,aj) = > 3. ČE o(ai,aJ) - O.(äe ni specificiran) in aj -i POTEK o(ai,aj) . > ft. ČE o{8i,aj> - O in lai fi (Va j U la j ) - O in lajO (Vai U lai) - O POTIH o(ei,8j) =11 SICEH o(ai,aj) -> B. DgloSi aaksinalni niz paralelnih relacij (A) v PT z uporabo tranzitivne lastnosti relacije > na naslednji naäin: VSAKO vrstico v PT, v smeri od spodaj navzgor, Bkaniraj od desne proti levi: 1. ČE oCai,aJ) = > in o(aj,ak:) -> POTEH o(ai,ak) -> 2. ČE o(ai,aj) - n POTEK o(ai,aj) -A 5. ČE o(ai,aj) - A- i^TEM ne spreninjaj vhodov PT 3* Za vsako prednostno tabelo PT iz koraka 4 doloSi: A, nize neposredno predhodnih operatorjev, kot sledi! - izberi kolono po vrsti od desne proti levi - koloni pripadajoSeau operatorju določi niž predhodnih operatorjev. To so operatorji, ki imajo v PT na mestu preseka s opazovano kolono znak > . (Če je operator decizijski, nu dodaj + ali -). Nize označi z HPj, kjer je j oznaka operatorja, ka-terenu ifiSemo neposredne predhodnike. - 6e Je aj.ak HPi in ak HPj, odstrani ak iz HPi. B. EI dobiao iz NPj na osnovi pravil; 1, ČE NPJ • O POTEK Klaj - K 2. ČE I ; I in aie; HT'j POTEH KI 5 j " KI Eli. a,j J. ČE I NPj I > 1 in Eli i POTEH Kle.i - ^rui .0.) 1 KI = V(i) K di ^ te.ler so 6i iahodni oper C, Nariši PC na KI o J 0 b Ò d 1 L 1 e O ü! 0 11 1 V O 112 O O »2s:; T-- o o i. b 6. v višjih vozliščih operatorje .i») ; i-ie. strukture zame-■Civ.i nižjih vozlišč. : EH . ?: Do:i..-ičit;ev itakEimalne stopnje raralcl- r.oBti za struktur'.; -r'-iTOanja, ki jo določsi-a ij in A . SI. Prednostni tabeli za vozlišča drevesa S (Primer 2) KI. Grafična pr'?^ j. ■ i..--' 2) A; KI = a.b.cC- d-e.I .à- ì.-j Dia = (U),(C)) Dlb - ((B), '^j) Dio - ((C,I>),(X)) Did = ((C),(Y)) SIs = ((C,D),(C)) Dir - (CE),(S)) Sei nsnovi Postopka 1 t'Dbiiao: le 1. Drevesna struK^i-'ü 3 " (e1,s2) KI(sl) - '/tfi.g.-.- KKsS) - : «-I- ton II 1 0 t 2. KI (si) V Ö.b.c.'-L.e V'^D,.--» Oli Ki(s2) = . + .. Ì (a) (9) 0 ü 0 k KI(sl) - ;!,b.c( \ 0 J G (10) 0 1 3 gl in e2 sta E, i'! pa tepiji k 5. A: si: ,1 NPj a - b - C e.b L c" e L Kl e SI Si c" p2 c^ 1S2 K2,f s2t .1 NP.i d - e .d + C: PG'(sl P" (sè): = 0 OD CiJ SI. .Tidaostns grafa aa vozlišča drevesa S (F.^imer 2) k 6. KI = (a&b).c- .d + e.gl Vc+(g2&.f )) k- H. P'r'(sl) : IV. Sinteza strukturnih rešitev z VLSI polji na osnovi DF analize Definicija ^t ; ULP omogoäa homogeno realizacijn strukture f . Vzemimo, da smo računanju R, ki ga podaja j osiroma A , na osnovi analize podatkovnih tokov (Poglavje III) določili PG', ki določa maksimalno stopnjo paralelnoati procesiranja H. Tedaj lahko realiziramo dano računanje E s strukturo -J , ki vsebuje: (15) kjer je; POK = (PPOM, DPOMl.....DPOMK) PPOM - programski pomnilnik DPOMi - delovni pomnilnik spremenljivke i - krmilno vezje za nadzor procesiranja = (PEI, PE2, PEN) PEj - procesna enota j - povezovalne poti za prenos podatkov in krmilnih signalov KV PV PP Splošno blok shemo strukturne reSitve / računanja R podaja slika 6. SI. 6. Blok shema strukturne rešitve "f računanja K Značilnost strukture f je v tem, da odpravlja "ozko grlo" z N procesnimi enotami, poraadelje-nim delovnim pomnilnikom DPOMj^, i=l,...,K in takšnim KV, ki nadzira sočasno delovanje maksimalno N procesnih enot, Analiza podatkovnimi tokov je pokazala, da v vsakem trenutku procesiranja ne potrebujemo vseh PE^, niti poveaav do vseh DPOHj^. Zato je dodatna naloga EV, da omogoči le tiste resurse, ki so v danem trenutku potrebni za procesiranje, To pomeni, da morata biti PV in PP izvedena tako, da ju je mogoče spreminjati v realnem času. Slednje predstavlja pomembno zahtevo pri izbiri VLSI komponente. Poleg tega pa je s tem določena tudi vsebina PPOM, ki mora hraniti sekvenco procesiranja ter stanja PV in PP v vsaki fazi procesiranja. Dokaz: Sledi iz Definicije 1 in značilnosti strukture J . Pri tem homogena realizacija pomeni, da so vsi resursi strukture f hkrati zajeti v ULP oziroma regularneas polju ULP. Zahteva po programiranju funkcij ULP v realnem času zahteva MASTER-SLAVE način vpisovanja lastnosti celic /5/, kar pomeni, da SLAVE register celice hrani podatke o trenutni funkciji celice, KASTER register pa lahko v istem času sprejme podatke o funkciji celice v naslednje® intervalu, Preklop funkcije izvede KV s taktom ure. Postopek 2; Določitev strukture f računanja H na osnovi analize podatkovnih tokov. 1. Določi prednostne grafe PG'(sj^) za vsa vozlišča drevesne strukture S (Postopek 1). 2. Vsaki izmed PE^, j=l,,..,N, določi niz operatorjev Oj^ Pj na osnovi minimalnega po- kritja /'>/, 5. Določi sekvenco računanja ob upoštevanju pa-ralelnosti iz PG'{Sj^). 2a vsak korak računanja določi aktivne operatorje oz. P^j. Ičijih izvajajo, ter povezave med njitai in DPOKj^, ki hranijo vhodno/izhodne spremenljivke aktivnih operatorjev. Slednje določa program procesiranja, ki ga hrani PPOM. Določi KV, ki čita ukaze iz PPOM, aktivira delovne PE^ in ustrezne povezave, ter pripravi podatke za PV in PP v naslednjem koraku. 5. Za vsak blok strukture f določi ustrezno VLSI realizacijo (zavisi od izbire ULP). 6. Homogena realizacija vseh blokov skupaj v okviru enega ULP oziroma polja regularno povezanih ULP, predstavlja strukturno rešitev ozirona arhitekturo danega računanja. Postopka 1 in 2 skupaj določata prevajalnik od grafične oz. analitične notacije računanja do njegove VLSI realizacije na osnovi ULP. ULP torej realizira poljubne arhitekture, ki jih določamo za vsak primer posebej tako, da upoštevamo vse značilnosti problema s pomočjo analize podatkovnih tokov. V, Zakljueek V prispevku je podana analiza računanja na osnovi podatkovnih tokov, ki omogoča določitev maVcsioDalne stopnje paralelnosti procesiranja. Na tej osnovi je mogoče zgraditi strukturo, ki je sposobna izvesti dano računanje s takšno stopnjo paralelnosti, kot jo dopuSča narava problema. Uporaba ULF luta več prednosti. Ocaogo' ča homogeno realizacijo ter dopušča, da s programiranjem sproti vključujemo v procesiranje le aktivne resurse. Takšna izbira pogojuje boljše performančne lastnosti, upošteva pa tudi trende v tehnologiji, kar zagotavlja nizko C eno, Literatura ; 2. S.S.Patii, T.A.Welch! A programmable Logic Approach for VLSI IEEE T.C., Sept. 79. 5, A.Dobnikar, V.Guštin, D.Raič: Interna poročila za nalogo: Snovanje porazdeljenih struktur aa procesiranje podatkovnih tokov, RSS, C2-0124, 85. « 4. J.Virant: Preklopne strukture in sistemi. Univerza E.Kardelja v Ljubljani. FE, 1985. 5, H.C.Wei, H.A.Sholl: An Expression Model for Extraction'and Evaluation of Parallelism in Control Structures IEEE, T.C,, Sept, 82. 1. A.Dobniltar: Snovanje računalniških struktur z univerzalnim logičnim poljem bosanskoheroegovački simpozij iz informatike, Jahorina 65. THE BEST MODULE: COMPUTER SIMULATION OF THE CONTROL UNIT. G. Aloisio I) i pa rt inonto dì El ectrotecnica ed Elettronica Università" degli Studi di Bari , Via Re David, 200 - 70125 Bari (Italy) UDK; 681.3.517.11 ABSTRACT The REST architecture is based on a bit-slice processor (SLICE) originally designed (1979 -SINBIT project) for "fault-tolerani" structures /1-6/, The SLICE is a module of low complexity (only three specialized sub-units are present) and of high flexibility (the use of REST modules allows the immediate implementation both of sin-pie structures and of the most complex'ones). More about the REST features is referred in /7/. A REST simulator to be iised both as a preliminary step towards the VLSI implementation of the module and as a hardware "development system" specialized for REST modules, In order to simulate "composite" architectures has been just presented /B/. The aame can work, aa evident, as a firmware "development system" for REST based architectures. A highly parallel architecture based on "REST" type processor elements (RPE) and designed to specialize the REST for the signal processing has been proposed /9/: we used the software simulator for testing this system and convolution and DFT algorithms have been Inplemented. The VLSI implementation of a single REST Processing Element (fiPE) is also in progress. The heart of the SLICE is the control unit, containing the firmware for fetching and executing the machine language instructions , the hardware for controlling the sequence of execution of microinstructions and the hardware for the Interrupt management. In this paper the computer simulation of the REST control unit is presented . 1. INTRODUCTION As above mentioned, the SLICE is formed by only three specialized sub-modules (Eig.l): - Controller (C) - Communication Processor (CP) - Memory Processor (MP) In fig.l, IB and XB respectively are the "Internal Bus" (on the slice) and the "External Bus"(outside the slice): the direct communications between the IB and XB buses are maded by the CP sub-module. It is easy to expand the number of Ihe esternai bus lines and also the number of buses by a simple replication of this CP sub-aoduLe, which is the only Sub-module able to pr words. The C Sub-module can "see" only the taking froB it the "machine Instruct The MP sub-module operates using internal bus IB; direct access to bidden to it. A single N-blt processor can be asse N different REST nodules each of th on an external bus single or multlpl trlbution, but, althogh it is a b single REST-SLICE can work (with a decrease) as a 16-bit oicroprocesso ing the inner pre-fetch deepness sub-module /7/. ocess whole whole XB ions". only the XB are for- mbled using em yielding e bit con-it-slice, a efficiency r, exploit-of the HP FIU.l : Simplified REST configuration 2. THE REST CONTROL UNIT The Slice is a mieroprog rammed machine, i.e. a coherent sequence of microinstructions is used to execute a machine instruction. Therefore the SLICE control unit consists oE the microprograai memory and the structure to determine the address of the next microinstruction. The block diagram of the REST control unit (C) is shown in fig.2. The controller can he divided into two principal functional blocks: - the Sequential Controller (SC), formed by the microprogram memory (HROM) and its control unit (AM2910); - the -Interrupt Controller (IC), Eor the Interrupt detection and management. 2.1 THE SEQUENTIAL CONTROLLER (SC) The microprogram memory (HROM) is a 4096 word by 76 bit nensory and is used to hold the various microinstructions. For controlling the sequence of execution of microinstructions stored in iiiicroprogran memory we- used the AMD address sequencer (AM2giO): this microprogram controller, besides the capability of sequential addressing, provides conditional branching to any microinstruction within its 4096-mlcroword range. The AH2910 block diagrara is shown in fig.3. As shown in fig.3, the microprogran controller contains a four-input mullplexer that is used to select either register/counter, direct input, microprogram counter, or stack as the source of the next microinstruction address. The AM2910 provides 16 functions which select the address of the next microinstruction to be executed. Four of the instructions are unconditional, i.e. their effect depends only on the instruction. Ten of the instructions have an effect which is partially controlled by an external, data-dependent condition. The result of the data-dependent test is applied to CC. If the CC Input is low, the test is considered Lo have passed, and the action specified in the nane occurs; otherwise, the test has failed and an alternate (often simply the execution of the next sequential microinstruction) occurs. Three of the instructions have an effect which is partially controlled by the contents o£ the internal register/counter: unless the counter holds a value of zero , it is held and a different microprogram next address is selected. The AM2910 instruction set is shown in table 1 , while, in fig.exanples of their execution are reported. The examples given in. fig.4 should be interpreted in the following manner: the intent is to show microprogram flow as various microprogram memory words are executed. For example, the "continue" instruction ,(instruction n,14),as shown in fig,4, simply means 20- -a-J i XB S *e FIG.2 : Block digram of the REST Control Unit FIG.3 ; AM2910 block diagram that the contents of nileroprograin memory words (addresses 50,51,52,53...) are sequentially executed. The nieroprograoi addresse used in the examples were arbitrarily chosen and haue no meaning other than to show instruction flow. The exception to this is the first example, "junp lero", which forces the microprogram location counter to address zero. Each doc refers to the time that the contents of the rilcropro-gram meniory word is In the pipeline register (MIR). When sequencing throush continuous microinstructions in microproaran memory, the mi-eroprograiii counter in the Ari2910 is used. Here the control logic simply select the PC input of the multiplexer as the next address. As above mentioned, besides the microprogram counter and the register/counter, other sources of the next microinstruction address are a direct input (D) and the stack (F). Three lines C PL,MAP,VECT) are therefore controlled by the "Inscrucclon PLA" for controlling the throe-slate outputs of a Branching-Prom (BR), a Mapping-Prom (HAP) an! the Interrupt Vector-Prom (VHAP) respectively. The Interrupt Vector-Prom provides one technique for performing interrupt type branching at the microprogram level. The other source of the next microinstruction address (?) is a 5 * 12 stack, used for looping and subrouting in microprogram operations. Up to five levels of subroutines or loops can be nested. « «^HMIJU M n^limutiu^ » LftCMt* kCOTIMMl aoctl 2.2 FIG.4 : AK2910 Execution examples THE INTIÌIÌRUPT CONTROLLER The Interrupt Controller (IC) allows the detection and the handling of asincronous requests (interrupts) that happen within the SLICE, The AM2914 Is the heart of the Interrupt Control Unit; it can be mi crop rog ramiaed to meet the specific application's requirement. The AM29I4 block diagram and the logic symbol ore shown in fig.5 and fig.6 respectively. Sixteen different microinstructions are possible, controlled by a four-bit microinstruction field (PI). The AM2ril4 microinstruction set is shown in fig.7. Aa shown in fig.5, a "microinstruction decode" circuitry decode , if there is the "Instruction Enable", these Interrupt Microinstructions and generates required control signals for chip. the HEM REO/ MU CCEh > LOM utdCC« HIGH ČČESi • HIGH ai CC • LM 13IQ MMMONIC N«MC V fifACM CMTM CNABLf S JZ JUMPitftO ______ ■ C CtkAB D CLEAW HOLD PL 1 C.IS COtsLO J5B Pk. H »C " MOLO f»UÌM HOLD PL - JMAP MMP t** k 0 'KOCO D NOLO ~ HOLO 'MAP s" COkO JUM» Pk K PC rtULO D HOLO HOLP^ " 'PL 4 PUJM KJSHfCOHÙ LO «NTB X PC ■ ' PC PUSH NÖTi I PL b ÄRP CÖNDJSBn'PL X (* 'ysH 0 PUSH * HOLD' PI CJV COND jiiwr vccrofi M PC HOLD Cl hOLO HOVW 'vÈCT " J COND VOMP HV^L X fì HOLD □ MOLO HOLD *L _ 4 RfCf «If^tATLOOPC«"»'® -Ji"— f "'pc MOLO " POP f PC HOLD POP DEC HOLO" ~PL PL R«:r HIPEAT Pt.CNTH »0 D _ HOLO 0 HOLO DEC ■ >L • * -D Pc" ' HOLD Pc" " HOLD HOtO PL A enti* «HOfltN ___ K PC HOLD f POP HOLD Pt ' I CJM COND JUMP PL • POi """ K PC hOlO n POP HOLD ■ PL'" e ~\0CT i^ChiHACOhrihüt'" k PC HOlO PC *iolO " PL D lOC* tesffNOioop M t HOID PC POP ►.OLD pl C contlmul " % »c molo PC HOLÒ" PL p rwB rH»4eC ytAV HHAhCM >0 ___l>_ •KiLU , PC^P____ PC PC PPP OEC tiLlLt) pl PV TABLE 1 : AM2910 Microinstruction set Moid u CCEN . LOW jiiO CC - »ilüH.holo. Btw lojii X - [Joti'i Cjt.' o-!« vi ■""KIS D— m» * T" *Mi 0— .•Maa -o 1 1 . a —£ — —t i^^tlMutt ■ , W» 1 ^iT —r-r 'i ^"oJIi I " — ■J I-. — — m •s — ___ sr ->—» —^ -I u — 0 lha ii.1 t™ — wwiv ■ ICH «WMl* ««Mt« ì t 1 FIG.5 : AM2914 Block diagram FIG.6 : AH291'i Logic Symbol The AH29Ì4 receives interrupt requests (TRAP) on 8 interrupt input lines which are held by an eight-bit "interrupt register". These requusts are ANDed with the corresponding bit In the "nask-register" and the results are sent to an 8-input '"priority encoder", which produces a three bit encoded vector representing the highest numbered Input which is not masked. An Internal 3-bit "status register" is used to point to the lowest priority at which an interrupt will' be accepted. The contents of the status register are corapared with the output oE the priority encoder, and an interrupt request output will occurr If the vector is greater than or equal to status. VJhenever a vector Is read from the AH9I4, the status register is automatically updated to point to one level DESCRIPnOH MICROINSTRUCTION CODE i3i:ii»00940000000000 STOP rnoi OF ncmiiistrikti« k, tnenirT cekmtion m.mmmmmmm.»m.m mm.m mmm mmm.m-mm mmm mmm-mmm. ■YWI III III ■ jti jiiicivvnnraffn IG.............I STAUIS ■ MOOOOOOHOOWOO STMT DEOrTIH OF mCROnsmCTKM R. 1W le. .1 lliiii m III imwwwtH STMT aECirin OF ntniieniiKTiiK i. STMT COnxDUBI-finCEtlUK SC-a^ipnctdgi* «CSlO-siitpnKtéirt HGJIO nSTI. ° Jllf> IW MP-subiinxfdurc T« CExmTa r mi»io ° 4 »(li-s<Érroc«durt nVMiE ' OHOCOOOHCWOOl nW.lE 3 ttaUaMUdUEMQ f ■ wmnrvTFWT winrvw STOP FETCH OF lunousiiiunin I. linBHM>T CaCUTlM stmt cnmHLiiii-mcaiuK SC-subfraeedure M29IO-siibpniad>rt mesui nsn). = omtike 10 CEKHATE) IT M2910 = 7 OHER-fulipnwkirt HYUUE * 0000««CW400N1 IBVtLliC - I STOP FETCH IF moionisniucTioi N. IltTDIRUPT CKSATIM ..................... K.............I STATUS = OOOOOOOWMOOOOl It.............I 1SN> STMT DECUTioN OF mcRonsTiucnai ». simmtammsm. SC-sidipniadm MCSlO-sulpnxcdm M291t nSTR. o CtMITIDIM. JSB A BHsubppoccdUPG IC-subprocedure Me922-5ubpnKeilirt Tt «OEMTD n M»l» = » OHR-sÉpoceditrt XIVN.UE >»000000000000001 IIVMJE = 0000000000000000 STOP FETCH OF KICfHlIKSTRUCTIOK K. STMT EKECUnOK OF HItRBnETIRICTIM H. STMT CmnaUER-PRKEIWE SC-subprocedun Mi91(HulipnKediirt NCllO HSIK. = CCMTMUE TO CQEMTD IT M2»I4 = 22 DNIR-subproeedurt nVNJE < 0440040000040001 IB VALUE = 0444444044044040 STOP FtTCN OF Hiowiwnajain 1. s IHTOKUPT CEKMTItl 16.............1 STATUS = 0000000000000001 IB.............1 TW = 0000000000000000 STMT EXECUTHM OF IDOIflllBTWCTiai 1. STMT COnnUilHIiaXHK SC-sArnndui* MISlt-siitpniMlm mesu »sn, conninM. iethoi K-adaroadure lt-«ii|>rD«4ur* MSZJ-sdiFrandi 10 (EKHTEt IT Ml»» = niin-uifarriKtdBn IAUK tcpOOOWOOOOOOOI 11 («UE • OOOOOOOOOMMHOO niF FHn OF luomiGTaiaiai i. STATUS = nTEIHFT «OHTiaH K.............1 STMT EXECUTION V HICROIRTRUCnON N. i STMT CMIRmili-imiMI SC-suhproctAtn «l»10-Hjiipr«edurt AlOHt nSTI. < OWTJMC . TO CeKRATEt IT M291t = i OtlK-atbpriKCdurt nVAJf ' MOOfiäOOÖUOflUI ■ r^pVk vvmvm virirvinnnPI IlfAUI • «OOOOMOOOOOOOOt STOP FETCH V HICROIieTIlIKTIlM H. 1« STOP camniiiBi PRocmit P ■ — — — » WT^Vw BI ■ IV ■ lil ■■■ ■ w DEOniON TIK OF mCKOPliaffiAlI = 30M ns FIG.9 : Example of simulation program output for the AM2910 "Jump to Subroutine" instruction MR0K-!.0C*T10K K. O SHAP [ t22 OE [E fl STC Ifl« Hll IHD FHi N«D LSB 00 ooio 000 O D ooou 00 OOOOOOOQ o ooouoooa oooooono onoooooo o LSI LHH mu S»S »WH Tlx R I RH LA fP H« IK S« TII O O O O O ooooo oouo ouuooono ii o o HEOH'LĐCtTIOH H, t sn«p I 112 OE le STC iba hib ihd rtu had lnr 00 ino 000 o o «000 oo oooooooo o ouoooboo oooooooo oooiioooo o L«I LVH »AU !H« RUB TI« II L BA lA fF «lA LK RS TII O O O O O 0000 0 ouuo noüooooo o o o J MAP O r.ONT 1 CCNT 2 HROH-LOCATIOH N, ^ SNAP I 123 OE m PI STC IBI HIS IH» F(U VAD LHR og Ilio 000 o o OQOO oo oooooooo u ooooouoo oooooooo ooujuoon u LRI UH RAU UHR RUR TI* » L RA LA FF SA LB PS TU 0 0 0 0 0 00000 0000 oooooooo UDO KROM-LOCATIOII H. ! SHAf I 123 oe IE PI STC IB« Hin ino FAU NAD IH) 00 0001 001 1 0 DODO 00 oooooooo 0 ououoooo oooooooo oooooooo o LRI LÜH RAU IHR RUR TI) R L RA LA PF HA LH IN TII 0 0 0 0 0 00000 0000 oooooooo o o o ■sj STACk CONT 9 HiOH-LOCATlon H. e SNAP I Iii OE IE PI STC Uli NI» IKC FAO HAS (.HR 00 1110 000 0 0 0000 00 OOOOOOOO 0 uuoooooo oooooooo oooiioooo o LRI LÜH 9AV RHR RUR TU R L RA LA FF HA LH RH TI! 0 0 0 0 0 ooooo oooo oooooooo o o o I . 2 (JMAP) I . 14 (CONT) r = 1 (CJS) I . 10 (CRTN) HROH-LOCATIO» H. Ì SHAP I Ui OE IE PI STC [RH HIB IHD FiU NAD LHI 00 Ilio ODO O O 0000 00 oooooooo 0 OOOOOOOO oooooooo OOUOUOOO O Lit LVH RAU RNR RUI Tli O O O 0 O O ■ L RA LA FF VA LH RN TII 0 0 0 0 0000 OOOOOOOO o o o HROM-LOCATIOH H. 20 iHAP 1 112 OE le PI STC IBR HIB INO FAU NAD IHR 00 Ilio ooo O O 0000 OO OOOOOOOO o oooooooo oooooooo oooooooo o LRI LWH RAU RUR RVR Ttt O O O O 0 O R L SA LA FF NA LK IH Til 0 0 0 0 OOOO OOOOOOOO ooo mOM-LOCATION H, JI SKAP 1 132 OE IE PI STC IBR HIB IKD FAU HAD LHR 00 1110 000 O O 0000 00 OOOOOOOO o oooooooo oooooooo oooooooo o LII LWH RAU RHR RVR TII R L RA LA FF HA LH RH ' TII O O O 0 0 0 0000 oooo oooooooo 0 0 0 nROH-LOCATIOH K. 22 ;HAP I II! OE IE PI STC IBR nlB IH» FAU NA» LNR 00 1010 001 1 o 0000 00 oooooooo o oiioooooo oooooooo uooooooo o FIG. 10 ; Firmware £or the aimulation of the AM2910 "Jump to Subroutine" Instruction LRI LVH HAU RHR EVR TII 0 0 0 0 0 0 R I. RA L> FF »« I.H RH Til 0 0 0 0 OlIOO OOOOOOOO 0 0 0 PRILAGOĐAVANJE RAČUNARSKOG SISTEMA PROÉIRENJU TERMIKAIßKE MREŽE Zoran Lazarov, mr ing. , GRO "Pelagonija", Skopje, Jugoslavija UDK: 681.3,007 U radu su opisane aktivnosti koje se trebaju preduzeti da bi se omogućilo dvostruko povećanje broja terminala koji bi i dalje bili podržani postojećim resursima. Računarski sistem kojim se rad bavi je VAX-11/780. Najpre ae određuje reprezentativno radno opterećenje sistema, zatim se snima postojeće stanje na sistemu merenjem parametara učinka, pa se na osnovu očekivanog proširenja i planova razvoja pretpostavlja radno opterećenje u novim usloviuia i vrši njegova simulacija korišćenjem postojećih i sintetičkih poslova. Merenjera novih parametara učinka uočena je njihova degradacija i predtizete su mere radi poboljšanja rada sistema, Izvr§ena je promena nekih od parametara generisanja, i predložen je postupak za prethodno raspoređivanje poslova prema njihovim zahtevina za procesorom i memorijom. To je rezultovaìo značajnim poboljšanjem vrednosti parametara učinka sistema. TUNING OF A COMPUTER SYSa5:M TO T!IE TERMINAL NETWORK EHLARGEMEKT - The paper describes the activities required to enable connecting of twice the previous number of terminals supported- by the existing resources. The computer system considered is VAX-ll/yeo. First the representative workload of the system is determined, then the various performance evaluation parameters are measured to record the current state of the system. The new workload for a system with doubled number of terminals is created out of the existing jobs and new synthetic jobs, as well. In order to improve the system performance parameters some of the system generation parameters are changed, and s prescheduling algorithm is proposed that discriminates the jobs according to their processor and memory requirements. Finally, much better values for the performance evaluation parameters are obtained resulting thus in a better tuned system. Zadatak autora ovog reda.je bio; bez nabavljanja dopunske opreme omogućiti povezivan je dvostruko većeg broja terminala od postojećeg, Znači, samo sa preraspodelom i prilago-đavanjem postojećih resursa potrebno je ostvariti zadovoljavajuće opsluživanje udvojenog broja korisnika. Račimarski sistem kojim se rad bavi je VAX-11/780 sa 768 KB memorije, J* 67 MB prostora na diskovima, i pored ostalog, jednim asinhronim multipleksorora za 3 terminala. Proširenje se sastoji u nabavljanju još jednog multiplekaora sa još 8 terminala. Radi dobijanja prave slike stanja sistema potrebno je izvršiti snimanje i analizu aktu-elnog radnog opterećenja. Time bi se odredili najvažniji korisnici i njihove potrebe, najzas tupijeniji poslovi i njihova učestanost, od kojih se zatim može načiniti reprezentativni uzorak opterećenja prisutnof^ na sistemu. Zatim ostaje da se izvrši Bieren j e parametara učinka sistema u uslovima definisanim reprezentativnim radnim opterećenjem. Rezultati tih merenja t.j, dobljeni pokazatelji učinka se upoređuju sa onima koji postoje iz prethodnog perioda praćenja učinka sistema, cime se u stvari vrši verifikacija reprezentativnosti odabranog radnog opterećenja. Parametri koji au bili mereni jer se smatra da se njima najbolje opisuje rad nekog korisnika sut - vreme provedeno na sistemu, . - utrošeno procesorsko vreme, - broj U/I operacija na diskovima, - broj U/I operacija na terminalu i štampaču, - broj donoSenja stranica u radni komplet procesa. Dobro slaganje pokazatelja učinka je bilo garancija da će i novopretpostavljerio radno opterećenje kojim se trebaju simulirati uslovi na sistemu sa promenjenom konfiguracijom biti realni odraz ponašanja stvarnog sistema. U auStini se radi o hibridnom pristupu formiranju radnog opterećenja. Gdegod ,1e to bilo mogaće, u reprezentativni niz su bili uključeni stvarni poslovi u svon punom obimu. Međutim, onamo gde je to bilo neizvodljivo, bilo zbog karaktera posla - na primer te minai aka sesija, ili abog nekih njegovig karakteristika - nà primer suviše dugačak proces, takvi predstavnici su bili zamenjeni sintetičkim poslovima koji su uglavnom sadržali sve bitne odlike originalnih procesa. Treba naglasiti da su periodi merenja parametara učinka sistema u slučaju reprezentativnih radnih opte rećenja uvek kraći od jednog sata, jer je to vreme da bi se izvršila merenja i uočili trendovi dovoljno, a ipak podnošljivo dugo traje kao period u kome je zboR simulacije i merenja pristup sistemu uskraćen svim ostalim korisnicima. Proces kojim je bila simulirana tipična terroinalska sesija bio je sastavljen od više poBiva raznih korisničkih i sistemskih programa pomoću kojih se roanipuliše datotekama, kao Što je na primer EDITOR, a koji su svi međusobno povezani komandama DCL (komandni jeaik operativnog sistema VAX/VMS). Tokom egzekucije čitavog memog paketa kojim se simuliralo radno opterećenje stvamofs sistema, vršena su prethodno ponenuta merenja, a pored njih mereno je i vreme odziva kod najčečće korištenih komandi i poziva-sistemskim ili korisničkim programima. To vreme upoređeno sa vremenom zadovoljavanja tih zahteva na "praznom" sistemu (neopterećenim nikakvim drupim poslom) daje takozvani faktor produženja -"stretch factor", koji je možda najbolji pokazatelj kvaliteta usluga koje korisnici do-hijaju od sistema. F10DEI.IRANJE I PRIUVGOĐAVANJE Pošto se je na opisani način utvrdila metodologija rada, moglo se je zatim ići na postupak određivanja parametara sistema u hipotetičnim uslovima dvostruko većeg broja terminala. Korištenjem mogućnosti koje pruža VAX VMS (sistem servisi) moguće je kreiranje odvojenih (detached) procesa kojima se mogu dati različita obeležjd, već prema potrebi: od simulacije interaktivne terminalske sesije do najjednostavnije serijske (batch) obrade is-testiranim programima. Anketiranjem korisnika i razmatranjem razvojnih planova organizacije dobijena eu saznanja pomoću kojih je određen obia posla koji se sa priličnom sigurnošću može očekivati na novokonfiguriranom sistemu. Zatim je oblikovan reprezentativni uzorak za odgovarajuće očekivano radno oprećenje koji je kao i u prethodnom slučaju bio hibridnog karaktera, sa stvarnim i sintetiziranim poslovima. Reakcija sistema, t.j. njegovi parametri učinka su "bili prilično loSi Ito je i bilo očekivano b obzirom da nije bilo nikakve akcije prilagođavanja. Budući da su svi procesi imali isti bazni prioritet i podjednaku veličinu radnog kompleta, a zbog male raspoložive memorije po procesu, došlo je do velikog povećanja aktivnosti straničenja i donošenja i odnošenja čitavih procesa u i iz memorije. Rezultat toga bio izuzetno velik broj tJ/I operacija na diskovima, a uz to, ili bolje, zbog toga, vreme odaziva je bilo uglavnom veoma produženo. Koraci koji su bili preduzeti su bili sledeći: određivanje karaktera pojedinih procesa u radnom opterećenju, utvrđivanje njihovih memorij skih zahteva, podešavanje veličine njihovih radnih kompleta u skladu s tim, podešavanje baznih prioriteta sa favorizova-njem interaktivnih sesija radi održavanja principa pružanja najbržeg odziva onamo (jde se najviše očekuje. Zajedno sa tim izvršena'je promena nekih od sistemskih parranetara peneri-sanja, kao što su parametri za automatsko podešavanje veličine radnog kompleta, aa broj pomoćnih paketa za U/I aahteve, kvantum vremena TOOvedenog u memoriji i si. POSTUPAK ZA RASPOREĐIVANJE Da bi tako izvedeno prilagođavanje rezultiralo još boljim pokazateljima učinka sistema bilo je potrebno izvršiti izvesno prerasporedi vanje poslova koji sačinjavaju radno opterećenje. To je učinjeno drugačijom organizacijom posla na sistemu. Kaime^ svi mogući poslovi su svrstani^u tri različite kategorije prema tipu opterećenja koje unose u sistem. U prvoj eu bili pretežno interaktivni procesi sa malim zahtevima za procesorskim vremenom, ali sa druge strane veoma osetljivi na dužinu vremena odziva. Drugu su činili poslovi razvijanja i testiranja programa, t,^. mešoviti interaktivni poslovi sa mnogo većom, ali ipak ograničenom potrebom za procesorskim vremenom. Ka kraju, u treću grupu su spadali, uslovno rečeno, tipično eksploataoiono onjentisani poslovi sa velikim obradama velikog broja podataka i mnogo utrošenog procesorskog vremena. Takva raspodela uslovila je i organizaciju posla na sistemu. Svi procesi iz prve grupe se raspoređuju sa najvišim prioritetom ali sa veoma ograničenim procesorskim vremenom, zatim dolaze procesi sa nižim prioritetom ali dužim iznosom procesorskog vremena, i na kraju procesi koji nemaju vremenskog ograničenja ali itn je prioritet najniži. Ova raspodela se temelji na rezonovanju da će procesi sa najvišim prioritetom brzo dobiti procesor, ali će go zbog svog karaktera (pretežno U/I) i brzo osloboditi, dobijajući na taj način svoj neophodni brzi odaiv, i ne izazivajući pritom zastoj kod ostalih procesa. Korisnici su mo-tivisani za poštovanje discipline raspoređivanja zbog nemoniućnosti obavljanja poslova ukoliko se prekorači određeno vreme, a između serijskih repova iz kojih se inicira i ograničava egzekucija procesa, u grupama sa nižim prioritetima postoji povratna veza koja omogućava prelazak poslova (koji čekaju) iz jednog u drugi rep, kao i dinamično podešavanje prioriteta ukoliko neki od praćenih pokazatelja učinka indicira da je opterećenje na sistemu takvo da se to može dopustiti. NEKOLIKO REZULTATA I ZAKLJUČKA RAZMATRANJA Upoređujući novodobivene rezultate sa onima iz ranijih merenja na "praznom" sistemu, kao i na sistemu sa 8 korisnika, dobije se predstava koliko iznosi promana učinka prouaro kovana promenom radnog opterećenja. Najindika-tivnije u tu svrhu može poslužiti vreme odziva odnosno njegov faktor produženja. U tablici su navedeni faktori produženja glavnih tipova pro cesa od kojih je bilo sastavljeno radno optere ćenja (respektivno, terminalska sesija, razvijanje programa, analiza konstrukcija, lični do hodak) za sisteme sa 8 i 16 korisnika, i odfjo-varajuća apsolutna vremena na praznom sistemu; Proces TERM CMWC RZKOS PLATA Vreme na "praznoiii" Faktor produženja sistemu (min.) 8 koris, 16 kori s. Stil 5:55 9:08 2.7 2.8 2,5 2,7 'V,e 5.2 5,'' Kao sto se i moglo očekivati, najmanji faktor produženja imaju procesi ko.n ririi-laju u takozvanu prednju obredu, za razliku od onih iz po zadinakej što je i normalno, sa obzirom na nji hov koncipirani položaj prilikom raspoređivanja za obradu. U sledećoj tablici su navedeni faktori produženja za nekoliko od najčešće korištenih interaktivnih lionondir Komanda Vreme na "praznom" Faktor produženja sistemu (sek.) 8 koris. 16 koris. BIW5CT0RT 15 4,1 copy (1 disk) 2 5 COFT (2 diska) 2,2 5,2 6 DEL (looo bi.) 1 2.5 6 DEL (2oo bi.) 1 2 6 EDT/PINII 2 1,6 2,2 EDI/IKSERO! 1 1,8 EDI/DEIE-CE 1 EDI/SUBST 1 1,4 ■ 2 Ukupni faktor produžen,-j a za sve komande ia skupa komandi iznosi nasuprot vrednosti od 2,8 za isti skup komandi na sistemu sa 8 korisnika. Ono što Je bilo reäeno prilikom raerenja u prethodnim izlaganjima važi i ovde. Vreme odaziva .-Je komponenta koja 'trpi najviše promena, dok, se dru^e manje ili veoma malo me-njaju. Još viäe, 'vreme odziva ,ie plavni, a često i jedini kriterijum ko,iim korisnici vred nuju sisteo i usluge koje im on pruža. Zbog toga je kod svih merenja i prezentiranja rezultata njemu bilo posvećeno najviše pažnje. ■ U posljednjoj tablici su prikazani neki od parametara učinka sistema za 16 i (u za[^-radi) 8 korisnika, koji su dobiveni DISPLAY prosramom (svedeni na broj u sekundi). direktne U/I operacije .... t-8,04 (40,2^) spremniSke U/I operacije .. 12,42 (10,45) donošenja stranica........4-2,27 (55,61) učitane stranice ....................18,8? (11,12) zapisane stranice ..................14,58 (5,75) otvorene datoteke ..........1,92 (1,21) unošenja..................0,91 (0,01) donoSenja za oper, sistem , 1,47 (1,22) Konačno merenje pokazatelja učinka Je po tvrdilo da se sistem, doduše veoma opterećen, ponaša u skladu sa očekivanjima i dobro podno si radno opterećenje. Faktor produženja se kreće oko 4 i 5 što Je, s obzirom na uslove, sasvim u oltviru optimističkih proKnoza. Što Je još važnije, analiza kumulativnih pokazatelja učinka sistema je pokazala i potvrdila ■ postojanje visokog stepena prilagođeftosti, jer skori i nije bilo, ili Je to bilo veoma kratko, procesa spremnih za obradu koji su bi li izvan memorije (computable outswapped) što Je glavni pokazatelj "raaštimovanosti" sistema. Treba dodati da Je na sistemu ostala otvorena mogućnost takozvanog "finog" prilago-davanja, ali ona u sadašnjem stanju nije razmatrana zbog nestazmemosti odnosa poboljšanja koje bi se inoglb postići sa troškovima izvođenja. SISTEMSKI IN APLIKATIVNI PRIPOMOČKI SYSTEMS ANO APLICATIONS TOOLS IZBIRA JEZIKA ZA PODATKOVNO VODENE lì A Č UNALMKE P. KOKOL, M. OJSTERŠEK, V. ŽUMER TEHNIŠKA FAKULTETA MARIBOR B. STIGLIC - ISKRA AVTOMATIKA UUCLJANA UDK: 681.3.06 POVZETEK - V članku opisujemo lastnosti programskih jezikov, ki so primerni za programiranje podatkovno vodenih računalnikov. ADSTRACT - Language evaluation for data flow systems. In this paper properties of programming iangiiages suitable for data flow systems programming are given. 1. UVOD VeČina današnjih računalnikov temelji na več kot trideset (et stari von Neumannovi organizaciji. Ti računalniki so sekvenčni, opravijo eno operacijo na časovno enoto, imajo en sam procesni element, sekvenčno centralizirano kontrolno enoto, nizek strojni jezik in linearen pomnilnik s fiksno dolžino celic. Da se poveča hitrost takšnim računalnikom, je potrebno povečati hitrost posameznim enotam računalnika. Vendar maksimalna hitrost, omejena s hitrostjo svetlobe, ne bo zadoščala za kompleksne Izračune, kakršne lahko pričakujemo v prihodnosti. Zato računalniki prihodnjih generacij temeljijo na arhitekturah, ki dovoljujejo paralelno delovanje in s tem omogočajo, da se mnogo operacij Izvrši naenkrat. Od paralelnih đrhitektur, ki veliko obetajo, so za nas zanimive podatkovno vodene arhitekture. Delovanje teh je asinhrono, kar pomeni, da vrstni red izvajanja operacij ni določen z nekim centralnim kontrolnim mehanizmom, ampak se operacije izvršijo takrat, ko imajo na voljo vse potrebne vhodne argumente. Podatkovno vodene programe predstavimo kot usmerjene grafe, katerih vozlišča so operacije, povezave pa predstavljajo pretok podatkov, zato jim pravimo grafi pretoka podatkov. Dobre lastnosti podatkovno vodene arhitekture so: a) asinhrono proženje, b) velika možnost paralelnostl, c) velja pravilo enkratne prireditve, d) nadzorne ali kontrolne enote niso potrebne, Slabosti podatkovno vodene arhitekture so: a) da je potrebno pri vsaki operaciji s polji ali zapisi prenesti celoten podatek, kajti podatkovno vodeni modeli nimajo pomnilnikov, kamor bi te podatke spravljali, b) da v primeru, ko algoritmi vsebujejo premalo paralelnostl , so te arhitekture manj učinkovite kot kon^ trolno vodene. Zaradi naštetih slabosti podatkovno vodeni računalnik ni primeren za splošno namenske računalnike,. Njegove dobre lastnosti pa kažejo, da je uporaben za vodenje procesov, robotiko in superračunalnike. 2. PROGRAMSKI JEZIKI V zadnjih letih so bili razviti mnogi programski jeziki, ki omogočajo hkratno Izvajanje programov {Ada, Moilula, Concurent Pascal, Edison, razni dialekti Fortrana... ). Slabost teh jezikov je, da so jezikovni konstrukti, ki omogočajo hkratno izvajanje programov, le pripomoček programerju, da pokaže prevajalniku, kje so možne paralel-nosti. TI jeziki so nenaravni, kajti prilagojeni so sistemom, na katerih se Izvajajo, ne pa načinu, kako človek (programer) razmišlja. Če opazujemo razvoj programske opreme, na eni strani,vidimo, da se je pojavila t.i. "softverska kriza", ki bi jo lahko rešili z uvedbo mnogo višjega programskega jezika, ki bi zadovoljeval množico zahtev t.i. "referential transparency" /1/■ Na drugi strani, pa razvoj materialne opreme z uvedbo Vi^SI teži k vse večji paralelnostl in k vse bolj paralelnim arhitekturam. Tudi jeziki, ki bi ustrezali takšnim arhitekturam, bi morali zadovoljevati natanko enake zahteve kot so zahteve "referential transparency". 2.1. Paralelnostl v programskih jezikih Vidimo, da tako razvoj materialne kot razvoj programske opreme zahteva uvedbo jezikov, ki bi omogočali enostavno (blizu človekovemu načinu razmišljanja) in učinkovito Izražavo paralelnostl. Zato si poglejmo, na kakšne načine se paralelnostl pojavljajo v programskih jezikih/14/: a) eksplicitna paralelnost - pomeni, da je program naravno paralelen (inherentna paralelnost), alt da so za paralelnost dodani posebni jezikovni konstrukti (forali zanke, cobegin itd.), b) lokalna paralelnost - pomeni, da se paralelnost odkri-- va v majhnih delih programa ( interproceduralno) kot so bloki, zanke itd., c) globalna paralelnost - pomeni, da Je za odkrivanje paralelnostl potreJMia neka globalna intraproceduralna analiza, ki je nepraktična in neučinkovita, d) neodkriljiva paralelnost - ta nastane zaradi odvisnosti med podatki ali zaradi neučinkovite predstavitve programa.. Postopkovni programski jeziki z globalnimi spremenljivkami, stranskimi efekti in nestrukturira-nimi jezikovnimi konstrukti (GO TO, aritmetični if stavek) vsebujejo v glavnem neodkriljlve paralelnostl. P-..ralelnost lahko odkrivamo na treh nivojih: a) na algoritemskem nivoju (npr. program v zelo visokem programskem jeziku ali posebni paralelni algoritmi) odkrivamo paralelnostl, kadar programski jezik omogoča zadostno abstrakcijo algoritma in vsebuje veliko eksplicitnih paralelnosti, b) na nivoju izvornega jezika (npr. program v visokem programskem jeziku) odkrivamo paralelnosti s pa- aebniin predprocešorjem. Te pàràlelnòsti zaradi slabe reprezentacija ne moremo odkriti na algoritemskem nivoju, c) v času izvajanje (npr. program v strojnem kodu) odkrivamo paralelnosti dinamično. To postane nepraktično, kadar se mora paralelno izvesti mnogo instrukcij in torej ni primerno za moderne VLSI arhitekture, ki omogočajo hkratno Izvajanje več tisoč Instrukcij. 2.2. Lastnosti programskih jezikov Programske jezike lahko razdelimo, kot so prikazani na sliki 1. Programi pisani v postopkovnih jezikih imajo naslednje pomembne lastnosti: a) Uporabljajo model s stanji, kar onemogoča učinkovito paralelno izvajanje in zahteva uporabo arhitekture s stanji. b) Uporabljajo kompleksne nematematične strukture, s čimer otežfcočijo ali celo onemogočijo odkrivanje paralelnosti ter optimizacijo, preslikavo in verifikacijo programov. c) Uporabljajo globalno okolje, kar povzroča velike odvisnosti med podatki, s čimer omejujejo paralelno izvajanje in dekompozicijo programov. d) Izvajajo operacije z eno besedo podatka na časovno enoto, tudi če mora biti ista operacija izvedena z mnogo besedami (von Neumannovo ozko grlo). e) Preslikavaj o "pomnilnik" v "pomnilnik", zaradi tega so nefleksibilni in jih je težko sestavljati v obsežnejše programe. f) Povzročajo veliko semantično vrzel med koncepti visokih programskih jezikov in koncepti obstoječih arhitektur. g) Omogočajo samo deterministično programiranje, zaradi tega jih je težko uporabljati za reševanje problemov umetne inteligence, ki zahteva heur i stično obdelavo podatkov. V nasprotju s postopkovnimi jeziki pa nepostopkovni jeziki vsebujejo mnogo lastnosti, ki omogočajo Izražava paralelnosti, enostavno verifikacijo programov, sestavljanje programov v kompleksnejše programe idr. Lastnosti posameznih jezikav so podane v tabeli 1, kjer imajo okrajšave naslednji pomen: S model s stanji N programski jezik vsebuje nestrukturirane konstrukte G programski jezik uporablja globalno okolje P paralelnost SE možnost sestavljanja manjših programov v večje PR postopkovni jezik NPR nepostopkovni jezik V možnost matematične verifikacije programov R repelativen - vsebuje konstrukte za ponavljanje (npr. zanke) ND omogoča nedeterminlstično programiranje. Značilnost definicijskih jezikov je t. i. pravilo enkratne povezave. Zaradi tega pravila so definicijski jeziki zelo primerni za verifikacijo programov in za programiranje podatkovno vodenih računalnikov. L<}gični jeziki omogočajo paralelna in logično programiranje. Predvideni so za programiranje računalnikov pete generacije in tudi za podatkovno vodene računalnike. Objektni jeziki uporabljajo kot osnovo t.i. sporočilo /objekt - model in ne bolj znan operator/ operand - model. V objektnih jezikih definiramo objekte ali razrede objektov (ti imajo skupne lastnosti). Objekti vsebujejo tako deklaracijo (opis) podatkov kot postopke za obdelavo teh podatkov. Če hočemo izvršiti kakšno operacijo, pošljemo določenemu objektu sporočilo, ta izvede ustrezno akcijo ali pošlje sporočilo drugemu objektu. LlSP-ovskl in čisti funkcijski jeziki vsebujejo tri vrste struktur: procedure, izraze, spremenljivke in konstante. Glavne značilnosti funkcijskih jezikov so: - ne vsebujejo ponavljalnih struktur, prireditvenih stavkov in spremenljivk, - preslikujejo objekte v objekte (teh objektov ne smemo zamenjati z objekti v objektnih jezikih). Čisti funkcijski jeziki so zelo primerni za programiranje podatkovno vodenih računalnikov kakor tudi za druge arhitekture prihodnosti kot so Magov /8/ računalnik, redukcijski računalnik idr. Programiranje v redukcijskih jezikih je dosledno funkcijsko in temelji na enostavnih matematičnih konstruktih, ki predstavljajo strukturo binarnih dreves, iz katerih z re-kurzivno uporabo sestavljamo kompleksnejše izraze. Redukcijske jezike uporabljamo predvsem za programiranje redukcijskih računalnikov. Vsi trije tipi jezikav pretoka podatkov (JPP) so si zelo podobni v svojih osnovnih lastnostih. Vsi predstavljajo abstrakcijo grafa pretoka podatkov,za neki algoritem. Razlika med grafičnim in visokim JPP je podobna kol razlika med opisom algoritma v psevdokodu in opisom algoritma z grafičnimi pripomočki, kot so npr. diagrami poteka. Kodirni JPP pa je s posebnimi instrukcijami opisan graf pretoka podatkov. S stališča verifikacije, dokumentacije, preglednosti in obsežnosti (programa, ki obsega samo nekaj vrstic teksta v visokem JPP, bi obsegal več strani in množico povezav v grafičnem JPP) mislimo, da je iz trojice jezikov pretoka podatkov vi s oki J PP najbolj ši. Visoki JPP vsebuje elemente (sintakso) postopkovnih jezikov in semantiko čistih funkcijskih ter definicijskih jezikov. Uporabljamo jih za programiranje podatkovno vodenih računalnikov in za avtomatično programiranje. 3. LASTNOSTI JEZIKA PRIMBRNECA ZA PODATKOVNO VODENI RA ČUNA I.NIK (PVR) Da bi jezik ustrezal podatkovno vodenim arhitekturam,. ■ mora ugoditi zahtevama; I, Pretok podatkov se mora ugotoviti iz operacij programa. II. Potek izvajanja mora biti enak pretoku podatkov. Kadar programski jezik ustreza gornjima zahtevama, mora imeti naslednje lastnosti ; a) lokalnost efektov, b) ni stranskih efektov, e) pravilo enkratne prireditve, d) posebni konstrukti za Iteraci je, e) ni nestrukturiranih konstruktov, f) ni zgodovinsko občutljiv, g) ni globalnega okolja, h) ni spremenljivk (imena so le označbe vrednosti) i) primeren za arhitekture z asinhronim proženjem. Zgornje lastnosti omogočajo: - enostavnejšo verifikacijo programov, - paralelnosti se ugotavljajo interproceduralno (lokalna paralelnost), - paralelnosti se ugotavljajo na alg or Item s kem nivoju (program je zelo dobra abstrakcija algoritma), - jezik je bolj razumljiv uporabnikom in predvsem začetnikom , - graf pretoka podatkov je naravna preslikava programa, - ustreza VLSI arhitekturam. Vrednosti in imena Jazikl, primerni »a programiranje PVR morajo biti vrednostno orientirani, kar pomeni, da v programih uporab-Ijajmo zgolj vrednosti, imena pa vam predstavljajo le označbe teh vrednosti. Lokalnost efektov V postopkovnih jezikih je mogoče ista imena za spremenljivke uporabljati v različne namene - v različnih delih programa. Če ne bi bilo enakosti imen, bi te dele programa laliko izvajali paralelno. Odkrivanje takšnih paralelnosti Je mogoče, vendar je enostavneje omejiti delovanje imen le na neko določeno območje programa in kontrolirati vhode in izhode tega območja. Še bolje je, če se izognemo globalnim imenom, proceduram dovolimo le dostop do svojih parametrov in strukturiramo programe v bloke. Lokalnoat efektov torej onemogoča odvisnosti podatkov, ki so v različnih blokih. Stranski efekti J .....ime op.....operator. Ta stavek je v nasprotju s pravilom P 1, ker zaradi pravila P 2 1 uporabljamo prej, preden ga definiramo. Vendar so stavki takšne oblike zaradi Ueracij potrebni, l're-poved uporabe nestrukturiranih Jezikovnih konstrukiov nam omogoča, da z ustrezno prireditvijo while-do zanko omogočimo iteracije, ne da bi kršili ostale lastnosti. Tako prirejena while-do zanka vsebuje: ( l> deklaracijo in inicializacijo Iteracijskih vrednosti, (a) test, če naj se zanka konča, (3a) če se zanka konča, definicijo izhodnih vrednosti, (3b> če se zanka ne konča, izraze, ki gcncrirajo novo vrednosti iteracijskih imen. Čeprav se iteracijske vrednosti spreminjajo, se to zgodi le v prehodu iz ene iteracije v drugo, tako da pravilo enkratne prireditve še vedno velja, četudi samo v sklopu ene iteracije. Zgodovinsko občtitljivo računanje Odsotnost stranskih efektov je nujen pogoj za enakost med pretokom podatkov in potekom izvajanja. Medtem ko lokal-nost efektov zahteva le nekatere manjše spremembe v jeziku, odsotnost stranskih efektov zahteva spremembo načina obdelave podatkov. Zaradi tega prepovemo globalna imena in dodamo pravilo, da procedura ne sme spremeniti ničesar - niti svojih vhodnih parametrov, S tem odstranimo enostavne stranske efekte, ostanpjo pa stranski efekti, ki nastanejo zaradi obdelave sestavljenih podatkovnih struktur ( npr. polja ali zapisi ), t¥i teh je namreč skoraj nemogoče ugotoviti, kakšne odvisnosti podatkov povzroči sprememba posameznega elementa sestavljene podatkovne strukture. V takšnem primeru je treba vzeti največjo možno odvisnost podatkov, s čimer zelo zmanjšamo možnost paralelnega izvajanja. Temu se izognemo, da obravnavamo sestavljene strukture enako kot skalarne, ter da v procedurah parametre kličemo z vrednostjo in ne z referenco. Posledica tega je, da moramo pri spremembi vrednosti posameznega elementa sestavljene strukture zgraditi celotno novo strukturo. Pravilo enkratne prireditve V prejšnjih razdelkih smo se odločili za vrednostno orientiran način programiranja. V tem načinu prireditveni stavek ne pomeni več prireditve vrednosti spremenljivki, ampak zgolj povezavo med Imenom na levi in vrednostjo na desni strani prireditvenega stavka. S tem postane program enak sistemu matematičnih enačb, kajti kjerkoli v programu lahko zamenjamo izraz na desni z ustreznim imenom na levi strani, ne da bi s tem kakorkoli spremenili pomen programa. Postavimo še naslednji pravili; Pl: Ime se mora povezati prej preden ga uporabimo, P2; Ime lahko povežemo samo enkrat. S pravil! P 1 in P 2 in vrednostno orientiranim načinom programiranja dosežemo, da v programih ni spremenljivk in da je prireditveni stavek kar definicija imena. Iteracije Zaradi pravil P 1 In P 2 se pojavijo problemi pri iteraci j ah, ki uporabljajo prireditvene stavke oblike: 1 : = I op J kjer so: I .....iteracijsko ime Ena pomembnih lastnosti, ki jih mora imeti programski jezik primeren za podatkovno vodene računalnike, je zgodovinska neobčutljivost. Zgodovinska neobčutljivost pomeni, da procedure ne vsebujejo spremenljivk, v katere bi shranile podatke med posameznimi klici procedur. To pomeni, da procedure nimajo zmožnosti "pomnjenja", kar v sklopu z ostalimi lastnostmi predstavlja veliko težavo pri računanju v realnem času. Prepoved globalnega okolja in nestrukturiranih konstrukt ov Uporaba globalnega okolja in nestrukturiranih konstruktov nam oteži ali celo onemogoča odkrivanje paralelnosti in analizo pretoka podatkov. 4. VREDNOTENJE JEZIKOV V tem razdelku bomo ovrednotili jezike glede na lasnosti, ' ki jih mora imeti programski jezik za učinkovito programiranje podatkovno vodenega računalnika. Poleg navedenih lastnosti v razdelku 3 smo ocenjevali še dve pomembni splošni lastnosti : - preglednost programa in - možnost matematične verifikacije programov. Pri vrednotenju jezikov upoštevamo naslednje ocene; + . jezik Ima potrebno lastnost, 0 jezik lahko ima potrebno lastnost, vendar se to od jezika ne zahteva, jezik nima potrebne lastnosti. Spodnjo mejo primernosti dobimo tako, da seštejemo lastnosti označene s +, zgornjo pa tako, da spodnji meji prištejemo lastnosti označene z 0. Tabela 2 vrednoti posamezne jezike z upoštevanjem lastnosti od ado i. Vrednotenje logičnih in objektnih jezikov ni realno, ker se struktura njihovih predstavnikov (Prolog, Smalltalk) ne ujema popolnoma s shemo našega vrednotenja. Iz tabele vidimo, da čisti funkcijski jeziki, redukcijski jeziki in visoki JPP vsebujejo vse zahtevane lastnosti. Visoki JPP so po sintaksi jezika bližji postopkovnim jezikom kot funkcijski ali redukcijski jeziki in zaradi tega bolj sprejemljivi za uporabnike vajene postopkovnega stila proi.ii-niiii-ranja. 5. ZAKUUČEK V članku smo na kratko opisaU jezike, ki so primerni za programiranje podatkovno vodenih arhitektur. Programske jezike smo razdeliU v več skupin in ocenili njihove lastnosti. LITERATURA 1. Data - flow computers, IEEE Computer, Vol. 15, No. 2, Februar 1982. 2. Ackerman, V. B. Dennis J. D., VAL-A Value oriented Algorithmic Language, Preliminary Reference Manual, MIT Laboratory for CS, W79. 3. Japanese Computer Technology Culture, IEEE Computer, Vol. 17, No. 3, Marec 1984. 4. Treleavöi, P. C., i.dr., Data - Driven and Demand -- Driven Computer arhitecture, Computing Surveys, Vol. 14, No. 1, Marec 1982. 5. Lerner, J. E-, Data Flow arhitecture, IEEE Spectrum, Vol. 2t, No, 14,April 1984. 6. Kakol, P., Stiglic, B., Žumer, V., Pretvorba aplikativnega jezika v grafe pretoka podatkov, ETAN 1984, Split. 7. Turner, J. D., Sequin, C,, Discusion cm Very High Level Languages. 8. Backus, J., Function - level computing, IEEE Spectrum, Vol. 19, No. 8, August 1982. 9. Backus, J., Can Programming Be Liberated from the von Neumman Style?, Communications on the ACM, Vol. 21, No. 8, August 1978. 10. Cox, J, B., Message Object programming. An Evelutionary Change in Programing Technology, IEEE . Software, Vol. 1, No. 1, January 1984. 11. O'Keete, R. A., Prolog compared yrfth USP?, SICPWN noUces, Vol. 18, No. 5, Maj 1983 12. Fifth G^ieratlon Computer Systems, edited by T. Moto - oka. North Holland, Pub. Co., 1982. 13. Berkling, K.J., Reduction Languages for Reduction Machines, Proc. Second, Int. Symp. on Computer Architecture, April 1975. 14. Flynn, M. J., Hennessy, J. L. Parallelism and Representation Problems in Distributed Systems, IEEE Trans, on Computers, Vol. 29, No. 12, December 1980. 15. Hoare, C. A. B., Programing: Soucery or Science, . IEEE Software, Vol. I, No. 2., April 1984. 16. Kokol P., Aplikativni jeziki in njihova interpretacija v realnem času, Magistrska naloga, TF ^ Maribor. programski jeziki Igoritmični matrični zorčni 'inicijski unkcijski (aplikativni) ■jeziki pretoka podatkov (JPP)^ ogični JPP ijektnL \^odlrsü JPP Visoki JPP USP-ovaki isti funkcijski --redukcijski Slika 1: Delitev programskih jezikov JEZIK t; S N p se ra/ijpr fkedstavntk V R ND ^ORTRANski DA da da možna relativno dobra pr fortran, basic slaba da ne ALGOLski da 1 možno da možna slaba . H! algol, pascal slaba da ne procesni DA možno da možna slaba pr pearl, ltr slaba da NE matrični da da da ne da FR apl slaba da ne vzorčni DA DA da ? ? pr SN ob ol, rasbol slnba da ne ieflnlcijski možno ne možno inherentna dobra NPR Lucid zelo dobra možno NE USP-ovski DA NE da II možna NPR LISP možna DA da :Lsti funkcijski NE NE NE TI zelo dobra NPR EP zelo dobra i NE i DA redukcijski možno NE NE " zelo dobra NPR RED zelo dobra ne da grafični JPP NE NE NE ri dobra NPR fgl, gpl NE da ine kodirni JPP NE ne NE •t dobra NPR / NE DA ; NE visoki JPP NE NE ■ NE II dobra • NPR ID, VAL zelo dobra da ne [oglčnl DA + NE da ir možna NPR PROLOG, KL-0 možna NE DA objektni DA NE ... DA NE dobra NPR SMALLTALK, OBjkcTIVE-C možna da možna na konvencionalnih arhitekturah v nekaterih dialektih Tabela 1: Lastnosti jezikov iazlk a b C d e I g h i VER. PREG. primernost jostopkovnl - - + - - - - ■ - - + 2-2 definicijski 0 0 + 0 + 0 0 + + + 0 S - 13 :lsti funkcijski * + KH + + + +•■ + + + + 11 - 11 JSP-ovskl fun. + 0 - + + - 0 - 0 0 • 3-5 'èdukcljskl + + K + Ml + + + + + + + + 11-11 jrafičnl JPP + + + + + i- + - 0 9-10 visoki JPP + + + + + + + + + + + 11 - 11 codimi JPP + + + + + + + + + - - 9-9 ogični J + K + KK + + 0 0 + 0 0 5-11 sbjektni + 0 0 0 + - 0 0 - 0 + 3-9 VER. verifikacija PREG. preglednost sploh ni prireditvenih stavkov jezik Tabela 2: Vrednoteivje jezikov ** jezik ni repetativen UDK: 681^,06 FOPMATER TEKSTA IZVORNOG PROGRAMA ZA PASCAL Z.VUKAJLOVIC^, A.ZELE^, H.OVCINA^ 1) Elektrotefinički fakultet Sarajevo 2) IRIS - Energoìnvest Sarajevo 3Ì UNIS-INSTITUT Sarajevo KRATAK SADHŽAJ': U radu Je oplaan foruater teksta izvornog programa za programski Jezik PASCAL. Izborom odgovarajućih vrijednosti za opcije omogućuje se velika fleksibilnost u obliku uređjenog teksta, koji Je uredjen u skladu sa statiČkiii! nivoima ugnježdenja, a prem sintaksnin pravilima Jezika. TEXT FORHATER OF SOURCE PROGRAM FÜR PASCAL: In this papaer i3 described text formater of source program writen in programming■language PASCAL. Its rich set of options for formating provides great flexlbilitl in formating the text, kiiich is arranged according to static nesting levels and sintactic rules of progranming language. 1. UVOD Kod Jezika sa blokovskom strukturom (a i uopšte) vlzuelna preglednost programa Je dosta bitua ze njegovu čitljivost, S toga, programer u grocesu pisanja programa istu povećava na taj način Što slotaksne jedinice koje su na višem statičkom nivou ugnježdenja "uvlači" pokazujući na taj naćln statičku strukturu programa. Medjutim, rijetko se dešava da u programu nema grešaka, što ina za posljedicu da se prvobitna "čitljivost" pogoršava u procesu Izmjene prograna. Da bi se čitljivost ponovo upostavila, potrebno Je tekst izvornog programa urediti u skladu sa blokovskom strukturom jezika, odnosno formatirati ga. U ovon radu Je prikazan jedan takav formater teksta izvornog programa za PASCAL'. Nastao je na bazi (dobrih i loših) iskustava u korištenju formatera teksta izvornog programa za CMSI PASCAL [1] , kao i iskustava stečenih u realizaaiji fornatera za programski Jezik EDISON [2]. Karakteristika formatera [1] Je da korisnik nema velikih iro^ćnosti u Izboru oblika uređjenog teksta. Iskustva u realizaciji fornatera [2] su bila veoma korisna i u datoj realizaciji, ali treba napomenuti, da PASCAL, u odnosu na EDISON, ima sintaksu koja Je manje "pogodna" za formatiranje, što je, u krajnjoj liniji, uticalo na nešto drugačiji pristup u projektovanju i realizaciji. Oblik uređjenog teksta se definiše opcijama, koje su opisane u poglavlju 2 rada, U poglavlju 3 je opisan način realizacije, dok su u dva posljednja navedeni zaključci i literatura. z. IZBOR OBLIKA UREIVJENOG TEKSTA I OSTALE MOGUĆNOSTI FCRMATERA Karakteristika realizovanog formatera teksta Izvornog programa Je, da programer, izborom odgovarajućih opcija, može uticati na oblik uređjenog teksta. Korisnik opcijama može definlsatl; - maksimalnu dužinu linije formatiranog teksta, - maksimalan broj slntaksnih Jedinica u jednoj liniji, posebno u deklarativnom, a posebno u iskaznom dijelu programa, - način lapisa riječi, rezervisanih i identifikatora, - broj !Bjesta_za uvlačenje sintaksnih Jedinica tia višem statičkom nivou ugnježdenja, - broj tnjesta za uvlačenje nastavka slntaksnih jedinica koje nisu mogle stati u jedan red, - ispis rezervlsane riječi END u posebnom redu, - ispis teksta po stranicama, sa numerisanim 1iniJana, a uz izbor veličine stranio®, i - signalizaciju leksičkih i slntaksnih grešaka, ubacivanjem specifičnog komentara na mjesto greške. OdredJene vrijednosti za sve opcije su predefinisane, a programer može birati vlastite, definišući ih na sljedeći naćln: "/" ime.opcije ":" vrijednost Ime opcije se zadaje Jednim znakom (slovom), a vrijednost nenegativnim cijelim brojem. Na raspolaganju su opcije L, M, P, D, I, U, N, E i S. Opcijom L se bira maksimalna duzina linije, koja ne raože biti duža od 132 znaka. Predefinisana vrijednost za ovu opciju Je 75 (znakova). Opcijom M se bira način Ispisa ključnih (rezervisanih) riječi i identifikatora. Može imati vrijednosti 1,2 i 3 (predeflnisano 1), a sa sljedećim značenjem: - 1 ; rezervlsane riječi se pišu velikim, a identifikatori malim slovima, - 2: 1 rezervlsane riječi i identifikatori se pišu nalim slovima, - 3: i rezervlsane riječi i identifikatori se pišu velikim slovima, napomenimo, da sa stanovišta korištenja velikih i malih slova, komentar ostaje neizmijenjen. Opcijama D i I se definiše maksimalan broj slntaksnih Jedinica u jednoj liniji, i to, posebno u deklarativnom a posebno u iskaznom dijelu programa, Predefinisana vrijednost za D je 1, a za I je 2, Opcijom P se bira mogućnost ispisa uređjenog teksta po stranicama. 0 tora slučaju,, linije izlaznog teksta se numerisu, a vrijednošću opcije se definiše veličina strane. Ova opcija se koristi samo u slučaju kada se uredJeni tekst želi koristiti za dokumentovanje, OpcijCTO U se definiše za koliko se mjesta sintaksna jedinica višeg statičkog nivoa ugnježdenja "uvlači" u odnosu na aintaksnu jedinicu Caa jedan) nižeg statičkog nivoa ugnježdenja (predefinisana vrijednost 2). Opcijom N se definiše za koliko je mjesta, u sljedećem redu, uvučen nastavak sintaksne Jedinice koja nije mogla stat u jednu liniju (predefinisana vrijednost 8). Opcijom E se deflniše gđje ae piše rezervisana rljeò EHD, sa kojom se završava neka slntaksna Jedinica (npr. složena rečenica). Nultom vrijednošću opcije se naznačava pisanje END-a u Istora redu u kajera Je i prethodni dio sintaksne jedinice, a nenultom vrijednošću se zahtijeva pisanje EMD-a u zasebnom redu. Opcija S se koristi u cilju signalizacije lekslčKih i sintaksnih grešaka. Naime, ako se izabere nenulta vrijednost ove opcije, onda se na mjesto greške ubacuje specijalan karakter, odnosno sekvenca (kkmmk). Opcije se mogu definlsatl na dva načina: - u tzv. komandnoj Uniji, uz ime izlazne datoteke, 1 - u okviru komentara koji započinje sa $, navodjenjem opcija iza znaka $. Mogućnost promjene vrijednosti opcija, navod jen Jein novih vrijednosti u okviru komentara, formateru daje dodatnu fleksibilnost u izboru oblika formatiranog teksta. Komentar se u opštem slučaju takodje uredJuJe, stin da postoji mogućnost kopiranja Istog u izvornom obliku, što Je naročito važno kod prevodilaca kod kojih se silazak na asesBblerskl nivo progratdranja ostvaruje pisanjem asemblerskog koda u obliku kcmentara. Kopiranje komentara u Izvornom obliku ae naznačuje sekvencom $C, na početku Istog. Ako se forsB tirar!je vrši korištenjem nenulte vrijednosti opcije P, na kraju listinga se daje popis korisničkih deflnlsanlh procedura 1 funkcija. Za svaku od njih se đaju podaci o; - broju linije u kojoj Je procedura (funkcija) definišana, - broju linije u kojoj započinje tijelo (iskazni dio), - tipu (P - procedura, F - funkcija i H - program), - načinu deflnisanja tijela (M za normalno definlsano tijelo, a F, odnosno E u slučajevima da tijelo procedure nadomješćuje rezervisana riječ FORWARD, odnosno EXTERNAL),,1 - imenu procedure. U stvari, uporedo se daju dvije liste, jedna alfabetaki uredJena, a druga prema redoslijedu pojavljivanja. U drugom slučaju, imena procedura (funkcija), deflnlsanlh na višem statičkom nivou ugnježdenja, su "uvučena" u odnosu na imena procedura (funkcija) na nižem statičkom nivou ugnježdenja, odražavajući na taj način statičku strukturu programa. 3. REALIZACIJA FORMATERA Formater Je reallzovan u 14 faze; - faza prllagodjenja ulaznom tekstu programa, - faza leksičke analize, - faza alntaksne analize, i -. faza prilagodjenja željenom obliku izlaza. Faza prilagodjenja tekstu ulazne datoteke Je, u odnosu na realizaciju prikazanu u , pojednostavljena 1 svodi se na čitanje Jednog po Jednog znaka ulaz^g teksta, uz obradu separatora kraja linije, pri čemu se mora sačuvati samo posljednji simbol Jezika (u obliku niza koji se sastoji od Jednog ili više znakova, maksimalne dužine 100). Zadatak leksičke analize Je da prepozna odredjene bazne jedinice izvornog jezika, tzv. simbole ili leksičke jedinice Jezika, a koje ae koriste kao "ulaz" u sintaksnu analizu. Kao simboli jezika se mogu pojaviti: Identlflkatorl, llterall (različite konstante) 1 terminalni simboli (rezervIsane riječi, operatori 1 drugi separatori). Pored toga Sto treba da prepozna "klasu" simbola, leksički analizator ili tav. skaner treba da da 1 druge informacije o prepoznatom simbolu. Npr. ako Je skaner prepoznao Identifikator, treba đa dà infomaciju o kojeo! Je identlflkatoru riječ, za terminalne simbole koji Je to terniinalnl simbol ltd, U procesu leksične analize se vrši i obrada komentara, u okviru kojih se mogu pojaviti definicije novih vrijednosti opcija. Zadatak sintaksne analize Je da prepozna odredjene sintaksne konstrukcije, tzv. sintaksne Jedinice. Sintaksne jedinice se formiraju prema odredJenlm pravilima, definisanlm sintaksom Jezika. Sintaksna analiza se vrŠi sintaksnim analizatorom (graroatički analizator). Ulaz u sintaksni analizator Je niz simbola prepoznat u leksičkoj analizi, a izlaz je sintaksno ispravan (korektan niz simbola), U realizaciji je korištena analiza odozgo prema dole, i to metoda rekurzivnog upuštanja. U slntaksnoj analizi posebna pažnja posvećena je aspektu oporavka od grešaka. On obeabijedjuje sihhronizaciju izmedJu procesa analize i skanlranja simbola. Sirhronizacija se vrši: na početku sintaksne Jedinice, odnosno procedure kojom se data sintaksna jedinica analizira (prepoznavanjem "startnih" simbola, sa kojim data sintaksna Jedinica može započeti), na Izlasku iz procedure (prepoznavanjem regularnih / "sljedbenika", deflnlsanlh odgovarajući» konstantnim parametrom procedure), a i u saroj proceduri (prepoznavanjem karakterističnih simbola jezika). Faza prilagodjenja željenom obliku izlaza, reallzovana Je na način sličan realizaciji u [2). Odredjene razlike (zbog "nepogodnosti" sintakse PASCAL-a) se pojavljuju kođ izbora početnih pozicija pojedinih «gnježdenih sintaksnih jedinica. Uglavnom, u istoj liniji se ne mogu nalaziti sintaksne Jedinice različitih statičkih . nivoa ugnježdenja, takvih da Je posljednja od njih nižeg nivoa ugnježdenja, da nije drugi dio složene sintaksne jedinice. Npr. na izlazu se ne može pojaviti: BEGIN I:=l; J:Ì2; ■ K.-3 END; l:sl»l; "Pravilni" oblik iskaza Je: BEGIN I:Ì1; J;=2; K:=3 END; I; =1+1; 4. ZAKLJU(^K FornBter izvornog programa programski jezik PASCAL Je reallzovan na računaru PDP-n/£3, pod operativnim sistemom fiSX 11/H u Laboratoriji za elektroniku i računarsku tehniku, a u okviru projekta DIPSY (kojeg finansira SIZ Nauke BiH). Napisan Je u programskom jeziku visokog nivoa (PASCAL), pa je stoga veoma prenoslv. Osnovne karakteristike realizovanog formatera se ogledaju kroz njegove znatne ncgučnosti u izboru oblika Izlaznog teksta, i njegovoj fleksibilnosti (mogućnosti mjenJanja oblika uredjenog teksta u samom procesu formatiranja). Pored to^, formater ima veoca dobar mehanizam oporavka od grešaka (osobito u odnosu na [l] ). Za ra2llku od fomatera [ij , dati ne formira tabelu kros-referenol procedura (sa stanovišta definlsanja 1 korištenja), što se ne mora tretirati kao njego nedostatak (u pitanju je formater teksta, a ne analizator kros-referenol). Ono što ublažava ovaj nedostatak je činjenica da se, kod korištenja opcije P) daju liste, Jedna alfabetski ured J ens., e druga prema redoslijedu pojavljivanja deflnlsanlh procedura i funkcija. Iskustva stečena u realizaciji datog formatera će, najvjerovatnije, biti veoma korisna kod projektovanja 1 realizacije sintaksno orijentisanog editora za programski jezik PASCAL. 5. LITERATURA 1. FMT - Formater teksta izvornog programa za CMSI fescal 2. W.OVCINA: Formater teksta izvornog programa za EDISON, diplomski rad. Elektrotehnički fakultet, Sarajevo, 1965. 3. A.ZELE; Formater teksta izvornog programa za PASCAL, diplomski rad, Elektrotehnički fakultet, Sarajevo, 1905. 1. K,JENSEN, N.WIRTH: PASCAL User (Manual and Report, Springer Verlag, 1975. OFESACIJSKI BIBTEH ODOS Gol,ja Tat,lana, tlipl.ìnf^. Ke.lžar Bogdan, inae-. Dolenc Janez, dipl.inf^. ISKKA DKLTA I^A DELTA ISKRA DELTA UDK: 681.3.06 v članicu Je pocistn pref.leci opera C i,j ske p a sistema CDOS, To .1e sistem z izva.lan.iem v realnem rpsu, veS poslov hkrati in je eno sli veSuporabniFki mikroračunalniffki si.'ìtem. Je neodvisen ori CPU in periferije. Omogoča programiranje, ki. je postalo popularno zaradi .■Jisteraov tipa UNIX. Zapotavl.ia IBM PC IX)S 2.1 aplikacijsko okolje. The following article summarizes CDOS features. CDOS is a real-titje multitask:nf; operatini^ system, designed for single-and multiuser microcomputer STsteras, It is CPIJ and peripheral independent. Itfe proEramminp interface allows programminB that ViaB iiecome popular through UHIX type systeitsa vdt>i standard I/O and pipes. Provides IBM PC DOS 2.1 application enviroraents. I . Llvcfl y t*. "ianku hf'Atnk i Biste».-» r-oncurrent MJSi firme IHsital RenporKh, sibte« bp Jtttiko iiwä.-ia n« la hJ:ì mikrnttrocpsor .lih. Za f.vujp ilei ovan.-ih putrehii.je V5aJ S12 Kb RAM. Nudi mnlnoat uporabe 2tit> velikega diska. Pissn je tako, da Je neodvisen od mikroprocesorja in perl+'eriJe, Sistem de veCuporabnifiki all enóuoorabniäki veiprocesni in V realnem facu (multi-user ali sinslB-uBer. multits.skins> real-time >. Ob načrtovanju sistema co izbrali kriti^rije, ki noj jih sistem izpolnjuješ - funkcionalna kompatibilnost i IBM PC DOS 2.0, - kompatibilnost diskov i IBM F'C UOS 2,0, - funkcionalna kompatibilnost s CF'/M-eó 3.1, - konveriiJski Programi za CP/M-Bó 3.Ir - možnost Priključitve - motnost dinamiinesa prosramov. - orodja za delo z okni - uporaba srafike v oknih, - izvajanje v realnem £asu - asinhroni dogodki, - neodvisnost od centralnih procesnih enot < CPU >. - zaščiten Pomnilnik, - ve4-uDorabni4ki ali eno- uporabnifiki sistem, - vmesnik za dela z raCunaIn ièkimi mrelami (dodatek). standardnih terminalov, nalaganja kanalskih < luindouis ), < real-time). vmesnik za grafične rutine GSX (Graphics Eictension ), možnost deljenesa dostopa du sistema datotek, bolj pomembne »o performanse sistema kot velikost, absolutni minimum notranjega pomnilnika je 12B Kb, minimum notranjeaa pomnilnika za normalno delovanje jt,- S12 Kb, modularnost za delo krmilnih aplikacij v realnem času, orodja za Pisanje aplikacij, da so neodvisne od strojne upreoie (terminal, disk, CPU>, orodda, namenjena vključevanju interaktivnih naprav (terminali, srafične naprave, tastature ), programsko orodje naj bo tako kot na operacijskem sistemu UNIX (standardni vhud, izhod, Pipe), obstoječi proarami naj izkoriščajo nove možnosti v čim večji meri, omogoča normalno delovanje v primeru napak na vhodno/izhodnih napravah (full error recoveru nudi naj orodja za Pisanje aplikacij, ki uporabljajo več procesov ( »uiti-taskins ) in več oken ( »ulti-mindowins>, ■ omoHoča naj uporabo ló-bitnih tujih naborov znakov (tudi KANJI ' onosDČa naj seneraciJo sistema brez neželjenih značilnosti, ■ sistem naj bn zanesljiv, ■ sistem nad bo hiter. 3, Or9anli»clJa sistema slika 1« struktura operacijckeaa sistema Kot de vidno iz slike t> je zsra^Jen ii treh ledenih delovs Concurrent DOS programski r ki vsebude usluinostne powioine rutine, rutine za latJl doetop do sistema, aplikacije, rutine za uredanJe oken , VsebuJe rutirtef ki omosoisJo iJivajanJe prosramov i operacijskih sistemov CP/h ali PC-nos (Frunt-EndsJ, rutine nadzornega dela sistema (Supervisor) in rutine, ki pripravijo vse za delo s perit'eriJo (Resource Managers >l fizični del pa Predstavlja vse rutine, kl so odvisne od strojne opreme. To so kanalski proarami (device drivers). Vsi protrami, ki Jih sistem naloli z diska, tefeio neodvisno drua od drusesa, Vsak ima svoj del uporabniökeaa pomnilnika. 2.1. Urejevalci virov (Resource managers) Rutine za losično delo z diskom, koniolo, mrežOf pipami, tiskalnikom, risalnikom so zbrane v urejevalcu virov (Resource Manaser >. Ta predstavlja vmesnik med nadzornim modulom (Supervisor) in kanalskimi proarami (Device Drivers) za vsako napravo. Urejuje sistem datotek na disku, ki je lahko kar PC/naS 2.n hierarhični sistem datotek (Disk Reuource Manaaer ). Urejuje fizične konžolet kar vkldučuje ekran, tastaturo in mläko (Console Resource Manaaer). Ušaka t.l. konzula ima lahko eno ali več virtualnih konzol. Te so abstraktne naprave, ki se obnaSadu tako kot fizične naprave. Anlikacije kreirajo virtualne konzole s klicc« nadzornega modular kl dela z vsemi konzolami kot z datotekami, le da virtualno konzolnti datotek uporablja le za kontrolo konzole ne pa za izvajanje vhodno/izhodnih rutin. ProceSr ki kreira virtualno konzolor ima edini tudi kontrolo nad njo (nor, spreminja velikost oken, vsebino oken). Procesor Front End omosoCa izvajanje programov, oisanlh za IBM PC DOS 1.1 ali 2.n, sistem, za CP/M-8Ć ali CP/M-ÓSK operacijski sistem. Front Ends procesorji uporabljajo nadzorni modul. Ta kliče del operacijskega sistema, ki dela s periferijo (Resource Managers). Nadzorni modul določi orave riit^.no ~s. delo s peri^f^Ejrijo. Jedra sisitff^. ; Uii-eji. i-l^sla s is «».filini kom r olt, ... ill delo z mreiami. Kuntrolira caseDna rutine pri segmentaciji Poaini?nik£v Danuvna naloga Jedra je dodirivirov isroceffioia slede na njihovo prioriteto. Ce ima več procesov enako prioriteto, se izvajajo zaporedno tako. da se vsak izvaja določen čas (način ■'ound-rohifi ), Kot opcija so rutine, ki urejujejo (Network Resource Manaser). mreže Ureduje medprocesne komunikacije in sinhronizacije (Pipe Resource Management )> kar poteka s pomočjo datotek v pronnllniku. Uporabl.Har-.a so za erenaSanje sporočil enega proceaa v drusega ali za olnhrKhizaci jo akt.'vnesti . Ureiu.lt? delovanje risalnikov, tiskalnikov, portov in komunikacijskih naprav ( Miscellaneus Resource Manaser). Večinoma predada klic rror»sfl kanalske»!*'' orof^r^^r*". 2.2 Kanalski prosrani Kanalski prosrami so vttiesinilc med sistemov in ■fiiiinimi napravami. Kanalski prosram kontrolira veC naerav istesa tica (nsr.« enesa ali vet diskov). proces A plsanjE . PIPA vmesno _ shranjevanje proces B brande Concurrent POS omogoča menjanje strojne opreme I dinamifnim vključevanjem kanalskih prosramov med delDvanJem sistema. Kanalski protrami eo lahko stalno v sistemu ali pa so ijibrani in nalolerii ob nalas&niu sistema. 3 .' Delovanje siretena Sistem obravnava naprave s oomoCjo sistema datotek (file sustem), Vsaka datoteka, s katero sistem dela. dobi Številko (file number). Dostop do datoteke (branje ali pisanje) se irvaja'preko Številke. Tak naCin OMosofa kontrolne bloke, neodvisne od tipa datotek in branje, pisanje, neodvisna od naprave. Nadzorni modul tako na enostaven način usatovi, kateri interni modul je zahtevan-Sistem ima slobalno tabelo odprtih datotek. Standardne «tevilke datotek so« 0 - standardna vhodna datoteka ( "stdin " 1 - standardna izhodna datoteka < 'stdout' }, 2 - datoteka napak ( 'stderr'>. 3 - ukaina datoteli«, od koder je bil prosra« naloien . Te datoteke so odprte, öe preden se izvede prva instrukcija orosrama. riostop do datotek je sekvenCen ali poljuben. Datoteke so laèCitene i uporabnikovo in skupinsko identifikacijo. Ko -se uporabnik priključi na sistem, sistem zahteva seslo (password). Možna je tudi zaéCita celotnega diska. slika 2« uporaba PiP Pròtesi lahko uporabljajo pipe. Proces A piSe v vmesni pomnilnik, te je podatkov preveč, proces A Caka. da proces B prebere podatke in mu tako dovoli nadaljevanje pisanja. Tudi Pri branju sta procesa slnhronirirana. Slika 3 ilustrira asinhrono branje. Ko aplikacija odPre datoteko, navede-njeno ime. v katerem je določena tudi naprava, kjer je datoteka (devicespathname ), Sistem vrne karakteristično fetevilko datoteke, s pomočio katere bo aplikacija komunicirala z nadzornim modulom. Ta izbere ustrezen urejevalec virov (Resource Manager), ki s pomučjo étevilke datoteke izbere pravo enoto. Kanalski Pr-osrami vsebujejo del kode. ki skrbi za sinhrono delovanje in del, ki skrbi za asinhrono delovanje. Sinhroni del je odgovoren za startanje I/O dogodka in za vrnitev v urejevalec virov (Resource Manager). ki je klical kanalski program. Asinhron del izvede I/O operacijo tn obvesti sistem, ko kon£a. Sistem ureja asinhron vhodno/izhodne operacije s PomoCJo zastavic. Prekinitvene rutine (Interrupt Service Routines) kličejo asinhrone servisne rutine, ki uporabljajo sistem zastavic. Molno je tudi delo s periferijo brez prekinitev ( Pollins ). aplikacija nadzornik < jedro ) urejevalec virov sinhroni del asinhroni del periferija asinhrono BRANJE Številka datoteke I/O zahteva izvaja druse aktivnosti wait Čaka na »««ko dosodk« return start I/O operacije FLAGEVENT , določi masko dogodka (vrne masko dogodka ) izvajanje l/D operacije de jansito dft delovanje PLAOSET postavi masko dogodka slika 3! doses aplikacije do periferije 4, ZaklJočele Concurrent DOS Je operacijski oiatem» hi upd&tev« in se zsleduJe po znanih operacijskih sistemih od primltivnesa CP/li do popularnega UNIX~a, Je popoIroid« konpatibilen z IBH PC Das 2.n operacijski« sistemom. Concurrent DOS Je operacijski sistem za delo v realne« Casur hkrati se lahko i iva Ja več orocesovp podpira eno ali ve£-uporabni&ke ratunalniSke sisteme. 5. Literatura Dišita 1 Research. Inc.. Concurrent 4.0 Operating Sustem« - Enternal Specification, 7.12.1984, - Sustem tSuide, 4,2,1985, - Prosrammer's Guide, aS.l.lVSS, - User's Guide, 28.1.1985« ■ft E q u I R E M e N T s E L I C I T A T I O N BY RAPID PROTOTYPING. Roland. T. niTTERflEIB Institut,für Informatik Urilverstät für C i 1 dungswi ssenschaf ten Klayenfurt A-9020 KLAÜENfURT AUSTRIA ABSTRACT UDK: 681.3.01 The paper discusses developing software prototypes for elle requirements. Vario win be identified, for- a requirements support rapid proto The paper concludes alternatives of pro evolvable prototypi the role of prototypi ng for . It emphasizes the role of itatlon and clarification of us alms for "prototyping" On this basis, requirements engineering environment to typing wll 1 be established. with a discussion about totyping environments for ng. , PROTOTYPING / DOES THE ANALOGY HOLD? Prototyping Is a word wfilcri comes from classical engineering disciplines. There, a ■Prototype" is defined to be the first full-scaie model of a new type or design of furniture, machinery, or vehicle", or in a more general ----- ,,ndividual that exhibits tne essential features ndividual or spgc[es - precursor; an i sense, "an of a late dual, quality, standard of tfn exetnplari an o. ..... ........, , .. t«rn (definitions according to Webs International Dictionary, 1976). or he es:________ .,---- original on which a complex that exemplifies or serves as senti al features hie th?nq®ii'"So[ie1ed'-^pat-lebsters Third New In classical engineering disciplines the lustificatio prototyping can tie founa..in the nature of industrial production professes. Before a ne« product Is placed on line, one better tests It as carefully as ^ the high setug costs for mass production are ion for ------ .. --------mss- production processes. Before a ne« product Is the assembly line, one better tes'' -- - possible. Tnus the high setup cos,. ... ______ ,____________ 'ncured on y for a version or the product which will most nkely succeed on the market. peering or for massr In engineering disciplines, such as civil eni archi texture,'where products are not destineL . _____ production, prototyping is not cotimon. These engineers-call heir small-scale versions of the final product "siodels". !itt even In mechanical engineering, the emphasis on proto-islgnl nto the subject area ng software are the main rea------------g number • i-tcj.i^a-d Tc ill 119 siufa 1 1 ty at >s which have a prototype de-;omputer simulations (models) isibinty of a new design , ^ IS desinine!. Bettér nslgfil nto th and tlie availability of mode fng software a.. .... ______ sons why mechanical engineers do no onger classify a sign group which stresses the development of a high nu______ of prototypes as "effective". They reserve this quality attribute rather for those groups wrifc"" ---------- 1 only ----'--------- , ..rateS dea Bettér of.mode veioped only after extensive e. , Remonstrated the technical feaslblnty In the light of this evidence, one might ask, whether the term "prototype" is not a misnoiner in the context of soft'- -ilopment. Shoyldn't.soft«; ..... ine, lare rather be produced phase structured develop- ware development. Shouldn according to a well discip ment cycle? If so, wouldn^ properly done,, fornai requ a clear specificati on, fo upon this specification? checks on this design co_______,,_________________ ions mechanical engineers perform be-prototype. Wouldn't a so .. be appropriate to demand a rements analysis culminating in owed by a design phase based ______ he vaiiSations and feasibility design cou d be accepted as a substitute for nations mechanical engineers perform being a prototype. Wouldn't a software-proto- ________ on ----- the computer-si fore hand-crafting a pr.____ ________ ___________ ____ type w superflous, because there are no high setup costs In software mass-production? After all, what signifies the attribute "rapid" in conjunction with Pt0tlt.yeir!g,;.as..s,.g. suggested the njm? of a WO! of varil ous pubi i cations?.In classical part the t tfe ., ..._____ r_____r------- -■ _________ engineering disc pllnes, the prototype being the very tirst item of a new pruducl is usually made by a pre-indiistriat production process; it is actually hand-crafted. Compared tu the indu'jtriiii mass-pruduction proce-js 'm the conveyur- bs-lt trii--. is ver-y slow, The need for prototyp-ing can best be seen when consldei-i nq programs as components of the system which constitutes their operating environment. To aid this perspectivi?, ed programs Into three categorii??, e, E-type for embedded and P-tyt-.e as Lehnann^fm ctjssi s-type for specifyiib the Tnterrnedlate t las cificatio^ For the category of S-type programs, a clean ma-specificatiofi might suffice to define the behav system to be built. Therefore, one might assume that prototypes would.be superflous for them. However, Suart-jut and Ba zer gave counter examples which showed a definite intertwinning of specification and implementation even for re atlvely simple programs. classification, /-type clean mathemi»t ii-;il lour of tf!«-that For the other categories o ....... ...... ........__ -if Lehman s -.lasaii r ".. * and E-type programs, the difference in perception of requirements before and after introduction of a new system clearly prohibits to base system development solely on ----r and pencil reijuirerents analysis. For such systems, iremenls analysis will not only be concerned with ware aspects. U will be rathe- "systems requirenipnts ■ "e early stages of a project, the However, at the twèèn' hardwäfe"5o^twärl"äRd orgahìSàtìónjl ' lot yet sufficiently evident. Therefore, re-,--------------lalysis has to dea! with the complete needs structure and snust not recourse to specifyable requirements only. nt. Therefore, relete needs PURPOSE OF PROTOTYPIfJG Thou^ by now, a substantial engineering community does agri development life-cycle with Tt_ _____ -, - Analysts-design-inipleiiientatlon-ftest} is not an 0 all open questions, and in spite of the fact majority of this fraction miqhE see prototyping as for escape, there is little a<-------- fraction of the software gree that the classical s clear-fut sequence of answer that a agreement possible route ---- about what a prototype really is. Some authors try to find a definition by focussing on whether a system is b-'"- ------ ------ - prototypes of our col or whether its mayir , until the developer or cystome with the »"esvlj rina a aennicion oy rocussing on built to be thrown away (like the ■1 leagues in mechanical engineering) parts are kept but gradually chaiVied - ----- is suffieiently content roduct gives a detal onqer "prototype" bu ed"account on this đ painted canvas af oppinlons.) do not know, whether Leonardo da Vine ....... after t has been corspl eted. for .the veraent a prototype and ca l'ed'Tt'ä'paTntfng'only after hl'^hàd nted parts of ihu background and added a few sti-f-kc^y ght color to the face of the main subiect in a por:, but I doubt thiit this distinction matters tori itiucI ori trai,, _____ , ______ for a cletii- turmiti' intnnt - and hcnco thiit- this t '.ihi'iv. It i> the d Iff'J N 5 rather the di ffei ence ì ■enee in i iìve;,tmtrit, irivi- lv;,- ment and method of di'vi;!opmeni. - whetn,:r sfüwtt!i nlfte system, ven by sobpr simulating device w chance.to. feel home with ______ will most likely help them to blems. However,, to study different If requirements rega clear? Increttpentaj-d Ilona incremental deve ir. One firstly bul ility (perhaps in a one does not need to pro-"suffice the extent of the system are un-pme.nt win be the melhodological ^ system yfth^r?duce^ fünc- lopment). Later one adds Iris^as prototype cal.appendTces to the truncated system about vAlch diff rent repi--------? j .. . / » . . ■épresenta __ ............. whether they would be worth the truncated systt the custpme.r —i -, ..................... r ____ ...ter the TS have played with them, these features can be either to product-quality standards or discarded at agree whether users have pi i broMht up to llttTe expense. But what, if the situation to be prototyped hensi ve to be captured by a prototypical imp As^isne a project Introducing new technology which Is not completely under the control 6f "----------to (lake this step |...... ' ony or of electroni mples or such large tions must be antic ahead. Eventuelly, should te rhnn^Pi. h ully Implemented. Bi experiment" with a proto ^r9an|z|tij^^could rot s too compre-ementatioR? nto an area on piänrifrig"to'liäke thTs'itep fntö'thi' future* fntroSuc-on of telephony or of electronic banking Slight serve as 5tori cal examples or such large steps where complex so-etal interactions must be anticipated to assess the mer-t of moving ahead. Eventuelly, a site for prototypical istallatlonS should be^choosen before such drastic changes are fully.Implemented. But prior to conducting a "field experiment".with a prototypfe, the Innovator mTqnt want to conduct a "latoratgry experiment" in the seclusion of his own organization. Sufch a ''laboratory experiment" will lack sufficient reality to call Its carrier a "prototype". The term "scenario", Introduced by [6] and related to proto-typing^n f$] and tlS] might Serve much better to describe The reflections conducted above suggest the . fini tions for the arsenal of requlfements ana INTERVIEVIi A question ___________, quiresients. Tt can be conducted ,Tn as in Individual cownunlcation effectively cond and to capture notation. ir resu follow alysfs answering process to elicit re-,Tn group sessions as well Various techniques exist to rements analysis Interviews n a formal or semf-forrsaT DOCUMENT ANALVS ner, the analys 'secondary data S or ffiSERVATIONi Instead of a human part; collects information from written sources of the organization or by direct observa- ..............js of this iSrocess should be verified by nterviews or by some other renuiresients el i citation tech-nlgue and documented In the rotation used for the main re-quTrements documents. ion. resul SCENARIOS!,These are projections of,events or situations a user would experience when operating the new syste acting in the changed envtronSnt tSll. Scenarios ar gnt from prototypes in so,far, as,the later are ____ • ----i-r.- there- Te operat [e s« or 'Stem or r^fSlf: ,________iBoSels" or "first originals" and. therefore, part of the future,reality, whePeas scenarios are a mechanism to create an illusion about the future. A broad range of alternatives exists to create ?uch Illusions. They —from verbal descriptions over movies to pTays [9] de-ig on the stage of a project and the aim of the sce- Ttie purpose of scenarioi Uiat''!«"^^ i os^ should a nsV^GivIng"^op?e a choice wftl . to acauafnt clients (or experl-ternative futuri worlds suggests ways be preiented In pliirÄlUy ■■ :harioe thorn from (■jf.sive, head nodding spectators to active participants of a requirements eliciting task force. Further, it should be noted that the applicability of scenarios IS not restricted to requirements analysis. They might be Ufed as profjtably for .objectives analysis. Ounn' .. objectives anaiyi of a project one floes r solutions (the "WHAT" .. r or design): the question _______ „... _________.ms and objectives are worthw be pursued in the light of scarce ly changing envirunment [17], the^^jectivl ^ysls^as^opposed to the àther "UHr certa n a 1 ng ye e not of ^iia _______ are worthwiTe lo resouces and a constnit EXECUTABLE DaiNG: _________;LE REQUIREMENTS MODE_________________________ "operational requirements modeling" has been coined ^y ■■----:ibe system which |igg^ls,th£ interaction.of eo to descr nents of rea ge funct This term and the teim system wtilch models'the interaction of fosipo-time systems CZ6]. In Zaves proposal, fx... ------ ons are used to study tne dynamics of embodied systems. Sy displaying the dynamic nature of a executable models wiU show users the consequences ot soto needs statements tfiey expressed. In this capacity, executable models.can fce seen as a particular kind of tools tu show scenarios. However, due b,their strict naturi?, the priMry^apgbcat^on^of executable requlrebuts models will lufreTOpts ?or loft be to^vat?5ate the cons 1st ency and cdüioleteness of requlremeuts for software components design decisi. Il rements model s loleteness of timing of embedded systems or- to study the effect of design decisions related to"process cormiunication. Therefore, executable requirements rwidels serve,rather to reduce the technological risk than the appi i cation,risk. Hence, I will not discuss this approach here any further. pro- SIMLIATION MODELS are another kind of "executable models since they also serve to study the dynamic behaviour of systems. However, to discuss them in conjunction with pn totypes seems to blur the notion of "prototype . HOCK-UP USER INTERFACES: They present the first terminological problem, tfftause thMare real in the sense that users could actually work with them - though in a restricted way - and because they might run already on the hardware eVentua n ^^^ s®'! _ ^J'?? .* l P?.® ? ! ^.ISf, ?! Hp. yer, ^ _ . .. . ..... ...., ,...... y even in .me interface software.eventually used, liter faces are on a ^window, to software 'A'simuTat^r ór àn Interpreter.of"" tit serve to fake the functional should actually carry out the requ . the system to exchange runc-ty of the system réd tasks. From the point of view that,the real user Interface islght evolve from such a isock-uo interface, the mock-up version might qualify as a kind of prototype. However, not as a ^rötotpe^for the^systei» to be built but only as a protoPARTtAL PROTOTYPE; As mentioned atov?, the user interface is only one aspect or discussion during reguirements analysis. For other questions, one might as well construct a system with reduced functionality or a system which lacks some other important features of the final product. For a clear terminology such a truncated system should not conditionally cat!ed a prototype. Depending on the when but idinb it, one might either call it an incom- INCREMENTAL DEVELOPMENT: This is clearly distinct from . prototyping in the sense that each increment delivered is ment to constitute a part of the final product. Therefore aside those part: "-ourposes^.ever ■arts of the code which serve "fcaf-eu. i.-erything delivered should remain un- ngea. Thus, vÄiile there il a notion of,evglvement.of.the ipTete product, this notion does not hold for the indi-lual increments. If 'eyolutionary selection" decides I increment, this increitient should be considered a Obviously, incremental development has significant impacts on the process of requirements analysis. In addition tu the overalr inalysis tfiat served as the bajis for the IsiUial nt has significant impacts design o f M complete system . the^partltioning and schèguTing^decislo^ which formed the basis for ■ related to,the a sequence of complete analysis-design-imple' itation.mlni-cycTes can be conducted for each Incri'meiit This has the advantage that users can ments for later incriments already ba: they gained in operating the.ifcofiple e the decisions reg-—'----- not te based exci.._ Considerations from should as well be taken. SYSTEM PROTOTYPE: rase the re" llent service instead of a wartiiity.i nee testing serves to uncover faults, there witl [>■.- uy (In classical enqineertri^ ' sting serves to warranty on a prof piInes, users wi get confronted w come with an e.uel Taki ware n^ tMs ^^ ® prototype of a soft- Sečššžary ^iràaerfst 1 Hnarproduc^^ -. "■rs frcm the final .product only Iti so f|r ss^th. operattng versi o fe, , . ;veToper and user has :t.. t déveToMr ahd ušer, uQdéritind thai tfieré is nò còm-STtmenron the pari of th? developer with regard to qualitative aspects of this (sub-i system K&totyp«." This definition under del "evo1 vab leflnltlon acks a few.attrlbutes.which are very ™ch debate. These are: -first",/rapid", 'thro«-away' and (able'. I will address the«i In the next paragraphs. If "first; would te modifications of th.. ----- . -------- the/second", "third", ... and so on would require a definition of.what i what about the ly become irst" I®« s ment by "n^". wöü 13 ràfflér" f öcüi ótÌ^ f htèiit than o n^ver s i on' number. I f, a,. system Is released without comnltment but with the expiicit aim of studying its behaviour or^receptance under ordina \l f^^'sif siw^^h?....... of a systeiK that is " " '........ ' a prototype, ir^ version ust a itew subjected to substan As mefttioned above, "rapid" Is not a characterisUc of the which are not to t«,.te5tea. makžs the production process ä rapid one, even without aoy special gr&tftyffng.alds. irfes in " prototipi ng "Throiif-away'.or of the prototyp imu ated.e^^^ "or tlidefTt ■ by the STARŠ program of the U.S. earl^^^shows that the tern "throw Is secondary to the purposes nstrumental, to^the eSperiI as Lsj cieariy snows that the tern "throw awav ned for^software as Ion« as t is not gualTF rhat Is thrown away when rewr t1ng an argoritl In Pascal, in C, or when porting a proOrani ng environment t? a.nother?} One ftigiit afgue ng envlroni system wr_____ cation demands luallFied® jrithm exTarn from one Woüid^tfif,LÌSP-syjtSlhé/fjtfsfy the^bové^dlPlnf-ios1t|qn_of a fystem^^ ng to stich'ä'menue selectiöti"«uid"be easf^y'^"" the user, eventual facility f fill to testina code for its correctness. Therefore, sofce pro-pertfes needed with prototyping environments'are corcara- =¥1 rL Ble to the managerial pro^Ftlls demanded from test envT- f, irototyp respect a vehicle for dem6ns?ra|fons buf a lo§T f ....B hands-on experience of the systeni he will y obtain. Support of a help racJTIty should b? fie environment and not part of the product, since ■■ es are In most cases considered unimportant ng purposes. During.prototyping, their major ate to the user which changes Hive been mäde . .„r--. to thf previous versions of the prototype he ,s been working witfi. ve It sight be noted that the need for such a facility indi-SSiEi^Stü^-iÜg Jf ..iüf .rSEl^fnfSJi f D^,.] [Wxpens i yene s s of prototype creation or.prototy)e >n, caution should be exercised with regard to the number of vers_____ _ user IS confronted with. Though the purpose of prototyping s experimenting, the user as experimental subject muit —r-----ii—,, „ - lineaplg of the esperii I witl ig, the user as'e*' never^percel ye, mmsel f on a shou___, ___________ _____ prototyvjfnq phase and otAain of versions a roeii- - - IVliPd ttif user .. . : Liis mess Uli ttiÄt Ulf ì'i lit',. types fie t S workfng with converge to the final proauct features of testing envlromnetits. However, genuine proto (Cfifdi IS not to say ttiey have to be evolvable). Wing features for sut^rtlng easy modfflcSEfon of pro- totypes and for evaluating prototyping experiments are The evaluation support mentioned as another main feature needed, since prototypmq cannot be done in a stand-aToni The eval genuine < from the the evaluation support helps to . . , - , to an error and possibly aids In correct]™ Here, evaluation support relates the Feedback one gets From users particular version of a prototype There, . ch lead _______, , this fault, to keeping and analysing after operating with a The special problems in this area are need not te consistent - a problem gath ered in classical requin ' sis features of ---- persons or 'Mmi rent itrast the protoi gate äti ' ire, thi .... famllii nts analys ling dat hat these feedbacks to i........... s. Therefore, cg _ ___ information jerefpre, the 9 bas? shou nts ^btained from d d^tp fferent he fa- t c^n persons or with aiffSrent versions of a'prototype. ci 11 ties needed here resemble those used for requirements verification and for arbitration of differences In environments supporting formal requirements analysis. Support for transformation of the prototype into a final product is addressed to in the next section. EJWlftOWIENTS FOR EVOim'IONAftY PROTOTYPING Since the advent of the word "prototyping" In connection with software engineering, end-user languages are praisei as "prololypinq language and end-user tools as "prototyping tools". (For and end-user an overview see ^r|_refered to Such claims are only so far. as an ad-hoc. correct. They a data base 'tu _ run of some forecasting model a prototype. They Tack the telèology o on which a thing is modeled" iwebsters _____ other hand, end-user languages have a very h ^ _ level In the application domain for which they are ae stlncj!. Therefore, they are suitable lor rapv' are Incorrect In or a once-and-lann^t be considered '"^nary).' On the heing "an original Dictionary). On th hiqh language development ' opera-on to ig'is modeled" (Webs l-Lser languages h (plication domain st(ncd. Therefore, they are suitable for rapid dev with low development cost, possibly bought by high ting cost. This makes them seductlte fof applicati prototyping (e.g. [25]), even if the features for a proto-■yping environment mentioned in the previous section are acking and even IF there is no supoort for fvpivinq a rapidly developed prototype Into a fast running system. As examples For supporting a ztt^iui sissr m'r^ w very high leve for their di iradu|l transition from a '"^Š]. Sóth ìangulge iln of primary appi 1 cfere to the 'S have a cation them-iid both linels appT cations for HIBpL, problems lending es for set-theoretic formiiTattons for SETI.), a Trovlde facilities for gradually tuning a program by se-ectiyely reducing the Tanguage level or refining the respective program. In HI60L, progranming Is done In various phases, the last of which Is aft optional optimization phase. In this phase, the prograrrmer can selectively tune data structures. He ca do so by indicating the usage pattern or (/and the vu lume of this data structure and the system will dec de on a suitable implementation based on this informat on. Alternatively, ,he miqht suqqest a particui strategy C14] light suggest a particular inplementatiori This selective tuning,1s made possil?!? because th' translator generates for each repetitive data str data capsule in the target language of the transi acttoi replaced *tr le HIBa ucture ______ .3psuTes can be consid data abseracti( ir each repetitive data structure a get language of the translator CIO). ;ons1dered as instantiations of a In wh1?h the Impleme __ affecting the liiterf. .the user might evi on |att^can be. own In ace specification. In ■Ite hl s. own tmplemen- target SETL relies also on data encapsulation for i irapTementati on of the data structures used ' goes even a step further than HIBOL. An opt matically determine the most efficient data the code of the program [ZlJ, [73. However, tion is limited to finding the most efficiei |Ion for,th9 un verses JbSsej mproving the . n a program. It m1zer can auto-structure from this opti misa- sets and plensentatipn n a hash tablé. There Is no suppi notably manually Implemented data structu for such discip erenel of th6 àpp s given In Both, SETL and HIBOL, proaches For the gradai aSdl^nV 1 n^ormatfon'^to a^ program: Th _ eTther.be used by the heuristics of the lows re-hese re, Thus, ,.,j into an applied for pns are basically J dlfferentia-i^atlon of program serve to override the decisions made heuristics. can be considered as alternative ap-laT evolution of a prototype Into an can be achieved by selectively ogram. This information can , _ system or it might Iftiple— by Tementatlon Ihe paper focussed on the experimental nature of requirements analysis based on prototyping as compared to the ana-lytfcal nature of formal requirenienlr, analysis. flaseO on tfiese differences, differences in the requirements eiiqi- , Heering environreents for the paper and pencil e tvi'e jttìiysis and for a prototyping apfroach tire identifti'l. One to the nlrai l^rit.y between (O'Otfi'.yi'in'i and ti'sttn'i, t-Vatwrei vf a piutotyfinq t:iivir.'ii!is.:ip'. fii^onipa;,!. M.-i-tiiin mode but must Ee based on preliminary formal requi^en^'nt5 analysis, these genuine features should also preTiminary help.to relate formally expressed requirements to results heTpto relate formally expressed requT of the prototyping experiment. r i^f e.r .e n. t 2] [ 3] t 5] C 6) C 7] extreme cases, the user might even write his own tmplemen- t|tion gart and have ft plugged into the system-generated Clo] schwart?: "Hlgher^tevel Programming; Introduction to the Us ffiši 4] and,E. WEIXELBAUtti "Tran| formati onaj. Derivatljn of a Garbage Col lÈNBERGE», liffs. S. M.'FREUÖENBERGE», J.T. SCHWARTZ .and H.SHARIR: "Experience with the SETL Optimizer", ACN Trans, oi Prg|ramnin^^Lan^^ages and Systems, Vol. 5/1, Jan. 3. HÒO^ift and P. HSIA: "Scenario-Based Prototyping or,Requirements Identification", ACM Software oundations.tor a scenario driven approach.to asse; _ assess ngton, foundations,for à scenario driven approach t Tk ^hgÄlnf^?^^?? und Systemanal vse, Techn. Univf Wien, Mai 1983. H. M. LEHMAN; "Program Evolution, Prograranir PrgSesses, Progranfeng Support', Sonderdrud SAflMER, H. MORGENBRC® 'Programmerumgebung i CompTler", Berichte Serman Chapter of the Ai B. e. Teubncr, Stuttgart 1964. J. WARTIN; "Application Development Without Pr^raBTOp", Prentice-Hall Inc., Engleuood Cliffs, R: t: (IITTÈRMEÌR, 6. AI "Internationa) " and Perforsianci Feedback : W, lea, [14] [15} fuer Hoehere Studien iind W ---.„-SS Oriented Language, User Manual", fp DA 61/04/04, Institut fuer Angewandte Informatik und Systemanalyse, Technische Onlversitaet Wien, Wi en. "AI terna of forma MITTERMEIR, P. HSIA and R - 'lives ■----- rfr ona . . ______ _______ T. YEH: G tO overcome tlie comiunlcatlons problem tgu^rements analysis", Proc. nal Symposium on Current Issues of , ts^Engineering Environments, Kyoto, Japan. EÄr! -hÌbÌl,"a.Language for Fast .... 117] [18] ,.. Fast onments", ACd nec. 1982, pp. Hawa ences, fve [193 r [20] [21] .. _____________ IlBüL, A Langui totypipq 1(1 Data Processing En: pftwap^Engineerlng Notes, Vol. .-v "Òbjéct 1V es^nà^y si Š "^'proc^^th Annua i International ^onfyence^gg System Seien l'^MlftTE^Shs; "iohiare"Bases for adap' ntenance of complex Software Systems", , J. Kongress Datenverarbeitung im Luropae ______ ¥§^4, pp. t. PAIGE and S. KOENIG; "Finite Differencing of Computable Expressions", ACM Trans, on Prograimiiiia Lan^ages and Systems, Vol. 4/3, July 1962, pp. 4(52 " otierSoftwarpEn|lneering"Notès^"vol. n; 7. sehen §1neering Nòtéi,"v5l. 8/2, EhwART2, and SHARIR, "An [22] C23] [24] [25] f26] .. -............. Automatic Technique for Selection of Data Representation in SETL Programs", ACM Trans, on Prgqratrminj Langu^^es and Systems, Vol. 3/2, Ap "CrtitBi Afie rftnrö^ninn frtifTnal ,,, SflA^ffì! "soitie Observations Concerning formal DlfferentiatTon of Set Theoretic Expressions', ACM Trans, on Prograrmting Languages and Systems, vol. .... .......... W.'SWARTOUT and r! BALZER: ''On the ine Intertwinniri!} of Specification and Imj _____________iriq of Spei Comm. ACM,. Vil. ?5I7 P. TAWit.AtO une! K. V MethodiiKigy Gru! itt Too on Prot Ol vi'i n''" ^ P. ZAVF .-iriil k: T....... Embedded Proe Engineering, liai! Dieqo, 1 inevitable ____ Irmleiwntat ! I'(ö4 pp. 43Et - 4411. "A Prototypi Ii , froc. Wortiiiij conti Oft. 19ÒJ, N.imiir, YEH; "Exeriiiabli ' " h Int. II, Pf- i' ypi nq Hill CO I'll um. eriilaL)];- Rt'iifiiiewi-t < ■ " (in A FORMAL APPROACH TO THE PROBLEMS OF MICROCODE COMPACTION CAUSED BY TRANSITORY DATA RESOURCES OF THE MICROARCHITECTURES UDK: 681^.02 L. Manas lev, A. Petkov, K. Boyanov BULGARIAN ACADEMY OF SCIENCES 1090 SOFIA ABSTRACT A method of sequential microcode compaction in architectures, containing transitory data resources is discussed in the given paper. A theoretical apparatus, allowing to find out those microoperaticn groups requiring synchro-niiation according to their transitory data resources as well as their corresponding transitory data resources is suggested. An algorithm, separating the microoperation groups resulting from the transitory data resources in the microarchitectures is discussed too. 1. INTRODUCTION The horizontal microprogramming is widely applied in the nowadays computer systems design. One of the most perspective approaches to horizontal microprograms creation is to describe the control algorithms as a sequence of statements of a general purpose, architecturally independent algorithmic language. The described algorithms are translated into an equivalent sequence of microoperations - sequential microcode. However, no possibilities for concurrent execution of some of the microoperations are reflected in it. This does not allow effective usage of the horizontal microinstruction potential for concurrent execution of several micro-operations. Thus, it naturally leads to the problem of sequential microcode conversion into an equivalent concurrent microcode. It is known under the name of "microcode compaction" [i3. The used compaction method in [z] , [sj , [4] , et al, fixes the resource, time and format dependences between the different microoperations. This allows creation of methods for automatic determination of the possible parallelism in the sequential microcode. All mentioned investigations are characterized by the assumption that the resources preserve intact their state until it is changed by some mierooperation. However, there are resources in the microarchitectures which could preserve their contents only for a definite period of time. These resources are known as "transitory data resources". Tlie transitory data resources problem is well stated in [s] , but no solution is provided. A method for sequential microcode compaction in architectures containing transitory data resources is presented in the given paper. 2. PROBLEM FORMULATION Let's assume that M MOP, .......MOP^,,..,MOPj, is the sequential source microcode. Let's assume also that MOP^^ microoperation updates the contents of the transitory data resource T, and that the correct MOP^ execution requires the contents T defined by MOP^, Thus, MOP^ and MOPj are strongly limitted in terms of their participation in the compaction process, Hence, their allocation in the microinstructions in the resultant concurrent microcode should provide the defined contents T during MOPj activation. Two independent stages could be defined in the solution of the so formulated problem: I, Determination of the microoperation groups in M, requiring synchronization'according to the transitory data resources as well as of the corresponding transitory data resources too, II. Execution of the compaction process. Then, the sequential source microcode is modified as M' -{mb, ,'..,,MB J , where MB is the set of microoperations, participating in a synchronization group. The, well developed methods in [2},[3] could be , applied to the execution of the compaction process over the microcode H'. 110 3. FORMAL DESCRIPTION OF THE DEPENDENCES \CC ACCORDING TO TRANSITORY DATA RESOURCES Let's assume that MOPj^, MOP^ are elements of the sequential source microcode M, where 1 < j» i.e. MOP^ precedes MOPj in H. OEFINITtOK \i "Dtd" Cdata transitory dependence) relation is set between MOP^^ and HOPj, if the following conditions are satisfied for at least one transitory data resource T: 1, The resource T is updated by MOP^^, Z. The available contents T before' the updating of HOPJ is required for the correct MOP^ execution. 3. There is no MOPj^ element from M, i.e. i < k < j and MOPj^ updates the contents T. Let's assume that there are transitory da- ta resources in the microarchitecture the M microcode is destined for. Without any limitation, they could be numbered and a sequentially numbered set must be generated .....T^J, Ca this basis, two vectors can be connected, with each M element! TWV (transitory write vector) and TRV Ctransitory read vector); - TWV - where 'l (true) J if Tj^ satisfies condition 1 from Def. 1, OCfalse)^ otherwise, - TRV " where "Utrue), if satisfies condition 2 from Def. 1, OCfalse}, otherwise. The couple (TWV,TRV) which is compared with every microoperation from M represents its potential according to dtd relation. It could be used for strict determination of the place of a M element in the existing M chains of dtd-dependences. The following classification is used for its definition; a. Ml »{mOP^/MOPj^ M and TWVj^ - Ü, TRV^ jf Ü b. M2 = MOPj^/MOP^ M and TWVj^ > Ü, TRVj^ - Ü c. M3 - MOP./MOP^ M and TWV. - Ü, TRV^ ■ Ü d. M4 = MOPj^/HOPj^ M and TWV^ f Ü, TRVj^ j' Ü It is evident that M = U M. and MJTÌM, - O i=l i 1 J for i,j " 1+4, i/i« The elements of the different classification classes have the following logical meaning; - MOP^^ Ml .MOPj^ can only end a chain of dtd-dependences in M, but it cannot be the first or middle member of the chain. This is due to the fact that it is not possible to exist MOPj Cm, ižj and MOP^ dtd MOP^, - MOPj^C M2.M0Pj^ can lead to the formation of a chain of dtd-dependences but it is possible for it to be only the first aember of the chain. - MOPj^C MS.MOPj^ cannot be a member of the chain of dtd-dependences. - HOPj^C M4. Since this is the general case, nothing can be said about these elements. In terms of the further reasonings, the following WT (weight) function is defined for the TWV and TRV vectors in the following way: WT(TWV)« i'l WT(TRV)- n 1=1 1 The function WT(TWV^) gives us the number of these transitory data resources, which contents is updated by MOPj^, while the function WT(TRV^) gives us the number of the transitory data resources which contents, is required for MOPj^ execution. 3.1. THEOREMS CONCERNING dtd-RELATION The following theorem was formulated and proved which provides valuable criteria for the existence dtd relation between two elements from M, . Tl: Let MOPj^, MOP^^ M and i < j, then MOPj^ dtd if the following conditions are satisfied: a. 7 - TWV, & TRVj !« Ü b. WTCCV TWV. ) & IXWTCI) t-i+1 " k-i+1 It expresses the connection between the entered relation dtd and the characteristic vectors. The function LDTDCMOP^^MCP^) is defined in order to express quantitatively the degree of complexity of the corresponding microoperations at dtd relation. It specifies the ituniber of those transitory data resources which cause the appearance of a dtd relation between MOP.^ and MOP.. The defined in that way function is specified as a "degree of dtd relation". The relationship between the vectors and the defined function follows from the following theorem: T2: If MOPj^dtdMOPj, then LDTD(MOP^,MOPj)"WT(T)- j-1 C(V ' k»j+1 j-1 j-1 -WT(CV TWV. )&"Z) = WTCZ a C(V TWVt)ST)) k"5+T " koi+1 " k"i+T 4. dtd ANALYSIS On the basis of the developed theories, it is possible to perform analysis in the M set in order to establish the dtd relations, existing between its elements. This process is called dtd analysis. Its objective is to build the following oriented loaded graph: - Vertexes: H elements - edges: there is an edge MOP^,MOP if between the corresponding Vertexes MOP^dtdMOP^. -'■load: a chain of natural numbers is assigned to the edge MOPMOP^ containing the indices of those transitory data resources which cause the appearance of dtd! relation between MOP. and MOPj. Evidently their number is LDTD CMOP^, MOP^). 4.1. dtd GRAPH The graph, described in the previous section is defined as dtd graph. An example of a dtd graph built on the basis of M MOP.^ s=1 given in fig. 1; s-1 _ C »QPji ) '^z'T Vp) ( MOP),; ) Generally, the dtd graph will contain single Vertexes and subgraphs, which will be called "essential". The separate Vertexes, according to their place in the dtd graph will be as ■ follows: - "single" - e.g.: MOPj., .MOP^^ - "roots" of the essential subgraphs - e.g.: MOP^j.MOPj^ - "leaves" in the essential subgraph - e.g.: MOPi4,MOPJ4 - "Intarmediato" In the «»sontlal subgraphs -e.g.: MOF^j. 4.2. THEORETICAL BASIS OF THE dtd ANALYSIS ALGORITHM An axiomatic condition is stated about the usage of the transitory data resources in or» der a correct dtd analysis algorithm to be provided. It does not limit the logic of the transitory data resources application inmicro~ programming and it can be defined as follows: it is assumed that the usage of the available transitory data resources contents by a microoperation is an action which the prograraBier has consciously accepted, while transitory data resource updating could take place unexpectedly. Hence, it follows that for MOP^ microoperation, which uses the information of a given transitory data resource during its execution, there should be another MOP^ microoperation, i.e. that HOPj^ dtd KOPj in relation to that resource. The following assertions about the relation between the stated classification classes and the dtd graph have been, proved: Ass.1 : The roots of the essential subgraphs are elements of the HI class. Ass.2: The single Vertexes in the dtd graph are elements of M2 M3 and all M3 elements are single Vertexes. Fig. 1 Ass.3: The Ml elements are leaves in the es- -: sential subgraphs of the dtd graph. The following characteristics of Ml, M2, M3 and K4 classes could be defined on the basis of Ass. 1, 2 and 3: - Ml - leaves in the essential subgraphs of the dtd graph - M2 - root^ of the essential subgraphs or single vortexes - M3 - single vertexeSj in the dtd graph - M4 - intermediate elements or leaves in the essential subgraphs of the dtd graph. The following assertion, allowing decreasing the algorithm steps is very important for the development of an^iefficient dtd analysis algorithm. , V Ass.4: If MOP. dtd MOP. ^according to the tran- sitory resources T ■'^is then for any other MOP^, i.e. p ^ i, p f FOR I = 0 BT 1 TO 9 DO DIGIT(I)bISCR DlGrr(DBCR I) t ENDO; 1 = 2'»; VHH^ 11=^ DO LirtTER{l) = DECR LETTER(H-l) r I = DEOR I; EHDO; ~ BHD OP program ~ END The language syntax Is 'detally described tn [1] , Here is a bx^ef description of the language. Data length - variables and constants, Is one byte. Soma operations permit the use of mul-tlbyte operands too. Constanta in their external representation can be unsigned decimal integers, hexadecimal integers and characters. A variable, preceded by a t sign, is considered as a pointer. Unldimenslonal Euvays can be used as well. The subscript can be an arbitrary expression. The expressions include the fòllovlng operations in descending priority: INCR, DECR, NOT - increment by 1, decrement by 1, negation; /t MOD - multiplication, division, modulus; -, addition^ subtraction; <, >« <=, >=, e, IS - relations; A - logical AND; I - logical OR; # - sxclualve OR; <-, ->,< It defines an initial value for tho pjijg-rani counter of the virtual prucessor, befani t value is 0. 2) T TN It defines an end address for trace of an object program execution and starts a trace procedure . Successive emulated instructions may bu printed (t ) or not (tkt ad.li-cs a> ) . 3) R RNtniuiiber > It defines a time interval for trace of an object program execution and starts a tracL- pi-u-cedure. Successive emulated Inatructions muy be printed (n tnumber>) or not (RK<:nuMiber>) . DM<&ddross>, It defines a memory address to display a definite number of successive memory locations. 5) SM, , «value >, ,.. It defines a memory address, from wid ch successive memory locations contents is loaded with definite values, 6) SZ It defines a size for the stack of the virtual processor. Default value is 7) m It starts the emulation process. fi) EX Ic ends tho emulation process. The directives'operands , t^iuiui-ber>, cslzei, qperajid not only as decimal or hexadecimal constants, but as a syttibol name, label of the input program. This makes free the user not to organize an address correspondence for the selected entry points at the progrsun. To achieve a desired emulation mode, one has to choose the corresponding emulator directives. Fig. 1 shows how directives nay be arranged according to the graph scheme. Xn case of an invalid order or an invalid syntax of a directive, an appropriate error message is to be displayed and the current directive is being Ignored. i-CEK W [ra} sn sm EX -HD—^ Fig. 1 The emulator algorithiD is shown in Tig, 2, Aji every directive Is analysed and branched. The SR directive loads an address for a beginning of a trace procedure in the variable, na- ( BEGl-N ) Ili i t iali :4m; i oji znL Ueaü a directive cO!mtT pi-iiit contents of memory lo o. Ko BEGEMJ no Jii\UiiMj = tnujtiber> L- DMPAlili : = pc : =m'gem No <3ize > No Loai^ values to liiemory locations No J No H1Ì3C Object execution No PC: =PC+ti ERROR yes C EKD ) Fie. 2 med begeh. Th.e T directive loads the end address for execution i)i the variable, nanied ENTIEM and starts a trace proceduro, Ttie procedure is organized as a loop from begem to endem values. Tlie program counter PC is incremented by d, wilìcil varieg-frcra 1 to 3 and depends on tlie object instruction emulated. It is possible to display the following information dui-ing the trace t a memory address, an object and nmeiiionic code of the emulated instruction, a pro^rajri counter value, the top-of-atack contents, time consumed for object program execution. The R directive action is similar to that of the T directive. The end of trace is defined not as a final address reached, but as a consumed tima intervali The dm directive loads a start address and a nuinbar of momory locations to the variables, named DHPADB and DMPIIR and starts a procedure for display the contents of mamoi-y locations, The SH directive loads specific values in definite memory locations and the SZ directive loads a value for the stack size of the virtual ijrQcessor, The emulator uses the following subroutines; CONVRT - to transform HBl'L con- stants to their internal representation; mai -to transform MIJPL constants from an internal form to a atrinj; of hexadecimal - to display an eiu-or niessat^o. The emulator, as well as all the crosd-system, is writtiiii in FÜltTllAN XV ajid ASSt;M)UjJi( IhiM, It taJces about 8OK of luenwry and opet'at*ia oit IBM 3^0/370 uiidui- I)OS/0S conti-ul. Ij. EXECUTION IN AN E>(UlJVTION MODE An example of the emulation pi-ocess is given in Fig. It shows a protocol of tliö tìtc-tion I source program emulation. All opiulator directives are displayed, preceded by the i>>>' signs. They are eiiclosed in tlie directive brackets IM for the be^^iiming of an emulatioji ajtd EX for the end of an eimilation. The direciivo SH LETTER, ^tlic means that the hexadecimal vuluu of 41 ia to be assigned to the first element of tlie LlflTEIi array. DM LETTE», B rueans to disj'lay the concents oi" eight succeasive icienLory locations, bejjinning from the address of LETTER. Information is displayed in the following- fonu: the heg-imiing addi'ess and the hexadecinial contents ('ll fifl ... )„ The xjro^aiu counter uf the virtual processor iiiay be loaded (dii P.,.) either with a definite >mPL constant (ji^pflH) or with the address of a name, used in the source program (miD). T MH) and TNFIN define the end address of a trace procedure and start it >dth (T ) or without (TM) a display of the next in-fonaation, titled as follows: LOC for the address of tlie emulated instructions, OBJ CODE and MNEMONIC for the object and mnemonic codes of the ititeniiediate lan^age instructions, re and SP for the ijroeraui counter and the stack pointer values, TOPSK for the top-of-stack value and TIME for the ticie, really consumed during the execution uf the source program. »IM »SM LETTER,'llH »DM LLTTEtl, 3 01fi0 kl 0 00 00 00 00 00 »S« >>T MID LOC OBJ CODE 0200 08 01 lA 0203 02 00 020Ì 4A 0206 02 02^8 U7 0209 0S 00 020C 02 19 02 0E k A 0201 02 5A ^H 1(7 ^ME^!0^:IC pc LAHR Dìcrr 020') LDIM 00 0205 INDA 0206 LDIM 30 srOH 0209 LADR LETTER 0&0C LDIM 19 02 0E INDA 020F IJilM 5A 0211 &TQR ifcia SP TOPfäK TDffi le lA 11(3 m ic ID IB IC ib IC ib lE lA 30 H n 19 19 5A 174 2-58 302 37 Ö 528 592 Ć5Ć 732 DUIlATrON OF THIS TRACE is 732 MICRDSECOKDS. >>SB PMID > >TNFIN DURATION OF THIS TRACE IS 8918 MICROSECONDS. >>bM LETTER,!^ 0100 41 Us '(3 4't 45 w 47 'ts 49 4a >>DM DIGIT,10 ^llA 30 31 32 33 34 35 36 37 38 39 >>EX Fiff. 3 The fragment, shown in the figure, traces the MBPL source program from an entry point address 0200 (labeled START in the source text) to another point, labeled MID« The next intermediate language instructions are emulated; ladh, »iiich püshes to the stack a two-byte add-, resa of its operand (DIGIT, LETTER); LDIM, which pushes to the stack a constant (00, -iP, 19. 5a}; XNIIA, lAiich modifies an address with a top-of-stack value; STOR, which stores a top-of-stack ««laa In • taratoir Ivoatlon, iMldti address is vrltten in tli« twxt to top-of-stadc element, ibe xim time of tlie eaulatvd program la given at the and of the traoe, Tba aeowd traoe ebow ia started from a label, named KID and is terndna-ted to a label, aaned FIN. 5. CONCLUSION Ae experience of the HBFL aro as-system sbows its effioienoy to design a erstem and an applied software for odoroaomputers and digital devices, based on microprocessors. For example, the cross-system «as uaed to develop a resident KBPL mioroeompater system, Inoluding a monitoi-, a text editor and a compilar of the langua^ of MBFL. All these components are written In MBFL, translated and debugged on the oross-system, using the bootstrap principle. Ibe Objeot oode, generated by the KBPL system, Is about 1,2 f 1,3 longer, comparing with programs, written directly in the asseoibly language. Time oonsun^ition is increased maanlng-lessly due to the us« of a virtual processor, but this is not essential in mast applications. A new version of the MBFL system, oriented to 16-bit mioroprocessors, exists and it is similar to the system, presented here. 6. RIPEIUNCES [■ll Tankov B., KUcolov L., A microprocessor Programming language and its implementation, HELBCCW*83, vol, 1, PP A7.05i Athens, Greece. [2] Tankov B. , Hikolov L., A portable compiler' for a microprocessor progrfuming language MBFL, Automatios and computer teolmios, 3, 1983, PP 63-Ć8, Riga, USSR. [3] Tankov B., Nikolov L,, Bonev S., An assembler for a virtual processor, VHI Symposium in Informatics, JAKORIHA'S'», Sarajevo, YUgoslaviya. Cii^] Yenkov B., Nikolcv L,, A virtual p^ceasor for miexvprocessor prograsuing language in^le-mentation, ACTA POLTTECHNICA, SFH, vol, 20, IH, 5, PP 173-1761 Prague, Czechoslovakia, [5] Yankov B., Nikolov L., A» interpreter for HJTEL 8080/65, MICROELECTRQHICS'82, Siofok, Hungary. BENCHMARKING MICKOCOMFUTEBS FOR SOME MATHEMATtCAL AMD SCIEMTIFIC COHPUTATIONS M.A. Brebnér DepartnenC of Computer Science, University of Calgary, CALGASY, Alberta T2N 1N4, CANADA. UDK: 681.3.02 Abstract It is now possible to consider using nicroconputers, such as the Ifflt PC, for the solution of serious scientific problems requiring numerical inethods In their solution and, therefore, a large aaount of conputation. Even the Probiens uhich tested the limits of the super computers of 2S years ago can now be attempted on the latest microprocessors. However, the efficiency of the software used can significantly effect the usefulness of these microcomputers for solving serious scientific problems. The paper uill discuss the great range of benchmark times observBd using various compilers, semi-compilers and interpreters for BASIC, FORTRAN and PASCAL, on IBM PC Junior, PC, FC XT and PC AT nicroconputers. lor a subset of the cases results will be compared with other microcomputers such as IBM compatibles and the Apple Macintosh. If an IBM PC with 64KB memory and at least one 360ICB drive is available at the conference a demonstration of some of the benchmarks can be incorporated into the presentation of the paper. Introduction It is now possible to consider using microcomputers, such as tte IBM PC, for the solution of serious scientific problems requiring numerical methods in their solution and, therefore, a large amount of computation. Even the problems which tested the limits of the super computers of 25 years ago can now be attempted on computers based on the latest microprocessors, such as those for example, from Intel, Motorola, National Semiconductor and Hewlett-Packard. However, the efficiency of the software used can significantly effect the usefulness of these microcomputers for solving serious scientific problems. Several of the benchaark times given in the paper will illustrate this. The paper will discuss the great range of benchmark times observed using various compilers, semicompilers and interpreters for BASIC, FORTRAN and PASCAL, on IBM PC Junior. PC, PC XT and PC AT nicroconputers. For a subset of the cases results will be compared with other microcomputers such as IBM compatibles and the Apple Macintosh. Table t gives benchmark times for a piston/shock problem (for details see 1]. Using several different compilers the execution tines ranged from 41 minutes U seconds to 31.25 seconds on an IBM PC. Also, in the case of the compiler with the slowest reported time, a slight simplification of the problem was required to . avoid a breakdown In the computation caused by a flaw in the software implementation of floating point arithmetic. This shows that some compilers for microcomputers are not always very carefully implemented with respect to the numerical aspects of the language. However, in this particular case, with a later version of the offending compiler, which is designed to use the Intel B037 mathematical coprocessor, no numerical breakdown occurred and the benchmark time was reduced to 104 seconds. The piston/shock problem was selected as a fairly typical non-trivial scientific computation for the following reasons: (a) There are 2 Independent variables space and time, and the conputation is repeated for many time steps. point, which implies the frequent referencing of 6 one-dimenslonal arrays. (c) A considerable amount of computation is performed on these 6 variables at each mesh point, and this is repeated thousands of times during a typical Cd) A moving.boundary condition is Involved, and special methods have to be adopted to smooth out the theoretically discontinuous- shock wave. Unless stated to the contrary, benchmark times discussed are for the piston/shock problem. IBM BASIC interpreter and compiler Running the compiled BASIC version on the IBM PC Junior (374sees) and the IBM PC (170secs) shows the PC Junior takes about 2.2 tines as much execution tine. As the IBM PC Junior, although still available and supported, is now out of production, the paper will now concentrate on the IBM PC and XT. It should be noted that execution times for the PC and XT will be the same as no disc read or writes were used in the benchmark programs. The paper will now discuas the effect of (i) using real or integer variables for loop counters and array indexing, (ii) graphics output, and (ill) compiling and compiler options. A summary of the relevant data in seconds from table 1 is given below. Compiled Ho Yes Yes/O Real Index 1639 223 Integer Index US4 170 136 Int. Index No Graphics 1378 1A6 116 (b) There are 6 dependent ach mesh Firstly it is not surprising that it is worth the minor effort of using the DEFINT (IMPLIED in FORTRAN) statement to ensure the variables used for indexing are integer. Secondly, there is a modest time penalty for producing graphics output [see 2 for examples j, however the Improved interaction for the scientist is well worth the fairly small cost. Thirdly, the improvement In execution speed obtained by using the compiler is quite dramatic. Time reduction factors of about 11 to 12 and B.7 to 9.S with and without tlie /0 option are shown. However, the compile and link times are now significant (1 to 2 minutes) compared to the virtually instant response to the RUN command in interpreter hASIC. Alno the disk rile sizes are larßer for Lhc CünipLled vüfsions of t.liu progriini as shown ìjelaw< RAS IC Kxücutiini File Sines C 170 l-'t6 BAS[CA/0 PC 06 116 1 .01 P€ L'io 127 3.03 PC lie 101 3.03/0 PC 78 f,7 3.03/0 AT 60 52 The tir.k!S for the IBM AT will be discussed later. Firstly, the 1.01 version without the /0 option is seen to be slightly slowsr than non-8087 BASICA compiled with the /0 option. Also the gains using version 3.03 are not as dramatic as fi087 bonclunarks which calculate mathematical funtions thousands of times 16|. These latter benchmarks, by their nature, require little memory access through the 8080, and are mainly computing internally in the 8087. However, the piston/shock problem is more typical of computational modelling, frequently accessing main memory, particularly array elements, as well as froqtientLy carrying out aritfimetic operations. Memory acce^ss times still have a significant effect in this case- Dongarra [51 reports greater gains for linear equation solvers, as discussed later, PASCAL The programs have been written to allow solving the piston/shock problem in plane, cylindrical or spherical geometry lALPIU = 0,1 or 2). However, the required calculation of volunes involves exijression ol' the forrnj K(I+1)"ALPHA - R(I)'ALPHA in BASIC or Hd + l)^""'»ALPHA ' RCD'-^'^ALPHA in FORTRAN, which have to be written in PASCAL as E^\P(LOG(fi(I+l))"ALPHAJ-EXP(LO(;(R(:))^-ALPI[A) in PASCAL. This to some extent accounts for the larger benclimark times for PASCAL. To allow a fair comparison of PASCAL, a strictly plane geometry version of the program was written in BASIC and PASCAL, and the results are given in table 2. Although the PASCAL times arc still longer» they are now of the same order of i\iagnitude. IBM ^ A study of parts of table I shows the 6HUz Intel 8ri2Ö6 hased IBM PC AT to be approximately 3.1 Tinios as fii3L as I he ii.Jimz liu.i:! BUBS tidsed IBM H m> inaLtiemuL i.ca I fupim'ussor is used. Foj' exaniiilu t ia- hi-.st BASICA run timus are lib seconds and seconds for the PC and AT respectively. Clearly the faster clock speed of the AT [>roLeasur does iiot account for such a iai'ge iticrease. V.'irloud ot lior factors sudi as the ititurnal design of the HÜ2li6, I lie faster at:t;ess I u main imiimiry, t hü 16 bit bus (as opposed to thw B bit huw of the ttüBä), etc., also help produce this significant increase in performance. However, the results for the AT are less exciting if a ^Mllz InltìL 802^7 mathcirtatical coprocessor is added and compared to The PC with a 4.77MHil Intel 80ŽS7 mathematical coprocessor added. For IBM P]-6fessiunal FORTR/iM the 8087 PC (31.25secsJ is about 15% faster than the tì02tì7 AT (36,3), With Kicjroway 87BASIC rui;a show the BÜft27 A'f (S2secs) approximately faater than the BUB7 PC (67secs). It appears that the highly optimised ialino floating point code produced by IBM Professional KÜKTKAN shows tl\e effect of the siuwer isiat liemat ica I copruLessor more TitjmE?i.nih reSitev ?pd. Priprava prograaa je v prinerjavi s kodiranjem rutiüs^o, neprestano ponavljujoče, monotono opravilo, oaj sajcma prevaj^mje i^odulov ;;i-o-rrn-iir'. roveKovii;iJi3 nodulov v sliko in Ì3VnJanje pi'0:':i'a":a. Do delo Jo za. ri'0;;.rar;er,ia ponol.'joina orlvo;;, {■;» 'b ilnrlattiO nepotrebno nti'nja. 1.3 Komandne dfitoteke proRraraa Delno zmanjšanjf5 nekoristnera napora že r.-ioft^'i operacijski. sisteä\. Operacijska sistena IH'T.TÄ- " firme I.^JCPJ. - in K.;x-11M firme DIGIT.'. sta Ba to posl-rbcla z nožnostjo uporabe iro-.-^".-dnih datotek. Vsebino ko^n.-indr.c dtitoteke EiJStavlJa niz jrc!-hodno pripravljenih ukazov operacijskomu nistt. t:, ki v dolO'"-enQ:;j trenutku opravijo ieljeno oj j-a-vilo. Za toBl.i I'linju proßrar.a lahko proci'«'i'^J' vodno tvoi-i E-.voJc; lastne komandne datotekn 'o pred pričotko". K.-jstiranJa z obi.";ajnirs editii-ii-njoin, nato Jili po potrebi sp.-obi ai:.urira. 1.4 Pomanjkljivosti Za nemoteno rokovanje s koTnandniini datotekani programa Je jiotrcbno poznati nintakso in delovanje siBtennl-ih pomožnih pro(;racov; procesorja komandnih datotek in povezovalnika. To po-varoča proi.irainerjem zaradi občasne rabe viil'ii:o težav, za sam raavoj proerana pa to ananjo ni potrebno. Upoštevanje pravil modulamela prop.ranirsiija sa^n način prof^rainiranja bistveno poenostavi in olajša. Ima pa tudi svojo slabo stran. Pref^lednost nad celotnim progracom se zjiouJ^i-,;-; toda ne zaradi obsežnosti in nepreglednosti izvorne kode, ampak zaradi nararóuločena število datotek programa. S tem naraSča tei'.avnost rokovanja z datotekami na operacijskem siste'-.u sorazmerno z razsežnostjo proc;rasia. V vseh fazah proirramiranja si sicer pripravino komandne datoteke, zato da lahko z njihovo pomočjo enostavneje rokujemo 2 izvorniini datotekami prof.rana, toda komandne datoteke refi i jo le del problemov. Ostale problema, ki dodutno nastajajo pri razvijanju vsakega procraaa; posamezno datoteko po pomoti zbrioemo ali pokvarimo, arhiviranje in dearhiviranje vedno večjeca Števila prosramov s Številnimi datotekami je potrebno dodatno reniti. Pri premagovanju naštetih pomanjkljivosti si vsak programer pomapa kakor ve in zna. To i-e-äitve so le delne od primera do primera raali-čne, neoptimalne in večinoma neenotne, TeHave nastopijo pri spreminjanju programa zlasti, ko Je preteklo več časa od zadnjih sprememb, pri skupinskem jirocramiranju in pri prevzemanju dela drm^ega pro.'-iramerja. . 2. IIE?:EVA1!JE FTiOBTiJIOV Da bi se pro^raner lahko popolnoma posvetil razvoju programske opreme in bi ne imel dodatnih težav z operacijskim sistemom, je bil izdelan Operacijski podsistem za proRramiranJc (kratko OSP). f.ihematični prikaz vidimo na sliki 2, OßP je vnesnik med proßramerjera in operacijskima sistemoma nDLTA-M in RSX-llfl. Hjes^ova naloga Je v tem, da aa vsak razvijajoči progran v proRramskem Jeziku FORTR^Ul IV ali FOKT'i.UT 7? povsem nadomesti kompletno množico posegov na operacijskem sistemu. OSP je aktivno prisoten ves čas razvijanja programov na operacijskem sistemu. V tem času tekoče zaznava vse nastale spremembe. Za vsak proc-raai obstaja v CUP dvoje ločenih sisteaov zii rokovanje 2 datotekami in skupna baza podatkov (slika 5)" Vsal: sistem zase rokuje s svoJi-T.i datotekami pripadajočega profjirania, tako da Jih sprot.i. tvori .dopolnjuje, spreitiina in V-i-i "' Vso spremembe ka avtomatsko Rhvui:jiiJeJo v ■ li-padajooi ( orliitlcov. Vyobinn äii i'a ?.rt i i.: f Je direktno o.iviGna. ori r-iKsn^.r.osLi Vi *'; i'' i- 9 Si, s*. o f) - program i Sk/ - sisitm komandnih datotek Stj • sàtem izvornih datottk bj - baza programe i Slika 3: Sestavni deli OKP Fig 1-. Parts of OSP 2.1 Sistem komandnih datotek Pro'hlea rokovanja s komandni ni datotekami pro^ra-na je ^lil re;"en z uvedbo sanostojneRa sistena komandnih datotek. Z njegovo pomoSjo doseremo n?vsledii,ìe cilje; - hitrejša priprava komandnih datotek - poenostavljeno spreminjanje konanrtüih datotek - laSji prehod med opi'avili vr.ak.e fase - pover'anje pref-lodnosti nad colotnin proi^r^rnom - fivto:nat£!ko upoštevanje vaen opcij povozovaiija - enostavno arhiviranje proQ'iraida V vsaki faai riroirrainiranja potrobujerao zrx razvijanje programa komandne datoteke. Ts se t;vo-rl'jo r.a zaöetkn enkrat sa vselej, njihova vsebina se shrani v bazi podatlrov, kasneje pa se sano 5e ažurira jo. Slika 4 priV.azuje v£3e vrste rokovanja s ko-'fiandnirtii datotekami. V spoTüinu računalnika se avtoiüatako pojavljajo, spreninjajo in briSejo odvisno od projfrai^ierjo-vih potreb naslednje konandrie datoteke: glavna (koraandr.a) datoteka - pov67-ovalna (koTaandniij datoteka aerraer.tna Ckoinandna) datoteka Vsaka od njih se uporaTnlja za določano nslopo in ina zato tudi svojo posebno vsebino. Vse-hino vsake od njih je moZno določiti deloma avtomatsko in deloma interaktivno S pomočjo Bisteraa komandnih datotek (odslej kar OSlV- - Glavna datoteka Vsebino c^^vrie komandne datoteke je sestavljena tako, da vodi celotno testiranje projjrana. Pripravi jo OSP na veČ načinov odvisno od faze ^ prop-.raairanja. Pred priČetkon testiranja je novemii programu namenjen spominski prostor Se prazen, 03P to up;otovi in avtomatsko tvori začetno vsebino rilavile-datoteke, ki £e oiaor-oča avtomatsko rokovanje z datotekaai nemodularner^a probrana. oodaj lahko editiraino p^lavri riroi;:ram in^i-ia pri-•^r^viio r^a avto~.at£5l:o taìrl;ìi-r.-ij(! sì p0."!0^j0 tvo-datoteko. r': of'ločin.o za tvorbo jii-^^rir-n yroyj-fii.v.'yr:/-^ ■i j'iul'i, pontiine t-ro;-ra-i moc'hiìt;:!!. tn v procraiw takoj G pomočjo Or>P interaktivno vnesemo v baso podatkov. Tudi vsako ;iasled:i,1o sprenealDo (üodajanjo, brisanje uli spremi:, j j e oznake pronramnl:ei:a modula) v pi'onra::iu jo -ot-jc-brxo sproti ažiurii'ati v bazi podatkov. Tako pozna OoP v vsakem trenutku konfiguracijo našega proirtriina tor nam lahko vedno avtoiai i-.f ^.o opravi potrebno oi'sraoijo ali posreduje "(^Ijcnci infornaci j o ven testiranja pro.~ra;:iE. Tudi pred sproninjanjem proparana je pros^rariu nanenjen spominski prostor šo prašen. Vanj se in arhiva skopira arhivska datoteka prorrama. O;:'.!^ nam ia nje v trenutlcu rekonstruira vse potrebne komandne datoteke proRrana, oedaj lahko pjorjani spet po äelji tostii'amo. ITapor in čas prehoda aortularneff.a iz nirvijoče arhivsko oMiVo v dinamično testno obliko postaneta aane^iuT-l.iiva. - povezovalna datoteka Med testiranjem protraila se vsi njogovi moduli, poveaujojo Med seboj v sliko pro?,rama. Pri je potrebno upoštevati: - iiRČin poveaovanja - o])timalnost povezova-;ja Trenutna verzija OoP naa omogoča neseßientno i;i secaentno povezovanje modulov programa. Pri ter:: je možno s pomočjo OSP interaktivno izbrati vsü potrebne opcijo povezovalnilca za optimalno nostsi-vo slike programa. Bliko 'I: avtomatska priprava komandnih datotei: sa testiranje programa Fig 4-: automatic prepare of command filea for prot"';rat!i testing - aegmentna datoteka Pri povezovanju modulov procraiiia se velikokrat uporablja tudi sejiaentna datoteka. Pri obsešnej-Sih programih, kjer običajno zmanjka sporilnsket-a prostora je potrebno uporabiti segitiantno hchniko povezovanja modulov. Teinu namenu sluši poseben opisni jezik (overlay diseription Ifinf^uaRe), s katerin povezovalniku Iiosi'Cdìijomo drovonno stxixktnro nn'ier' a pro;':ri'. ri, 0:;P omor;o?a opis večine drevor.^i.l ii ftriT'-.t.v.r' v Don!3CUtiii dat;otfe;ci. 2.2 Sisten izvornih datotela ?.'X rokovanje a izvomini ciato smicani prof-ir-ina 30 bil uveden sistera izvornih rìo -.otal:. Z njei^ovo ponočjo floseSiino naslednjfj eil jo: - avtoJuatsko roirovanjo s iKvoriiimi datatelc-i'ai - 7,.ir;'"ita vseh datotek pronrama - enostavno arhiviranje pro;;ia:na - enoBtavno rteai-iiiviranje prof^raraa Vsaka izvorna datoteka ima svojo oznako, ki je shranjena v ba7,i podatkov. Kistein komandnih datotek omoROÖa tekoče sprenlja-ije sprßininjanja izvornih datotek z vata.vljanjeia novih oanak, sproninjaujen trenutnih osnal: in brisanjem nepotrebnih oznak. Ta;:o se tekoče zbirajo v bazi podatl;ov vsi podatki po razsežnosti razvija.iočaca pro^i'ataa. rrocramarju je oiDoeo^en v vsakon trenutku celovit JjreRled nad trenutnim stanj era pro^ira.'iia. Vse trenutne izvorne datoteke, jih je sinteiij komandnih datotek ašuriral v l)a::i podatkov, ao p.vtoiriatako dodatno zaSóitene. Funkcije sistema izvornih datotek so prirejene posobnostin posamezne faze rrof";ra=iiranja (odslej kar OÜP). -......—1 SISTEf- zdrutaiaif brisai^ !---1 1 IZVOR Hl cepitev 1 1 H OATOT varovanje EK izločanje TESTIRANJE Slika avtomatsko rokovanje z izvornimi àatotekani Fiff 5; autosjiatik source files handlin,^ - faza testiranja programa Testiral Je je najobsešnejTsa faza programiranja. V tej fazi nastajajo in se neprestano doT'olnju-jejo datoteke procraiaa. 0;ìP o'no^oSa dva po:ne;a-bna i:i tudi najpogostejSa poraej^a: - varovanje; avtomatsko zdruKovnnje vsoh datotek pror;;ra:na v zaSHtno datoteko - ir.lo"aT>jc: izf.ubljeno ali -^okvarjeno laiikn ponovn.o ir.t:ci'nl:tiv:io i;'.lo:i-::,o iz r.ri.";':it:!ü in 31; 'ja'-cj izo! :'ic;;rio dol.■ ■olr.".j ioriu vti; :.iu. - faza arhivira-ija protraila Velik problem predstavlja arhiviranje pror.raia. Ob koncu testiranja pronrasia jc potrebno sl.r.initi veliko tovilo različnih izvornih datotek v arhiv. Ob večjem številvi datotek probrana, slasti še ob večjoin Številu kon'ia'-ih procranov, je to zelo te:'ko rešljiv problem. Otjl' odpravl ja ta problem s posenoaa: - združevanje: ob koncu testiranja je možno vse komandne, izvorne in pomo£1;e datoteke združiti in pri te.-a vnesti še dodatne podatke zu n]-hiviranjo - brisanje; ko so vse datoteke pror^rama zdjužer.e v nnotni arhivsl;i datoteki, OlU" avtonatsko zbriSo vse datoteke iz spo:iir.a računalnika Ob koncu testiranja so avtomatsko izgubi sled za pravkar napisanim programom. Clika pro;:ra'na se akopira na uporabniški dol Dpo.^ina, arhivska datoteka prorrraraa pa v arhiv. - faza spreminjanja programa Vzdrževanje ali prilagajanje že napisanef^a in teatiranega procra.-na uporabniku zahteva neprestano spreminjanje in dopolnjevanje že kon'atiili in arhiviranih prof-raaov. Izvedba doarhivii-n ji: izvornih datottik pro^^raraa temelji na predhodnf.r^ načinu arhiviranja. OSP omo(TQ'^a a nekaj prejro-stiai poseni ponovno vzpostavitev tal;e;-:a nta'ij:!, ki spet oaop;o"u nemoteno testiranje prorra:..?, - cepitev: vso datoteke profTana sc ponovTo izlo'ijo iz p.rìiivr-.ke datoteke; prOfTan je takoj uporaben za t.onti-ra;'je. 5. ZAKLJUCUC Propiramski paket OSP je sestavni del ?>ir('c.-a informacijs)ve[;a sistema za proeranii-anje in slu?.i predvsem zr.nnjgevanju napora pri pro^.ia-lairanju in hitrejšemu razvoju tudi bolj ko-i-ploksne proi'ranske opreme. Pri večletni uporabi se je dopolnjeval in pi-O'^-stavlja v sedanji obliki nepogroi'ìljiv pri^o-.o-Sek pri razvijnriju programov : - neizlcuäeneM programerju omof.o^a hitro v"iv- - Ijatije v zapleten svet procrarairarja - izkušenemu pTORramerju omof^oSa pisanje obii.^',-nih programov, istočasno razvijanje ve5 pro,'-ramov, pisanje pron;ranisker,a paketa - skupini prorranerjev omogoča pneprostej'e "Sodelovanje pri slrupnem prop;rar^iranju. 'jiteratura 1. DIGITAL, Reference Manuals RoX-llM v 1.0, Utilities, Task builder, I/O Operationn, 19511 a, Kocuvan E., Delovni standardi pro^ramirar.ja, Delta informator 5, 1981, Ljubljana 5. SIG102, Havodila za programiranje, , liavr.e STANDARDI V HAČUNALNIST-VU Neda K A R O A ŽELEZARNA JESENIC£ UDK: 681.3.012 v rcrcmtu so opisani utanrtarrti programiranja za razlifiie vrstf računalnikov. Zaradi standardov programiranja programi niso več odvisni od programerja. Tn je važno tudi zaradi tega, )cer jcianio v naši delovni organizaciji tri različne vrRte računalniških sistemov in nekateri podatki se uporabljajo na vach treh sistemih. STANDARDS IN COMPUTERISATION. In manuscript are described the standards of programming for different type of conputers. For the sake of standards of programming the prograrams are not depended upon the prograismers. It is so Important because in our firm we have three different type ort computer and nany tines the fiata are used in all three systems. L VOD Danes se £e dogaja, da v eni delovni organizaciji uporabljajo različne vrste računalnikov. Na eni strani je to večji konercialni računalnik, nato so lahko Se manjši komercialni računalniki (mini aH mikroračunalnik) in procesni računalnik za vodenje različnih procesov. Simultana uporaba takega sklopa različnih vrst računalnikov zahteva vpeljavo določenih standardov v posamezne obdelave. Kajti vhodni podatki enega sistema so tahko izhodni rezultati drugega. In prav s takim problemom - uporabo različnih vrst računalnikov smo se srečali v Železarni Jesenice kjer nem zaposlena. Imamo komercialni računalnik iz družine IDH 370/3031 ( v bližnji prihodnosti dobimo še enega ), s S MB pomnilnika. Nanj je vezana množica terminalov po vsej železarni. Za'spremi janje proizvodnje v eni tzmrd temeljnih organizacij ( v prihodnosti pa èc v dveh ) uporabljamo miniračunalnik IĐM 5/1 ( SI2 KD pomnilnika }. V bližnji prihodnosti pa bomo instalirali še procesna računalnika PDP 11/14 za vodnje procesa v jeklarni In kriniljenje porabe električne energije. Informacijski sistem Železarne predvideva povezavo vseh treb iTpt računalnikov v integralni, sistem. Pa bomo lahko vskladlli delovanje vseh treh dokaj različnih sistemov smo s« že pred casosi odločili, da bomo pričeli s pisanjem " Knjige standardov ". V njej naj bi se nahajalo vse, kar zadeva delovanje in programiranje računalnikov v nasi delovni organizaciji. Knjiga ima zaenkrat tri velike ( glavne ) dele: - Računalnik IBH 370/3031 - Miniračunalnlk IBM S/l - Procesni računalnik PDF l]/14 Vsak od teh delov pa je dalje razdeljen na posamezna poglavja. KAČUNALNIK IBM 370/3031 En računalnik IBM 370/3031 uporabljamo v našem računskem centru že od leta 1979, drugega pa bomo predvidoma začeli uporabljati èe letos. Znto je prav del, kjer obravnavamo ta tip računalnika v " Knjigi standardov " najbolj obdelan. Posamezna poglavja so dalje razdeljena na podpoglavja. Ta del knjige obravnava tako delovanje kakor tudi uporabo tega računalnika in je rnide.tjen na naslednja poglavja: - Organizacija sLstejna ( opis računalniške opreme ir. kfof i i-israci je sistemov - SiRienaka pragraniiha oprena ( opis kupljenih oziroma najetih progrannltilt produktov z navodili za uporabo }. » Lastni programi in podprogrami zn splošno uporabo ( opis, nanen uporabe in navodila aa uporabo ). - Navodilo oddelka za obdelavo ( organizacija in Izvajanje obdelav, planiranje obdelav, termini-ranje obdelav, loglžni potek ( anporedje ) obdelav, evidenca trakov, izpisi na tiskalniku ( različni forraularji ), navodila za testiranje obdelav, šifre programerjev in obdelav, dokumentacija področja obdelave po testiranju,.,. ). - ZaSčita in obnavljanje ( sistemskih in aplikacijskih bibliotek, uporabniških katalogov, permanentnih datotek, zavarovanje in obnavljanje celotnega podro£j« obdelave - programi,jobi, parametri, prenos iz faze testiranja v produkcijo in nazaj,,, • ) • - Vhodna in izhodna dokumentacija ( seznani vhodnih podatkov, seznami izhodnih tabel in njihovih prejemnikov, navodilo za pripravo podatkov z« naslovnike tabel, Šifrant obrazcev in tipov papirja,... ), - Navodila za batch prograniranje < določanje imen datotek, tabel, programov in podprogranov, nosilcev podatkov, jobav, generacij grup, uporaba cond parametra, prevajanje in linkanje programov glede na vrsto programskega Jezika ( FL/I, Cobol, fortran, assembler ), uporaba biblioteke za dokumentiranje obdelav ( prd.doclid )). - Banka podatkov ( standardi imen DBD, PSD in segmentov, kreiranje bank, fizične banke podatkov, vzdrževanje, zaičita in obnavljanje banke podatkov, uporabo modulov po pristopih do segmentov, programerski pristopi do bank podatkov, procedure za ažuriranje segmentov bank podotkov). - VSAM datoteke ( definicija in uporaba VSAM datotek, njihova zaščita in obnavljanje )■ - Programiranje v ON-LINE ( splošen opis, hierarhična odvisnost ( področja, aktivnosti, programi, ekrani in akcijske kode ), kategorije subjektov in njihove definicije, imena podatkov, programov, uporabniških modulov in ekranov, standardiziranje akcijskih kod, avtomatično generiranje faz, vrste on-linc programov, konverzacijsko in nekonverzacijsko programiranje,.., ). - Testiranje on-line prograaov ( splošna navodila ). - Produkcija on-line programov ( splošna navadila). - Arhiviranje in restart ( batch in on-line obdelav, prehod leta,... ). - Biblioteke ( vrste bibliotek in njihove znnčilno-sti ). - Standardi sistemske analize ( faze in princip deta, navodila za pripravo priročnika za uporabnika ), MINI RaCUNALNIK IBH S/l V planu Imamo uporabo treh računalnikov tega tipa in sicer v treh različnih temeljnih organizacijah naše železarne. S poskusno proizvodnjo bomo začeli v avgustu na enem izmed teh računalnikov. Z njim bomo spremljali proizvodnjo in sicer zaenkrat predvsem s finančnega stališča. Računalnik je povezan tudi s sistemom IBH 370/3031 tako, da lahko sprejem« določene podatke od njega oziroma so nekateri njegovi izhodni podatki vhodni za določene obdelave na tako Imenovanem host ( glavnem - komercialnem ) računalniku. Ker bo prvi računalnik IBH S/l èele poskusno obratoval Je jasno, da tudi standardi zanj se niso dokončni. Tekom obratovanja s« bodo verjetno pokazale določene zahteve, ki Jih zaenkrat še nisao predvideli. Zn zdaj Je ta det knjige standardov razdeljen šele na šest poglavij. Tudi povezave med njim in glavnim računalnikom ie niso dokončne. Pomembno je to, da povezave po telefonski liniji med obema računalnikoma lahko tečejo in za zdaj še ni bilo posehnih teiav. Tudi tu opisana poglavja obravnavajo delovanje in uporabo mini--računalnika. - Opis sistema in njegova organizacija ( računalniška oprema, konfiguracija sistema, sistemska programska oprema in njena uporaba ), - Programska navodila ( določevanje imen programov, podprogramov, jobov, ekranov in datotek, lociranje in velikost datotek, pristopi do datotek, prevajanje in linkanje programov, testiranje obdelav in podobno )■ - Standardi sistemske analize ( priprava priročnika za programerja in uporabnika, navodila za določevanje imen sistemske analize. Imena tabel, plan in izgled ekrana in tabele ). - Organizacija obratovanja računalnika ( sistem dela, terminski plan,... - Uporabnik in sistem < navodila za uporabnika -pristop do sistema, samo delo s terminali in sistemom. Treba je vedeti, da ta mini računalnik ne potrebuje posebnega operaterja in da z njim lahko direktno dela uporabnik ). - Zavnrovanje in obnavljanje < navodila za zavarovanje podatkov in programov, obnavljanje Ip-teh, če prlrte rto različnih napnk ). I® vsega navtflenega je razvidno, đs del " Knjigf standardov , kl pokriva miniračunalnik še ni zaključen in da bo treba še precej dela. PROCESNI RAČUNALNIK PDP 11/41 V drugi polovici letošnjega tnta naj bi pričpl z delom tudi procesni računalnik. Zato smo pričeli B pripravo tretjega dela " Knjige stanflarrtov ki bo obravnaval delo In uporabo procesnega računalnika v Železarni Jesenice, Pravzaprav je treba govoriti o dveh procesnih računalnikih istega tipa, kl bosta vezana paralelno in bosta opravljala pravzaprav vsak svojo funkcijo, istočasno pa bosta tudi varovala drug drugega. To poneni, da bo v princru okvare enej^a procesnega računalnika prevzel drugi njegove najvažnejše naloge. En računalnik bo vodil netalurški proces v jeklarnl, drugi pa bo krmilil porabo električnega toka v naši delovni organizaciji. Tudi v tem delu " Knjige standardov " govorilno v nekaj poglavjih in sicer: - Organizacija sistema ( opis računelnižke opreme in konfiguracije s pripadajočo sisteasko programsko opreno, namen in način njene uporabe). - Programska navodila { imena datotek, programov, jobov, organizacija in pristop do datotek, lociranje,... ). - Standardi sistemske analize ( priprava priročnika za programerja in uporabnika, imena, plan in izgled ekranov in tabel - Organizacija obratovanja procesnega računalnika ( način obratovanja, terminski plan,... ), - Uporabnik in sistem ( navodila uporabniku za direktno delo e procesnln računalnikom - Zavarovanje in obnavljanje ( navodila za zavarovanje podatkov in programov obnavljanje le-teh ob raznih napakah ). - Poveaava procesnega računalnika z računalnikom IBH 370/3031 preko telefonske linije ( navodila za povezavo in način dela ). ZAKLJUČEK Jasno je, da obstoječa " Knjiga standardov " še ni dokončna in da to verjetno tudi nikoli ne bo. Vedno se bodo z nadaljevanjem deta na do sedaj znanih treh različnih sistemih- računalnika pokazale še nove naloge, ki bodo zahtevale nove rešitve tudi na področju standardiziranja tako v progranerekem delu kakor tudi v sami uporabi računalnikov. Verjetno pa je potiembno predvsem to, da je tako " Knjiga standardov " potrebna tudi lam, kjer jnajo zaenkrat le en računalniški sistem. Omogoča namreč laìÉje delo vseh njegovih uporabnikov, tako v računskem centru kakor tudi uporabnikov izven centra. To je pravzaprav mesto kjer so zapisane vse tiste značilnosti posameznega računalnika, ki jih potrebujemo pri programiranju in njegovi splošni uporabi. Zato je vpeljava določenih standardov y vsakem računskem centru verjetno dokaj nujna. POENOSTAVLJENA NAPOVED NASTOPA NAPAK PRI TESTIRANJU PROGRAMSKE OPREME TomaŽ Dogša, dtpl. ing., dr. Ivo Rozman TEHNIŠKA FAKULTETA MARIBOR JUGOSLAVIJA UDK: 681.3.06 POVZETEK - V članku je prikazana praktična tn enostavna metoda za predikacijo nastopa napak v zadnjem obdobju testiranja. Ocenjen potrebni čas testiranja za odkritje naslednjih napak nam omogoča objektivno odločitev o prenehanju testiranja. Prikazan je tudi konkreten primer predikcije, ki se je uporabil pri testiranju simulatorja teleinformaefjskih sistemov v železniškem prometu. SIMPLE METHOD FOR SOFTWARE FAILURE PREDICTION - A practical and simple method for software failure prediction in (he last period of software testing in presented. Objectlv decision when to stop with testing, is possible with results of prediction. A practical example of prediction tliat was used by software testing of computer railway control systems is also included. UVOD Eden izmed glavnih kazalcev kvalitete programske opreme je njena zanesljivost. S testiranjem programov skušamo dobiti odgovore na naslednja vprašanja: a) Koliko je vseh napak v programu? b) Kolikšna je zanesljivost delovanja programa v realnem okolju? c) Kako dolgo je potrebno še testirati, da bo odkritih npr. 90 % vseh napak? ■ d) Kolikšni bodo stroški testiranja? Danes so že razviti določeni matematični modeli /2/, /5/, ki bolj ali manj uspešno dajejo odgovore na ta vprašanja. Predvsem v praksi pogosto nerealne predpostavke, na katerih bazirajo ti modeli in pa vpletenost čisto subjektivnega faktorja otežuje deterministični pristop. (Pogoste predpostavke; število vseh napak v programu je konstantno, velikost programa se ne spreminja, večina napak je odpravljenih itd. ) V nadaljevanju članka je prikazano, kako se da brez uporabe zapletenih modelov odgovoriti na vprašanje d). Ta metoda bo ilustrirala še s konkretnim primerom testiranja. POENOSTAVLJENA PREDIKCIJA testiranja (slika 2) /2/. '/rj 20. IS. t0. S. tao. lee. srn. Pri uporabi vsakega modela potrebujemo podatke o rezultatih testiranja. V ta namen je bila razvita posebna procedura /4/, ki je omogočala zbiranje najosnovnejših podatkov: 1. CPU čas potrebnega odkritja napake 2. število odkritih napak (v primeru, da jih je več kot 1) 3. koledarski čas potreben za odkritje napake 4. čas potreben za odpravo napake 5. velikost programa, ki ga testiramo. Iz teh podatkov se dobijo osnovni pokazatelji, ki jih potrebujemo pri zasledovanju uspešnosti testiranja. V konkretnem primeru'smo opazovali intenzivnost pojavljanja napak v odvisnosti od skupnega časa testiranja Ulika l) in pa kumulativno število napak v odvisnosti od CPU časa Slika 1: Intenzivnost pojavljanja napak ^(t) v odvisnosti od skupnega CPU časa testiranja t. Z interpolacijo grafa na sliki 2 dobimo potreben čas za odkritje nekaj naslednjih napak (slika 3). Ta pristop temelji na naslednjih predpostavkah: 1. večina napak je že odkritih 2, intenzivnost pojavljanja napak ne bo naraščala ampak padala. Za interpolacijska funkcijo je bila zbrana J()c) jfT+kj. Za napoved potrebnega časa ^t, v katerem bomo naŠli še AN napak, moramo določiti enačbo, ki ponazOTja graf na sliki Z. S pomočjo metode povprečnih vrednosti t) 12a. IM. ea. ki je podlaga znanemu Musovemu modelu /6/. V tem primeru bi postalo določanje koeficientov k in k^ precej zapleteno^ saj bi morali reševati transcendentne enačbe. 2a. t t" N odstopanje 150,9 146,49 80 4,41 1S2,2 156,25 81 -4,05 165,7 166,33 62 aM' -0,63 177,5 176,72 83 aPt 0,78 183,1 187,43 B4 -4,33 201,6 198,45 65 3,35 213,9 207,79 86 4,11 219,0 221,44 87 -2,44 224,3 233,41 88 AN -9,11 (-4*) 244,7 245,69 89 -0,99 254,8 258,29 90 -3,49 in. m. see. 4». at = 40.9,^1'= 48,5 AN-5 Slika 2! Kumulativno število napak n v odvisnosti od CPU časa testiranja t. . določimo koeficiente interpolacijske funkcije za interval ÄN'. Za AN'naj velja: ■ äN'S AN. Ko je funkcija f(x) določena, lahko laračuiiamo nastop napak v intervalu ^t. Tabela na sliki 4 prikazuje del numeričnih rezultatov, ki smo jih dobili pri testiranju simulatorja procesov v že- Sllka 4: Primerjava med predlkacijo t* In dejanaklml rezultati t za napake od 86 do 90. Za kontrolo Je izračunano odstopanje Interpolacijske krivulje v področju že dobljenih rezultatov an: ZAKLJUČEK Z izbiro' preprostega matematičnega modela se da dokaj natančno napovedati nastop napak v zadnjem obdobju testiranja, S temi podatki lahko zelo dobro ocenimo nadaljnje stroške testiranja. Z opazovanjem intenzivnosti pojavljanja napak lahko sklepamo o umirjanju pojavljanja napak. Velika nihanja pomenijo, da s testiranjem vsekakor ne ■ smemo končati. UTERATURA AA/ /1/ Myers J. G. 1 The Art of Software Testing, John A/V' Wiley and Sons, Inc., New York 1979 /2/ J. Virant; Zanesljivost računalniških sistemov. Zal. Fakulteta za elektrotehniko v Ljubljani, Ljubljana 1981 - li: /3/ M. L. Schooman: Software Reliability: A. Historical Perspective, lEBE Trausactions on ftaliabllity, . 1984 april, Vol. R-33, No 1, str. 48-55 t /4/ T. Dogša: Testiranje programske opreme telelnfor- .........At' ^t Slika 3: Preprosta predikcija. leznlškem prometu. Ko smo odkrili BS napako, smo napraviti predikcljo za nastop naslednjih 5 napak. Napovedan potreben čas testiranja je bil 48,5 sek.{CPU), kasneje izmerjen pa 40,9 sek. Razlika je znašala 18,6 %. Iz primerjave med napovedanimi podatki In dejanskimi je razvidno, da Izbrana interpolacijska funkcija f(x) dobro ustreza. Maksimalno odstopanje na celotnem intervalu je bilo 4 Napoved za daljši interval je manj zanesljiva. Če bi v prejšnjem primeru povečali interval AN in na 10, bi maksimalno odstopanje naraslo na 10,4 %. Ker Izbrana Interpolacijska funkcija nima llmitne vrednosti, se analitično ne da določiti število vseh napak. Slednje bi omogočila Izbira funkcije macijskih sistemov za vodenje železniškega prometa. Magistrska naloga, Tehniška fakulteta v Mariboru, Maribor 1985 /5/ Alan N. Sukert: Empirical Validation of Three Software Errpr Prediction Models, IEEE Traus. on He-liability, Vol. R - 28, No. 3, August 1979, str. 199-204 /6/ J.. D. Musa: Validity of Execution - Time Theorly of Software Reliability, IEEE Traus. on Reliability,: Vol. R - No. 3, August 1979, str. 181-191 f(x) -kg (1-e V''), AVTOMATSKO GEMERIRANJE TBSTÌTDI ODLOČITVENIH DREVES V SIGHATURHT ASkUZJ ANDREJ DOBRIH, BBAHC NOVAKi Ljubljana, Institut Josef Stefan Jugoalavi^ja UOK: 681.3.517.11 RoSno generiranje taetnlh odločitvenih dreves v signatimii analizi zahteva stalno prisotnost visoko kvalificiranega strokovnjaka. Zaradi obsežnosti odločitvenih dreves pogostotrat pri= haja do semantiSnih napak v strukturi odloSltvenega drevesa, ki znatno eBgnjSujejo ali celo onemogoSajo lokalizacijo virov napak v delovanju prelzkušanca. Avtomatsko generiranje odlo= Citvenih dreves odpravlja semantične napake, poleg tega pa nudi precej ugodnosti s staliSSa prilagajanja testiranega vezja za testabilnost. Opozarja tudi na morebitne nedoračanoati upo= rabljenega vzbujanja preizfcušanoa. AVTOaiATIC GEMERATIOM 0(F DECISION TREES IK SIGHATUEE ANALISYS - Manual generation of decision trees in signature analisys demands for hieh qualified personell. Bue to the complexity of the decision trees it is impoasible to avoid human errors, which affect the reiiohility of the used troubleshooting method for localization of the detected errors. The use of the pros grazn package that allows the nvtomatio generation of the decision trees overcomes those troubles. Besides it also give s the possibility to increase the design for testability in the tested product by pointing untestahle areas of tested circuits. lokalizacija virov napak v delovanju preiB= kušancev z metodo signaturne analize pote=. ka s primerjanjem Signatur v testnih toSn kah. Referenčna signature se določajo na pravilno delujočem modulu. Vsi pogoji, kot na primer način vzbujanja testirenejpa vezja, priključitev sond aignaturnega analizatoru ja, izbira testnih pogojev, itd., ki so veljali med odjemanjem referenčnih Signatur z "zlate piomorajo biti izpolnjeni tudi med potekom testiranja tekočega pre= Izkušanoa. Neenakost referenčne In odčitane signature v isti testni točki opozarja na napako, ki se nahaja nekje med opazovano testno točko In funkcijskimi viri signalov, ki deflni= rajo podatkovni pretok v testni točki. Betektlranemu napačnemu podatkovnemu pre= toku sledimo preko testnih točk, ki se nas hajajo na električnih poteh signalov, ki tvorijo dani podatkovni pretok. V trenutku, ko odčitana signature postanejo enake re= ferenčnlm, smo prešli preko vira detekti= rane napake. Napačno delujoč element se nahaja na teko določeni meji med dvema za= poredno odčitanima testnima-'töSksma. Testne točke, ki predstavljajo skrajne po= nore podatkovnih pretokov definirano vzbu= Janega preiatušanoa, imenujmo ključne točke vezja. PreizlcuSanec pravilno deluje pri danem vzbujanju, kadar signature v vsea ključnih točkah veaja ustrezajo referenčnim signs turam. Betettirani napaki v ključni točki sledimo preko testnih točk, ki se nahajajo na rođat= kovnih poteh v obratni smeri podatkovnih pretokov. Izbira naslednje testne točke je odvisna od strukture testiranega vezja in rezultata primerjanja Signatur. Naslednje testne točke izbiramo vse dotlej, dokler v odvisnosti od skladanja Signatur z referenc Snimi ne definiramo področja med dvema te3t= nima točkama, kjer se nahaja vir napake. Povsem jasno je, da je nepotrebno odčitan vanje Signatur v testnih točkah, ki se na» hajajo na podatkovnih poteh, kjer laa skraje na testna točka ustrezno signaturo. Opis lokalizacijskega postopka najlaže pri= kažemo v obliki binarnega drevesa, ki ga imenujemo odločitveno drevo. Korenino odloc Sitvenega drevesa predstavlja tljučna točka. V kolikor celotnega delovanja preiBkušanoa nI mogofie zaznati v eni sami testni točki, ustreza vsaki posamezni kljuSni točki pri= padajoče poddrevo. Zaporedje odčitavanja je poljubno in je izlirano najveSkrat zgolj a staliSSa najenostavnejšega odčitavanja Signatur v ključnih testnih točkah. VobUŠ= če odločitvenega drevesa je podano s teat= no točko in njeno pripadajočo signaturo. Vejitev na naslednika Je poEojena a reaul= tatom primerjanja detektirane eignature a referenčno vrednostjo. Listi odločitvenega drevesa predstavljajo diagnoze napak, ki so definirane z opravljeno potjo preko teetn nih točk, kjer ao tile detektirane nBustrez= ne signature. Grajenje testnega odločitvenega drevesa se prične z določitvijo ključnih testnih točk preizkuÈsnega vezja pri definiranem vahu= jenju in enolično določenih in izpolnjenih pogojih delovanje, kot na primer nastavitev stikal, prevoz in podohno. Za definicijo ključnih točk jo potrebno podrobno poEna= vanje delovanja vezja»kakor tudi delovanje posameznih elementov vezja in njihovih meda eehojnih povezav. EljuSnim točkam slede opi= si nadaljnih testnih točk z definicijami vejitev v primeru ustrezne oziroma neu6trez= ne signature. Vsaka izhrana testna točka mora hiti neposredno dostopna na površini tiskanine preizkušanca. Potrebno je paziti na ustrezno zaporedje predpisanih testnih točk. Kadar posamezna vejitev iz testne toč= ke nima nadaljevanja v nobeni drugi testni točki jo potrebno določiti diagnozo napake. Diagnoza napake je odvisna od pogojev, ki so povzročili ustrezne vejitve v odločitve» nem drevesu. Grajenje odločitvenega dreves sa je končano, kadar so vsi nožni sprehodi po drevesu zaključeni z ustrezno diagnozo. Kadar pride med grajenjem testnega drevesa do konfliktnih situacij, kot na primer zelo obširna in zategadelj relativno nei:^orabna diagnoza, vejitev na že opisano testno to5= ko, ki se nahaja na višjem nivoju kot opic sovana testna točke (detektirana napaka v tem primeru propagira v zanki) in podobno, je poti?eben povraten poseg v definicijo testnih pogojev, V najenostavnejsem primeru pomeni takSen poseg ponovno ^streznejšo definicijo predpisanega vzbujanja. Zadovol= jivo reSitev dostikrat predstavlja tudi ponovna definicija krmilnih signalov, s ka=-tero zadovoljimo zahteve testne metode eignaturne analize. Večje težave nastopijo v r^cimeru, kadar naletimo na povratne po= vezave v testiranem vezju. Edino možno pot predstavlja v tem primeru poseg v samo she= mo testiranega vezja, aaj je potrebno ustvariti razklenitev povratne podatkovne zanke in na ta način ustvariti enosmeren podatkovni pretok. Opisane neugodnosti se pojavljajo še zlasti med izdelovanjem test= nih postopkov preikuäancev, kjer v fazi načrtovanja vezja niso bila t^oStevana vsaj najsplošnejša pravila o testibilnosti ve= zi J. Iz navedenega je razvidno, de Je za defi= nicijo odločitvenega testnega drevesa po= trebno obširno znanje, ki ga ima le visoko usposobljen kader. Prav tako je tudi rez» vidno, da sama izdelava testnega drevesa zahteva obilo zamudnega in nekreativnega ročnega dela, kot ns primer vpisovanje po= sameznih testnih točk z ustreznini signa= turami. Pri tem oe moramo zavedati, da ob delu nujno prihaja do napak v sintaksi odločitvenega drevesa, katerih edini r8Z= log je človeški faktor. Napaka v strukturi ali posameznih zapisih testnega drevesa nujno povzroči neustrezno diagnozo detektiv rane napake in s tem neuporabnost testnega postopka za lokalizacijo vira napake. Groc be napake v zgradbi odločitvenega drevesa je ob pazljivem pregledovanju njegove strukture možno odpraviti še pred uporabo odločitvenega drevesa za testiranje pre= izkuiancem, medtem, ko manj opazne napake ostanejo. Zaradi obsežnosti večine odlo= čitvenih dreves skoraj ni mogoče preizku= siti njihovo pravilnost s simuliranjem napak na prelzkuSanem vezju. Na dan prl= hajajo med samim postopkom testiranja. Odpravljamo jih lahko le postopoma, pri čemer pa se je potrebno zavedati, da pri operaterju mnogo prej pride do nezaupanja v sem testni postopek, kot pa do elimina cije vseh obstoječih napak v odločitvenem drevesu. Blika 1 prikazuje običajna IN vrata in pripadajoče odločitveno testno drevo za lokalizacijo vira napake. TT! TTi Ključna tesina +.oćka • TTl PBdathttvni iivon s TTH, TTĆ Lesejncta » O - necravilnä »»«n ai up a 1 -- pravilna «Isnatupa ni —1. TT2 —i > TI3 - » TTS -1 (A) CI > (21 « Pravilno delovanje tea+iranesa vexJa <2)4 Nanaka na » »vedavi. TT2 - TTl C3> t Mapaka v delovanju IN vpat (4> « Napaka na Pt>ve:;ovi TTS - TT3 c?j) ■ Napaka na povezavi TTA - TT4 ( <> > t Napaka v vhodnih podatkih (7) t Napaka v vhodnih polfoikih sim 1 Prvenstveni nanen avtomatskega generiranda odločitvenih dreves v sigaatuml analizi je eliminacija sintalrtidnili in logičnih nB= pale v strulrturl odloSltvenih dreves. Na ta naSin odlofiilno vplivamo na faktor za=< upanja v testni metodi. Ustrezna dodatna programaka oprema poskrili tudi zs. drastic čno zmanjšanje potrelinega časa za izdelavo testnih postopkov. Celotno programsko opreš mo lahko razdelimo na več podsklopov in sicerI - generiranja datoteke testnih, točk, ki opi= Buje elemete preizkuSanca - določanje signatnr posameznim testnim to5= kam in generiranje datoteke povezav med testnimi točkami - preverjanje teatahilnosti designa preiz= fcušanca in določevanje ključnih testnih točk - generiranje testnega - odločitvenega dres. vesa. Z -uporsho postopka avtomatskega generiranja odločitvenih dreves je bistveno zmanjšan potrebni čas sodelovanja visokokvalifioiras nega kadra, saj precejäen del postopka lahko opravlja nižje kvalificirani kader. Večino potrebnega strokovnega dela lahko opravi načrtovalec vezja sam, hkrati pa ob upoStea vanju diagnoz programskega paketa doseSe, ds je izdelano vezje prilagojeno zahtevam načrtovanja za testabilnost. S takšnimi povratnimi posegi je mogoče doseči na ce= lotnem vezju lokalizacijo vira napake do elementa ali povezave natančno, kar pohit= ri tudi postopek oživljanja nepravilno de= lujočlh preizkušsncev v kasnejši proizvod» nji. Generiranje datoteke testnih točk, ki opi» .suje testirano vezje predstavlja opis po= sameznih elementov vezja. Opis posameznega elementa je poenostavljen do te mere, da je aa nožico elemente, ki predstavlja testno točko, potrebno podati le njeno funkcijo v smislu izvora aH ponora podatkov. Opisi večine najbolj splošnih integriranih vezij so podani že v testni knjižnici, tsko da je za opis takšnega elemente potrebno navesti le njegovo oznako. Kadar je del elementa neizkoriščen, je možno redundantne testne točke, ki se nahajajo na elementu, enostav^ no izpustiti. Na ta nsčin krčimo obsežnost datoteke testnih točk, kar zmanjša časovne in prostorske zahteve kasnejše obdelave vpisanih podatkov. Pri kreiranju datoteke testnih točk je pomembno, da med seboj lOs cimo dele testiranega vezja, ki delujejo med seboj asinhrono, saj aslnhronost delo= Vanja onemogoča uspešno uporabo signatume analize. Določanja Signatur posameznih testnih točk poteka ob natanko definiranem vzbujanju, kjer morajo biti izpolnjeni vsi morebitni dodatni testni pogoji, ki se nanašajo na morebitne posege v testirano vezje in na= meatitev odjemnlh sond signatumega anall= zatorja. Operater mora v tem primera Intere aktivno vnašati podatke o odčitanih signas turah. Vsaki testni točki, ki se nahaja v datoteki testnih točk, pripišemo ustrezno signaturo. Operater s pomočjo signatumegs analizatorja odčituje signature testnih točk, ki se dodajajo opisom posameznih test» nih točk. Ker velja pravilo, de se signatu» re testnih toČk, ki se nahajajo na isti električni povezavi, med seboj ne razliku^ jejo, program sproti preverja enakost odčitane z že prej določenimi sigcatuc rami. V primeru, ko naleti v datoteki test= nih točk, na testno točko, kateri je pripi= sana enaka signatura, zahteve od opereter= ja informacijo o povezanosti oziroma i2o= liranosti tekoče testne točke z namembno testno točko. V primeru potrditve poveza= nosti med testnima točkama, se v datoteko povezav vpiše podatek o odkriti povezavi. Kađ.6r veS testnili tofik že pripada določani elefctriSni povezavi, Je dovolj zgolj ena potrditev povezanosti tekoSe testne točke na almpiao povezavo. Eo bo doloSene signss ture vsem testnim točkam v datoteki testnih to5k, se v dstote^ povezav nahaja popoln opis medsebojne povezanosti ali izolirano= sti vseh navedenih testnih točk. Z definiranjem datoteke testnih to6k s pripadajočimi signaturami in datoteke po= vezav preizkuSanca so podani vsi potrebni pogoji, ki omogoSaJo generiranje odlo(Sit= venih testnih dreves. Programskemu paketu Jo dodan vmesni korak, ki poenostavlja dot= loč an J e ključnih, testnih točk, oziroma opozarja na morebitno netestabilnost po= sameznih funkcijskih delov testiranega ve= zja.Ključne točke se določajo na ta način, da izhajamo ia vseh začetnih podatkovnih izvorov in se preko posameznih povezav in elementov vezja pomikamo proti skrajniia podatkovnim ponorom, testne točke, ki ustrezajo skrajnim podatkovnim ponorom, predstavljajo ključne točka testiranega vezja ob danih testnih pogojih. Kadar Je postopek določanja ključnih točk prekinjen zaradi prisotnosti morebitne povratne pon datkovne povezave, programski paket Javt obvestilo o detektIrani podatkovni zanki • in zahteva rešitev konfliktne situacije. Iie to Je mogoče doseči na dva načina. Manj priporočljivo Je prekinjanje povratnih povezav na ta način, da odstranimo del va= se zaključenega vezja iz datoteke testnih točk, eaj s tem oslabimo lokalizacijske Sposobnosti testnega postopka. PriporočlJi= vo Je, da v takSnih primerih raje spreme= nlmo design teatiranegs vezja z uvajanjem dodatnih prevez, ki Jih lahko med samim postopkom testiranja zaključimo in s tem prekinemo povratne zanke v vezju. Vse mo= rebitue spremembe na preizkuSancu Je 6e= veda potrebno vnesti tudi v datoteki test= nlh točk in povezav. Pohitritev postopka definiranja ključnih testnih točk Je ino= goče doseči z eksplicitno navedbo testnih točk, ki v danem primeru predstavljajo po= datkovne izvora. Na ta način lahko hkrati tudi dosežemo eliminacijo asinhrono delu= Jočih delov vezja. Generiranje odločitvenih testnih dreves predstavlja poslednji korak definiranja testnega postopka določenega preizku§an= ca.Vsaki ključni testni točki pripada ustrezno odločitveno poddrevò, ki defini= ra morebitni vir napake detektirane v prl= padajoči ključni točki. Diagnose, ki Jih postavlja programski paket, popolnoma de^ finirajo tipe napak do katerih pride pri popolni definiranosti vira napak. V pri= merih, ko vir napake predstavili nedef ini= rano velik podsklop testiranega vezja, se postavi splošna diagnoza, ki pa Je ogte= vilčena, tako da iahko operater kasneje po= pravi tekst posamezne diagnoze. HaJvečJa prednost avtomatsko zgrsjenih odločitvenih testnih dreves Je v njihovi semantični pravilnosti. Ha ta način so ođ= stranjeni vsi možni človeški vplivi, ki zmanjšujejo zanesljivost postopka te8tiran= Ja. Edina slabost takšnih odločitvenih dre= ves so diagnoze napak v nezadostno definii ranih področjih testiranega vezja..Vendar so tudi te diagnoze posledica nestabilnosti preiztušanca. V vseh primerih, ko Je design preizkuäanca popolnoma testibilen, so tudi podane diagnoze virov napak enolične in nedvoumne. Že v začetnih korakih programski paket sam opozarja na morebitne nedosleds nosti s stališča testabilnosti preizkušanj CS in odstranitev vzrokov za opozorilo oziroma redesi;^ kritičnih delov vezja v mnogoSacpopravi lokalizacijske zmoSnosti testnega postopka. BovolJ zgodna vključi= tev programskega paketa v postopek načrto= vanJa vezij v veliki meri olajša vpeljavo produkta v proizvodnjo. Programski paket lahko na računalniku z WK bytov delovnega spomina obdeluje vez= Ja, ki BO sestavljena iz približno sto različnih elementov, oziroma 2000 testnih točk. Ker Je zelo malo verjetno, da "bi z enim samim vzbujevelnia postopkom vzbujali vse elemente preizkušanca, to pomeni, da programski paket obvladuje tudi vezja, v katera Je vgrajeno precej večje število elementov. ITERATIVNA METODA ZA BH2U REALIZACIJO HATEKATIČKIH FtJHKCIJA NA ELEKIHONIČKOTI RAČUNALU Milorad Tomić, DI "Česma" Bjelovar Jugoslavija UDK: 681.3.514 U radu je prezentirana iterativna metoda za brzo izračunavanje vrijednosti elementarnih matematičkih funkcija, temeljena na operacijama Bb^Ajanja i pomaka decimalnog zareza. Metoda omogućuje realiza -ci ju tih funkcija u vremenu potrebnom za izvršenje samo jedne do dvije operacije dijeljenja.. Izvt -sena je modifikacija metode u smislu daljnjeg skraćivanja iterativnog procesa za male argumente tri, sonometriJakih funkcija. lOERATIVE HETHOD FOR QÖICK REALIZATION OF «ATHEMATIOAL HJKCTIONS OK C0KFUTE5. The paper gives an iterative method for quick calculations of elementary mathematical functions values, based on the operations of addition and decimal point shift. This method makes possible the realization of these functions in the period of time necessaiT- for the accomplishment of only one or two division operations. The author has performed a modification of the method in the sense of shortening still further the iterative process for small arg^iments of trigonometric functions. OSlTOVllE POSTAVKE ITERATIVNE NETODE "CIFRA ZA . CIPROM" Iterativna metoda "cifra za cifrom" zasniva se na postupku tranformacije pravokutnih koordinata vektora u polarne. U geometrijskom smislu metoda koristi "oscilacije" vrha radiJus-vektora od zadanog početnog položaja, sve dok ne dostigne traženu vrijednost. U principu, metoda omogućuje istovremenu realizaciju para: funkcija. Postavke ove metode bit će prezentirane za slu-ČEij trigonometrijskih funkcija, iako Je moguća primjena na sve elementarne ( i ne samo njih ) matematičke funkcije. Ha primjer, za izračunavanje vrijednosti para funkcija (sin y , cos r ), odabiremo početni položaj vektora Rjj(l,0), rotiramo ga za kutove otj^, i. = 0,1,... tako da Je algebarska suma tih kutova jednaka argumentu r. Nàilon izvjesnog ( u aproksimaciji konačnog ) broja koraka, dobiva se vektor E(x,7). Vrijedi slijedeći odnos; y sin y X = cos ¥". Poìito foimule za izračunavanje novih koordinata iz starih glase: ^i+l = (yj^ + tg rt^) kutove odabiremo tako da je = are tg i na taj način operaciju množenja s tg za- mjenjujemo imoženjem brojem Što u binar - nom brojevnom-sistemu predstavlja operaciju pomaka decimalnog zareza. Izostavimo li u Jednadžbama faktor cos ^^, dolazi do povećanja modula vektora. To poveća -nje kompenziramo odabiranjem pogodne početne vrijednosti apsciso X(j. Kultove treba pribrajati ili oduzimati, već prema tome da li je njihova prethodna suma ve -ća ili manja od T. Predznak tih kutova odrefTu-jemo iz jednadžbe i-1 sign sign ( r - ^ i. dJ- Uvažavanjem prezentiranih postavki, dolazimo do formula algoritma za realizaciju pomenutih funkcija: ^i+l '^i+l n+1 ^i -- ^^ are tg 2 uz početne uvjete 0. Y-- Kader veS testnih to£k pripeäa dolofiecl električni poveaavi, je dovolj zgolj ena potrditev povezenoBti tekoSe testne točke na stupno povezavo. So so določene fliEna= ture vsem testnim točkam v datoteki testnih točk, se v datoteki poveeav nahaja popoln opis medsebojne povezanosti ali izoliranos Bti vseh navedenih testnih točk. Z definiranjem datoteke testnih točk s pripadajočimi signeturami in datoteke po= vezav preizkušauca so podani vsi potrebni pogoji, ki omogočajo generiranje odločit= venih testnih dreves. Frogramskemu paketu je dodan vmesni korak, ki poenostavlja do= ločanje ključnih testnih točk, oziroma opozarja na morebitno netestabilnoat po= same snih funkcijskih delov testiranoga ve=! zja.Ključne točke se določajo na ta način, da izhajamo iz vseh začetnih podatkovnih izvorov in se preko posameznih povezav in elementov vezja pomikamo proti skrajnim podatkovnim ponorom. Testne točke, ki ustrezajo skrajnim podatkovnim ponorom, predstavljajo ključne točke teatlranega vezja ob danih testnih pogojih. Kadar jo postopek določanja ključnih točk prekinjen zeradi prisotnosti morebitne povratne poa datkovne povezave, programski paket javi obvestilo o detektirani podatkovni zanki ■ in zahteva rešitev konfliktne situacije. Le to je mogoče doeeči na dva načina. Manj priporočljivo jo prekinjanje povratnih povezav ne ta načlu, da odstranimo del vao se zaključenega vezje iz datoteke testnih točk, saj a tem oslabimo lokalizacijake sposobnoeti testnega postopka. Priporočljin vo je, da v takšnih primerih raje sprem9= nlmo design testiranoga vezja z uvajanjem dodatnih prevez, ki jih lahko med samim postopkom testiranja zaključimo in s tem prekinemo povratne zanke v vezju. Vse mo= rebitne spremembe na preizkusancu je 8e= veda potrebno vnesti tudi v datoteki test= nih točk in povezav. Pohitritev postopka definiranja ključnih testnih točk je moa goče doseči z eksplicitno navedbo testnih točk, ki v danon primeru predstavljajo poo datkovne izvore. Ka ts način lahko hkrati tudi dosežemo eliminacijo asinhrono delu:^ jočih delov vezja. Generiranje odločitvenih testnih dreves predstavlja poslednji korak definiranja testnega postopka določenega preiakuäan= ca.Vsaki ključni testni točki pripada ustrezno odločitveno poddrevo, ki deflni= ra morebitni vir napako detektirane v pri= padajoči ključni točki. Diagnoze, ki jih postavlja programski paket, popolnoma den finiràjo tipe napak do katerih pride pri popolni definiranosti vira napak. V pri= merih, ko vir napake predatavi^ nedefinic rano velik podsklop testiranega vezja, ee postavi splošna diagnoza, ki pa je ošteo vllčena, tako da lahko operater kasneje po= pravi tekst posamezne diagnoze. Največja prednost avtomatsko zgrajenih odločitvenih testnih dreves je v njihovi semantični pravilnosti. Ka ta način so ođ= stranjeni vsi možni človeški vplivi, ki zmanjšujejo zanesljivost postopka testiranu ja. Edina slabost tekSnih odločitvenih dre= ves so diagnoze napak v nezadostno defini= ranih področjih testiranega vezja. Vendar so tudi te diagnoze posledica nestabilnosti preizkuSanca. V vseh primerih, ko je design preizkašanca popolnoma testihilen, so tudi podane diagnoza virov napak enolične in nedvoumne. Že v začetnih korakih programski paket sam opozarja na morebitne nedosleds nosti s stališča testabilnosti preizkušena ca in odstranitev vzrokov za opozorilo oziroma redesign kritičnih delov vezje v mnogačoi popravi lokalizacijske zmoSnosti testnega postopka. Dovolj zgodna vključiš tev programskega paketa v postopek načrto= Vanja vezij v veliki meri olajša vpeljavo produkta v proizvodnjo. Programski paket lahko na računalniku z 64K hytov delovnega spomina obdeluje vezo ja, ki so sestavljena iz približno sto različnih elementov, oziroma 2000 testnih točk. Ker je zelo malo verjetno, da bi z enim samim vzbujevalnim postopkom vzbujell vse elemente preizkušanea, to pomeni, da programski paket obvladuje tudi vezja, v katera jo vgrajeno precej večje število elementov. 1 (1 + 2-21 i=o A(p) P-1 ) 1=0 Nakon n koraka iteraciJe, dobiva se rezultat Xq = cos ¥> 7n = ' s točnošću do Oäito je da u gornjim jednadžbama imamo sajno "brze" operacije Ebrajanja i pomaka decimalnog zareza. Da bismo realizirali iterati-vni postupak, nu -ano je uz algoritam memorirati konstante aro tgrfj^, i = 0,l,...,n-l, ito je i jedini nedostatak metode. Preiniućstva su: - vrlo brza realizacija algoritama - jednostavna organizacija numeričkog pos -tupka za realizaciju para funkcija - efektna ocjena i laka kompenzacija greške - omogućavanje definiranja relativno malog broja baznih funkcija itd. MODIFIKACIJA METODE ZA HALE ARGUMENTE Ukoliko se vrSi realizacija para napr. trigonometrijskih funkcija za mali argument V, potrebno je upotrijebiti izvjestan broj istih iterativnih koraJca, u smislu upotrebe kutova u istom redosljedu s istim predznacima. Vrijedi slijedeći TEOREM. Neka su brojevi f i 4' dani u obliku m^ [ 1,2), p = 0,1, i neka je iterativni proces definiran kao u prethodnoj točki. Tada se prvih p iterativnih varijabli tih brojeva podudaraju, tj, yj(y)-yjCT), za OTako ji j ^ p. Da bismo kompenzirali deformaciju trigonometrija skog vektora c^,, uvodimo modificirane poćetne uvjete čije se vrijednosti lako nalaze pomoću standardnog algoritma i koriste se kao konstante uz modificirani algoritam. Uvodimo nadalje oznaku Ha taj se način standardni algoritam transfor -mira u modificirani, uz početne uvjete (tj. varijable ulaska u iterativni proces); = yp = yogon-b.vs:.i;n fiiinilatori oir tu® hkt^at 'i o st-ieth's hetrod'OF Atnoi-L-aic: COlfTROL. Thin article doncribon the, nee of laioroproceRsor-basGfi, .Tiraiilator in an implemf^nt.^iic-" of Saith's method for'autoiaatic control of processes (dynamic ayntoKs) vdth long pure timo delays. Vhis application is Jus^i^iJfi®^ rasulta oistainacl by tiic cowpvtter sliinJ.atio;i of tljc: control aystea for a chemical procecc. u t 0 d TI teoriji automat škof; upravljanja p o nn sito Je transportno 111 čisto vromenslio ka.šn,ieri Je Il Icoje so u doiaenu komplelcnns frelc/er-cije izraSava nocativnlm iy.loüiociim ekRpcnenci-jalnoc člana (e"^®). Ono u j^lsteTnu automatsko c; upravljanja Izaziva dodatne proljleme -uEporen odziv i tendenciju ka oocilovanji'-, tj. nestabilnost sistema /1/. Kod cporih d inaiai S-kih sistema - Sto je slnöaj kod niza procOEa 11 hemljskota inženjerstvu - ovo transportno kannjenje se sa manje ili više uspeha caneiaa-nije CkorlSćenjen konvencionalnog re^ilato:oa) ili se oa neki način eliminirie njcGov uticaj na primer u tzv. predree:ulaci ji (■'feedfon.'ard'). Hodtim, predregulacija sa its može rj'riKln pvl-meniti, jer ona zahteva tačno izraerono poremećaje i poznavanje tačnog raatomatičkof; moi-ola proceaa što nije čest sluöi:.j. Zboc tof;a je u automatskoj regulaciji procosa sa relativno dugim tranapo^?■c■~ia kaiinjenjem (!:oje je i-nSj od najduže kapncitivne vremensko konctanvc c: c-cesa) prodloKono -"iše načina koBnonzacijc t-,>r '--sportnOG k,i.šrijenja. Hedjutim, f:lp.vni ncrr^;-'-cl ovih načina regulacije su nemogiićnost praktične reollKaoi.je i neuniverealr.ost u pj iu'ri, Na primer 3co<' jnrpiog od najboljih raSinr > i i-lacije - tr.v. Timitove metode - nojvaći n>-.-■bletn prakti'"na realizacije kompenzatora, t,-!, elementa dufoi; tranaportnop; kašnjenja. Imajući u vidu dobre osobine analofno it,-čunarsko simulacije siatema automatskor «pT-.---.'-1 j an j a (pi^o jelctant ima utisak lia radi e a ro finim procesom, lako unosi proaene paraiiietn,;Ti procesa i poremećaja 1 posmatra njihov uticn;! na izlaznu veličinu, moguća je električna vf.-za sa realnim refnilatorom, mcrnim pre tvar alctuatorom 1 u ovom radu je vršena arn- logna raiiunscT.itn. simulacija kako samog prcc.;- äl. 1. Blok-šems Smitove metode regulo ci je ne. tako i ostnlih ©lemann't,?. cistGma atitoTaa'o-Eslsior; iiprsvljaija. Izuy.ebcJt i:i:oe samo elomisirti ■trp.nETportnotj liaSrijonja Icojl rni realiKovnni po-npin iiil£roprooeco5?slcili sÌEr.:l;-.tora. SIHTOYA lETODA AtTTOILVISICE :I::ÌGÌJTjACTJ:J Ea autoÄatsloj refijulacii'ra sintemn E?, 3?f!la-tiTOO dugim traiisportnin jcn L (ko.-is: .io veće od rlominr-Jitne kapncitii.Tüi -/yenondco Icon-ctnnte) teore'Lrski ranvlj:;!! Minitov ^■'•"■'■'■'■^lir i aoto'la /1/ lio^a omocnóava, EaVivalonJin'i oijalnoa regulatoru, da j'o ialazni nir-riJL ifj-toc; oplika keo sa aio-tem Iis k ka^njeMji: n liu Kto vreaenelriL tanni Ka L, AIco je prcoTioona fwnlcci.i.i l:o,ii i.;'^:- "ba reßialiseti (c - .ia ko^plekcna kružna frekvencija a L - ira'icportno kaSnjci-nje, K(s).- prenosna funkcija konvencionnlvios regulatora) tada se prenosna funkcija Gmito-vog regiü-atora može predstaviti'sledečim izrazom: ^Ca) »-------- 1 + KCs)-G G^ = Gp i T = L Lada je fn-nkcijin spi^ocviutog. pi^enosa TV TV U^Cb) „-sL 1 + i: ■ Gp čime je zadovoljo-^ ßmitov princip - vf^, neian traieeendentnlii polova pa se može nsvojiti dovei jtio VRliko po jt" an je reg\!latora kako "oi ec,. Sto 'brže uspost.i-vila stacionarna vrednost Iz-JLaznog signala. Najveći prolilem u praktičnoj realizaciji Smitove metoijfj r'ntonatske reKUlocije je da konpEnzj.toi': j.-f^lotii.n-iO duftog trangport'^-oi; kašujonja T. ' ^ii^LO je poti'elino da taj koai-^o'i-zator ima iiop-ivx-:;'-;. jcfinostnvno pi-oiaene veličine C - noki V'it u širokim (rranicsma ukoli-. ko ne traži dti jo korapensator uni versala":. Jer, na primor, n jnkoa inzenjerstVvi, poc lojn procosi kod kojil^- kaSnjenje iznosi nekoliko seloAndi sli i procesi sa kaSnjeajsra od jodnog sata. Do sada jo rnzx'ijeno višo načiiia siiaula-cije transportno.:': kašnjenja, najpoznatiji ma-("in koristi ani-lucne računske clemonte - o^m aproksimaolj-u traneportncp kašnjenja, ITa "oazi tof^a jß inradjen i Saitov konpensHXor /2/. Hane su mn! u izlaarom eif^alii se ju parnzitnc Oiscilacije, kašnjenja duža oci jedno[;'minuta re ne mogu reelizovati i nerio-Tjoljna tačnoet. Or,im realizacija pomoću r-ts.--loEnih račun al-.^kili elemenata postoje i nimu-latori transportnih ka".njenja iz.radjeni od -m-kill digitalnih elektronskih elßTnenata (r.ripi-. . od pomeračklTa registara) ili noelektričnili. komponenti (naprc. - fluidni simulator). iiiKki nedostatiOc ovih aimulatora Jo -'to ia nedostaje fleksibilnost - vcliv.imi kaSnjon^a nije mocviuc mo-.ijr.ti ni ručno niti avitonatr:i:i M Širokom MIKRO- EPROM RAM PROCESOR MEMORIJA MEMORIJA 7V 0(S) QSC. 1 s A B I R NICE A/D KONVERl TOR > CA2 M ADAPTER PIA CB2 D/A X iil^ KONVER CBÌ sa) WpfS) .A [ Gc(S) / V TA JMER Sl, 2. Blok-šems simulatora kašnjenja SI. 3» Blok-šems regulacija ekstrakoione kolone oßODirn! r vsrztje snraiATCirA Ztiog svega izloäenoß jo rp.zvijm mila'o; ;.-čvsnarski siraulator (ručno) ■nronenljìvop; tj-c-ii-sportnog iašnjen^BL - ^iKS, lto;ii je Icompt'.tiTji- tj. iBoSs EG dirottilo inn'Of.'Tiviti nci niinlop;-nlm raöiinslciia elementima. 7o rie iieophoi^-'o -ako K.-i slmulnci^u i ispitivano® proCGßa (liful.i se prooea predstavlja aralopnim iainuiscic'iim modelora) talio i u. projelrtovon Ju eintöina n'ito-i;iEi.tskq regulacije' o'er ^o Cuitova laotoiln u euS-tini kontinii.alna metoda aivioiaatnko ropiljci,i rlinaničkili cisterna iako ae sTioß milox)raì:i'.iii.V!:-a •uvodi diskrotisaciđa sictiala. ITaimo, prilikom pro^elitovanda i sinteze SmitovoG rofjnilaLora za odred;Jene dinamičke sißtcmG, tj. prooeso, oba transportna kaSnjenja (procesa i koinpcn-zatora) se siinulira;ju pomo6u iiiilCroraüunEMld.h simulatora, dok se ostali olciaaiitl procena i reßi-ilatora siiauliraju pomoóu računskih elemo-nata analosijoc raCvnai'a. Osin u sintezi Siflito-ve notoda automatska repilacijs mi]=no^^ač^unr■,r-cki simulator juES može da rjo koristi kao ciiau-lacioni model i u sledeóim cluSaje'ri-ma kod procasa sa transportnim ka2njon.-jomlu pnrcjraaxaD?-ßkoj identifikaciji, u prorjektovanjn i podešavanju konvonoionalßih aualooiiili rcr;p,ilatora sis'i^etaa sa povratnom spregom ili .lintnraa s:-. prodi-'oculacijom kao i aa aisitcrae adRptivrop; upravljanja. Blok-seraa railoi-ora^Synareküg Gimulfitorfv promenljivos transportnog kašnjenja ria 'h?,si raikroprooesora KC6800 prikr.aawa je na cl, ?., a njegove EP-a™® karakterlštike eu: - ulaano-izlaaai opseg aiialOBnog signalat 0 do lOv (ili -5 do +5v), - ruSno-protaenl^ivo kašnjenje: ^ = 1 do 6 sac, - vreme rada (tj. posmatraaje pojave): Tp o T + 28 aec. U slučaju transportnoG kašnjenja Z" i^eda sekundi tajmer na b1. 2 je običan lüonositabil-ni multivibrator sa proinenljivim otpoi-nikoa R. Radni program simulatora^ sasStei u H?ROH--ii, .^e sastoji od dve rutine (roctfjrt i iiice??apt rutine) i detaljno je presf^nLii-rji u referenci /3/. Ako jc potrebna dužina t ran sportu oc k^.ij-njenja reda minuta ili dcßstiiio- minuta (r.a primer, radi israde realnog fimitovog regulatora ili radi kompatibilnosti sa pneumatskim simulatorom procesa) uloc^i tajmera prcusitna programirajući tajmer I1C6CA0 (Ilotorol.i) koji omogućava tako duga kašnjenja. Za to su pot' reliTiE i neka iataene u softveru - inmedju ostalog povećati periodu odiieravai^a (Ica -ja Se generi sft malim pp t programom) nnaln^o-' konvertoTa. Ov^jV^y aiVmilatoT Sc, i.ii dodat»!'! nr.li! izmenv! radnor pro.^aaa, mcdificir;iti Lr]:o da se umesto izrodjer-cr ri ■ nulatora zn In.iioratorijeki rad (sa ocrcni'-r.-in vrßDsnom ponmntrpjija) može dobiti simi'l?tij -za rad ii ri^t^lpum tj. za konti'-i-rl-t- rad u poßorckia «clorima l•^k^.v fiii't later se ladän koristiti kao konponzato"- r. ;■. ti-skog ümitovof; i-o^ilatora i 7.a jor, neke ri'iu; ■ . Ukoliko tranr.nr.rtno kašnje-oje pT?occsa •-.i;' ■ taSno odrcirij="no već su u pogonu potrebi-:- i'.-.-vesna on-lire i-i.iCna repodešavfija ka.rin.i kompenaatora tjila se nicnal sa et'mßravr'-r-. (umento potpirog-'.-inoa) gensri.'-fs rvksterniLi o.-ri-latoron; perioda ovog sicnalr. liioarro r.r."Ì£,i od veliüine je<"nosmernog kontrolnog koji se no2o r'-rfino ili automatski merjrti. S druge strano r.r., pale, lako mo£o pro^rfii-^; i postići da kr.si^.jenjo linearno sa^'isi oi' pi^ri-oda ođmerava'.ijr. a time i od ku-'trolnor v.-in n^.. Verzija sini-lutora r>a automatski promclji' Iii kašnjenjaa "li bila potreb-ia u rli^flajovi-i; k«-rta jo ka""proorisa vrem-i'^rki ■nrom'-nl,''ivj - na primnr skn ono nastaje HE-led kretp-^jo fluida kroB Cü^-ovode a brzina rliìiòa je vc--menski promo' ljiva. PHINES FRIMENIC aillDJ.ATOiA THA^SPOMNOG IL'i'lTJ-jaTJA Jnrtna fabrika za proizvodrju sirSetns kiseline /';■/ sis sastoji od kuloio za razdvajan jo (ili ekstrakoione kolone) i.niza desti" Inoionih kolona. Zadatak (oilj) celof; poatro-jenja je rlobijanj® visokokonc«ntrovpne (9°»,9%) airiietnc ki:.pliTio od razbla?,<^T»3 (2C,j) firčct-ne kiselino; oxia s® kao sirovina dovoJi " vrt akstr.licci ono kolone na Sijem se IzlaKU (fg dnu) daliiri.T delimično preKÌftó«5ina Gircotn:: kiselina - rafinat ri - koja so satira fai,---; v(.-di u f^lai/r.n rtestilacionu kolonu tsv, c'chi^'r;;-cionu kolonu. ICünoentracija kiselina rapinata Xj. mora ds ne održava na optimalnoj, kc'-; vrtnoj vrediot:LÌ u cil^u minimclne potroilr.iV (od fitranfj Onhidraoione kolona) koliEinc ^r--deno pare koja predstavlja fla^/ni deo vir-p-nih troškova proizvodnje. Msdjutim, tracija i protok sirovine se znatno men,i.-što ustvari predstavlja poremećaj D u r.in^c--KU. Te proHen® ss kompenziraju dotokom rrr;-tvarača S u ekstrakcionu kclonu. Ovaj rc.rlvr.-raö recirlculiìia a njegov dotok u ekEt\'£kci(i--! nu kolonu tr»ba da je doziran, tj, -da se nr-nja samo prema potrebi. Zato on treba bude manipulativra promenljiva u sistemu automatske i-eKulacije izlazne koncentracija s obzirom da postoji i dejstvo poT-ssnećajj. Wo as HPK19 prSdgtaViti u đomeng kowpleVfsni? frcH-veTicije bloic- s«iot«! ra nlici }. li refereiict /4/ je owl e ri l'Cjm'rjlekF.ìi;i. T.icisr.t:;kn refriilr.cijn celo^; p^.-ccapa iiomoiu. l'i-Ci t-plr.oi; procftr.rioc raoiriK'n. U ovom rodii Bß, Vrù:, predlaSo F.v,tona-slw. rer^'laclja hF;tai,icI:or: r-.^itt^.vp. rnfi!ir.tn clin'trtij'^oio''''-: l;i)lor!e porac-uv, JcontinurXnoK woporcionnlrìof: C:-?:-.!;-- ■loi' pojncanjr. Je Kj, = 10) zc. rii!rala'tQr:;a i::';.!!'-spa]?"tiioft Ii:aÌ3n,jeri,ia (Emitov princip) Icojì r.r: jTGfìlir.i'.jG pomcói! nifcL-oraM.ine: sim'.ar,tDi;i. Prcnosn.?. fMnkcij'a V'^fiCr:) .'"ioe poMalr, ('oh so Tin omo^i/u tvtialise roclnor; procesn ria pr/eiiOB'ìa funkcija UpCc) irac. nlntl.sći oßlil:: VfpCs) Xr.) C^^ir 1) ÌTn onno'v-j c'.iaanEiJr. fìl-r.cr.-j.cioiit- lioloiio 1 octalih karnld-nristllcij v.BVfiJn. ce dr. Js: JV = 1, 'l'i = 12 mn. T;;, = p min. Po;ito' so heaijsl:! saDtcv rafinatr. ì:^, ckctrakcione kolono mori fjVfil:ih 20 nin. pgnoóu clirettno nldLjučenof^; pvocrtsnoc nìialiK^-tora, to ĆS -u sistemu suton.-, tfiko rofiiilncijo vr-omensl^a konatpjita transportnog knši'.lc-.ija firi. ina vrnclr.ost Ij = 2o min, PrGuai-^l^iv;; 3;Cr;) Oülilru ütnltoc-iG funkcije preko .lYof; Oi- nr^.TaičltOf^ tlok^ V/^jCs) kao ÌElr;?.iii pov-OTGĆn,i r.d-F.tena RUtomatake i-epilaoijc. Er» siMulnci.ju procosa i :L'or:\Tlator;a lio-i'icti i?r.Sut!S.r TAHA-'HO ii S3pi>fjKÌ na mi- la'ora'ju-Tarckiia fiinmlntorimn se ];orir;to ko. sin-Lilacljvi transportnih k.c.išri.jnn.^ia prcctjsa i Smitovof; Iromponcatora. ß ria .-jü i'o.-ilni proces snviae spor prilikou f.imv.lacije ne nvo-di takav faktor vx-eaensks rannere da 1 f;oc si-miilaoionog modela odgovara 10 min realnog prii-CQSa« Dobljeni reaultatl pokasuju da se Raito-vom matodom luko koE^jeriEira dotRi-miniatiJ-ki i Klasu i porenećaj u oTjliki! otKliočns funkcije. Vreme wspoatavljanjn pono^/nos stacionarnog stanja zavisi od dinamike poremećaja (tj. G^l)- U cilju ispitivanja uticaja 'oa-line' pro-^meno paranetara procesaj pošlo uspostavljanja. SI. Grafik .koncentracije rsfinste pri izlaznom poremećaju Btaoionaxnüc st-n.ia de izwaena nična propina vrednosti jef'no:: potenoiometra analog^nop racu-Kara tako ila to odgovara povećanju (ili s^jic-njeriju) faktora pojačanja procesa A^ za 20-25;i. Posle IcratkoG vr-nmena ponovo je ojspostavljenò stacionarno stanje. Zatim je (sa tako promenje-nim faktorom pojačanja procesa u eimiilacloji Model uključen signal poremećaja d » 2 T na Izlazu iz procesa. 1 pored nejednaJcostl faktora pojaSanja procesa i koarpeiiEatora (Ap ^ Aj^) ubrzo je ponovo uspostavljeno stacionarno istanje što se vidi iz grafika na olici 4. Zatim je, us Ap / j'ijjj, uraeato poremećaja d prodenjona vrednost si[jnala postavne taüke Ea A^r = ^ ITova stacionarna vrednost izlaz-iofr sifjncl."- ,1o atIo "brzo uspostavljena. SliKnt rezultati co dobijaju alto se pri nejednakosti 1 / T r.!tlj\i-fiv.je Eifj.nal poJ?smc-óaja d, ili ae nenja ■^'^T'^čnoct slcnala postavns» tačke sa A = + 2 V. Tr ob?, elttčaja rf:laLi\Tio brzo se uspostavlja stacionarno st.anje. Gvi dübijü-ii rezultati pokasviju da jo ispitivani cintctn ai'.tomatske re fallaci je staliilar; čak iako postoji iavesna nejednakost pai-amcta-ra kompenzs.toi';-; i procesa. To jo v. suprot-;?outi sa nekim ra^iijo rolDijenim resp.ltatima na osro-VT.1 ispitivanjs; /2, 1/ koja su pokazala vclijni osetlJivoEt '.Snitove metode na nepodešenost parametara l:ompn":i:.v;ora i procosa ako se i-i.'i. o relati'.-no t1i!n;om t^-ansportrom kaSnjenjii prccr.ar,, I'Iodjv.tim ta irC'itivanja (i njihovi salciji.n'ici) se ne mo^i pi'iiivrtiti kao pouzdana Jer su i-.oi' njih Za rßalir-r.ciju traneportno^ kaSnjenja l-.c;in-penzatora kori.ićeni Padé-ova aproksimaoL,-},". i analofpai raiiunski elementi. ZaliLjučal: ovojj rađa Je da Js Smitova F.e-tođa pogodna as automatsku regri.ilaoiJu procrin:a ea dufjim transportnim (Kistim) katinjenJeBi flak i u slučajevima manjih nepođešenoati pararaeta-ra kompenzatora i procesa - bilo übcß nepoznavanja apsolutno tačnog matematiSkoß modela procesa ili zbop: üialih varijacija parametara pro-■ cesa tokom vi^enann. LIIERATURA 1. J.E.Msrsliell: "Control of Ti-ma-delay Systems",England,1979. 2. A.öißgh,D.H.MoEwant"Ths control of a process having eppre-oieble transport lag - a lebo-. ratory study", IEEE Trans.vol, lECl, No 3, 1975. 3. B.Stajié:"Microprooeseor-bs-aed simulator of a variable time delay", Kicroprooeseors and ' microsystems, No 1982. 4-, M.Matsushita, 'f.Shimoneru: "Computer control and computer sided operation of acetic acid recovery process", Symp.on computer control in process industry, liontreux, Suisse, 1979. PROGRAMSKI BEAI I ZOVANO -HALASENJE SLOŽENOST) BULOVE FUNKCIJE Manile Vesna Institut za primenjenu matenatIku I elektroniku - Beograd UDK; 519.852 v mdu Je ppikazan algoritam sa rtataSen.-ie aloSenoati Sulove funkcije od n apgumenata CPf2"j na basi njenog kanoničfkog polinoma. Funkcija data tabelarno t fan s formi S e ee algoritmom w ka-noniSki polinom. Za sjw3a,f kada au arawmanti funkoi.ie n binarnih pei-iodifnih sekvenoi Sije eu sloSe-noeti dve po dve ueajamno proste natasi ee etoSenoat funkcije, direktno na oenovu njenog kanoniSkog polinoma. COMPÜTIHG THE COMPLEXITÌ OF BOOLEAN FUNCTION: An algorithm for computing the complexity of Boolean fUnatim of » arguments fc^,.,,, »„J^ GFCs'^) on the baeie of canonical polynomial form ie presented. Tht atgOfithm tpanform» the function given in any form into aanpnicat polynomial form. In the case when the argumente wee »periodical binary eequencea whoae complesitìta are -in paire relatively prime, complexity of the function ie computed directly outof the canonioal rtenj« »lolenostl Je jednostavan 1 brz, a njegova blok Sema je sledeča: početak y 1)n-broj argumenata funkcije fC*) 2) 3-broj jedinica kao vrednost fU) 3) Indeksi argumenata gde Je f(x)*l 1|) C|- složenosti ulazni hi argumenata RAČUNANJE KOEFICIJENATA KANONICKOG polinoma za dato n I Kil^-I po formuli -r'^-—^ RAČUNANJE SLOŽENOSTI > nAa aiGFtz")" f(x) po formuli = 1) Ulazni podaci \ 2) Ukupna složenost niza vrednosti funkcije' ( Kraj ) zaključak Posmatrall smo Bulovu funkciju čiji su argumenti binarne perlodifne sekvence, a složenosti uzajamno proste po parovima, Za tal4ve argumente vail teorema za nalaženje složenosti izlazne furkcije, pri čemu se pod složenoSću po-^ drazumeva dužina minimalnog pomeračkog registra koji mo-^e da generlše Identičnu binarnu sekvencu. Složenost se direktno računa na osnovu ksnonISkog polinoma funkcije. Da bi se simuliralo nalaženje složenosti proizvoljne Butove funkcije bilo Je potrebno simulirati i nalaženje 1 KANONlCKOfl POLINOMJ Té 0 0 1 SLOŽENOSTI ULAZNIH NIZOVA PO PAROVIMA UZAJAMNO PROSTE Cl C2 CJ Ct 1 11 17 3T UKUPNA SLOZLNOST IZLAZNOG NIZA JE lJ26a primer br. Z probran: nova oortc* primer br, 4 progbfth: hov a 50?» ic a A VflEONOSTl F-jc OD 2 UROMEMLJ IVE KOEFIClJtlMTI KANONICKOß "OL WOMÄ 1 a 1 1 eUElitMTARNl PROIZVODI KOJI FlOUalSU ü kamonickoh polinomu a a I 0 1 1 iLQZENOSTI ulaznih WIZOV» PO PAROVIMA UZAJAMNO PROSTE Cl C2 1119 UKUPNA SLOŽENOST IZLAZNOG NIZA JE 321 8 vrednosti f-jc od 3 psomemljivc 1 1 0 1 q 1 1 d koeficijcnti hanonickog pol inoka 10 11110 1 elementarni proizvodi koji flouaisu u kan0^^1ck0h polinomu HOD a 1 D 0 l 1 10 0 1 a 1 1 1 1 složenosti ulaznih nizova po parovika uzajamno phoste Cl c2 Ci 2 3 5 UKUPNA složenost I^ZLAZNDÙ N I^A JE si PRIMER BR. J program: nova (iqiuca Ntz VRiDNOSTI F-JE F 00 5 MOtCNLdlVIH IZ TABELE ODDI 0 010 0 10 00001 000 10000 00001 000 NIZ KOEFICIJENATA KAN0NICK3G POLINOMA OOOlOOlOOlOOOllOOOOOOOllOlOlllOO ARSUHEHTI 2A KOJE SU KOEFICIJENTI XANONICKOO POLINOMA JEDNAKI 1. 0 0 0^1 l' 0 0 110 0 1 0 0 1 ,01101 Olilo 10 110 10 111 110 0 1 110 11 1 1 1 0 0 1110 1 složenosti ulaznih nizova Cl CZ C3 » CS 2 3 5 7 11 UKUPNA SLOŽENOST IZLAZNOG NIZA JE 2143. ALGORITMI ZA REINVERZIJO BAZHE MATRIKE V LIHEAHNEM PROGRAMU Janea Barle, Janez Grad Univerza Edvarda Kardelja v Ljubljani, Ekonomska fakulteta Borisa KldrlSa, Ljubljana UDK: 519.8B2.11 v prispevku opišemo nekatere algoritme za Invertiranje inatrlk, ki bo uporabni pri reBevanju linearnih programov. Njihova značilnost je specifICen naSln predstavitve Inverzne matrike in razdelitev postopka v dve fazi. Poseben poudarek dajeito problemom, ki se nanaSajo na raSu-nalnlSko realizacijo algoritmov. BASIS MATRIX REINVERSION ALGORITHMS IN : LINEAR PROGRAMMING. In this paper we describe some of the algorithms for matrix reinversion which can be' applied in the procedures for solving the linear progrčunming problem. They use a specific presentation of the inverse matrix and two-phase computation process. Special attention is paid to those problems associated with the computer processing of these algorithms. UVOO ReSevanje sistema linearnih enaSb in s tem povezan problem invertiranja matrike spadata med klasične probleme numerlčne linearne algebre. Običajne metode za reSevanje linearnih enačb uporabljajo Gaussov eliminacij-skl postopek, pri katerem se zaradi zagotavljanja numerlSne stabilnosti izvaja t.l. pl-votlranje (delno ali popolno). Pri delu na programski opremi za linearno programiranje smo priäli do spoznanja, da omenjene metode niso vedno učinkovite. Zaradi lastnosti matrik, ki se pojavljajo pri praktičnih problemih linearnega programiranja, je treba za njihovo invertlranje uporabiti posebne postopke. Uporaba teh postopkov lahko precej povefta hitrost in natančnost pri reSe-vanju linearnih programov velikih dimenzij. Zato je podprogram za invertlranje matrike ena od najbolj pomembnih sestavin komercialnih programskih paketov za linearno programiranje. V nadaljevanju podajamo opis nekaterih najbolj znanih algoritmov za invertiran j e matrike pri linearnem programiranju. Opisujemo tudi nekatere izkušnje, ki smo jih pridobili pri programiranju in testiranju teh algoritmov. Problem linearnega programiranja lahko v matrični obliki opiSemo takole: T minimiziraj c * pri pogojih Ax = b in X ^ O kjer Je A realna matrika dimenzije m*n, b, C in X pa realni vektorji ustreznih dimenzij. Optimalna reBitev linearnega programa je tak vektor x, ki reSi gornji problem. Upoštevati moramo, da pri večini praktično pomembnih problemov linearnega programiranja velja: 1) Matrika A je zelo velikih dimenzij {tudi do nekaj tisoč vrstic in stolpcev) 2) Matrika A je razprSena. To pomeni, da je deleS njenih neniCelnih elementov zelo majhen (pogosto tudi manj od Ift). Zaradi tega se v praksi za reSevanje linearnih programov skoraj vedno uporablja t.l. revidirana metoda simpleksov, ki jo je moSno prilagoditi delu z matrikami velikih dimenzij. To je Iterativna metoda, ki je podrobno opisana v literaturi {npr. |lT). Omenimo le, da se na vsakem koraku te metode reSuje zaporedje sistemov linearnih enačb irB Bv in BXg kjer je B nesingularna kvadratna podmatrlka matrike A (imenujemo jo bazna matrika), c in sta ustrezna podvekterja vektorjev C in b, u pa je stolpec matrike A, ki je doloSen z rešitvijo prvega sistema enačb. ReSevanje gornjih sistemov enačb olajBuje dejstvo, da se bazni matriki pri dveh zaporednih korakih algoritma razlikujeta le v enem stolpcu. PREDSTAVITEV INVERZNE BAZNE MATRIKE Revidirana metoda simpleksov ima več inaCic, ki izhajajo iz različnih načinov predstavitve matrike B (ali B-l). Predstavitev matrike B"^ v eksplicitni obliki lahko uporabimo le pri problemih majhnih dimenzij. V obstoječih programskih paketih je najbolj običajna predstavitev Inverzne bazne matrike v obliki produkta t.l. elementarnih matrik: = Vk-1 "-.^l Elementarne matrike = 1, ... k) se razli- kujejo od enotne matrike le v enem stolpcu, tako da zadostuje shraniti neničelne elemente tega stolpca in podatke o tem, kje se le-tl nahajajo. Ena od prednosti produktne predstar vitve Inverzne bazne matrike je tudi enostaven način njenega ažuriranja. Po vsakem koraku revidirane metode simpleksov se v produkt dodaja nova elementarna matrika, stare elementarne inatrllce pa ostanejo nespremenjene. Tako predstavitev matrike imenujemo tudi ETA-datoteka, tisti stolpec, v katerem se elementarna matrika razlikuje od enotne pa imenujemo ETA-'vektor. Znano je, da pri reäevanju linearnih enaSb po Gaussovem eliminacijskem postopku raSunanje inverzne matrike ni potrebno. Boljäa pot za reSevanje sistema enaEb (Bx b) je izvrSiti razcep permutirane matrike na spodnjo in zgornjo trikotno matriko (PB = LU) in potem reSe-vati dva trikotna sistema enaSb (Ly = b in Ux ° . Ta ugotovitev v doloCenl meri velja tudi za bazno matriko linearnega programa. Za njo lahko uporabimo razcep B = LU, kjer vsakega od obeh faktorjev predstavimo z zaporedjem ustreznih trikotnih elementarnih matrik! L = In U = Tako predstavitev Imenujemo eliminacijaka oblika inverzne matrike. V zapisu smo zaradi poenostavitve izpustili, permutacijske matrike, ki so podane z zaporedjem, v katerem obravnavamo vrstice in stolpce matrike B. Iz-kaSe se, da v sploSnem uporaba eliminacijske oblike matrike omogoCa ekonomlCnejSo izrabo pomnilnika in časovno hitrej Si izrafiun reSitI ve linearnega programa'v primerjavi s postopkom, ki uporablja produktno obliko inverzne matrike. Vseeno so trikotni razcep zaSeli vgrajevati v komercialne programske pakete Sele potem, ko so bili razviti uSinkovitl postopki za aJuriranja trikotnih faktorjev (npr. metoda Forresta in Tomlina, glej !l|}. Ugotavljamo pa, da uporaba trikotnega razcepa zahteva precej bolj zapletene algoritme in podatkovne strukture kot postopek, ki uporablja produktno obliko inverzne matrike. REINVERZIJA BAZNE MATRIKE Ker se međ izvajanjem simpleksnega algoritma^. Število elementarnih matrik v predstavitvi B ali v trikotnih faktorjih L in U poveEtije, se izkaie za nujno oböaano izraöunatl novo predstavitev B-1 ali novi trikotni razcep matrike B. Ta postopek, Imenujemo ga relnverzija bazne matrike, sproSSa pomnilnik in omogoSa hi-trejSe in natanfinejSe Izvajanje algoritma na preostalih korakih revidirane metode slmplek-aov. Naziv relnverzija je primeren tudi za postopek doloCanja novih elementarnih matrik trikotnega razcepa matrike, ker je ta naloga v tesni povezavi z invertiranjem matrike. Tako lahko iz znane elimlnacijske oblike matrike takoj dobimo produktno obliko inverzne matrike: .Za produktno in eliminacijsko obliko matrike uporabljamo tuđi skupen naziv ETA-faktorizaci ja matrike. Omenimo Se, da Je inverzum elementarne matrike zopet elementarna matrika., Vzemimo, da se prvotna elementarna matrika razlikuje od enotne matrike v stolpcu, ki ga ozna-(Slmo z y. Pri Inverzumu se ta stolpec spremeni po naslednjih pravilih: diagonalni element postane l/yj^, vsi ostali elementi pa se spremenijo v -y^/yj^. Pri reinveraiJ i izhajamo iz prvotne matrike B, _kl je praviloma razpršena. Lahko se zgodi, da ima matrika B'I mnogo veS neniSelnlh elementov kot B. To velja tudi za skupno Število neniSel-nih elementov v ETA-faktorizacljl Inverzne matrike. Ta pojav; imenujemo ga napolnitev, je posebno izrazit takrat, ko pri izvajanju Gaus-sovega eliminacijskega postopka uporabimo delno ali popolno plvotiranje. To sta postopka, pri katerih se teil k izbiri kljufinega elementa (plvota) s čim veSjo absolutno vrednostjo ("pivoting for size"). Zato je pri relnverziji bazne matrike treba uporabiti take kriterije za izbor pivotov, ki vodijo k ETA-faktorizaci-jl a film manjSim Številom nenlfielnih elementov ("pivoting for sparslty"). Poskusi optimalne reSltve tega problema, ki Je znan tudi pod iroe-rom "problem minimalne napolnitve", so pripeljali do ugotovitve, da je ta problem KP-poln. To pomeni, da je malo upanja, da bo za njegovo reSevanje kdaj oblikovan ekonomifien algoritem {glej |10|). Zato so bili razviti Številni algoritmi, osnovani na različnih heuristlSnih pravilih za izbor plvota, ki so bolj ali manj uapeSno re5evali zastavljeno nalogo. Pomemben dogodek v raziskovanju tega problema je bil, ko je leta 1957 H. Markowitz objavil ölanek o tej problematiki (glej |8l). V njem Je postavil nekaj trditev, ki so spodbudile Številne poznejSe raziskave: 1) Postopek invertiranja je smiselno razdeliti v dve fazi. V prvi fazi, imenujemo jo ana-litlGna faza, se vnaprej dolofii zaporedje, po katerem se bo vrSilo plvotiranje. Pri tem se uporabljajo le Informacije o tem, kateri elementi so neniCelni, ne oziraje se,na njihovo vrednost, V drugi fazi, imenujemo jo numeriSna faza, se na podlagi vnaprej določenega zaporedja plvotov IzvrSl dejanski iarafiun nove ETA-faktorlzaclje, 2) Dobre rezultate pri minimlzacljl nenlCelnih elementov v ETA-faktorizaclji lahko doseäe-mo tako, da na posameznem koraku Izbiramo tisti pivot, pri katerem ima "Markowltzevo Število" (Vj-lHsj-l) minimalno vrednost. Z Vj^ ("vrstlCni Števec") In Sj CstolpiSnl Števec") sta oznafienl Ste-- vlli neniSelnih elementov v 1-tl vrstici In j-tem stolpcu, pri čemer upoStevamo le tiste vrstice in stolpce, v katerih Se ni bilo iz-vrSeno plvotiranje. Markowitz je bil tudi prvi, ki je ugotovil primernost elimlnacijske oblike za predstavitev bazne matrike pri linearnem programiranju. ANALITIČNA FAZA REINVERZIJE Ideja o loSenem izvajanju analitlfine faze se ni uveljavila le pri reinverziji bazne matrike, temveč tudi pri vseh drugih problemih numerlfine matematike, ki zahtevajo reSevanje razprSenih sistemov linearnih enačb. Praksa je potrdila tudi to, da uporaba Harkowitzevega pravila pri izbiri plvota vodi k zelo razprSeni ETA-faktori zaci ji inverzne matrike. Vseeno je direktna uporaba tega pravila oteSkofiena, ker zahteva hkraten dostop do vrstic in stolpcev matrike. Kolikor nam Je znano, uporablja Markowltzevo pravilo v filati obliki le podprogram za rein-verzijo pri IBM-ovem programskem paketu MPSX/370 (glej U!). Izkazalo se je, da je možno uporabiti razliSne kriterije, ki na posreden nafiln merijo Markowltzevo Število, hkrati pa zahtevajo veliko manj računanja. Sodobni programski paketi v analitični fazi relnverzija večinoma uporabljajo algoritem Hel-lermana in Rarlcka (glej I6| in fD- Ta algoritem je prirejen strukturi matrik, ki so zna-fillne za praktične problema linearnisga programiranja, s čimer lahko pojasnimo njegovo učinkovitost. Cilj tega algoritma je, dà se z zamenjavo vrstic in stolpcev matrika B prevede v t.l, HR matriko, ki ima strukturo kot na sliki 1, /////// /////// ////////////// ////////////// Slika 1 kjer so B^ In B spodnje trikotne loatrike z ne-niCelniml elementi na diagonali. Lahko prlvza- memo, da Ittia B^, Se nI prašna, v vsaki vrstici In stolpcu vsaj dva nenlGelna elementa, ker bi v nasprotnem primeru lahko razSlrill B^ ali B^. Matriko B^ Imenujemo jedro ali Izboklina ("bu«ip">. Algoritem Hellermana In Rarleka se nadaljuje 2 ustreznimi operacijami na jedru, dokler jedro ne postane strukturirano kot na sliki 2, kjer so g'' ali prazne ali spodnje trikotne matrike z nenlSelnimi elementi na diagonali; mn -1 /////////A_ //////////77777 ///////////////,_ ///////////////77777 //////////////////// ////////////////////77777 ///////////////////////// Slika 2 Matrike pP imenujemo aunanje Izbokline ("external bumpa")■ Imajo vsaj po en stolpec z neničel-nimi elementi nad diagonalo. Take stolpce imenujemo konice ("spikes"). Zunanje Izbokline se morajo odlikovati z naslednjimi lastnostmi: 1} zadnji stolpec v izboklini je konica z ne-ničelnlm elementom v najviSjl vrstici, 11) stolpci, ki niso konice, morajo imeti nenl-Selne diagonalne elemente. Algoritma ne bomo podrobneje opisovali. Omenimo le, da ae konice izbirajo na temelju stolpi&ne ätevöne funkcije t,^(j), kjer tv(j) " Stavilo neniCelnlh elementov j-tega stolpca v vrsticah z vrstlCnim Števcem laanjälm ali enakim k Algoritem Hellermana in Barlcka pokaže tudi zanimivo povezavo med teorijo grafov in linearnim programiranjem. Binarno matriko, s katero delamo v analitifinl fazi reinverzije, lahko interpretiramo kot matriko soaednostl usmerjenega grafa. V jeziku teorije grafov pomeni Iskanje bloSne trikotne oblike matrike (to je oblika matrike na sliki 2) dolo&anje moSno povezanih komponent usmerjenega grafa. To je problem, ki Je spodbudil precejšnjo pozornost raziskovalcev s podroGJa teorije grafov. Hi smo za reSe-vanje te naloge sprogramlrali eno varianto t, i. Tarjanovega algoritma, ki smo jo povzeli po 13 . Zanimivo je, da je uporaba metod iz teorije grafov pripeljala do IzboljBane variante algoritma Hellermana in Raricka, ki je v literaturi dobila ime P4 ("Partitioned Preassigned Pivot Procedure"). S to varianto se praviloma dobi veöje žtevilo zunanjih izboklin In manjäe Število konic kot s atarejäo varianto algoritma, ki je znana pod nazivom P3 ("preassigned Pivot Procedure"). Ha koncu naj omenimo, da so bili na temelju algoritma Hellermana in Raricka razviti äe nekateri zanimivi algoritmi, kot je npr. algoritem opisan v I 9 I . numeriCma faza reinverzije V numeriSnl fazi reinverzije se, na temelju zaporedja pivotov doloSenega v analitlSnl fazi, rafiuna nova ETA-faktorizacija inverzne bazne matrike. V tej fazi moramo razllSno obravnavati produktno in eliminacijsko obliko inverzne matrike, kar ni bilo potrebno v analitični fazi. V |4| in !5| je podan zelo Iz-örpen pregled razliCnlh algoritmov za Izvajanje numeri£ne faze reinverzije. V nadaljevanju podajamo opis algoritma za produktno obliko inverzne bazne matrike, ki smo ga spogramira-11 v |lll. Predhodno doloöeno zaporedje pivotov je podano z vektorjem C, ki vsebuje indekse stolpcev, in z vektorjem R, ki vsebuje Indekse vrstic. Razen tega potrebujemo Se indekse konic In podatke o tem, kje se zaSnejo posamezne zunanje izbokline. Zaradi prihranka pomnilniSkega prostora je te informacije koristno vključiti v vektorja H in C. To lahko storimo tako, da z negativnim predznakom shranimo v C indekse stolpcev, ki so konice, in v R indekse vrstic, kjer se zaSnejo posamezne zunanje izbokline. Ml! |lniclalizacija| a) Vpeljemo naslednje parametre s (i) 1=1 za indeksiranje pivotov, (11) za stolpifinl indeks pivota, (lli)r=|R^| za vrstični indeks pivota, (iv) p=l za Indeksiranje začetka zunanje izbokline. b) Rezerviramo prostor za (i) y - realni vektor dimenzije m, (li) ETA-datoteko (predstavitev matrik E^ za 1^13}. o) Definiramo y B*, (1-ti stolpec matrike B) . ^ N2; [Določanje novega ETA-vektorja| ii/Yj. za k^r y,, za k^r Vektor z je r-tl stolpec elementarne matrike N3: [Testiranje konca algoritma| a) če je i=m nadaljujemo na N7 (konec algoritma) b) Ce je il, ki se nahajajo N?! v isti zunanji izboklini, dokler ne najdemo takäne «a katero Je r-ta komponenta o) Izrafiunaifto y = , .EpBj,^ d) Zaroenjatno Cj^ in C^ e) Postopek nadaljujemo na koraku N2 I Konec I Določanje ETA-datoteke je konCano. Kot vidimo, je korak H5 potreben le za tiste stolpce, ki so konice. Edino v teh stolpcih se lahko pri reinverziji poveta Stavilo neničelnih elementov. To je razlog, da je algoritem Heller-, mana in Raricka tako pomeinben. Preverjanje ali je pivot enak niS, ki je potrebno na koraku N6, se v praksi zamenjuje z testi, ki zagotavljajo numerično stabilnost postopka. Mathematical Programming, 12, pp. 260-278, 1977. 10) PetkovBek M., "NP-polni problemi", v: H. PetkovSek, Pisanski.T., Izbrana poglavja. Iz raSunalniStva 1. del, Ljubljana: DMFA SHS, 19B2. 11) Barle J., J. Grad, V. Rupnik, "Programska oprema za reSltev linearnega programa z razäirltvaml", Raziskovalni projekt po naroČilu Iskre-Delta, Ljubljana: RCEF, Ekonomska fakulteta Borisa KidriCa v Ljubljani, 1984. ZAKLJUČEK Uporaba matematike v praksi Sesto zahteva poznavanje metod, ki jih ni mo£no nauCiti iz standardnih učbenikov. Ta ugotovitev velja tudi za metode, ki smo jih motali vkljuSltl v podprogram za invertlranje bazne matrike linearnega programa. Naäa raziskovalna skupina nadaljuje 5 spremljanjem tega raziskovalnega področja in razvojem ustreznih rešitev v sklopu programske opreme za linearno programiranje. LITERATURA 1) Bastian H., Lineare Optimierung grosser Systeme: Compact Inverse Verfahren und Baslsfaktorleslrung, Konlgstain: Verlag Anton Hain, 1980. 2) Benlchou M., J.M. Gauthier, G. Hentges, G. Rlbiere, "The Efficient Solution of Large-scale Linear Programming Problems - Some Algorithmic Techniques and Computational Results", Mathematical Programming, 13, pp. 280-322, 1977. 3) Gustavson F., "Finding the Block Lower Triangular Form of a Sparse Matrix", v: Bunch J.R., D.J. Rose (eds.). Sparse Matrix Computations, New York: Academic Press, 1976. 4) Helgason R.V., J.L. Kennlngton, "Spike Swapping in Basis Belnverslon", Naval Research Logistic Quarterly, 27, pp. 697701, 1980. . 5) Helgason R.V., J,I>, Kennlngton, "A note on Splitting the Bump in an Elimination Factorisation", Naval Research Logistics Quarterly, 29, pp. 169-178, 1982.- €) Hellerman E., D. Rarlck, "Reinversion with the Preassigned Pivot Procedure", Mathematical Programming, 1, pp. 195-216, 1971. 7) Hellerman E., D. Rarlek, "The Partitioned Preasslgned Pivot Procedure", v: Rose D.J., R.A. Wllloughby (eds.). Sparse Matrices and Their Applications, New York-London: Plenum Press, 1972. 8) Harkowitz H., "The Elimination Form of the Inverse and its Application to Linear Programming", Management Science, 3, pp. 255269, 1957. 9) Lin T.D., R.S.H. Mah, "Hierarchical Partition - a New Optimal Pivoting Algorithm", STEPENOVANJE DINAMIČKE MATRICE PBIMENOM PODMATRICA Slobodan S. FurunđZić "Ene cg oproj ekt", Beograd UD K: 519.852 Indukcijom su., na osnovu generalizacije matriCnog tnnoäenja, formulisani rekurentni obrasci za stepenovanje matrice preko Setiri kvadratne podmatrlce. Zatiin eu, kao specijalni slufajevi, izvedeni odgovarajući obrasci za stepenovanje prigušene i nepriguSene dinamiCke matrice diskretnih sistema, a koriSćenje ovih obrazaca je pokazano na brojnom primeru. DYNAMIC MATRIX POWERING APPLYING SUBHATRICES: A powering Of matrix by four square submatrices is firstly considered. The recurrent formulas for powering of dynamic matrix of discrete systems are than derived, and the application of these formulas is shown by a numerical example. UVOD Za režavanje problema prinudnih vibracija linearnih, stacionarnih, diskretnih dinamiCkih sistema, nedavno smo predložili /1/ i programirali /2/ jedan numerički postupak, prema kome se reäenje vibracija dobij a stepenovanjem dinamičke matrice sistema. Ako se ovo matriCno stepenovanje vräi po definiciji, to jest sukcesivnim množenjem pune dinamieke matrice, utroSak memorije i vremena raSunara je veći, naroSito u slučaju sistema i stepena visokog reda. Kada se, medjutim, dinamička matrica posmatra kao skup od četiri kvadratne podmatrice, tada se pri stepenovanju uočava jedna zakonitost, na osnovu koje se indukcijom lako mogu da izvedu efikasni rekurentni obrasci. Te obrasce za stepenovanje dinamičke matrice primenom podmatrica, do kojih smo doSli razvijajući pomenuti postupak — pa smatramo da su novina, prikazačemo u ovom kratkom saopStenju. JEDNA PRIMENA PODMATRICA Primena podmatrica, kao Sto je poznato, često olakSava manipulisanje i operisanje s matricama, a pri koriSćenju raSunara omogućuje uStedu memorije i vrentena. Kao jednu mogućnost pr imene podmatrica, u sledečem, razmotrimo matrično množenje i stepenovanje pođelom na četri podmatrice. Matrično množenje.-- Neka su R, i B, đve pravo-ugaone matrice, saglasne u odnosu ^a matrično mnoSenje (sl.l). Kada R. podelimo na četiri pravougaone podmatrice /C.,K,,I,,0^/, a zatim R- na saglasne podmatrice /C2,K-,I,,02/, tada u matrici proizvoda! (1) saglasno Semi množenja Isl.ll, odgovarajuće ^dmatrice glase: C3 = C^Ci + = CjK, + I3 = IjCj + O^Ij 03 = + O^Oj (2) R,- / 1 ^ 1 Cl |Ki ____1 " fi'jb" C, K3 Iz 1 a I3 103 ■R. $L.1 FALKOVA ŠEMA MATRIČNOG MNOŽENJA Matrično stepenovanje. — kvadratnu matricu R reda Posmatrsmo, sada, (2n,2n), podeljenu na četiri kvadratne podmatrice /C„,K„,r„,0„/, od kojih je svaka reda (n.n)i m m m m 1 n e"" = m K. m I 0„ m I m (m-1,2.....L) 2n Kako je po definiciji: ([n=2, 3,... ,L1 (3) (4) to, nakon sukcesivne primene izraza <21, indukcijom dolazimo do sledećih rekurentnih obrazaca za stepenovanje: ^m = iS + Xm + I m = I ra- 1^1 + Vi^ "m = I m- + lm=2,ì.....L) 15) ST13PEM0VANJE DIMAMIČKE HATHICR U daljem, izvedimo dva specijalna slučaja obrazaca (5) . Razmatramo diskretni dinamički sistem sa n stepeni slobode, opisan matricama m, c, k (mase, prlquàenja, krutosti), od kojili jo svaka reda (n.n). Prigušena dinamička matrica.— Ako postoji priguženje (ci^O) , dinamička matrica sistema R i njen stepen R izraženi preko podmatrica glase: K R"- = K i _11 , 0 i'o' ni (m=?,3,. .. ,1,) (fi) gde je: C = ; K = -m'^k I -.jedinična matrica; O - matrica nula. Dalje, iz i/raza (5),(6) i sledi : (7) \D , noposredno a iz izraza (10), saglasno ozniikamfi (7), neposredno dohijamo rekurcntne oljr.iscv.' stepenovanje neprigiiSfinc dinamičko mal.riuij: % = S.-] I m = Vi «m = «m-1 (m=2,3.....1,1 li:^) BROJNI PRIMER Za sistem sa jednim stepenom sljihodu (si. 2) uzet prema /2/, odredimo R i K . R = -ri?c ] -rfi\ SL.2 SISTEM I NJEGOVA MATRICA Ü slučaju prigušenih vibracija (cssO.S), sacila«^ no izrazima (6) i (10), matrice B i H glase: R = -0.5 j_-1. -0.751 0.5 ^m = = Vi I m = ^m-l °m = V-1 C + K, K C + O, K m-1 m-I lm=2,3.....1, (8) Kada izraze (8) ispiSemo za m=2,3,...,L , ta'da indukcijom za poslednja dva, od ova četri, izraza nalazimo: S druge strane, u slučaju neprigu.'^enih vibracija (c=Ü), saglasno izrazima (11) i (TSl, imamo: R j-U-J • ro_| 1. 1. 1 . 0. _ j 1 0. _ + Vi jm=2,3,...,L| (9) m-1 m-1 Konačno, iz izraza (8| i (9), dobijamo rékuren-tne obrasce za stepenovanjo prigušene dinamičke matrice: ZAKLJUČAK Kao specijalan slučaj matričnog stepenovanja preko četiri kvadratne podmatrice, iavedeni su rekurentni obrasci za stepenovanje kako prigušene, tako i nepriguSene dinamičke matrice diskretnih sistema. = S «m = ^m = s = m-1^ ^ Vi m-r m-1 m-1 (m=2,3,.. .-,1) (10) Pogodnost izvedenih obrazaca je i?ta se, zbog posebne strukture dinamičke matrice, primencm podniatrica smanjuje broj skalarnih pri stepeno-vanju. LITERATURA Neprigušena ainainička matrica.-- Ako nema prigušenj^ (o=0), dinamička matrica R i njen stepen R. = glase: 0 } K = m 1 m ~iTÖ I 1 0 ^ m 1 m (m=2,3,...,L) (11) /1/ Furundžid, S. , (1981): "Jedan numerički postupak dinamike konstrukcija", XV jug. kongr. mehanike,- Kupari. Furundžič, S,, (1981): "Jedan algoritam i program za računanje dinamičkog odgovora konstrukcija", Simpozijum Informatica 81, Ljubljana. POSLOVNI SISTEMI BUSINESS SYSTEMS UDK: 68i;3.01 PROJEKT LOGIĆKE STRUKTURE BftZE PODflTflKft D BIBLIOTECI OfìLIBOR niLEriKOUIC IBK - UIMCfì INSTITUT Zfl IMFORnflTIKU "niKailo PeirovU Rias" BEOGRnB JUGOSLRUUa ABSTRAKT. Na osnovu opisa -funkcianieanja biblioteke tehnlkoin strukturne sistem analize Conceptual i zovan 'je sistem u ^oriri dijagrama toka podataka. Identifikovani su objekti, relacije i atributi sistema i primenjen Je postupate normalizacije za generisanje logičke strukture baze podataka o biblioteci sa UDK metodom klasifikacije. Zbog ograničenja UDK metode analizirana Je struktura tezaurusa i istom netodologijom kreiran je datolođki model tezaurusa koji je zatim integrisan u celoviti datoloiki model biblioteke. ^ DESIQN OF LIBRARY DATA-BASE LOGICAL STRUCTURE. Based on the description of library functioning by means O'f a structured system analysis a library system is conceptualized in the form of data flow charts. The system objects, relations and attributes are identified and normalizing procedure applied for generation of data-base logical structure of the library tgith UDC classification method. Due to limitations of UDC method thesaurus structure is anal i zed and the same methodology applied for a thesaurus data model creation, which is thereafter integrated into the overall library data model. 1. Uvod 2. Opis blblioiećkog si stena Iako Je krajnji cilj projektovanja informaci onog sistema <1S) realizacija na ra£unaru, u fazi logičkog projektovanja baze podataka (BP>, kao centralne komponente informacionög sistema, projektant mora biti daleko od pomisli na radunar i fizifku implementaciju. Ova načelo obezbedjuje potrebnu nezavisnost reèenja u odnosu na konkretni softver za upravljanje bazom podataka (SUBPl. Metodologija projektovanja IS bazira se na sistemskom pristupu reéavanja problema koji Je zasnovan na opitoj teoriji sistema i uključuje fazes .t? - verbalnog opisa problema) - konceptualizaći je grafičkim metodama i - formulacije problema u okviru opšte teorije sistema. U ovom radu disciplinavano je provedena ova metodologija kroz razvoj logiike strukture BP o biblioteci koja uz konvencionalnu UDK metodu klasifikacije integriäe i metodu koordinantnog indeksiranja publikacija preko modela tezaurusa. Za Izgradnju kompletnog IS potrebno je Jo& obavit' 7'srteda aktivrastis - konvertovati i realizovoati logičku strukturu BP na nekom konkretnom SUBP kao éta su I-D-S/II, TOTAL, INS i - projektovati programe 2a aiuriranje i uvid (izveštavanje) u paketnoj i transakcionoj obradi. Sve biblioteke, od onih opžte namene do INDOK--biblioteka, imaju istu funkciju i strukturu. Osnovne bibliotekarske delatnosti uključuju nabavku bibliotečke gradje, katalogizaciju, organizaciju bihltotećkih fondova i.sluiöl za čitaoce. Ove delatnosti' odvijaju se na dva jasno odvojena toka: prvi se sastoji od novih knjiga i periodike koje biblioteka prima i naziva se "put nove knjige", dok ss drugi naziva "put po ielji citalaca" i sastoji od literature koja se izdaje na zahtev čitalaca Cl].. Put nove knjige počinje sa prispečem knjige odn. primarnog dokumenta u biblioteku i njenom analitičko - sintetičkom obradom. Rezultat obrade Je sekundarni dokument - katalo&ka kartica gde se knjiga jedinstveno identifikuje tzv. signaturom. Slede ostali bibliografski podaci, kao i podaci, o klasiranju u oblast kojoj knjiga pripada prema usvojenom metodu klasifikacije npr. univerzalna decimalna klasifikacija (UDK). Signatura se unosi i na knjigu koja se zatim arhivira na police dok se kataloäka kartica umnožava u potrebnom broju primeraka i ulaže u katalogei autorski, naslovni i predmetno-stručnl. Struktura ovog poslednjeg zasniva se na metodu klasifikacije koji Je biblioteka prihvatila. Periodično bibliotekari isradjuju posebnu vrstu sekundarnih dokumenata - bibliografije novopriepelih knjiga po navedenim katalozima. Time ae put nove knjige zavrSava. Sa arhiviranjeai knjige poćinje >ijei< drugi put, put po zahtevu iitalaca. Iz jednog od kataloga fltalac nalazi signature knjiga koje ga intereBUJu i ako su slobodne dobija ih na iitanjB. Odsek za posajmicu vodi kartoteku čitalaca koja sadrži podatke o iidatim l:njiga-ma, te kartoteku s kartonima knjiga na kojima su zapisana imena ili Šifre citalaca kojima je isdata odredjena knjiga, ftko je knjiga zauseta moie se izvrèiti rezervacija. F'o povratku, pozajmljene knjige se, ako nisu rezervisane, vraćaju na police, a ako jesu, čitalac koji ih je rezervisao se obaveitava da ih tnoze podići, □vim se završava druga stalna cirl (llM) 4. ((Slß), (IM) i ( 1:M) 5. ((SI6>, (DP) ) (t:M) ((BC), (IME)J (1 :M) 7. ((BC), (BLK)> (1:1) B. ((BC), (AD) ) (1 :M) 9> ((BC), (l:ri) 10. KBC), (CD) (C:M) 11. ((SIB), (BCD ) (M:M) ____. : 12. ((BC>, (SIG)) (M: 1) 13. ((SIB), (DU) ) (IsM) 14. ((UDK), (SIG)) (M: 1 ) 13. ((UDK), (UDKl)) (M: i) Na osnovu 1. pravila za struktuiranje logičkih zapisa C33, da se izmedju kljuca i opisnih podataka u okviru jednog logiCkog zapisa mogu realizovati preslikavanja tipa (1:1), (t:H), (C:l> i (CjM) , dolali ee do sledećeg skupa logitfkih zapisa: OBLAST (UDK. NO) FDODBLAST (UDKl) knjiga (big, a, na, im, dp, du) ' Čitalac asocijacija tipa 1 >> asocijacija tipa M Baza podataka treba da pruSi, kako to pokazuje dijagram toka podataka odgovor na nii pitanja. Analizirajmo na nekoliko karakterističnih zahteva kako se dui a:i do odgovora sa stanovišta kretanja pa prikazanoj mreinoj strukturi ucrtanim putanjama i pristupa logi(!kjm zapisima i pojedinim elementarnim poljima. Uvid u struCni katalog ostvaruje se po sistemu menu-ja jer je struktura ovog kataloga idealna za ovakav prikaz, a osim toga od Čitaoca se ne moie očekivati da poznaje plan UDK oznaka. Prolaz kroz stablo oblasti ostvaruje se u dva repeti tivna koraka. Na osnovu datog UDK broja oblasti pristupa se zapisu PODOBLAST i pronalaze svi UDKl brojevi koji su sa njega vezani, a zatim se izabranoj podobi asti pristupa tako éto se njen UDKl broj sada tretira kao UDK broj oblasti. Za ilustraciju namene, sekundarnih klJuCeva neka se pretpostavi da korisnik IS biblioteke ieli uvid u autorski katalog sa ciljem da dobije signaturu knjige tijeg autora zna. Zahvaljujući sekundarnom ključu AUTOR biće pronadjen ne jedan jedinstven zapis, već svi zapisi koji imaju odredjeno svojstvo: u ovom primeru zapisi knjiga jednog autora. Veza izmedju zapisa tiTALAC i KNJIGA omogućava bibliotekarima da uvek znaju koje je knjige pozajmio neki čitalac i kada ih mora vratiti odn. ko cita knjigu koja nije na polici, a kaju je zatraiio neki drugi čitalac. U drugom slučaju pristupa se zapisu KNJIGA i kad se utvrdi da je polje DATUM UZIMANJA popunjena ide se do sloga ČITALAC 1 utvrdjuje kod lioga se nalazi traiena knjiga. 6. tletoda koordinantnog indeksiranja Sistem klasifikacije po UDK metodi modeliran Je imajući u vidui da je to Široko rasproatra-fl jeni , a osim toga i obavezni sistem kiasifi-kaci je. Medjutiffl, klasifikacija dokumenata po samo jednoj oznaci predstavlja ozbiljno ograničenje, posebno kada je rei o naučnim i tehničkim dokumentima. oBi-AS-r i f Slika 2 - LogiČica struktura BP o biblioteci Prevazi Idienje ovog nedostatka prLiìa metoda koordlnantnog indeksiranja sa idejam da se sa-driaj svakog dokumenta apiže jednim skupom kljuCnih reći, Kljutne reći mogu se shvatiti kao k oordinate jednog vi &ed imen: i oncig prostora u kome svaka taCka predstavlja neki koncept ili ideju date oblasti. Otuda se za svaki dokument mogu odrediti te njegove koordinate tj. kljuCne reći i obrnuto, ako se podje od ključnih reti tj, koordinata moje se doći do tatke u prostoru tJ. dokumenta koji sadrsi traieni koncept. Osnovu ove metode Cini tezaurus - terminološki -reCnik odredjene nauCne oblasti pri CiJem je standardlsovanju potrebno zadovoljiti uslove koji se odnose na: a) preciznost 1 jednoznatfnost ključnih redi; b> kontrolisanu upotrebu sinonima; c> eli mini san je pol i semi je i homonima i dl uspostavljanje paradigmatskih (pojmovnih) odnosa Izmedju ključnih reCi. deskriptora. Uz svaki deskriptor ide i njegov -Frekventni broj koji registruje u koliko je dokumenata deskriptor upotrebi jen sa indeksiranje i koristi se la predvidjanje odziva sistema. Primer jednog deskriptora i njemu pridruženih pojmova [63! DECONTflHINATION C357t; 3574] UF radiosciii'e decontaminat ion BTl cleaning RT bioadsorbents nT radiation protection /;T safety showers U domen ovog poglavlja spadaju i tzv, zajednički (linl:> indikatori. To su brojevi koji povezuju one deskriptore iija koordinacija predstavlja predmet o kome Je reć u dokumentu i sledstveno sprečavaju pretraii van j e bazirano - na lažnoj koordinaciji deskriptora pridruženih dokumentu. Skup deskriptora (standard izavanih kljuinih reći) za datu oblast ima vrlo sloSenu (nre±na organizaciju koja ima karakter zakonitosti za skupove semantičkih elemenata. Mada postoji niz'unutrašnjih odnosa u ovakvom pulu deskriptora, za korisnika je prvenstveno vaino da deskriptore vidi grupisane po srodnosti svog značenja. S tim ciljem iz pula se zahvata niz deskriptora koji čine facetu, a facete su org-anizovane po semantičkim poljima kao kategori-jalnim pojmovima date oblasti. Odavde proizlazi da delove tezaurusa saćinjavajui - spisak semantičkih polja i njihovih ■facetaj - spisak deskriptora po facetama i - al fabetski ' spisak desk:riptora sa njihovim Indikatorima. 7. Indikatori nedjusobnih odnosa deskriptora Struktura tezaurusa počiva na dve vrste ovih indikatora koji obezhedjuju napred pamenute uslove a> — c> i d) respektivno. U prvu grupu spadaju sledeCi indikatori} USE (upotrebi). Kod izgradnje tezaurusa, iz popisa ključnih reci izdvajaju se grupe ključnih reci koje se smatraju sinonimima. Iz svake grupe uzima se jedna reč za reprezentaciju cele grupe i ona postaje deskriptor. Sve ostale reči u grupi proglašavaju se nedeskriptori ma i povezuju se sa predstavnikom grupe indikatorom USE a ovaj sa njima indikatorom: UF (used for = upotrebi jen za). SN (scope note = napomena o opsegu/definicija.) Uopéteno gledajući ovaj se indikator daje ds bi se izbegla dvosmislenost, ftli ima i značajniju ulogu! da označi opseg jednog pojma. Ove definicije nisu definicije rečnika već kratki opisi smisla koji se daje Jednom pojmu. Indikatori druge grupe uspostavljaju semantičku mrežu u skupu deskriptora: BT (broader term ~ tiri pojam). Indikator BT ukazuje na opitiji deskriptor koji je nadredjen datom, i ta samo jedan (ne razmatra se-pol i hijerarhija), ćime uspostavlja generički odnos. NT (narrower term = u±i pojam». Nasuprot indikatoru BT ovaj indikator ukazuje na specifičnije deskriptore koji su podredjeni datom i uspostavlja odnos vrste. Na taj način par indikatora BT-NT definiSe iseCak hi jerarhijskog lanca za posmatrani deskriptor. RT (related term » srodni pojan). Pored opisanih hiJerarhijskih u najvainije paradigmatske odnose spadaju; - funkcionalna sličnost; - uzroCno-posledićni odnosi i - odnosi d<2o-celina. Indikatorom RT obuhvaćeni su ovi odnosi čime je korisniku tezaurusa omugućen tmlji izbor B. Konceptualni datoloäkl model tezaurusa Na osnovu analizirane strukture mogu se definisati ovi objekti i atributi tezaurusa: OBJEKTI ATRIBUTI BEMftNTIĆKO POLJE éifra semantičkog polja (SBP) naziv s.p. (SMNT) FflCETft DESKRIPTOR Šifra facete (SF), naziv (FAC) Šifra deskriptora (REO, deskriptor KNJIGA signatura (SIG), ) (Iti) 4. («REO, (SNI) (C: 1) S. ((REO, ) (M: 1 ) 11. ((REO, (BNT)> (M: 1) 12. ((REO, (RT)) (M:M) 13. ( FACETA (SF, FAC) DESKRIPTOR (REC, D, SN, FB) NEDESKRIPTOR ND) šlRI/UŽl POJAM (BNT) SRODNI POJAM (REC+RTl VEZA (S.IG+REC) ZAJEDNIČKI INDIKATORI DOKUMENT Ž^^'(t,t,,t2) ltd., dokler ne dosežemo output evaluacije 12) pri čemer ima vsak yjn; b) proceduro agregiranja evaluacijskih tokov, N določen par IHA - i^niW^Xi-ilJA OI-;ižAiJ Omiš,iS }, .inßtEii,-ivij.i UD K: 681.3.007 S.AZETAK Persorvainfi računala su vrlo rđkon svoje prve püjüvo fiostsiLa inCereü-jjvCna i. za 11 privrednim orgar.izaci-jami. P,:ialcig torrt' ;ief.1: m itm/^tir-i V™f5l.iiicin c.:irior;;i nisV:*: oijorrie i. viaokili perfoniiiiL:l ["Liki !»i!tif.a rjjibov.i vrlo brza ak1;i«l Lz;ic i ja. U rr«iu se wx.mitraju, i;tarioviät;,i prJ-^redno orgünizacijt tri tipičn^i maiala Upotrebe. Prvi nutrici govori o nogiKiicKii vir«Dtrebe parso-Itilncia račiiiidrvi KsiO'-vol'jiiv.-inji: "kiičniii" inlV.iiinl;iftk,ilj [Oivelia rm^oviie oi ivjri.; hri igovais-tvetiLli i rltiiaih [0(iat;iK-a. U clPngotii i;r*l'3l'i sö iikfizirje na visoku el'ikiisnast jiretTJOMnl.iiili iipotrjj,.!-.- Ijonih kao t;am3stalne jedinice C-^D si.stana ili inforiaitlv.Irans visokostručne raMne stanice, u?, korištenje infe£ruüiiDg softvjere-,3 ii>:ljučiijući ele'iienl.e uinjettie inteligencij.;. Ki-Oi ui-eći niorlel ss opi- l'.-jvux. iv,inj(! i:>fjii;;oncilnog iviounsira \i iiireäu s ve^ pcjs to j eö i.rn c^Hitraliniii ütcjicj!!. Viiii je piikti'^ ir-ogućfl ufotrGlxi rosäbiß s osvrtom it'i preclrofsti p'.^trjonMlivrig ivičviiiara kao i ta n li'rtZi i i;Ka/,ri- no je na jjoj-uvii tradomne fitruktiirt; [lodataka: oentr-alna bđM jÄiataka, ~loka i.iii. [».iaci i privatni 'Alkljućno or- i.znoiie gl.ri'/ni r.i/Clo:;.l r-agovj1 .^r'i.i ti.i ćn psr ^orVilni ivirurvii'l vrlo hr/o tati bitnJin el.anontan inforiie: ijtikih sistem privreJnili organizacija. SlK-VJ^Y after their first appearaiioo, pcsrsonal conpui^rK Ijiscoiiie ver"/ inteif^sinij for' une in busitiess organisation. Reason for that is in except J,ona],ly iirofirable relationship het/J'Jon price and liigh perfornarr.es by whinh tVioir fast actualisation Is achieved. Tliree typical nodsls ot usage in the liuai.nest cr^Janisation f'ire disoiisseii Ln the iwptr, Finit iitticl Kpa.^ksi olont |X>esibil.ity of nsing-pereonal compul.er for ijol.'-ig "clasaioal" inf s « fil (: i. s s <■ i i-. <1 (I « (i i ^ J s J ii ? s i s ? i -iii t 1. iroL'Ut-i f - X X - ?.. ti! t .:.iC. IlCiP 'Tt'S'Vti t -."■.-- -i X - i, .■ ^ i i. t'i /. ifii-.i ~ X ~ •t, ür.i, sc^i' ;r i i -4 v t _ 5m j-» n.i iiriri'->::i i ^r ^ i ^ ^ i: t i ^ ? i: * i ^ 6 ^ ^r (: r ^ ^ t Sr t i: i! p Cr ti l! ^ i ii C JP PRIhlCI t C'':-:- ur^iA.'A I ) i' jkl'':no| pqrs^:uv|w?(y v G s i-''i; I o»:------,-------1--- ------j-.....-j--- SI? KJP4v;.iv:: 1 2 1 4 5 t> 7 š fJ : ^ \ r r ■ :--- t <■ S: s ^ i- 4- ? 1 -s 5- i i s f 7. e,c-:il i.-.ici J.j - .-JIPLaTJ icr.^^v.?.. jrni infer.!' - x r: -t - - - / "---!-------1 J_____________L Ivr.'.^Ljv. ni o.-.:J1 ti':;iJ ■! - ^urkf, ij,^ ■'- ™ r- 1-. "'fr-iSTiK» T,: -.■■--- ;. T:'-.or n-: -i!, i i-i 1 > v i v ,!■'' - i. ^^ l;.. : , - - ------, XK--X--I ---- - ^----(I* *.....I .---- ------J XXX/---1---- ------f y / X----1---- .....-I.......1 * ------I-------1 - - I:.. Vo-l.'T,. .-^ s 1. ;-. r ^v,;.', i ,-L:r, - i: ':'■ .-i - ■:■ - - - - : i". ■■ tt.jk.^ i ^.-j >1:! t - 1, J -i . - - - ."riJ. = injns i JI- 1: - ^ -V - 1 • ! '-ot v.iv * T-iTii^ i . - - - - - - .....I---- v Jt»-: ,f.-v i 1. -T- .::■/( -Ti i '- - / - i - - - - - -'p jn^.iuv-.ri Ji- -.ri jr.'iut:. ^ - i - - - - - - '^s joso^uv^ i r->5". v > 1 i f i K . - - - - - - f" re J i t i r.iri j:w>0 r X i C i "-se ♦ s - i; - - - - -Snot. kovo<1-itvc Vo^i+ir.^-vi ::4 vri^^otuv. - / - - - - - itiJiSS Jt «IdCitiiti^^iÜiSi jor-.i ranjf! IHI itoci S.'r. OauV.a .r.r> P ( «,or i'ir i c i ; a < - - 3C» I.T.ib. iiniü,:! 1 inforir., c - 5 ; -s> - - - - JU VoJunj^ .-.irnivii i -Sot.i-^H ti. - i -i' .v x x - - t J S: ^ t t i i t S: t ; : s s f t !■ « i s t i i: t 11 -s ® !: s n y. /---1-------1 X » - - --->--( //////-1 .1*-* X X ( - - j :>: >: s X -1 » K - - « <---.'<-/- /-"K*..... X-XK------ ---- iS;. {.tinì;.iSi.':::ìSÌl>/j:i«r£:Ìi (if J: f i Ü t S « ^ 4f t i: f f ? ij f ■ ■ 1 ! ^ !: Ü !■ f U ^ J: J f ^ J ü J J.-J « - i f S i i: C'S J: i t ? t f ) t I ■•! (: :: I f t f-i ,> i. i-« f-i <: i: S ?! Si 4 ® ? i S letiLi-njil : ^i- - udi icuv.* x ' i^.vrs^jvii- / - uco-.tvuv ! ZAEDNIČKI STRUKTURI: a - Sobranle b - Direktor/sekretar c - Pom. d i rektor/pom. sekretar d - Načalnik/rakovod.l dSPX003 PRILOG 002 tee« BSP Gl UR IS » DATUM. 2<).08.8 i « KAOOVLJlCfl/SLOVEiflJA « e________t____ » 3. lOENTIFIKUViNJE I DEFIMI-« s aAMJČ HA RABQTMTE PRQCE-e * SI I KLASI NA PQDATOCI e «________________9 S iKÜLDVAMjE SEMt»(AK rA^fO "JSP »irroo. KAOOVLJlCA/SLOVEiflJA VERIFIKACIJA KA REZULTA-riTE PREKU RAZCGVÖSr/INTERVJUI sa STAREillVITE I RAKOl/OtJlTELITE HA NI ORGANI « « $ ti i. ■s s « 9______________ o 6. ppipkfma na zavr£,nidt e UVEITaJ ma STUt)ijata « e____. _______________ 9 V » 5. SINTcìA NA '«EiULiaiTE I itraddtka prfdlrjr. rc-šeljle ma inruhkac tc^'-llqt s iste« ma skopje » « e 7. prezfcmttranje fla re7ulta s 1 Tire 00 STU1[JATA e l e « I e ÌAJELESKI : 9 ZT.O--.e' OÌ.O'i. s XXXKX » . e ( f- -xxxx » e e e s « « e e 1Ü.C9. xx xxx 17,00. xxxxx 2'..OS. xxxxx xxxxx 01.10. XXXXX xxxxx on.IO. xxxxx — x— iiiittt 15.IO. «se e«« Iti. SittSii e 2<).10.9 « »se««»» « « e ____« s e __® « « « _ « » e » _____« « e e « ___e » I» « « « « «e»««»»« INFOtlHACIJSKI SISTEM ZA DELO REPUBLIŠKIH ORGANOV IN ORGANIZACIJ IZKUŠNJE PRI UVAJANJU TER MOŽNOSTI ZA NADALJNJI RAZVOJ Srih SlcoSir, Sekretariat IzvrSnega sveta SkupSSine SR Slovenije, Ljubljana, Jugoslavija UDK: 681.3.007 Referat daje kratek pregled razvoja, ter povzema Izkušnje pri graditvi in uvajanju informacijskih sistemov s poudarkom na informacijskem sistemu za delo republiBkih upravnih organov In organizacij. Navedene so tuđi glavne znaCilnosti informacijskega sistema (enotna metodologija dela, enotni standardi ipd.) ter prednosti in težave, ki nastajajo pri njegovem uvajanju. Na koncu je podana tudi možnost za nadaljnji razvoj s ciljem le večjega uveljavljanja procesa družbenega sistema informiranja in razvoja informacijskih sistemov za podporo odloCanju. INFORMATION SYSTEM FOR WORK IN OFFICIAL REPUBLIC ORGANIZATIONS EXPERIENCES CAINEĐ AT INTRODUCING SUCH SYSTEM AND POSSIBILITIES FOR FURTHER DEVELOPMENT The paper gives a short survey of development and presents experience's gained at introducing information systems with a special stress upon the information system for work in official republican organizations. Main characteristics of the information system (uniform methodology of work, uniform standards, etc.) as well as advantages and difficulties occurring during and with its introduction are stated. At the end, also a possibility for further development with a goal to bring forward the process of social information system and to expand information systems for computer aided decision making is implied. 1. UVOD Temelji o razvoju družbenega sistema informiranja, zastavljeni v zakonskih aktih (I, 2), zavezujejo ter omogo6ajo delavcem, drugim delovnim ljudem in občanom, da druge seznanjajo in da so sami seznanjeni z vsemi pojavi in odnosi, ki so pomembni za^ njihovo Življenje, delo in odloSanje. Ob £e obstoječih metodah in «ažinih dela pa se z uporabo sodobne tehnologije in tehnične opreme odpirajo nove razsežnosti. Kljub vsem prizadevanjem, razen nekaj posameznih poskusov, se je Sele letos pokazala moinost za uresničitev idej. S sprejemom samoupravnega sporazuma o sodelovanju in izvajanju skupnih nalog pri načrtovanju, vzpostavljanju in delovanju informacijskih sistemov za podporo odločanju so dane možnosti za enotne in usklajene akcije. Osnovne■ skupne značilnosti razvoja vseh informacijskih sistemov za podporo odločanju so: - medsebojno usklajena metodologija zajemanja, obdelave, shranjevanja in izkazovanja podatkov in inforamcij; - medsebojno usklajena standardizacija nastajanja, zbiranja, obdelave, shranjevanja in izkazovanja ^datkov in informacij; - usklajena strojna in programska oprema in njeno vzdrževanje; - enotne oblike in postopki arhiviranja dokumentov (ne glede na medij); - enotne oblike in metode usposabljanja in izobraževanja; - enotni postopki zaSčite in varovanje É>odat-kov in informacij be posameznih temeljnih bank kot' tudi na zahte> vo investitorjev ali republiških upravnih organov. V ta namen je bil v sodelovanju s fakulteto za elektrotehniko iz Ljubljane raavit programski paket, ki omogoča zajem in hranjenje podatkov o posameznih investicijah ter na osnovi teh podatkov avtomatsko generira razna poročila in analitične tabele, ki jih banka potrebuje za svoje delo oziroma jih posreduje ustreznim organom in institucijam. Podatke za te tabele so prej zbirali ročno, kar je bilo izredno zamudno In je predstavljalo za delavce Instituta precejšnjo obremenitev. 2 vpeljavo računalniškega vodenja evidence investicijskih programov se je tako po eni strani bistveno zmanjšal obseg zamudnega ročnega dela, po drugi strani pa so na Institutu za ekonomiko Investicij dobili na voljo hitre in kvalitetne informacije, ki onogtčajo boljSe odločanje o razporejanju sredstev in nadzor nad sredstvi, ki jih banka namenja za kreditiranje posameznih investicij. 2. SpioSen opis programskega paketa Paket je nspisan v programskem jeziku PASCAVMT+ .za računalnik FABTNES, sestavljata pa ga dve osnovni skupini programov; - programi za vzdrževanje podatkovne baze - programi za izdelavo raznih poročil in analitičnih tabel. Naloga prve skupine programov je omogočati zajemanje, ažuriranje, brisanje in izpisovanje podatkov, ki jih hranimo o posameznih investicijskih programih. Trenutno hranimo za vsak investicijski program približno 100 najpomembnejših podatkov, ki so organizirani v treh datotekah : - datoteki sploSnih podatkov - datoteki s podatki o dinamiki izgradnje - datoteki s podatki o instaliranih zmogljivostih. Programi tz druge skupine pa so namenjeni za hitro In enostavno Izločanje podatkov iz podatkovne baze v obliki raznih poročil, statističnih pregledov in analitičnih tabel. Programski paket OBOgoČa izdelavo naštetih poročil ob upoštevanju naslednjih kriterijev; - kje se nahaja posamezen podatek (na kateri datoteki In na katerem mestu v zapisu) - koliko nest zavzame vsak podatek - tip podatka oziroma vrste kontrol, ki jih Je treba izvršiti pri vnosu oziroma aiuriranju • besedilo zahtevka za vnos. - datuma prejema investicijskega programa - usmerjenosti investicije oziroma področja gospodarstva ~ interne projektne klasifikacije. Možna je poljubna kombinacija naätetih pogojev. Doslej so ta poročila izdelovali sodelavci Instituta za ekonomiko investicij ročno, kar je bilo po eni strani zelo zamudno, po drugI strani pa je to za njih predstavljalo dodatno obremenitev. Z vpeljavo računalniško vodene evidence sta Mll obe navedeni pomanjkljivosti odpravljeni, s tem pa je bila dana tudi možnost hitrejšega in učinkovitejšega spremljanja investicij, ki 30 v teku. Poleg omenjenih dveh skupin programov so v paket vključeni še t,i, sistemski programi, katerih delovanje je uporabniku skrito, vendar so nujni za funkcioniranje programskega paketa. To so programi za sortiranje podatkov. Iskanje podatkov v bazi, vzdrževanje Šifrantov in krmilnih datotek Ipd, Paket je v celoti interaktiven, njegova glavna odlika pa je izredno enostavna uporaba. Dostop do posameznih programov je realiziran preko ustreznih menujev, dialog med uporabnikom in računalnikeo pri vpisovanju podatkov pa je zasnovan tako, da računalnik izpisuje zahtevke za vnos, uporabnik pa vnaša potrebne podatke. Vsak vneSen podatek se sproti preveri, računalnik pa v primeru napake izpiše ustrezno diagnozo in zahteva ponoven vnos podatka. S tem smo dosegli, da lahko uporabljajo paket vsi sodelavci Instituta za ekonomiko Investicij, ne glede na računalniško predznanje. 3. Nekatere zanimivejše tehnične rešitve S tem je omogočeno enostavno širjenje podatkovne baze z novimi podatki brez izvajanja bistvenih posegov v obstoječih programih, programi za vnos in ažuriranje pa so splošno upftrabnl in neodvisni od konkretnega nabora podatkov. Druga tehnična rešitev, ki se nam zdi vredna omembe lo ki bistveno prispeva k enostavni uporabi programskega paketa, je postopek verlže-nja programov. Celoten programski paket poženemo s klicem enega samega (povezovalnega) programa, katerega naloga je pravilno povezovati in krmiliti delovanje vseh ostalih. Ta program izpiše na zaslon glavni menu in nato - v skladu z opcijo, ki jo izbere uporabnik - sproži izvajanje verige ustreznih programov v programskem paketu. Zadnji program v verigi prenese krmiljenje spet na povezovalni program, tako da se na zaslonu - po zaključku vsake izbrane aktivnosti - vedno pojavi glavni menu, na podlagi katerega lahko uporabnik izbira možnosti za nadaljnje delo. 1-, Sestava delovne skupine, ki je sodelovala pri realizaciji programskega paketa Pri realizaciji paketa so sodelovali: - en sodelavec Fakultete za elektrotehniko (asistent) kot vodja projekte, ki je nosil glavno breme v fazi sistemske analize, izdelal načrt sistema in programske specifikacije ter vodil in nadzoroval potek programiranja - dva študenta 3- letnika smeri Bačunalništvo in informatika, ki sta na osnovi programskih specifikacij napisala vse programe - trije sodelavci Instituta za ekonomiko investicij - uporabniki, ki so bili vključeni predvsem v začetnih in končnih fazah izdelave paketa (analiza, testiranje in uvajanje). Od tehničnih rešitev želimo omeniti predvsem uporabo krmilnih datotek, s pomočjo katerih smo dosegli relativno visoko stopnjo neodvisnosti med programi in podatki. Tako smo uvedli posebno krmilno datoteko, ki vsebuje vse pomembnejše informacije o podatkih, ki jih hranimo v podatkovni bazi: Tako je bil ta projekt zanimiv tudi z vidika vključevanja študentov v praktično delo na razvoju programskih paketov. Izkazalo se je, da lahko študentje ob primerni organizaciji dela uspešno izvršujejo zastavljene naloge, s tem pa pridobivajo Izkušnje za svoje delo v praksi po končanem študiju. 5. Zaključek Programski paket sa vodenje evidence Investicijskih programov oaioeo^a trenutno Izdelavo preko 10 različnih seznamov, poroSll oziroma analitičnih tabel, katerih oblika je vnaprej določena. V nadaljnjem razvoju paketa pa nameravamo posvetiti večjo pozornost izdelavi avtomatskega generatorja poročil, ki bo omogočal takojšnjo Izdelavo poljubnih poroSll, s tem pa oiatevno rasširil možnosti za kvalitetno spremljanje podatkov o investicijakih programih. Druga predvidena razSlritev programskega paketa pa zajema področje finančnih projekcij, v okviru katerega bomo skušali (Izhajajoč iz podatkov v podatkovni bazi) razviti programe za ocenjevanje različnih pokazateljev učinkovitosti posameznih investicij. IZDELAVA PAKETA •^SIĆUO POSLOVASJE' U UUBUASSKO BASXO GOSPODABSKO BANKO Inatitut Joief Stefàn. I^ub^ana, Jugoelai^ija I, lajovia, F. Žerđin, Jugoalaviya jyubtjonsfat bmka ZdntSena banka, Ljiòliawi, UD K: 681.3.007 Sef erat opisuje paket "MeniSno poslovanje" sa. raäuwilniäfej podprto obdelavo nekaterih banžnih poetov z vreiinoetnim papiifji. liaferat Ja razdeljen na tri poglaoja. V prvem je nahazana pivblemti1(a, H Jo poltet obdeluje, v drugem je opiatjn naSrt raSunalniSke obdelave in v zadnjem kratek. heonoloSki pregled naetanka paketa. Paket je napisan v progmmškem jeziku COBOL in uporablja aietem za upinvljanje podatkovnih hax IDA. Paket trenutno teče «a raSunalniku DELTA 47B0, THE "BILLS OF EXCHASSE" SOFTWARE PACKAtm TteLs paper highlighte the evaluation of the "Bilia of exehange" bardi eoftuare package. The first chapter deeenbee the objectives, the eeeond the design of the eoftuare paokage and the third the (bvelop-mmt of the package. The paokage is Mriten in the COBOL progrcowting language and ueea the IDA database. It is inplemented on a DELTA 4780 aoB^ter, J. iOIAXEK OPIS PROBLEMA V paketu "tleniSno poslovanje" eo aajeta naslednja «Šja poslovanja a tneniaami, garancijami in devimimi krediti V sektorju adruSevanja deta in sredstev OZD, v nadaljnjem beaedilu "vrednostni papirji" t - eakont meniCt iiidanih po zakonu o eavarovanju plačil med UPS z rokom zapadlosti do SO dni - eskont menù» aa prodajo opreme na kredit na domaSem trgu - izdaja ^aranoij 0-1 in G-li za zavarovanja ptaSila lAveznosti iz naslova prometa blaga in opravljanja storitev - avaliranje meni^ do 90 dni - avatirmje mento iz naslova invastioij - stcpitvene garancije - deviane garancije - devizni krediti Orob pretok podatkov v paketu prikazuje alika 1. VREDNOSTNI PAPIRJI Sprejem vreAioatnia papirjev zajem roSno preverjanje. Se so dokmenti ne^reSni, ter vnoe v rt&malnik. Sprejsm plaSil pomeni Vnos vimanov, a katerimi OZD poravnavajo avoje ebveznosH do temeljne banke. VMS Sifivntov zagotavlja aSumoet eploBnih podatkov, ki se občasno spreminjajo t knjigovodski računi, obrestne inere,... ), SUI. Pretok podatkov v paketu Zapadanje ađruiuje vse akoije, ki Tiastatejo, ko vrednostnemu papirju poteče rok veljavnosti, z vsemi knjigovodskimi spremembami in dopisi organizacijam zdruSe-nega dala. Obraihini sdruSujejo obnj&me obrtati ob odkupu menic, provizije M avale^ gamrutija in kreditt, ter zamuiiie obresti aa nepraooSaano poravnane ohveznoBti OZD do temljne banke. Knjigovodski prenosi adruSujeJo vae spremenile na knji-govodekih ralhmih in predstaoljajo obenem vmeenik med paketom "HeniSno poslovcmje" in obdelavo prometa na hijigovodakih raSmih v paketih "Saldakonti" in "Glavna fcnjiga". Paketa "Satdakjmti" in "Glavna knjiga" eo izdelali delavci Sektorja aa raSunalniSki informaaijaH sietem llaepodareke banke v Ljubljani. Poročila amogoSajo globalen pregled nad podatki, kot na primeri - rokovnik mpadlih wednoetnQi pt^rjev - stanje irreSiostnih papirjev v doloSenem obdobju - stanje obraiunane in plaiane provizije interaktivne obdelane ; ~ sojem in popravljanje podatkov o vređnoet?tih papirjih - vnos prometa - vnos Šifrantov paketne obdelave ; - obračuni - zapadanje - knjigovodski prenosi - poroSila. Paket je zasnovan na naSelu, da varjajo sa pravilnost podatkov. 3. Izdelava paketa tpoiKibniki sami odgo- 2. SAČR7 IU(fV//jlIJllSXS OBDELAVE področje+posi .enota I PO+PE+toad ' podatki o tozd 1 PO+PE+tozd+limit podatki 0 llmJtu jra+PE+tozd+Um-i-vr .pap podatki 0 vr .papirju datum zapadl. (g— kartica prometa Z promet Sl.B Entitetni model Entitetni model j« sasnooan in Tealisiran tako,, da ee podatH poaammih podroSiJ med seboj ne prepletajo in obenem omogoSa, da se tudi podatki veS poslovnih enot aa isto področje ne prepletajo. To pomeni, da je mogoSe iadelati poročilo, ne da bi priBlo do odvečnih Sitanj po figiSaih datotekah. HoduH, .ki so navedeni na sliki 3, ustrezajo funkcionalno ak^tiVnoBtim, ki so opisane na sliki 1. Saadelitev na interaktivne in p * R - po spe šele zaradi neenakomerno se vrtečega LOS sistema Predpostavimo, da veljaj a jjj - a^ J. i + a^, . J + aj, . k - C®^ , , a^) 'IN Rj^ - R , k - C0,O,H) in! (3) ""los ■ • i + '^Jt • J+'^H- (0,0,R) C*) kjer 80 i, J, k enotni vektorlji v smeri x, y, s. fie vstavimo v (1) in (2), dobimo: 'IH " LOS ^ * « ' f • in ä^jj = (2R . tuj. + R . . lO g + ÜJ^ . B , -2R . Lt-^ + E , . UJ jj . . E , (6) É - (u/2 ^ujJ J . H) oziroma: UJn. . H v^ - - . R Vg - R (7) a^ = 2H . CLij, + E . Lu^ . to^ + liij, , R a - -SE . + R . ojji, . B - . H ag = E - 2 + ^ _ g Največkrat pa podajamo gibanje objekta v t.im. globalnem koordinatnem sistemu (G), v katerem Je os Z navpična, ostali dve (Y, X) pa vodoravni. Os X leii na projekciji S na vodoravno ravnino, Y pa Je pravokoten na ravnino (XxZ). Gibanje objekta v sistemu S podajajo enačbe; Sj = fig , cos > + a^ . sin J"- a^ = Og • sin.i^ + a ^ . cos J-"^IN - vj.t + v^.J* + vg. K Vj " Vg . cosiJ" + . sin Vy = -v J. Vj = Vg . sin J" + v^ . cosJ^ Slika 2 ilustrira zgornje izraze. (8) 188 SI. 2. Ilustracija sistemov G(X,Y,Z), IN io 10SCx,y,z) Eei- v sistemu G nastopata le uu^ in cu^ , moramo tudi komponente To izraziti drugače: lu^ = "j^ . cos "'H UJ^ . sin J' (9) Tukaj predstavlja kotno hitrost pri vrte- nju okoli navpiSne osi. Če upoštevamo izraze (9) v (7), dobimo: = "'JI. .H vj. = - uj* . a cos a^ = 2R . liijU . R+R . cos J"-. sin J'' 8 1. k .^ * - "^f * . K-2 LO^.u/j.. tgJ-.R R . (u// + . aoB^J- ) . H (10) Pri izdelavi postopkov za regenerativno sledenje smo predpostavljali "ä^j, = 0. Tedaj se izrazi (10) poenostavijo v; 2 + '^J'- * * cobJ'' . cos - O 2 R - (tu oziroma . t, UJ H fl tf - -2 Jf . ajj, - tu^ . cos J- . sin J' .ujj^ .teJ- -2f.u/ (12) J. i H - (UJ , cos^J- -u>} ) . S - fl ^ . H 5. SZ - samodejni zasledovalnih (programski del) Kot SBo omenili že uvodoma, izvaja SZ funkcijo sledenja gibanja otjekta v prostoru v dveh fazah: v fazi uSenJa in fazi samodejnega sledenja. 5.1. Faza uäenja ?azo uJenJa nadalje razdelimo v način roänega sledenja (RAM) in naSin roSnega sledenja z merjenjem razdalje (RAML). A.) HaEin ročnega sledenja (RAJI); Blok diagram, ki podaja prvi korak faze učenja, podaja slika J. V eliki Č določa človeka, ki na osnovi razlike med izračunanimi koti i ii^ i ter koti objekta Iti jo prikazuje za- slon Z, premika komandno palico KP. Pri siaula-ciji zgornje zanke amo predpostavili prennsno funkcijo človeka: KP J Č KI 11 i? SI, 5. Blok shema ročnega sledenja RAM č = ter idealizirali Z in EP: Z - KP » 1 (15) (It) , .Mj, . tgJ" - O (11) . cos^^ ) . H «■ O KI je kompenzatoraki blok, katerega funkcija je, da kompenzira zakasnitev in inercijo človeka. Njegovo prenosno funkcijo določa enačbo: KI A-» sB+ s'=C 1 + sB (15) II in 12 sta integrator Ja s prenosnima funkcijama: 12 TIS 1 c16) B.) NaSin ročnega sledenja z Ije (RAML): nerjenjem razda- BAML korak uSenjase od prvega razlikuje po tem, da je v njem aktiven merilec razdalje.' Slednji daje s periodo T^ vrednosti Rj^, ki so podvržene različnim motnjam. Zaradi tega jih vodimo v filter, katerega blok shemo podaja slika 4. fILTCR R J- SI. 5. Blok shema regenerativnega sledenja lei jih človek vnaša preko KJ z namenom, da korigira sledenje. Blok shemo RCJ podaja slika 6: SI, 4. R filter za odpravo motenj Kp je vhodni kompenzator merilnika razdalje 9 prenosno funkcijo: Kr - 1 + TL* S . II in 12 sta integracijska "bloka (glej (16)), pa izhaja iz enačbe (12). 3.2. Faza saoodejnega sledenja Tudi tukaj ločimo dva različna načina, ki si sledita eden za drugim. C.) Način regeneratlvnega sledenja (RC): Za HC način Je značilno računanje cuj' in uj^ na osnovi enačb (12) ter določitev 'Z in samo s postopkom zaporednih integracij, torej ijrez vpliva človeka. Blok shemo RC načina prikazuje slika 5. Izračun , j. upošteva predpostavljene vrednosti za na osnovi parabolične regresije, ki posega 10 intervalov nazaj /2/, D.) Način regenerativnega sledenja s korigiranjem (KCJ); Zadnji korak v postopku samodejnega sledenja predstavlja način RCJ, ki se razlikuje od predhodnega po tem, da upošteva poleg izračunanih pospeškov coin tii^ ge korekcije Uj^^ in HUIER R KF t n IZRAČUN SI, 6. Regenerativno sledenje s korigiranjem RCJ K2 na zgornji sliki zopet predstavlja blok za kompenzacijo vpliva človeka. Določa ga enačba: K2 £+ s.T G+ s.H C17) Prehajanje med posameznimi načini je izvedeno deloma programsko, deloma pod kontrolo človeka -operaterja. Npčinu A sledi način B oh zahtevi Zl, ki jo vnese operater takrat, ko je ročno sledenje zadovoljivo. Prehod na način C je avtomatičen in se izvede, ko sistem dobi iz R filtra dovolj (J) dobrih zapovrstnih meritev. Sledi samodejno sledenje (C), ki ga zamenja način D ob zahtevi Z2, ki jo zopet vnese operater, ko ugotovi odstopanje izračunanega gibanja objekta. Digitalno procesiranje vseh štirih načinov, ki tvorijo skupaj SZ, izhaja direktno iz regulacijskih zank na slikah 3 do 6. Posamezne bloke, ki se v zankah nahajajo, je potrebno le prevesti iz frekvenčnega (s) v diskretni (z) prostor. Slednje opravi bilinearna transformacija: ^ (1+ z-1) 190 kjer Je T perioda vzorSenja. Primer li Za R filter na sliki 4 doloSino diskretno odvisnost izhoda E od vhodnih vzorcev «L- R ^ ^ a^- 1 + Tj, . s (19) V enač-bi (19) smo predpostavili r- T^ - T , S pomoSjo transformacije (18) dobimo: 2 . 1 - - - 2 + - -'-t ^ ^r + R. . + 1) + Ej^ . 2 * EL • -- Parametre, ki se nahajajo v blokih shem (slike 3, '*', 6), smo doloSili s poooCJo programske' ga paketa za načrtovanje vodenja AHA /5,^/. Simulaci jaki rezultati, ki upoStevajo tako dobljene sistemske parametre, so prikazani na slikah 7, 8, 9i 10» 11» 7 okviru simulacije amo realizirali tudi generator trajektorije, meri? lec razdalja in naključni generator motenj, ki smo ga vključili pri odčitavanju raadalje. V diagramih, ki ponazarjajo rezultate simulacije, pomeni: ^ - azimut (ravninski kot) J' - elevacija (vertikalni kot) ^/h " azimuta (razlika oed generiranim in izračunanim azimutom) E^ - napaka elevaci je R - generirana razdalja R^ - merjena razdalja z vsebovano naključno motnjo - ■ =- hitrost spremembe azimuta - - t-" J. - hitrost spremembe elevaoije " i'®!®^® * hitrosti spreminjanja azimuta Ej, - napaka v hitrosti spreminjanja elevacije Rezultati simulacije kaSejo, da sta pogreška E J, in E^ jj v načinu D(RCJ) dovolj dolgo (več kot 10 s) v okviru dopustne tolerance (0,01 rad) in to navkljub znatnim motnjam pri meritvi razdalje Ej^. 4, Aparaturna oprema sistema za samodejno sledenje Sistem za regenerativno sledenje v realnem času predstavljata dva računalnika. Prvi računalnik (H 68000) sestavlja nekaj ploSč enojnega EVROPA formata in sicer; a. kartica z mikroprocesorjem M 68000, 4K BOM (s preprostim monitorjem GESBUG), 2E RAM podatkovnega pomnilnika, časovnikom (timerjem) in vmesnikom za ES-252 paralelno serijski prenos /5/; b. kartica z dodatnim 8K pomnilnikom RA« /5/; C. paralelni vmesniki PIA, 2 kartici z dvema PIA vezjema /5/; d. digitalno/analogni vmesnik /5/; e. analogno/digit alni vmesnik /5/ in f. kartica DPR. Paralelne vmesnike uporabljamo za krmiljenje lučk in tipk v sistemu. Analogno digitalni pretvorniki nam služijo za odbiranje položajev po-tenciometrov krmilne palice. Drugi računalnik Je PC Iskra-Partner. Paralelni vmesnik PIO služi za komunikscij^y med rsSu-nalnikoM kot tudi za krmiljenje * in y osi osciloskopa. Blok shemo sistema vidimo na sliki 12. Osnovna zamisel Je, do se programska oprema računalnika M 68000, ki v realnem Času podpira regenerativno sledenje, ne bi v ničemer razlikovala od realnega sistema. Zato smo s pomočjo DPR plošče realizirali povsem asinhrono povezavo obeh računalnikov. Ha ploSči DPR (slika 15) je niz pomnilnikov z dvojnim ločenim naključnim dostopom (dual port RAM), ena štren je namenjena M 68000, druga stran pa Partnerju preko PIO. Sinhronizacija poteka le tako, da zadnji zapis niza podatkov v DPR neposredno sproži prekinitev v Partnerju. Le-ta prebrane vrednosti primerja s svojimi izračunanimi (simulirano krivuljo leta) ter razliko preko vmesnika PIO, DPR in DAO 2 prikaìe na osciloskopu OSO. Povemo naj, da smo si pomagali z osciloskopom zato, ker nam obstoječa resolucija PC Partnerja ni zadoSčala, pa tudi krmilni čas zaslona Partnerja presega čas osnovne zanke računanja, t.j. 20 ms. Slika 7. Slika 8. J-1-1-1- 'i [O Slika 9. Slika 10. Slika 11. TRENAItR 192 CES BUS E4 3 4 5 Pi lOm RS23Z 14i U? o ose Sltka 12. Sistem za regenerativno sledenje PtO FARTWER OAC ix/y osci Sllka 15. Blok shema plošče DPB '^AFIIUCUSKI . MENI ) mc-Vartner' -Qy—-^SIOTIII MEH ^ / test«! ^ SIMULACIJ« Q T PKMSA/ SMlltóWE I I 9 XBEI£l*CIJ*>i/ÌEST PKHDSA/^SMUttlUE^SIlALIMIIJE Y TIHJEKTÌMIJEMIH PflTI J^PaHIlIlMim ^ OSCIl»SMP>J\^'FV +V I ) ^TEHmmn^ © MSaOOtHMO-IOROLA ^ B E i 8 B ry 1 ^iO IIi ti», li «{žstiaviii mio^^-^^ ^ESTMI mifl^i»,. /TEST PKIBS^ / TEST BPIItti\ I PflTI J POMNILmiM J 0 Slilca ProBranalca paketa za Z 80 in M 68Ó00 ISO-PAIITIIER MeflODthMOTOROL« osnovNI MEHU --1 APLIMCIJSKI MENU ZJtÜETEK ZAGONA Slika 15. KomunikacijBlci.diaiog zagona apliltacije RESTAV REG. CUD OMOGOČI INTEHUPT IHICIALIZAC. OSN. MIVOJA OSNOVNI NIVO upišt rez. v Dpn pošui 'a' in čas (rs 332) f KONEC w VRNITEV V MONIT, ■hicializacija osnovni nivo Slika 16. Aplikativna proEramska oprema 5. I^granska podpora aplikatlvneinu delu slste^' Uta Omejili se bomo na opis programske opreme, ki podpira aparatumo opremo na nivoju perifernih krmilnikov ter zagotavlja uporabniku "prijazen" dostop do sistema (alatemi "nORI^R"). \ 5.1. Periferni krmilniki Ferifemi krailniki so v sistem vgrajeni kot primitivi, ki se kliSejo iz uporabniSkih programov. Klic je moSen is asemblerskega in for-transkega nivoja* Njihova osnovna naloga je, da omogafiajo osnovno komunikacijo med podsistemi (Partner, M 68000, Oseiloskop). "Partner" je povezan na ostale enote slsteins preko t - kanala na sistem H 6800Q, - dvovbodnega RAM pomnilnika (DFRRAH) na sistem H 68000, - perifernega busnega sistema na BAC-enoto, ki krmili osciloskop. öe je potrebna katerakoli od naStetih povezav, je uporabniškemu paketu potrebno priključiti datoteko DPRCOH.HAC. 5.2. Nadzorni del (MOHITOB) Programski paket MONITOS je sestavljen iz dveh bistvenih delov: 1 - MONITOR. POH je paket, ki teCe na Partnerju 2 - HOKITOB. MeS je paket, ki te£e na H 68000. Paketa sta med seboj ."BimetriSna** in sta v stalni medsebojni interakciji (glej sliko 14). (TESTITE MENI ; OmogoSa Start posaoeenih testov, ki se izvršijo po zagonu sistema. Po tem lahko z veliko verjetnostjo privzameiDo opisano opremo, pripravljeno «a operativno delo. APLIKACIJSKI HEHI: OmogoSa zagon enega teka sledenja. IloSno je tudi generirati nove trajektorlje in jih shranjevati na file. 5.3. Zagon Vsebinsko in Sasovno sekvenco zagona prikazuje slika 15. Vmesne komunikacije potekajo po kanalu RS-232 in 80 potrebne ob zagonu In zaklju-Eitvl sledenja. Sistem M 68000 kot master sistem sinhronizira medsebojno Interakcljo^na tn-terruptnem nivoju, ko iz DPKBAM-a prebere parametre naslednje toSke trajektorlje in, v določenih faxah, tudi podatke merilca razdalje. Sistem Partner, ki simulira okolico, v tem iasu dobi podatke, ki jih potrebuje za krmiljenje grafičnega izhoda sistema (osciloskopa). 5.'t. Organizacija aplikativne programske opreme Pri zagonu programa se najprej inlciallzirajo periferne enote in postavi se časovnlk. Časov-nik se sprogramlra kot delllec, tako da sproSi prekinitev na 6 nivoju vsako ms. Pri vsaki prekinitvi se shranijo registri in. poveSa se Števec, ki šteje po modulu 20. Organizacijo aplikativne programske opreme pri> kazuje slika 16. LITEEATtJRA Uporabnik komunicira.s sistemom preko menijev. Vhodno enoto predstavlja "Fartnelr". Predpostavlja se, da je zagon sistema uspešno končan. Na zaslonu se prikaže osnovni meni, ki loSl med seboj osnovne načine delovanja sistema. TERMINAL Partner simulira delovanje asinhronega terminala, Motorola H 68000 se vrne pod nadzor GESBUG flrmwar-skega paketa. Preden zapustimo ta način, moramo ponovno startati program MONITOR.n&8 1. A.B.Chammas, G.J.Friedman: ITbe application of rate-aiding to electro-optleal fire control systems. 2. A.Dobnikar, V.GuStin, B.Jurčič•Zlobec, D.Ka-lanj, A.Likar, S.Matko, S.Orel, M.Šega, T. Vidmar, H.Zimic (po abecednem redu): Interna delovna poročila, Fl-PIO, FE S-2<*2, Ljubljana 1985. 3. Matko Drago s sodelavci: Računalni&ko vodenje dinamičnih procesov in programabllna procesna avtomatika, ESS, UEP-C2-0128-781-8'». 4. Šega Marko: RaSunalniSko podprta analiza in načrtovanje vodenja dinamičnih sistemov. Magistrska naloga, FE, december 198^. 5. - GESMPD-4Aj Hi^ Perfomianc» 68000 Processor nodule (16 bits), Gespac S.A. 1983 - GESI1EM-2A; Universal RAM/ROM Heoory Module 236K1>7tes (16 bits), Gespac S.A. 1983 - GESFIA-2At Double Parallele Interface fTodule (2*16 I/O), Gespac S.A. 1984 - 6ESSAC-2; 8 Channels Digital to Analog Converter nodule (12 bits resolution), Gespac S.A. 1983 . GESADC-2; 16 Chatmels, 12 bits Data Acqu< isition Module, Gespac S.A. 198? - GESBUG-68; vers. 2.00 6. 0PAL-6a000 Cross-Asseabler 1.03(C) - 19&4. W1 lite/I DA - So f tware. JEZIKOVNO MODELIRANJE PROCESOV Franc JURKOVlC, Dali ĐONLACIĆ, BoriS TOVORNIK UNIVERZA V MARIBORU TEHMIŠKA FAKULTETA VTO ELEKTROTEHNIKA, RAČUNALNIŠTVO, INFORMATIKA 62000 MARIBOR Smetanova 17 -JUGOSLAVIJA UDK: 6813.517 Podajamo kratek pregled problematike Jezikovnega modeliranja, ki je del področja teorije zamegljenih množic. Opisujemo prehod Iz modela, ki ga" je opisal Tong, v model, ki sta ga opisala Braae in Rutherford In obratno. LINGUISTIG MODELLING OF PROCESSES We give a short review of the linguistic modelling, which la a part ofthe fuzzy sets theory. This is a description of a model transformation, from the model described by Tong into the model described by Braae and Rutherford and inverse. UVOD Jezikovni (lingvistični) modeli procesov spadajo v podroSJe teorije zamegljenih mno£ic Cfuzzy sets), kl Jo je vpeljal L.A. Zadeh 1965. leta /1/. Teorija zamegljenih množic je posploSltev oblSaJne teoi-ije mnoSlc. OblSajno Imamo dve možnosti, reč pripada ali pa ne pripada mnoäicl. Pri zamegljenih množicah je pojem pripadnosti razSlrjen in možno je neskončno Število stopenj pripadnosti elementa množici. Pripadnost Je doloCena s prlpadnostno funkcijo, ki Je lahko normirana in zavzame vrednosti med O (nepripadnost) In 1 (popolna pripadnost množici). V neposredni zvezi z samegljenlml množicami Je pojem Jezikovne spremenljivke, ki ga Je prav tako vpeljal L.A. Zadeh /1/. Ko govorimo, uporabljamo pojme; na primer: "majhno", "srednje", "veliko", ki niso toCno definirani, pa jih kljub temu dobro razumemo. Jezikovna spremenljivka Je definirana kot spremenljivka, katere vrednosti so stavki v naravnem ali umetnem jeziku. Modeliranje procesov Je hkrati z Identifikacijo, kot enim Izmed možnih postopkov za realizacijo modelov procesov, temelj moderne teorije upravljanja procesov. Sinteza regulatorjev sloni na poznavanju modelov procesov. Modema teorija upravljanja procesov Je imela velik uspeh na podroäjlh, kjer so modeli procesov dobro poznani. Težave pa nastopajo pri deloSenl vrsti procesov (na primer kemični procesi), kjer postanejo poznane oblike modelov komplicirane in praktično neuporabne. Take procese upravlja človek (operater), ki lahko poda jezikovni opis modela procesa (tudi dinamično obnaäanje). Do jeaikovnega dinamičnega modela'procesa pa lahko pridemo tudi s postopkom identifikacije, kot Je to prikazal R. Tong /3/. Pri jezikovnih modelih Igra važno vlogo njihova struktura, zasledili smo več predlaganih struktur. Možen Je prehod (transformacija) Iz modela, ki ga Je opisal Tong, v model, ki sta ga opisala Braae in Rutherford /2/ in obratno. ANALIZA STRUKTUR ZAMEGLJENIH MODELOV Kodel (A), ki ga Je podal Tong /3/ Je prikazan na sliki I, model (B), ki sta ga podala Braae in Rutherford /2/ pa na sliki 2. Oznake so razvidne Iz slike 3.Modela eta pečena V obliki matrike. Njeni elementi so Jezikovne spremenljivke (na primer model A: y{k) je velik, če Je y(k-l) majhen In u^k-l) velik). Prehod Iz modela A v model B je sledeč; spremembo izhoda, (y) dobimo z Izrazom: y(k> y(k) » y(k-l) T (1) k: diskretni trenutek T: čas vzorčenja Naslednji korak Je zameglitev izraza (1), prevedba na Jezikovne spremenljivke. Model B dobimo' tz modela A z zameglitvijo izrasa: yCk) = yCk-1) + T . yJ t-ealncua vremenu. USE QE COHEIUXESS lU lüE DEUELOBHEtll ötlD IHBLEäEtllällQbl QE FäRECÖSXItlG QODELS The proaramine packaslp presented in this psper and used for the i»ple»ientatior< of the "Sava" forecastinđ model was developed for the needs of Kivlna out short-term forecasts of the dischardes of the river Sava into the reservior of Iron Gate hudroelectric power Plant. The "Sava* model Is based on the «lethod of linear reilressiona The forecaete obtained bu usinä this prodrsmme enable the application of the madel for nanasina water resourses in real time. OvaJ rad razmatra znacaJ prognostičkih modela u razvoJu upravljačkih modelar nJihovu uzaJaanu povezanost» kao i moducnost primene' nove tehnolođiJe u PovecanJu efikasnosti u upravlJahJu vodnim resursima■ Poznato Je da prognostički modeli predstavljaju osnovu za rad i razvoj upravljačkih modela. Tacna i pravovremena proänoza buducea stanJa sistema omoäucava pravilno donošenje odluke o upravljanju sistemom u realnom vremenu. Zato Je za svaki ovakav sistem veoma važno da POStoJi dobro razvijena mreža stanica na koJima ce biti prikupljeni podaci o vodostaJmar proticaJima? paddvinaitBr itdt koji omoäucavaJu pracenJe stanJa sistemai kso i dobro razvijen prodnosticki model za sto bolJe defini sanJe budućih parametara sistemar pa samim tim upravljanje radom sistema u realnom vremenu. Naime* sbod velike količine podataka koJi se razmatraju kao i potrebe stalnođ praćenja stanJa sistema i izdavanja prodnozar rad ovakvođ sistema teško bi bio izvodlJiv bez primene automatske obrade podataka. HÖDEL SäUä Prognostički model 'Sava* razradJen Je u okviru istraživačka^ prodrama za uPravlJanJe režimom rada HE DJerdap 1 predstavlja Jedan iz Kompleksa prognostičkih model« za prodnozu proticaJa na pritokama koJe se ulivaJu u zoni uspora. CilJ izrade ovoä modela bio Je da sa omoduci kantinualno izdavanje kratkoročnih pro<]naz3 dutoka Save u akumulaciju HE DJerdap Ud bazi poznatih hidrometcoruskih informacija u trenutku izdavanja prodnoze.' Analizom rezultata dobiJenih primenom različitih prodnostickih modelar zaključeno Je da model 1,R-linearne rea res i Je d a Je najprihvatljivije rezultate sa stanovišta kvaliteta izdatih prodnoza i nJhove Pouzdanosti. Razmatrani prodnosticki model obuhvata identifikaciju i verifikaciju parametara borbJk sledeče funkcionalne zavisnosti 1 Q(t) J=1 k=l ade su t Q(t> Q(t-tJk) + bO - oemotrene vrednosti proticaJa na J-tom ulaznom profilu u trenutku t-tJk bJk'bO - nepoznati koeficijenti linearne redreslJe J - indeks vodomerne stanice ciJi se podaci koriste kao nezavisno promenlJivB (J=ltJ) k - indeks vremensko« pomaka tJkr J=lrJ> k=lrK MedJutimr kako Ja veza izmedJu nezavisno i zavisno promenlJivih kod hidroloških proanoza niJe linearnar to se prognostička zavisnist moze pretstaviti u obliku t Q J K = Ji k^l bo » ajr-e - na osnovne i izvedene datoteke. OSNOVNE PATnTEKE sadrže podatke dobiJene merenJemi u osmatrackim stanicama ' i obuhvataJu sve relevantne podatke za prvu fazu i deo podataka sa . ostale faze rada modela. Ove datoteke dalJe se moäu podeliti na dve äpupe t DATOTEKE FIZIČKIH PODATAKA i ISTORIJSKE DATOTEKE DNEVNIH PODATAKA. I IDP)^ U< I neu : VQO.iimé« ; s«, mino™ PRIKAZ REZUUATA PROGNOSTIČKOG MODELA .SAVA" MOMOM: ÄÖNOO«»«» KnJLWi izo&Ti u rumooNOZc caciai : n»- LCOENOA IZHEItEHC mWQklt pNOCNOflIUHI VKONOiri J^OTCAM BHt HW HC Datoteke fizičkih podataka esdrze podstke o fizic?kim karakteristikam« rečnih slivova i to « - podaci o poprečnim i profil inpa reKer odnosno i morfološki podaci - podaci o rapsveisti i recnoa korita IstoriJske datoteke dnevnih aadrae sledeče Podatke J uzduznim topoloski obraslosti vrednosti - vodostaje • - ppoticaJe - padavine Prema vremensko» periodu koJi se Posmatrai 'istoriJske datoteke dnevnih vrednosti dele se u dve ärupe ! - datoteke koJe sadrže niz dnevnih vrednosti izmerenih za odredJeni period äodinar pri cenu su> kad đod Je to mođuce ovint obuhvaćeni svi đodisnJi podaci - datoteke koJe za odredJeni niz Codina sadrže podatke samo za poJedi ne vremenske intervale» pri cemu ovi vremenski intervali ne moraJu obavezno pripadati JednoJ sodini. Rezultati proračuna ssestaJu se u izvedene datoteke. Ove datoteke se moäu čuvati u banci podataka ili stampati za upotrebu ili evidenciju. Datoteke koJe ee cuviiJu u banci Podataka naJcesce su istoä oblika kao ulazne datoteke i sadrže podatke potrebne za dalJe proračune. □EIS eeO&BÖUä Qlavni deo softverske podrške paketu proarama 'Sava' predstavlja komandna procedura 13 interaktivni rad koJa omoaucava komunikaciju izmed J(j Korisnika? banke podataka i prođrama. Prikaz rada procedure dat Je shenon procedure i Direktnim postavljanjem pitanja preko ternlnsla korisnik bira fazu proračuna (identifikaciju* verifikaviJui proveru ili korekciju) r odnosno proävam koJi zeli da aktivira i ulazne datoteke potrebne za i-ivpsenJe te faze proračuna. Procedura pocinJe sa radom izborom profila» odnosno vodomerne stanice» za koJu se vrsi prođnoza i izborom vodomernih 1 kisomernih stanica na koJima su izmerene vrednosti hidrometeoroloških podataka» potrebne za postupak identifikacije ili verifikacije parametara »odela. Pored naziva usmatrackih stanica korisnik procedure mora znati i nazive datoteka u kajima su smesteni odaovaraJuci podaci» u banci podataka. Korisniku procedure ostavljeno Je da odluci da li ce odabrani program vršiti linearnu ili nelinearnij rsaresionu analizu. Osim tođa on bira i duzinu vremenskom perioda za koJi ce se vršiti proänozaf odnosno duzinu pomaka izmedJu vremenskih serija podatakai na svakom Dd Profila. Sve ove odluke unose se iateraktivno u toku izvrsfenJa procedure. Prva faza rade obuhvata identifikaciju parametara modela» na osnovu pozantih» izmerenih vrednosti na svim navedenim vodomernim stanicama uklJucuJuci i onu za koJi se vrsi proanoza. Ulazni podaci zs proračun mosJu se odnositi ria niz aodinar i tada su to izmerene dnevne vrednosti prolii-aJa ili padavina» ili na kraci vremenski interval (od desetak dana) u kojima se Posmatra neki poplavni tales. Rezultate dobiJene proračunom» prosran za identifikaciju smesta u tri izlazne datoteke. - Prva datoteka sadrži tabelu ulaznih podataka i rezultata identifikacJe i OffloaucsVB lakše praćenje i analizu dobiJenih vrednosti. - Drua« datoteka sadrži niz vrednosti proticaJa koJi bi se dobili proSnozomi u izabranom periodu» ako bi se usvojile vredvosti parametara odredJene identifikacijom. Ovi podaci porede se sa stvarnim vrednostima izmereni« u zadatom periodu. CilJ modela Je da odredi takve vrednosti patametara bO» bJk (j=lfJtk«»l»K> za koJe ce razlika izmedJu proanoziranih i izmerenih vrednosti bito sto Je moSuce manJa. 'Ova datoteka Je istoä oblika kao osnovne datoteke proticaJa i kristi se za äraficko predstavljanje rezultata na ploteru (slika 1). - Treća datoteka sadrži niz vrednosti parametara modela i predstavlja ulaznu datoteku za prodram koJi vrsi verifikaciju ovih vrednosti". Identifikacija PARAMETARA na bazi linearne (nelinearne) rearesiJe» izvršena Je na osnovu podataka nsmatranJa ređistrovanih u periodu 19Ć11-1970. aodine na navedenim vodomernim stanicama• Druaa faza rada procedure obuhvata verifikaciju paraaetara dobiJenih identif ikad Jam na osnovu poznatih vrednosti ProticaJa i r^'adiivina na izabranim stanicamai za neki drudi vremenski period. Verifikacija »odela» odnosno utvrdJivsnJe parametara koJi daJu naJbolJu proanozu» radJena Je na bazi podataka reaistrovanih u periodu 1971.-1974. đodine i rezultata dobiJenih u fazi identifikacije parametara. Prema tome» prve dve faze imaJu zadatak odredJivanJe i PotvrdJivanJe parametara modela» sa cilJem sto veceä poklapanja prođnoziranih ta stvarnim vrednostima. One se u toku isvrsenJa ove procedure noau> ukoliko je potrebno» vise puta uzastopno izvršiti» sve do dobiJsnJa zadovoljavajućih rezultata. Treća fsza rada procedure obuhvata proveru dobiJenih vrednosti pametara modela. Analizom izdatih prođnoza u periodima identifikacije» verifikacije i provere i njihovim uporedJivanJem sa resistrovanim vrednostim» ustanovljeno Je da se u izvesnom broJu slučajeva poJavlJuJu areeke u smislu vremenskoa pomeranJa hidroSrama u oba smera. Da bi se ove areske eliminisale ili smanjile uvedena Je tekuća korekcija proanozei odnosno parametara mtidels. U ovom modelu primenJena . Je korekcija» koJi se sastoji u redukciji prođnozirane vrednosti ss odđovarJucom greškom prođnore koja Je evidentirana u tekućem danu. U okviru ra-^rade ovoa proanostickođ modela uradJeni su i prođrami za crtanje rezultata prođnoze» odnosno verifikacije» za sve aibpekte ovtiđ modela (slika 1>. Svi prođrami opisanoä paketa proarama napisani su na proSramskom jeziku FORTRAN 77 i realizovanl na računskom sistemu VAX 11/780 operativni sistem VAX/VMS verzija 2.3. geöuci Bözuojä eu centra obrade omoauci sto veću efikasnost ovoä modela. 3hema procedure ( PROCEDURA PRDI PEK j \ PROGNOZIRANI PROFIL / i V FftZft FRORftCUHft ~7 Ì < KOREKCIJA >----- i ! i V H - BROJ PROFILA^ DA i po t = litr~|^-------- \ RAZMATRANI PROFILI^ I tip PROGNOZE nearna ili nelinearnsi 7 I PO 1=1. W i<- ( početak prdgraha za korekcjiu rezultata ] \prqgndzirane vredn0stl7 \razlika prognozramih i izmerenih/ \_vrednosti_( { korekcija prognoze^ ^ tabela rezultat ^ ( kraj prooraha ) WEHENSKI PDMACI/ I -f-- I » 4 » 4 * « r KRAJ PRORAČUNA j BAZA PODATKA < identifikacijaV -TS-^ NE It POČETAK PROORAHA ZA IDENTIFIKACIJU) i V PERtDD ANALIZE/ i \pRDTICAJI I padavine/ I '-. 1 . -P« I -------- i,_ ilir -_, ! iiLOOftRITMOVANJE PODATAKA I i './odred JI van JE PftRAhETARA bO>bJk| / bO.bJk ^ j tabela rezultata \ ! / prognozirane wedwosti \ i r- - ' —i-^ 1 f kraj proorftha i l<- I I t l<- JàE- ( POČETAK PROGRAHA ZA VERIFIKACIJU ) ^ERIOD ANALIZE/ 'ypRQTICAJI I padavine/ ' bO.hJk T- 7 nelinearna >- da j log ar itmdv an je podat aka^i ! ■ ) izdavanje prognoze ] L tabela rezultata L / prognozirane vrednosti \ __i_ razlike prognoziranih i izmerenih _vrednosti ^ » * i t^^^TT *. É t «rr (kraj programa) a, 2, PROCESORJI V ISKRINIH TELEFONSKIH SPC CENTRALA!! SUBIC MIHAEL, Iskra Telematlka Kranj UDK; 681.3:621.395 Telefonske centrale v svojem razvoju spremljajo elektroniko in IzkorlšSajo nove doseäke na tem podroäju. Ob povečanju zahtevnosti krmiljenja, so ga prevzeli procesorji, V 70-tih letih so tovrstne centrale priSle v proizvodnjo tudi v- Iskri. Prispevek daje kratek pogled procesorjev, ki Jih krmilijo Iskrine centrale. Telephone exchanges follow the development of the electronics and explqrt the achievements In ihis field. The complexity of the exchange control was increased and so it had to be implemented by itie processors Iskra started the production of the stored program controlled exchanges in the early seventies. The paper shows an overview of the procesors used in the control of the Iskra's exchanges. 1. VLOGA PROCESORJA V SPC CENTRALI Telefonske centrale služIjo za vzpostavljanje zveze (komutiranje) med poljubnim parom priključnih toSk (terminalno vezje). Informacija o zahtevani zvezi podaja izvorni terminalno vezje v okviru dolofiene signalizacije. Ker je takih terminalnih vezij v centrali tudi po več tisoč In predstavljajo po pravilu med 50% In 85JJ celotne opreme centrale, je njihova aktivnost reducirana na najnujnejše, to je na prilagoditev nivojev enosmernfh in izmeničnih signalov. Terminalna vezja so po eni strani grupirana po signalizacijah (vrstah terminalov ali central na drugi strani prenosnega sistema) po drugi pa po smereh. Vsaka centrala Je namreč povezana s skupino terminalnih vezij enake ali razliCne signalizacije na več central in skupin terminalov. obliki, ki ustreza na tem prenosnem sistemu predpisanem protokolu. Procesor je tako zadolžen za čiSčenje informacije iz terminalnih vezij, za njihovo pretvorbo v telefonsko definirane signale in ukrepanje na osnovi trenutnega stanja terminalnega vezaj in zadnjega sprejetega signala. Pri tem se odvisno od vrste zveze v eno celoto lahko poveže tuiJl po več terminalnih vezij. Poleg stanja in zadnjega odkritega signala (dogodka) vplivajo na zvezo tudi podatki, ki so v pomnilniku procesorja vpisani kot polstalnl podatki (SPD-Seml Permanent Data). Ti opisujejo upravičenost medsebojnega povezovanja terminalnih vezij iste centrale in oštevilčenje (način usmerjanja zvez). V SPC (Stored Programm Controled - programsko krmiljenih) central opravljajo terminalna vezja pretvorbo fizičnih signalov v procesorju razpoznavno informacijo. Pri tem ostane ta informacija "onesnažena" z motnjami, napačnimi manipulacijami ter napakami v drugih centralah In terminalih. Od procesorja prejeto informacijo (v obliki izvršilnih ukazov) ista vezja posredujejo proti terminalu ali drugi centrali v Poleg osnovne dejavnosti obdelave pozivov (call processing) opravlja procesor tudi nekatere postranske dejavnosti, ki omogočajo osebju centrale da zagotavlja delovanje centrale v skladu s predpisi. Te dejavnosti obsegajo spremembe polstalnlh podatkov, statistično obdelavo dogajanj v centrali, sprotno testiranje delov centrale in podrobnejše testiranje delov centrale, ki so izključeni iz prometa. Vse te dejavnosti morajo potekati na tak način, da osnovna dejavnost pri tem ni prizadeta niti v obsegu niti v kvaliteti, 2. MERILA DELOVANJA PROCESORJA Ker Je osnovna naloga telefonske centrale vzpostaviti SlinveS zvez v Simkrajiem Sašu ob člmboljSi kvaliteti, je osnovno merilo uporabljenega procesorja prometna zmogljivost, ki jo označujemo z BHCA (Busyest Houre Call Attempts - število pozivov v glavni prometni uri) in predstavlja Število za£etlh pozivov, ki Jih centrala zmore brez redukcije kvalitete delovanja. V praksi je od lastnosti samega procesorja (procesne zmogljivosti) in organizacije programske opreme odvisna zgornja meja tega parametra, od programske opreme same pa, kaj se zgodi, ko je predpisana meja presežena. Idealna rešitev je zavraSanje vseh novih pozivov brez kakršnihkoli motenj na ostalih zvezah, sprejemljiva redukcija funkcij je tudi blokada dodatnih aktivnosti (detaljni testi, manj pomembne statistlSne obdelave). Prav zaradi povečanja vrednosti BHCA so v mnogih centralah procesorja dodatni različni avtomati, ki razbremenjujejo sam procesor pri najbolj rutinskih opravilih (Izvajanje daljših operacij, filtriranje motenj, stalne kontrole delovanja in podobno. Drug zelo pomemben faktor je odzivni £as, ki ga programirani procesor potrebuje, da v normalnem obratovanju ukrepa na osnovi sprejeta signala. Ta čas je podan s signalizacijo in znaša v najhujšem primeru 7 ms (CCITT ). Zaradi različnih signalizacij je obdelava na večini terminalnih vezjih lahko počasnejša. Tretji faktor je kapaciteta delovnega pomnilnika. Ta parameter je težko ocenjevati absolutno, saj poleg same kapacitete, izražene v razpoložljivih bitih, močno vpliva Izbrani programski jezik. Večina SPC central ima poleg delavnega še zunanji masovni pomnilnik za obnovitev programov In podatkov v primeru napake in za redkeje uporabljene testne in statistične programe. 3. ISKRlNE SPC TELEFONSKE CENTRALE IM NJIHOVI PROCESORJI Doba SPC telefonskih central se je v Iskri pričela z nakupom licence za «etaeonto lOC. Bazen izvedenk Metaconte so bile vse naslednje SPC centrale plod lastnega razvoja. To velja v veliki meri tudi za procesorje, ki so rezultat skupnega dela znanstveno raziskovalnih institucij in Iskre. 3.1. METACONTA lOC Metaconta lOC Je bila razvita v ITT kot SPC centrala s hermetičnim spcjiščem, namenjena za nivo lokalnih in medmestnih central. Za krmiljenje lokalnih central je uporabljen računalnik 16000, ki Ima 16-bitno organizacijo, delovni pomnilnik je feritni, zunanji pomnilnik pa magnetni trak. Za podporo so v centrali enote, ki avtonomno izvedejo časovno daljše akcije (krmiljenje relejev terminalnih vezij, markiranje), sama terminalna vezja pa vsebujejo filtre za izločitev večine motenJ.InstrukciJskl set procesorja ima nekaj instrukcij, prirejenih posebej za uporabo v.te lefonskih centralah. Medkrajevne centrale MIOC upravlja 32-bltn-i procesor 3200, ki Je prilagojen za krmiljenje telefonskih central podobno kot 1600, vendar pa je bistveno zmogljivejSl. Feritni pomnilnik ;eo . Iskrim razvijalci zamenjali s polprevodnlšklm leta 1982. 3.2. METACONTA lOCN Tehnološki napredek je pogojeval modernizacijo lokalnih central tipa MIOC. Rezultat Je centrala MIOC, ki ima poleg sprememb v telefonskem delu tudi nov procesor 1602. Ta ima že polpre-vodnlSkl pomnilnik in večjo hitrost delovanja, Zunanji pomnilnik je magnetni boben, za zamenjavo programov pa služi magnetni trak. 3.3. ZASEBNE CENTRALE E300, E16 Prvi lastni prodor Iskre v področje SPC telefonskih central predstavlja zasebna centrala tip ein In le kapac itela Ikrio dm tip proctsorja orgaRincija prcceioi-ji kipaciteli detotneji lunagji ponrnilnik hitfoti to'iaiAn progrsntlit ii>ili imtgljifost SHCA obteg itdelanib Uoilo iidiiaaili opontie lokalna H10C ISOOII 1- UDO ISbilna triK liritni magnolni tr^li o.t tbirnit 70 GOD 1 Zprocturp 120« 300 po Itine insirukci)« iiHdmttIna HIDC ?StDIÌO Ido S lion 32tilni !I2( [eri Ini magnelnt Itali o.ss ibirnili lODOtO 2pracnorial bill 00 posebne instrukcije MlDCa COQOD IEO; t«!iitng ISSI nlprandiKki boìen, maonotn! (rat O.J HirnH iabeli 131) 000 ?prKe$orisl «SOI 120 posgbie intlrukcije iK.noa [It te flOD 100 programmi 4flDn;ol ' «bil-iva 61 ibiprendcilii nima 0,1 ibir nil 91000 ISK 1750 E10I1.E3! Eton its E3; 32 TI sego Bbilna SU mlpreinsdnili nima a, J ibirnlli tsagg 70« ESO noon.. liKIA lieo . ÌIMU8* B^ogoini) tniliia iStpragrimi i:e>];podaik 1EK JPD polprevqdnSli nima 0,1 rbirnik SDOtO*' SOU 120 IJOnindRiiih prccDsorjBV 12 ODO 3000 do 3S rt (SUD «biloa ISi.1 pelpremjniik magnetni Irai. 0.1 ibirnil S11 UDOO po prcce&6r|u 2001 SS lntfib;iiriio krmilitnje > oiMtba procisitr le pogojiia >• «ntjitet narlitlikufi cenlralt E 300, ki Je bila razvita v sodelovanju med Fakulteto za elektrotehniko, LJubljana In Iskro. Krmilni organ Je programski avtomat, posebej prilagojen za vzporedno krmiljenje veSjega Števila procesov. Avtomat Je grajen iz standardnih DTL in TTL vezij. 3.4. I300R, I500A Primernost rešitve krmiljenja telefonske centrale malih kapacitet s programskim avtomatom in težave pri programiranju in kontroli so pogojevale dodelavo le tega v procesor RH128 (leta 1979). Ta procesor Je zanimiv zaradi svoje zasnove, ki že vsebujejo osnovne elemente, potrebne za vzporedno krmiljenje več procesov. Vsebuje namreč 128 navideznih procesorjev, od katerih ima vsak svoj programski števec, set delovnih registrov in delovni pomnilnik. Vsem procesorjem Je skupen ROM programski in SPD pomnilnik. Vsak od procesorjev izvrši v enem obhodu le eno instrukcijo, tako da res lahko govorimo o vzporednem in istočasnem odvijanju vseh 128 procer sov. Uporabljeni programski jezik je zbirnik RM laa, ki pa ima zaradi skupine podpornih avtomatov težo višjega programskega Jezika. 3,5. CENTRALE Z DISTRIBUIRANIM KRMILJENJEM Druäina central 12000 Je krmiljena z doma razvitim mikroraEunalnikoBi, zasnovanim na Motoro-linem M6B00. To je prva Iskrina telefonska centrala, ki ima distribuirano krmiljenje. En raikroraEunalnlk upravlja do 128 terminalnih vezij majhne zahtevnosti, do 3S terminalnih vezij velike zahtevnosti ali en sklop centraliziranih organov centrale {skupinsko stikalo, administra-tivrii modul). Programski jezik Je v prvotnih ■ izvedbah centrale (EIOO, £32} samo zbirnik, v kasnejših pa kombinacija zbirnika in SLI (spe cifikation language 1), razvit v sodelovanjih med Iskro in Institutom Jožef Stefan. Polnjenje in obnavljanje programa poteka iz centralnega administrativnega modula. 4. KAKO NAPREJ Kot Je razvidno ia pregleda, so tehnološke osnove uporabljenih procesorjev izpred lata 1977, kar nedvoumno pomeni, da v celoti ne Iz-koriäSamo možnosti, ki Jih je tehnološki napredek ponudil v tem Času. Razvijalci Iskre ta zaostanek nadoineäEajo po eni strani z modernizacijo obstoJeElh procesorjev (uvedba polpre-vodniškega pomnilnika namesto feritnega, uvedba vlSje integracije v TK60OO) po drugi strani pa se pripravlja za uporabo.v distribuirano krmi- . IJenlh sistemih 16-bitni računalnik na osnovi M68000. Sprejemljiv nivo cen . tudi za pomnilnike istočasno omogoča tudi uvajanje vi Sjih programskih Jezikov, Iskra bo zato tudi v distribuirano krmil jenih'centralah preSla na.16-bltne procesorje in višje programske Jezike povsod tam, kjer bodo omogočale tržne razmere. Reference: interna dokumentacija Iskre Telematlke, Kranj NOVA GENERACIJA SPEKTRnFOTOHETAPA P-HiniC, Elektrotehnički fakultet Banjaluka Z.Majkie, SOUR "RUDI tAJAVEC" Banjaluka 5.Talit!, H.HIniĆ, Regionalni medicinski centar Banjaluka UDK: 681.3.06 SADR2AJ - U ovom radu prikazan je novi koncept projektovanja spektrofotometara la UV i vidljivo i Infracrveno podruCje Sa potpunom zastupljenoSću mikroprocesorske tehnologije, ovaj savremeno projektovani spektrofotonetar sa jednim mlazoir., daje povećanu tačnost 1 pojednostavljene operacije; autonatska kompenzacija struje mraka, pođe«avanje nule Ud. THE NEW GENERATION OF SPECTROPHOTOMETERS - This paper deals with new concept in terms of simplicity and design, to the field of UV, infrared and visible spectrophotometry. By fully utilising microprocessor technology this completely new design single beam spectrophotometer gives increased instrument accuracy cottfclned with simplified operation: autoniatic dark current compensation, zero setting and so on. 1, UVOD Spektrofotometrl su sloìeni elektroniCko-optički sistemi namijenjeni za mjerenje hemijskog sastava ispitivane materije. Široka lm je primjena u medicini, biologiji, naftnoj industriji. Njihov razvoj kretao se od jednostavnih uredjaja do složenih procesnih računara 1 uglavnom je zavisio od razvoja tehnologije. Danas su spektrofotometrl dostigli takav stepen razvoja, da je to potpuno automatizovani mjerni sistem, sa svojim periferijama, koji se moie priključiti na računarski sistem 1 vrälti složenu hemijsku analizu. Predloženi spektrofotometar realizovan Je u miknoprocesorskoj tehnici i spada u klasu najsavremenijih uredjaja koji se danas pojavljuju na tržištu. 2. PRINCIP RACA Svjetlosni zrak emitovan iz izvora svijetlosti je obiCno Širokopojasni fenomen sastavljen od viSe spektralnih komponenata, dolazi na optički sistem gdje se razlaže na mon Chromats k u svjetlost. Optički sistem je jednostavan, ako ga čine samo optički filtri koji propuštaju svjetlost uskog spektralnog pojasa. Hedjutim, ako se Želi svjetlost veoma uskog spektralnog opsega ili monohromat-ska, osnova optičkog sistema Je monohromator (optiCka prizmaprecizni i složeni dio optičkog sistema. Honohromatska svjetlost odredjene talasne dužine prolazi kroz ispitivani uzorak. Samo odredjena komponenta u ntateriji apsorbuje datu monohromatsku svjetlost koja pada na senzor, pretvarač svjetlosti u električnu veličinu. Ovdje počiva osnova ove metode, gdje se iz iznosa električne veličine odredjuje stepen apsorbcije odnosno sastav materije. Sa senzora električna veličina se vodovodi na A/D konvertor, pa na složeni mikroračunarski sklop, koji vrii zahtijevanu obradu izmjerene veličine, U ovom radu biče dat kratak opis realizacije ovoga sklopa. 3. REALIZACIJA I PROGRAMSKA PODRŠKA MIKRORACUNARA U ovom radu ne mogu biti opisana električna kola i podsklopovi, koja čine hardversku strukturu mikroračuna-ra, več če biti opisan mikroračunar kao Integralna sklopovska cjelina. Zatim Ćemo izložiti postupak uvjerenja, uzimanje, obrada i prikazivanje rezultata. Na kraju,veoma kratko biće riječi o programskoj podrSci mikroračunara. 3.1. Prikaz sklopovske realizacije ral kroračunara Na priloženoj slici data Je hardverska struktura mikroraCunarskog sistema. Osnovni sklop je mikroprocesor uP 8085. Memorijski dio sastoji se od radne memorije (RAM) 3x6116 1 programske memorije (EPROM) 3*2715. Za radnu memoriju koristi se i pripadna memorija u u1azno-i z lažnoj jedinici 8tSS. Ove Jedinice takodje služe kao prihvatni registri i kola za povezivanje DATA: 9US-a mikroprocesora sa ana1ogno-d1gl talnim (A/D) i digitalno-analognim (D/A) kon ve rt ori ma i ostalim periferijama laikroračunara. Za pretvaranje paralelnog u serijski kod i obratno namijenjen Je univerzalni sinhrono-asinhroni sklop 8251. Osnovna komponenta koja povezuje mikroprocesor, tastaturu 1 pokazivač (display) je 8279. Sklop 8212 prihvata donji adresni bajt 1 sa gomjini adresnim dijelom čini !6-bitni adresni buB. Dekoderi 820S 3luže za odabiranje pojedinih sklopova u toku rada mikroračunara (čip selekt) i prelaz sa 3-bitne na 8-bitnu riječ, 8216 je kolo za formiranje upravljačkih signala (bafer-drajver). 3.2. Transfer podataka Sa senzora analogni signal dovodi se na ulaz progra-mabilnog pojačala. Pojačanjem ovog pojačala upravlja mi- kroprocesor. Poslije analogno-digftalne konverzije, rezultati tnjerenja, preko ulazno-izlazne jedinice 8155 do vede se u radnu memoriju 6116. Nakon aritmetičkih operacija, rezultati mjerenja izraženi preko transmisije, eks tinel je ili koncentracije vode se preko sklopa 8279 na pokazivač. Prenos ovih podataka sa DATA BUS-a vodi se na kolo 8251, gdje se vrSi pretvorba paralelnog u serijski kod. Isto tako, pneko jednog kola 8155 vodi se e-b1tna ili 16-bitna ri-jeC na sklopove koji prihvataju infornaci j u u paralelnom kodu, dok se preko drugog kola 8155 1 di gita Ino-analognog konvertora rezultati mjerenja iskazuju u analognom obliku. Program koji vVSi obradu i prenos podataka smješten je u EPROM-u 1x2716, Da bi sagledali rad »ikroračunarskog sistema i obavljanje zadane funkcije)konkretna problematika može se podijeliti u četiri dijela: 1. Podešavanje pojačanja i mjerenje I . 2, Mjerenje I.traženje odnosa T'I/I i prikazivanje T na displeju. 3, Izračunavanje logaritma E= - log T i prikazivanje E na displeju, 4. Izračunavanje količnika K=E/C i prikazivanje K na displeju. 3,2.1. Podešavanje pojačanja 1 mjerenje Podešavanje- pojačanja se vräi kad izvor analognog signala daje najveću (referentnu) vrijednost, i to sve dotle, dok se na izlazu konvertora ne pojavi maksimalna vrijednost koju on može da da. To je vrijednost I , Raz- 0 log za ovo je jasan: promjena pojačanja (a time i digitalne vrijednosti I ) ne utiče nu odnos T=I/I 1 ostale 0 0 parametre signala, ali veća vrijednost I^ omogućava bolju diskretizaciju analognog signala {0 vsorea v Ifirilnl krivulji isKrJena avetlotra J&k»t Slika 3: d)«na regulMlJe tcDptrattf« pečic« Siila Hi PrlfHSip jprotne JcallbreclJ« Iinerjenih wrwr 214 ■HV.ItW . W ^ • ItniynainAJ* lb (ril - IW* « uatelnik - «eia ■ tartatriMl T • miu •onfjd itt«i4pii 1 prwHIU f»lF9V pfwwnr MIMM k« tlBlffU ■ I* 1* I* * * 1» •H m • •M N J» » IM jI " ! ** la «n I» - » ^ M hwèiil Mdwnu prT«fw S TJ - h-lHiiia pnvw •«I — I "* «Am TMi 1>i*tilt IMf Minpll grama Je z ukazan mogoč prehod na oba pomožna nadzorna programa. Pomožni nadzorni prcisram snjj deluje preko E-prlkaaa, ki kaže tabelo evaluacijskih programov, po katerih računalnik lahko ovredfeti žariino krivuljo. Z ukazi pomožnega nadzornega programa STLD je mogoče po želji definirati parametre petnajstih evaluacijskih programov. Preko glAvnega prikaza Jih lahko nato operater vključuje v obdelavo rezultatov različnih ali ene in iste meritve. Pomožni nadzorni program HTLD deluje preko T-prikaza, ki prikazuje- tabelo temperaturnih programov, po katerih računalnik med meritvijo krmili segrevanje dozimetrske tablete. Parainetri temperaturnega programa, ki jih je mogoče nastaviti s pomočjo tastature, določajo časovni potek temperature merjene tablete. Z ukazi nadzornega pro-graina Je možno definirati do sedem grelnih programov. ZAKLJUČEK Lastnosti,zmogljivosti in možnosti mikroračunalnika pri snovanju in realizaciji opisanega procesno-inerilnega sistema so se izkazale kot bistvene. Le z računalniško . zmogljivo enoto je bilo mogoče v napravi združiti proce. sno vodenje merilnega postopka s sprotnim kallbrlranjem izmerjenih vzorcev, računsko obdelavo merjenih vrednosti in njihov prikaz. Komunikacija med napravo in uporabnikom preko germinala je učinkovita in preprosta, saj so z ukazi operacijskega sistema hitro dosegljive vse funkcije merilnika. Hkrati daje uporabniku možnost vpliva na široko paleto parametrov meritve, obdelave in ovrednotenja rezultatov ter njihovega prikaza. Zasnova programske opreme daje napravi lastnosti, ki omogočajo tako rutinsko delo brez potrebe po glröjeni poznavanju prlnolpov TL dozimetrije, kot laboratorijsko raziskovalno delo s TL materiali, zlasti z možnostjo analize žarilnih krivulj s pomočjo gibljivega njarkerja in nastavljanja različnih ključnih parametrov procesa. Brez dvoma bi bile s klasičnimi Cneračunalnišklmi) pristopi k izgradnji merilnika take karakteristike nedosegljive. Večmesečno testiranje MR-200 TL analizatorja je pokazalo upravičenost zastavljenega koncepta in potrdilo pričakovanja. Seveda pa se s tem odpirajo nove zahteve, ki jih zasnova naprave podpira. Ena prvih je morda avtimatska menjava merjenih dozlmetrov in čitanje Utien noslloev preko identifikacijskih števil vkodlranlh na ohišjih dozlmetrov (črUsta koda). Delo na teh področjih Häs čaka v naslednjem obdobju. MIKRORACUUALNIŠKi SISTEM ZA KONTfiOLO PNuCcbA VULKANlZACiJü Sa«« Prettern institut joitei Steian LjuDljana, Jugoslavija UD K: 681^.014 / z uvedbo računalniškega kvaliteto izdslka in industriji je kontrola določena glede na f naga nihanja vtiodnih vulkaniziran vđdno temparature in tlaka v stopnjo vulkanizaoi daseXeno pravo stopnjo vodenja posameznega sektorja industrijskoga prooesa lahko zagotovino boljSo onogoCiao raciona t ne jeo raoo surovin. Krititi^n sektor proizvodnje v gunarski delovanja pro«. Kvaliteta izdelka lavisi ođ stopnje vu1 kani zaci je, ki je" iksne vhodne parametre. Ker pa v procesu pr-oizvodnje prihaja do nepredvide-parameti-ov (tu imamo v nislih tlak in temperaturo), pa izdelek ni pod takimi pogoji kot je bilo predvideno. B sprotnin aprsnlajnjem pfeSan ili ob poopori mikroračunalnika lahko v vsaki preSi sproti raäunaaa hi je tunkoija t«emporature in izdelek ob pravem Basu odstranioo iz preSe ter vulkanizacije vsakega izdelka. niCROCOtIPUTER SYSTEM FOR CONTROL OF VULCANISATION PROCESS With microoomputer control of certain industrial preooess one can asure beter quality oi products and aptimal usege oi naterial. A critical sector in iridustriai pi-ucess oKt tyres is on line control oi temperature »nđ pressure. Quality oi each product oepends on degree of vulcanisation which is a funotion ol tenperature and tine. Seoause tanperature is nor ÜHeo value but sligntiy fluctuates up and down, the vulcanisation elfect is not always as expecteo. With on line control ot tenperature ano presure and with microoonputer control ot vulcanisation eitect the industrial production is under control al i tne tine tor every product. ■I. UVOCt Problemi, ki se pojavljajo pri procesnem vooe-nju v gumarski industriji so splosne narave in Jih v cak^ni ali drugačni obliki sredama v veČini inaustrij»kih procesov tRe«7V, HOLöi, PRLešA). Te problemi soi - kako definirati projeKi - kako izbrati in zabnovati strojno računalniško opremo, - kako doseči modularnost programske aprume in nkratno izvajanje vec procesov v realnem dasu na istem niHroracunalniku, - kako rmanjSati vpliv motenj,. - kako organizirati konuniKacijo ratiunalnika 1 operaterjem, da bo ta Cim enostavnejša - Kako zbirati in obdelovati podatke o industrijski proizvodnji in s tem omogoditi pregled nad učinkovitostjo dela. V te» Članku obravnavamo nekatere najzanimivej-tm pruuieme te vrste, s katerimi smo se srečali pri uvajanju L-adunalni^kega vooenja delovanja pi-e« v gumarski industriji irncobö). Računalnik za vodenje procesa vu1 kaniZdcije •ard izvajati temperaturnu in claCno spremljanja procesa vulkanizacije ter sprotno analitie (to spremlajnje stopnje va 1Maniiacije za izdelavo potniških in tovornih piaSCev. naöunalniK, ki vodi delovanje posamezne pc-e^e, sprejema signale iZ te pretta ter spremlja stanje kalike. V primeru, da je tlak ali temperatura kaliKe izven predpisane vrednosti, sa pre«a ne zapre. Delovanje vseh pre« naj bo zaradi enakomerne obremenitve kotlarne Cin bolj enakomerno razporejeno. Z doseganjem optimalnega dasa vulkani-zacije, ki ga sproti raCuna mikroracunalniK za vsaka preso, doseicemo boljšo kvaliteto izdelka, optimalno kapaciteto strojev in s tem vplivamo na SLruske tehnološkega procesa vu 1 kam zac i je. ndCund 1II1 fiKu voüt^nje naj uo^sga tudi anevne statistične obdelave proizvodnega procesa pc presah, delavcih in proizvodih kar omogoda hiter povratni vpliv na Lioljsanje kvalitete prizvodnje. Postopek vulkanizacije obdelamo tako, oa v podrcbnosii razoelamo sam lehnoloski postopek, nakar zgradimo matematični model, na podlagi katerega mikroračunalnik raduna stopnjo vulkanizaci je. Odvisnost hitrosti reakcije od temperature podaja Arrhenijeva enaCba (MOLÒ/)! A' 1 1 R T2 TI RS(2> - RG(1> e kjer ja R6 » hitrost reakcije R = plinska konstanta (l, na vsski preSi, Ki bi tjilo potrebno pri porazdeljenih sistemih, - v primeru uKvare raCunalnika imamo spre-Tnembo iZ raCuiiainiSkega vodenja na avtomatski rezim dela samo pri skupini cu preä ne pa v L-elutneui prtiizvoonem prooBSU, nar bi se zgodilo, ce bi imeli en centralni računalnik. v/l iuHi v/l inUa v/l n»>i» UNI D) Ul 11 11 šLiKa 2.1 hontiguracija strojne opreme mikro-i'aouiia i ni Ka zd vuuenje sistema pi'vS, äkupno sprifjenid raCunainik za voaenje sistuma kù preS lü oigitalnin vnooniti signalov m oddaja fìu uigitalnih izhounin signaiov. Ce uporabimo vhodne ploäCe velikosti enojna evropa za sprejem a signalov in izhodne plosce za oddajo tö signalov potrebujemo po b p LoSC vsaKe vrste. 3. PHOfiHAHKSfl OPKEMA Pri določitvi programske opreme izhajamo iz dejstva da: - uporabimo tSim ved obstcjeCe programske oprema (sistemska programska oprema, aritmetic ni paketi, mu 11 i programsko jedro itd), s poDioOjci programskih pripomočkov cm hitreje realiziramo aplikacijo. Aplikativna programska oprema mora omogočati izvajanje programa v realnem dasu. Analiza je pokazala, aa je zadostna Irekvenca ponavljanja programa enkrat na sekundo. Ce izoeremo a bitni računalnik, mora hiti večina programske opreme za sprotno spremljanja in vodenje niciii-strijskega pi'outnd Ribane v zuirnem jeilhu. de pa se oaiocimo za 16 nitni racunalniK, je «OLlUf^niO «(El ft vhgĐK) ret^iigviP tvr^o oa se je je maino nautìiti uporaoijati v nekaj urah. Vsa komunikacija «Bd operaterjem m raCunalniKom je v ouÜKi menujev in vprdSdini hov « öbatistlüna ODoexava se X£vaja enkrat antfvno. KoiiCine, ki jin i-ađunalniR iDira tn oaatiuje so nasL^Onjej - skupna dnevna proiivodnja plafiCev po vrstan plasüev. la vsako vr«to plasca se izpise sitre plaacev iS laastno steviloj in količina, - za vsaka preso se izpisei «itra (lelavc:a, število proizveaenih plascev pod to silro za vsak kalup i.na vsaki presi sta dva kalupa), vrsta izjBmnjti situacij in njih skupne Btevilo iiijemne situacije so; cocno aopiranje prese, odpiranje prese, ker je predvideni eas vuikani-zaoije potekel, čeprav izračunana stopnja vui-kanizaeije se m ooseienaj. za tovarne plafiCe se izpišejo zaporedne «tevilke plascev, pre^a, siira delavca, datum in tias vui kan I zac 1J e izraduiie se skupni Cas deSovanja prese in siHupni hcj jif prbSa ooprta* Statistične ouubiave se izpisujejo enkat dnevno ili arnivit'öju v santi pruizvuünji eaj to omogotìa sprotna kontrolo nad stanjem proizvD-unje, stanjem pres, vi'sti napak, m b» ouoasiio pojavljajüt stori Inistjo òeiavcev in tennoius Kimi pogoji pare, ki vplivajo na proizvodnja. 3. F ßlok shema ui-g ani zaoi je vhodno iznaonih linij. ^D oü uran se opaeiani avtanaticno iznriseja. Statistics ni pouatKi veöji del programslie opreme realiiiran v vitijea pfugi-an- shem jeziku. fill 1 ikati vna pi-ugramska opreuia vsebuje za vsa«a preso, kl je priključena na mikraraeuna1nik naslednje rutinei - iriiCiALiiM(,iJ« - nastaviLevi • «lire delavca ' siire plasca ' vrednosti za Cas vu i h a m zaoije • aktivacijske enerqije - itriPt Rh furtM - ditanje teLiper a tu re - TIhr\ü - tiitanje tipK stbp, start na pre^i - ülNMfiOUliACI JA - Sinni-unizaoi ja vključevanja preS ^ Utiluvne rutine za različne laze • CARA - čakanje na sinhronizacijo • VnLur - start vu1kani zacije • VULKANlllNA - izračun stopnje vulkanl-zacije • iil\LüP - odpiranje preSe - t-UCKt: - signalizacija izelena, rdeoa, runena) ' KOrlAUUE. - Ukazi raCuiia I ni ka preSi - CAä - sinhronizacija casa NaCiunainik vsebuje (ie vrsto taoei, to so: - tabela za stanje vsuh pre«i - tapelD sifer delavcev, - tabelo limitnih vreunosti temperature, - taoelc linitnih vrednosti tlaka, - transformacijsko taoeio za pretvorbo signalov IZ senzorja tatiperature v stopinje cel z 1 ja , - tarnstormacijsko tabelo za pretvorbo signalov II senzorja tlaka v pare, - Lautfiu vseh moinili napak, ~ ^.tfueiu bpuL'üOil Lit uHL^épanje. 'i. KOMUNIKACIJA i Or-tKA 1 th Jth Komunikacija med raäuna 1nikom m operaterjem je izveuena v uuliki menujev m oogovurov na . vprašanja. ùb vklopu računalnika se pojavi na zaslonu glavni menu. uperater tncra vtipkati svojo Siiro, ano plastia in Cas vu 1 kani:acije ter laboratorijska temperaturo in Cas. Ce je stira plaStia enaka kot pri delu, ki ga je opravil upeiater v prejšnji iimeni, lahku ouiipka upe-laLei- v tuj izmeni kar tipKO return. tnako veija za Cas vuikantzacije ter za laoocatarij-sku tempei'dtui'u in üas. i«ato se mu na zasioiiu pL-ikaze slika, ki kafe trenutno stanje celotnega proizvuuiTega procesa za sistem ^it pres kbi 1ka H.I öiaTtW li-. '^üütiHJt FftüCtSA ZAC i JE. ü - SPREMEHö« üirhE OPERAI tiijA 3 - oPhthtiiD« iilKHE i-tAaOA l; ~ äi'Hc.riErlDn ÜHSH vULhnlli lAC iJt H - brncntlib« oihwJA ruKVHnJtnin PKtS (trii>tfiAiuHA PKt«iii\A im PIÙ rüTEKEL ch6 vui.r\HNi lACi Jü Im PrLÌIuì Pb üinHKüNiZHtiJ« vni. jüCEvnnJti pncHc.: rv STANJE pHtSs IkSEDENES PI, P», f-5, FÓ, r*. Più, Pil, Pli, PK., PIV, PIO, P^U CAKAHJE/3t Pi CAKAWJt/t: Plb, P16 rnüSVc: ri, P7, rö, P14 V unVnhli Pj, rli, Plv bilka Š.: iid 1 1 < aL^i ja na zaslünu meu iieju- V a n j e m 11 n i j e . 218 na laslonu ss prikazuje Bitnje pres im vsa aporoeiia v tveti t TiepaKami, caKanjem in temperaturam. čiLabi.iit.i£ne obdalav» ss izpisujejo enkrat dnevnu iid liuhalriik. Vse »tsiiEtiCne izpise izvaja sano za to poaotascena oseDa in ne operater proizvodnje na preaan. irTimer iipisa atatiaciha proizvodnje po predan haüe slika STATISTIKA PHOIZVODNJE éAtSAH PRÈ9A SiFRA DELAVCA ST. HLAÜCtV KAL A IVAL B Pt H2 P 20 □012 7 002IV ÜOiB6 00127 iä 2ä i 2 21 29 26 20 Slika S.: izpia na tiskalnik za statistiko dnevne proizvodnje po predati. S. ZAKLJUCeh Pt'OUi^ant uvajanja rafiurtainika v vodenje preti potek« pobiopnu. Celotan prugL-an> traja iö mesecev, « tem, da je ena pre^a vodena z raeunalnikob le po ä neseein. Pred prenosom radunaini^ke^a voòenja sistema pi-eS v inOuSrtrijBha okolje b« izdela laoorato-rij^ki preizkus* izdela se simulator za Pelo ene pre4e in se preizkusi aelovanje racunainixa in programske opreme na simulatorju. Lieio n« Eimuiatorju se aemünstnra uporabnikom, ti pa podajo Borebitne pripoinbe, V nadaljevanju si^ izdela buoi Bimulabor la preizkus deia ^u-in preti na enem računalniku. Podali satu priniei- uvajanja raduna 1 ni^kega ^ooe-nja industrijskega procesa. PraDleni, ki äma J14I bi-bCdil pL-i iia&em delu su puüubni Ludi pri drugih pruJekLin uvajdrija računalnika v proi" zvoonjo. belCek izkuSenj iz projektov uvajanja nittroraCunalnikov v proizvoanjo posreaujeno v tem sestavhu. vodiio tega in pouoonin projektov pa je dej- atvo, da računalnik omogoča boljSo kvaliteto proizvodnje, izključi CloveBki taktor, ki je tanko vzrok za napaka ter unugoüa rauiona>nej£i pregled naa zalogami iji statistiku piuiivodnje. 6. LITERATURA 0.1. Uolii hanobuch iur Vuikani^sti-onszeitbestimmung, Senpent - Sava, interno poročilo, l'ibi. METEOROLOŠKA AVTOMATSKA MERILNA POSTAJA AHP - STOLP ZA EOLOČEVAJIJE DISPERZIJE V ATMOSFERI PRI NE KRŠKO B.Dlallo, B.Clavič, H.Lesjak, P.Mlakar, Z.Polak Institut "Jožef Steran", Univerza Edvarda Kardelja, Ljubljana, Jugoslavija UDK: 681.3.014 POVZETEK: V referatu je opisana meteorološka avtomatska merilna postaja AMP-Stolp, ki meri meteorološke parametre za določevanje disperzije v zraku. Opisano je mesto AMP-Stolp v ekološkem informacijskem sistemu NEX, zgradba postaje in problsnatika določevanja razredčevanja v ozračju. ABSTRACT: In the paper we describe the automatic weather station AMP-Stolp which is a part of the ecological information system NE Krško. He discuss about the method of dispersion modeling in the air from point sources and data requirements needed to characterize airborne dispersion. Avtomatska merilna postaja AMP-Stolp Je del ekološkega informacijskega sistema (1), ki zbira in obdeluje meteorološke podatke In podatke o koncentraciji■radioaktivnih snovi v okolici Nuklearne elektrarne Krško (NEX). Ekološki informacijski sistem je sestavljen (slika 1) iz koncentratorja, štirih merilnih postaj in uporabnikov, ki so povezani s koncentratorjem preko UKV, telefonske ali stalne žične zveze. Glavne naloge ekološkega informacijskega sistema so: - zbiranje meteoroloških parametrov iz neposredne bližine in okolice Nuklearne elektrarne (NE) po priporočilih ameriške agencije za zaščito okolja za kcmplek-sen model razredčevanja, - zbiranje pociatkov o izpustu radioaktivnih plinov In delcev iz NE, - zbiranje podptkov o hitrosti doze iz okolice NE, - prenos vseh parametrov v večji računalnik, kjer se nadaljnje obdelajo in arhivirajo, - prenos meteoroloških In radioloških podatkov v TPC (tehnični podporni center NEK), v center Elektrogospodarstva Slovenije in Hrvaške, - prikaz vseh podatkov za potrebe NE, - ocenitev doz v smeri širjenja oblaka po različnih metodah. Osrednji del informacijskega sistema je konoentrator, ki poleg komunikacije skrbi še za delovanje celotnega sistema, merjenje izpusta radioaktivnosti žlahtnih plinov, izotopov Joda in zračnih partikulatov, računanja raz- . redčitvenih koeficientov, prikaza vseh podatkov .ter ocenitev doz okoliškega prebivalstva v smeri širjenja radioaktivnega oblaka v primeru nesreče. Avtomatske merilne postaje zbirajo podatke o meteoroloških in radioloških parametrih: hitrost in smer vetra, temperatura zraka, relativna vlaga, zračni pritisk, sončna radiacija,' količina padavine in koncentracija radianti vnih snovi. Iz zbranih podatkov se računajo poprečne polurne .in dnevne vrednosti, ekstremne vrednosti in standardne deviacije. Izvedeni podatki se redno zapisujejo na digitalno magnetno kaseto in se na zahtevo pošljejo v konoentrator, AMP-Stolp ima poniembno vlogo v ekološkem informacijskem sistemu NEK, ker mora zagotoviti konoentratorJu vse potrebne meteorološke podatke za čimboljšo oceno razred-čitvenlh koeficientov. Za razliko od ostalih treh merilnih postaj, AMP-Stolp zbira meteorološke podatke na štirih različnih nivojih: 70 m, tO m, 10 m in 2 m. Podatki, ki jih AHP-Stolp pošlje koncentratorju, so vektorska hitrost in smer vetra, skalama hitrost vetra, ekstremne hitrosti vetra in pripadajoče smeri, standardne deviaci-je X in y komponente hitrosti vetra, količina padavin In poprečne ter ekstremne vrednosti in standardne deviaci je za ostale meteorološke parametre. AMP-Stolp je sestavljena iz dveh mikroračunalnikov: (3) METE 80E in mikroračunalnika za veter. Mikroračunalnika sta sestavljena iz standardnih modulov, ki so logično zaključene celote (slika 2). METO 802 sestavljajo:^ CPE - centralna procesna enota: 8 bitni procesor 6060, 1 k RAM, 6 k EPROM in V/I enota, APE - aritmetična procesna enota: pospeši računanje v ■ plavajoči vejici, PROM - 20 k EPROM pomnilnika, 220 amp amp amp amp stolp libna krSko brezice veCji računalnik ne KRSKÜ KONCEMTRATOR ^ in \ prikaz merilni proghah y'' obdelava tehnični podporni center prikaz podatkov Slika 1: Ekološki informacijski sistem NEK HASETNI P06QK nFE2S0 IL 1-X SHV DUR TEV T TASTATURA IN RìlKAT KOP 201 3 Fffl crtD META 802 KW1 CUR m rni RAH I I VODILO nt)B1 IN MD6Ì pROn IE APe JL Mbit AX IL sro — vpn AOR —T— 11t biti ADC . X" 4 hitr. «Ira DVH 75 -J smeri vetra ^ 7f tepnp. DTF 12^ 1 temp i)ta32 i vlage DR V 32 phz - ScilCt CSS 32 pritisk DZP32 -^ jti ^razliki doe 31 temp. mikroiKunalnik ZA VETER CPE I forokSna fjovczava H SPP ' vMEsnu? KABELSKA RAIVOmi« HA ttmCEHrWTOK 4, Q = hitrost izpusta, Sy,Sz = standardni deviaciji razredčevanja v smeri Y in z, H : višina izpusta u = povprečna hitrost vetra Slika t: Razširjanje oblaka plina po predpostavkah Causs-ovega modela. Standardni deviaciji sta odvisni od turbolentnosti (stabilnosti) atmosfere, višine nad površino zemlje, razgibanosti terena kvalitete površine (travniki, gozd ...), oddaljenoisti od izvora in časa povprečeva-nja. Sy in Sz podajajo avtorji modela kot funkcije stabilnosti in razdalje v obliki formul in grafično. V literaturi se dobijo različne enačbe in grafi, ki se med seboj razlikujejo. Vzrok teiau so eksperimentalni rezultati, preko katerih so avtorji določevali standardne deviaciJe razredčevanja. Ocena za hitrost vetra je povprečna hitrost med H-2Sz in H+2Sz. Stabilnejše plasti nad ozračjem, kjer se razredčujejo plini, oraejijo isešanje. Zato osnovna enačba razredčevanja velja le do razdalje x, kjer Je Sz = O.UTL (L = vikna mešanja). V literaturi so si edini, da je najtežje določiti standardni deviaciJi razredčevanja Sy in Sz. Turner podaja v svojem članku točnosti za Sy in Sz, Točnost Sy ocenjuje znotraj faktorja Z za razdalje nekaj 100 m od izvora, za Sz pa znotraj faktorja 2 za razdalje med 100 m in 1000 m. To velja za naslednje predpostavke: - kontinuirana emisija izvora ali čas emisije večji kot čas potovanja do določene točke v smeri vetra, tako da Je difuzija v smeri vetra zanemarljiva; - difuzija plina ali aerosola (delci manjši kot 20 um diameter), ki ostanejo daljši čas v zraku; - ves emitiran material se premika v smeri vetra in ni depozita; - Causs-ova porazdelitev v smeri y in z; - ocenitev točnosti velja za sorazmerno močne vetrove (ni meandrlranja) in na odprtem agrarnem terenu. Causs-ov model Je primer posredne metode izračuna razredči tvenih koeficientov. Poznamo pa tudi neposredne metode, ki so novejše. Razlika med tema dvema vrstana metod je v določevanju turbolenc v zraku. Posredne metode temeljijo na določitvi stabilnosti atmosfere, preko katere izračunamo Sy in Sz - standardni deviaciji razredčevanja prečno na širjenje oblaka in v vertikalni smeri. Te metode so bile razvite v Združenih državah Amerike na podlagi meritev v ravninskih področjih, kjer pihajo stalni močni vetrovi. Zato te metode ne dajejo dovolj dobrih rezultatov pri šibkih vetrovih in stabilnem ozračju na valovitem terenu, kot Je to običajno v Krškem. V takih pogojih pride do meandriranja oblaka. Neposredne metode pa temeljijo na meritvah razredčevanja na kraju Izpusta. Te metode so zahtevnejše, toda rezultati so točneJsi. Za vse metode izračunavanja razredčitvenih koeficientov Je pomembno zanesljivo in točno določevanje stabilnosti atmosfere. Kaj rado se zgodi, da se rezultati razlikujejo za en razred. To se dogaja predvsem pri manjših hitrostih vetra, kar je čest pojav v Krškem. Metod za izračun stabilnosti Je več, temeljijo pa na temperatumem gradientu, hitrosti in fluktuaciji vetra. V prvi fazi, ki Je izdelana, se stabilnost določa s panočjo temperaturnega gradienta in hitrosti vetra na višini 10 m. Temperaturni gradient se določa z razliko temperature na 70 m In 2 m s standardnimi aspiriranlni dajalnikl temperature (točnost O.s'c). Ker Je temperaturni gradient običajno zelo majhen (0.1 - 1°C), Je vprašljiva točnost meritev. Zato Je v razvoju merilnik razlike taiaperature s točnostjo 0,1°C in ločljivostjo 0.02°C. Tudi merjenje hitrosti in smeri vetra ne ustreza popolnona za izračun fluktuaclj vetra. Zato poteka razvoj posebnih senzorjev za merjenje fluktuaclj. Zaradi neustreznih obstoječih senzorjev ze temperaturo In veter ter metode izračunavanja razredčitvenih koeficientov, je prišlo pri izdelavi AMP-Stolp do vprašanja ali se izdelava odloži do trenutka, ko bodo na voljo ustrezni senzorji in metoda, ali pa se izdelava opravi v večih fazah. Odločili smo se za drugo varianto - za postopno izdelavo. Pri tem smo morali predvideti senzorje in vmesnike, ki še niso razviti, zagotoviti mikroračunalnik, ki bo sproti obdelal vse podatke, in programsko opremo, ki bo omogočala spreminjanje in razvoj obdelav. literatura 1. B.Paradiž, Projektne zasnove, Elektroinstitut Milan Vidmar, februar 1935 2. D.Bruce Turner, Workbook of Atmospherio Dispersion Estimates, Environmental Protection Agency, 1970 3. B.Diallo, H.LesJak, Prilagodljiva zasnova programske orpeme AMP, Informatica 2/3, 1903 METROLOSKI informacioni sisteh UD K: 681.3.007 ARBUTINA-JCiVIČ MIRJANA, CSNOVfiiANIN E5AD 7,2, "OFAO" - FAJLOVAC sarajevo JUGOSLAVIJA Metrološkl informacioni sistem povečava produktivnost u metrološkoj laboratoriji 1 oslobadja prostor za kreativan rad. On pomaže rukovodstvu prilikom planiranja i praćenja procesa baždarenja, a neposrednim izvrSlocinra u samom procesu baždarenja. Tehnologija baždarenja je stanđardlzovana i unijeta u računar, te se automatski geneiišu radni i izvještajni zapisnici. Svi podaci o procesima baždarenja i okruženju se unose u centralizovanu bazu podataka mrežnog tipa (IDS/II). Tako korisnik ima na raspolaganju potpuno integrisane 1 ažurne mjerne podatke. Svi programi su radjeni u jeziku visokog nivoa - COBOL-u, uz korištenje najmodernijih tehnika struktulranja. Kao rezultat toga, oni su vrlo čitljivi te je potreban mlnictalan napor za dorade 1 održavanje. Paralelno su razvijene i batch i on-llne verzija sistema. Sistem je u svakodnevnoj eksploataciji već dvije godine i pokazuje zadovoljavajuće rezultate u radu. HETROLOGICAL INFORMATIO SYSTEM Metrological Information system increases productivity in metrologica! laboratory and makes free space for creative work. It helps management in planning pj-ocedures and ^ging process control, and it also helps immediate workers in gaging process. Gaging technology is standardized and entered into the computer, so work-protocols and report-protocols are generated automaticly. All data about gaging process and environment are maintained in a centralized data base (network data base IDS/II). This means that user has access to fully integrated up-to-date metric data. All programs are written in a hlgn-level language - COBOL, using the latest structured techniques. That's why these programs are very readable so modification and maintenance efforts are minimized. Batch and on-line version of system are available. System is in everyday-use for two years now and gives satisfactory working results. 1. UVOD Mjerni sistem se sastoji od niza aktivnosti i mehanizama koji proizvode mjerne informacije potrebne društvu. Ol Je integralni dio proizvodnje, nauke, trgovine 1 svih naših aktivnosti. Ovaj sistem ima posebno značajno mjesto u avionskoj industriji, gdje su rigo-rozni zahtjevi u pogledu kvaliteta završnog proizvoda. Neka ispitivanja pokazuju da na mjerno Ispitivanje pojedinih proizvoda otpada oko 30% vremena ukupne izrade, Da bi korištenje mjerne opreme imalo zadovoljavajuće efekte, neophodno je da se ona izbaždari u tačno odredjenlm vremenskim Intervalima. Ako mjerna oprenw nije Izbaždarena na vrijeme, može se desiti da i-ezul- tat mjernog ispitivanja ne bude korektan, što direktnu utiče na smanjenje kvaliteta proizvoda. S druge strane, dešava se da baždarenje predugo traje što uzrokuje zastoje u proizvodnji i, saalm tim, smanjenje produktivnosti. Sve ovo utiče na smanjenje konkurentnosti naše proizvodnja na svjetskom tržištu. Ako potražimo uzroke svih ovih problena, oni su obično u prevelikoj količini podataka koje treba ručno pratiti i obraditi. Kada se govori o prometu velikih količina podataka, onda se odmah nameće misao da najveću pomoć u tone može da pruži račujiar. On Je u stanju li^ "zapamti", "obradi" i "ispiše" velika količine znatno brže i kvalitetnije nego čovjok. U ov>xii ! i '. će ukratko biti opisan razvoj Inforitaclonog sistema 1 koriščenje računara za rješavanje naprijed navedenih problema. a. CRUPISANJB PROBLEMA I POMTAKA lila bi se mjerna oprena mogla koristiti za provjeru kvaliteta proizvoda ili za utvrdjivanje nekih parametara, ona prethodno mora biti verlfikovana kao ispravna. Te verifikacije se moraju vršiti u tačno odredJe-nlm vremenskim Intervalima (period verifikacije). Sto je više rajeme opreme, to Je teže pratiti kada koji instrument tretia da se baždari. Tako dolazimo do prvog problema koji se postavlja pred rukovodioce a to je izrada plana baždarenja ili pregleda isteka verifikacija (slika 1). Bez pomoći računara KAKO? SUka 2 Bez pomoći računara KADA? Slika 1 Dia bi se moglo pristupiti računarskom rješavanju ovog problema mora se definisati jedan niz podataka: naziv, vlasnik, period verifikacije, i td. Ovu grupu podataka ■nazivamo STATICKI PODACI 0 IHSTRU^EI^TU jer su to podaci koje. Je dovoljno jednom prijaviti za svaki instrucnent i oni se nakon .toga ne mijenjaju. Kada neposredni izvršilao dobije instrument na baždarenje on mora da razmisli o tome kakav će postupak baždarenja izabrati, koju će mjernu opresu koristiti, koje će sve podatke o baždarenju upisivati, itd. Znači, prvi problem koji se postavlja pred neposrednog izvršioca Je kako vršiti baždarenje (slika 2). Za rješavanje ovog problema takodje se inora definisati niz podataka: uputstvo, karakteristika koja se ispituje, klasa tačnostl, mjerne tačke, itd. Ovu grupu podataka nazivamo STATIČKI PODACI 0 POSTUPKU BAŽDARENJA Jer su to podaci o baždarenju instrumenata koji su trajni, tj. ne mijenjaju se i važe za sva baždarenja instrumenta. Ove dvije grupe podataka nazivamo zajedničkim imenom STATICKI PODACI. Po završetku odredjene grupe baždarenja, zadatak rukovodilaca je pravljenje različitih analiza i pregleda izvršenih baždarenja, (fa primjer, potrebno je odrediti koliko je vremena utrošeno na baždarenja instrumenata ođredjenog vlasnika u odredjenom periodu (slika 3). Bez pomoći računara Utrošeno sati? SUka 3 Kao i u prethodnim slučajevima, mora se definisati niz podataka koji su potrebni za rješavanje ovog problema: ko Je baždario, kada, kolika je vremena utrošio, koju Je opremu koristio, itd. Ovo su OPSTI DIMAMICki PODACI. Posao neposrednog izvršioca se ne završava upisivanjem rezultata baždarenja. Qn još mora da Izvrši odgovarajuće proračune i da donese odluku o tome da 11 instrument zadovoljava klasu taćnostl ili ne (slika 4). Dodatni podaci koji su potrebni da bi se ovaj proračun moffiio izvršiti automatski su DINAMIČKI PODACI O REZULTATIMA BAŽDARENJA, tJ. izmjerene vrijednosti. Ove dvije erupe podataka čine DINAMIČKE PODATKE koji se prijavljuju za svako baždarenje posebno. Bez pomoći računara Instrument zadovoljava klasu tačnosti? Slika 4 3. STAMJABDIZACIJA ZAPISNIKA Osnovni dokument koji se koristi u metrološkoj laboratoriji Je zapisnik o baždarenju. Značajan problem prilikom razvoja raetrološkog Informaclonog sistema je predstavljala Činjenica da zapisnici nisu bili standa-rdizovani. Skoro da nije potrebno ni objašnjavati da je standardizacija zapisnika bila prvi neodložan korak u razvoju sistema. Ovo je posebno došlo do izražaja pri automatskom generlsanju zapisnika, jer se u protivnom raČunar sigurno ne bi mogao Iskoristiti na optimalan način. Ova standardizacija je vršena u dva dijela; - standardizacija postupaka baždarenja, i . - standardizacija proračuna rezultata baždarenja. Prvo su pažljivo proučene sve metode koje su se koristile, utvrdjeno Je koje su im karakteristike zajedničke, a gdje su se razlikovale. Nakon toga je definisano desetak osnovnih tipova postupaka baždarenja i l|-5 osnovnih tipova proračuna rezultata baždarenja. Pri tome Je ostavljena rao®ióno3t da se odredJene grupe podataka mogu ponavljati više puta, zavisno od samog instrumenta. Ha primjer, u istoj mjernoj tački može se vršiti jedno ili više mjerenja. Sam zapisnik se sastoji od dvije osnovne cjeline; - naslovna strana, koja je Jednaka za sve tipove zapisnika 1 u svakom zapisniku se pojavljuje samo jednom, i - ostale strane sa rezultatima baždarenja, koje su različite zavisno od tipa zapisnika i kojih može biti proizvoljan broj i proizvoljna kombinacija za svaki pojedinačni zapisnik. Postupak baždarenja, tj. Izgled zapisnika o baždarenju, se mora definisatl unaprijed za svaki instrument ako se želi ponoć računara. Za svako sljedeće baždarenje taj postupak ostaje Isti, osim u Izuzetnim slučajevima (promjena tehnologije baždarenja) kada se postupak Izmjene mora sprovesti na poseban način. Postoje dvije osnovne vrste zapisnika: - radni, i - izvještajni. Radni zapisnik je dokument koji doblja Izvršllac baždarenja prije samog baždarenja. Statički podaci o instrumentu i statički podaci o postupku baždarenja su već upisani ("upisao" ih je računar}, te ovaj dio posla ne mora da uradi neposredni izvršllac. Sta više, on kroz ove podatke doblja kompletne upute kako da vrši baždarenje i već Ima rezervlsan 1 tačno deflnlsan prostor za upisivanje rezultata samog baždarenja. Naravno, rezultati baždarenja se na ovaj dokument upisuju ručno, U sljedećem koraku se ti rezultati predaju računaru i oii vrši odredjenl proračun. Koji će se tip proračuna primijeniti, zavisi od definlsanih statičkih podataka. Nakon toga, računar može da generlše 1 izvještajni zapisnik. Svi podaci u izvještajnom zapisniku su "upisani" Iz računara. Osim podataka koje je upisivao zu radni zapisnik, sada postoje još l rezultati mjerenja, kao 1 rezultati proračuna sa tačno označenim vrijednostima koje prelaze dozvoljene granice Cako ih Ima). Ra, Čunar takode generlše 1 zaključak o toroe da li instrument zadovoljava klasu tačnosti ill ne, tj, da li se može veriflkovatl kao ispravan. H. iDEBnFIKACIJA ZAPISNIKA Svaki instrument koji dolazi na baždarenje doblja Jedinstvenu Identifikaciju (ident-broj). Nakon toga, za taj instrument se mogu definisatl i ostali podaci (naaiv, tip, postupak baždarenja, itd.). Da bi se mogli preuzeti rezultati baždarenja za taj instrument sa radnog zapisnika, neophodno je da i svaki zapisnik ima svoju Jedinstvenu identifikaciju. Veza zapisnika sa odgovarajućim instruaentom se ostvaruje preko Ident-broja (kud se jednom de finiše, on se više ne može promijeni Li, U tekućoj godini može se vršiti jedno 111 više baždai-enja Instrunienta (zavisno od perioda verifikacije). Ovo nam omogućuje da na jednostavan način dobijemo jedinstven Identlflkaaionl broj svakog zapisnika - uz ident-broj vežemo dvije zadnje cifre godine u kojoj se vrši baždarenje 1 redni broj baždarenja u toj godini, To ujedno omogućuje i lakše traženje arhivskog zapisnika (zna se za koji instrument, u kojoj godini 1 po kojem rednom broju je vršeno baždarenje čiji se zapisnik traži). Da bi se automatski mogao generisati broj sljedećeg radnog zapisnika, osin ident-broja instrumenta koji se baždari neophodno Je znati godinu 1 broj koji deflniSu broj zadnjeg prijavljenog izvještajnog zapisnika. Kako su ovo sve podaci koji su poznati računaru u trenutku generisanja radnog zapisnika, to on generlše 1 broj zapisnika. Ako se rezultati baždarenja prijavljuju računaru oni se moraju vezati uz taj broj 1 taj broj postaje 1 broj izvještajnog zapisnika. 5. PHOJEKTOVÄHJE BflZE PODATAKA Kao polazna metoda u projektovanju 'Struktura podataka korištena Je ISAC-metoda. Izmedju dva moguća rješenja (indeks-sekvencijalne datoteke 1 baza podataka) izabrano je modernije - baza podataka. Baza podataka je, u stvari, dinamički model nekog realnog sistema i mora da obezbijedi konciznu, Jasnu 1 vjernu predstavu stanja sistema u bilo kom trenutku .vremena. Pa bi se to moglo obezbijediti, neophodno je da postoji kontraHaan pristup dodavanju novih, te modlfikovanju i izdavanju postojećih podataka u bazi. S druge strane, neophodno je tia podaci budu memorisani na način neovisan od programa koji ih koriste. Kao što je izvršena standardizacija . zapisnika u cilju lakšeg rada sa zapisnicima, tako Je izabran 1 sistem za upravljanje bazom podataka kao Jedan štandardizovani aparat za rad sa podacima. Podaci su opisani na jedinstven način (šemom i podšemom), te tako nema potrebe da se za svaki novi program ponovo opisuju. Za pristup tim podacima programi koriste odgovarajuće iskaze jezika za manlpulisanje podaciira. Svi podaci su smješteni 1 čuvaju se na Jednom mjestu, što smanjuje mogućnosti redundantnostl i nekonzisten-tnostl podataka. Izborom baze podataka održavanje veza medju pojedinim podacima prepušteno je sistemu za upravljanje bazom podataka. Već u prvim koracima sagledane su dvije osnovne grupe podataka koje su sada ! • A \ S 1 e le 11 12 13 HIKHOiìACUHALi'fljKI SIBTjirl KA PHEWÜ3 IN OBDÜLAVO POŽAilill ZAJCI?! - PASO KüKA IHfOHHACIJ PiU J. Piave, M. Mäher, B. Črnivec, ß. Delak, J. Zajc, Iskra Avtomatika, TOZD Sistemi, Ljubljana UDK: 681.3.014 Povzetek: PASO Je aiJfroprocesorskl sistem za požarna zaščito objektov. Zaradi svojega modularnega konceptii niidl veliko fleksliJilnost aa posamezne apliiiacije. Glavni trije nivoji sistema ao: zbirne postaje, koncantratorji in nadzorni centri. Prvi del članka opisuje vse možnosti sistema PASO, drUiji del p.i'konkretno aplikacijo, ki že obratuje na Reki. Suraaary; PAiJO l3 a ciicroprocesaor system for fire protection of objects. iJticause of it's modular conoep-tion it of fera a great flexibility for different applications. Ii'rie main three levels of ttie isys-teii are: remote stations, concentrators and supervision canters. The first part of tnis p^ipur describes all poasibilitiea of the PASO systeia, the second part describes application that is lil-reatly workinii i" iieka. 1.0 aploàno o aiatemu PAJO itlkroraćunulnišici aistein aü poiarno zayóilo Oüj«Htov ima siülotjo, lia posreduje iiil'oru^uije od aSiienlh objektov do centralné^ja i.iauta, kjer jih mora predelati taico, da jiii poda operaterju v ustrezni obliki, üisteia sestavljata apuraturni in procjruiski del, kì sta sestavljena modularno, tako da dosežemo äimvecjo fleksibilnost pri načrtovanju nonicretnlh aplikacij. ?o na.d seveda omojoda tudi kasneje, äo neic slatein zu deluje, enoatuvno dopolnjevanja in razàirjanjtì veliicoatl in fansoij sisteaa. Aparaturni del sestavljajo aparaturni moduli teleinformacijakega sistema Vl-JO in periferne enote. Sisten 'i'I-50 omotjoiia zajem digitalnin Infornaci J, njihov prenos In obdelavo za prikaz in shranjevanje. Uporabljena Je družina oaeinbitnlh mikroprocesorjev il 6tJ00 - Motorola (proctisor 6802 ali 6a08, ter ostala (TlSI veija draiine H 6300). Vrota in Količina modulov ter perifernih enot se doloii ^lede na količino äiiitenih objetttov ter {{lede na. zahteve investitorja. Protjraraaki del sistema za pošarno aasöito sestavlja programski paktit lakra i-lOSPiiC, i£i je grajen modularno in transparentno-. Modularnost progranake opreme omojjoća konfigu-riranje proüramaicih paKetov, ki realizirajo različne funkcije- Projjraoiiiite nodule poveauje monitorakl program. Pro^ra-msica oprema sistema PA30 je tranaparentna, kur je delovanje in povezovanje pasainezhih prograiaaKin modulov iie-odvifino od njinove porazdelitve v mikroraiiu-nalniHiil lareži. ProgramaKi moduli se dele na jijluiTiükö in aplikacijSiie. Uiateinaici pro^ran-LiKi "'.odiili :iO napisani v auii-niitu ASrl ÒU'JO, j.iiti prOi^raianif i Liodjli predViiem v Z apnrcaci jsKiui iiioduli do-jczuulo i'.rilat;o:iitev jisteiria konkretni rt.i,likuciji- i'unKGlJako su jiatem za požarno na tri nivojti: zaščito deli - zDirni nivo, ;^J.e^ se na zbirne postaje priključujejo ijùiteni objekti, - nivo koncentrUciJe, iii ija tvori eden ali več itmCKUtratorJav, - nivo nadzora, icjer je eden ali veò nadaor-nin centrov, ki omogočajo kouunikaoijo operaterja s Cdlotnim sistemo:n. Vsaka zbirna postaja, koncentrator ali nadzorni center Ja neodvisna raikroračunalni^ta enota z najmanj eriim procesor Jein. V Koncentrator ju sta laiiKO dva procesorja - koncentrator A in koncentrator B-, za najbolj zahtevne aplikacije je v nadzornem centru aoàna lokalna mirc-roračunalnišiCi mreža, ki z distribucijo aktivnosti OEOtjoiia večjo hitrost in zanesljivost delovanja, l'leđ zbirnimi postajami in koncentrator Ji ter ^led koncentrator ji in nadzorniai centri ao demske i^vet'.e. 1.1 Zbirni nivo Tu je lahko do oaem sbirnih postaj priključenih na en koncentrator. Vsaka.ablrna postaja je lahko priključena le nà en koncentrator in predstavlja neodvisen mikroračunalniK, na katere^^a Je priključeno do šči-tenih objektov. Sčiteni objarđKinitev linije. Ve informacije od đčlten^ija oaje.^ta do ütjiriie postajo ae pošiljajo frtt^vesićno modulirane jio standardnih telefonHkin linijjii, m da üi üilu Liotenu otiičiijna kOBianHiaoi jj. po toleioriüüi liniji, übiriie iioatnje so nuvadno naniuLSö^in« v }>oéCiiih telei'onokiii CBntrüiaii. iiülOtjB mücroraoanuliiilta v zbirni postaji ljo ii.ialBilnjö: - ciklično pretiladuje atstnja oDjeictov; - ob Ucjotovljeni apremeubi atunjj. seatiivljii aporoóilo za koncentrator; - Cćatirii iielova,nJe lastna ujiariiCurne oprema; - nu üüLfitevo iconcentTutorjii izvede aplosini pojiv in pošlje stanja vaen objektov. Ciifttl pregludovanja objektov je manjai od dveh SBKund. C'as Icumanliacij centrov. 1 ;.;;i..!Si:iialiii üonf i ej.irao i j i Oi^ravlju na^i/.onii center livt; vr;(ti /lido^; - naloije v realndß času; - po.'aoKne rJalOije v reiilne.Ti času prestavljajo oonovny funncije nadzornega centra: - sprejemanje üporoSil z nivoja koncentracije; - obdelava infor.-aaoiJ in aestavljanje; obratovalnih protokolov, akcijHKih protokolov in étudijsKin protokolov; - prikaz informacij na perifernin enotan; - apre jemanja usa^sov, Ki jih vnaia operater; - iavrjBvunje unaaov; - obdelava informacij za arhiviranja in arni-viranje le-teli; - ciKlično testiranje iiiodeciijki;i linij do konoentratorjev; - ciklično testiranje laatne apuraturne opreme. PosioSne naloge VKljučujejo natslednje fun.rciju: - vnaSianje informacij o novih objeiitini - sestavljanja ali popravljanje aiicijđKin protokolov ; - sestavi J.in jd ali popravljanje študijgKin protokolov; - obdelava arniviranih informacij za analizo; - prlKa?, arili vi ranih informacij. Du Je ^Boano realizirati vse K.-^ornJe nalo^'e. Ji.-nadzorni center ortsanisiran a ve;; nikroračutiiilniKi , Ki so povoKani v mrežo, ta.t.i da fJO iuriicoije distribuirane. Ta-to dQaei.ii.uj hitrejšo obielavo informacij in večju z i-nesljivost PriiCH.^ oz. vnQ;ä informacij Je možen na i:is-lednjih poriftrnih enotan: - alfanumerični .^^slon; na njem se prikazujejo obrutoviilni protOKoli o vsen releva.'itni.. • dogoditin, ili jih sistem deteKtira; - pisalniK; na njea ss iapisjujejo obraCov-il:ii protojtoli ter a-fcijiäkl protoicoli ; - grafični barvni Zaslon; na njem se pri^aju-jejo silite objfelCtov z oliznjo okolica, icar olajšuje intervencijo v priueru alaraa na objektu ; - sinoptična plošča; na njej se prikazujejo stanja objektov, - zunanje spoiainssce enote; na njln se artsivl-rajo infor:naci je ; - alfanuaieriSna taatatura; omogoča operaterju vnos uKasov in inforaacij. Ki so potrsiune za delovanje aiatema, - funkcijska tastatura; omogoča operaterja vnos Uicazov in informacij. V najbolj okrnjeni izvedbi nadzornoga centra potrebujemo za prikaz in vnos informacij le alfanunerični tariiiinal In pisalnik, tla pisalni ki h, zaslonih terminalov ali grafičnih barvnili zaslonih so lahko izpisujejo oz. prikazujdjo tri vrste protokolov; - Obnitovalai protokoli; ti vsebujejo čas, kraj in vrsto relevantnei;a d0(-0dka; le-ta Je lahko spreiiiHLiiba na objeictu, pojav napake (;jprtirae;;i02) na sistemu PAl:ü ali pa ukaa operaterj.i. - Akcijijki protoitoli; ti so sestavljeni iz teiatneiia in aliiovneija dela in so namenjeni operaterju v nadzornem centru in ^asilaki ekipi, jti gre intervenirat; v teKatov;ie:ii .iela je opia üojüitta z navodili KU inturvjincijo, v sli.covne:a delu pa Je tiru;i.i.iti,;no narisan ačituni objoKt a bliüijo u/tolico. - otUilijjKi prijco-Loli ; ti oO identično eliaci ai.i;ij.iKÌ-'i, le da de jüjc na r.aiitfjvo; na.i.k.-njuni so opcruttìrin siliiki'.J is.cipa:;. za VidbO, iiadaornl center Je običajno nuaaySun v ito:n:j:nd-üüci centra ijüsiluice brijia.(it! ali (la na uyravi za nut run je r-adevü. 2.0 P/iJO Kcita iliKror.aćjnalniski sistem za poüarno zaščito ja bil riledo nei t;ornji opÌ3 v nesoliico otmjeni obliai iadulan -sa gaallii^u Urigado na lìeki. üister.i mi ima naslednjo konTi^uraciJo: - dve zbirni poataji, na Kateri ja priicljuüa-nih devtìcàGdet äültenlrt o'ujeittov; - en lioncenti'iLtor z [ìvojnorafiunalniélto Konr'i-^jracijo; - «n nailaorni center, ki jo nai.iedäen v ß-iail-L3KÌ brigadi. V naslednjin faaah gradnje 3istei:ia na (felci je predvideno de pet zbirnih postaj in dva n^d-Eorna centru. iibirni p03taji sta naoieaòjni v avtonataltia te-lelonsÄin centralah: - A"C Jarčićeva - pritijučeno ja 62 objektov; - ATü SušaK - priicljjoano ja Lia objelctov. Koncentrator je nameačen v A'i';; Àozalu.. Jeatavljuta dva pod.ìisteisa z identično aparaturno in prograaiako opre:no; koncentrator A in konuentrator ii. dadzorni center -je namttaštin v somandnea centru tjaailBke brigada. Izvaja naslednje nulOtiS; - .^prejemanje aporoSll a nivoja koncentracija; - obdelava inforaiacij in aeacavljanje ; oorato-valnll! protokolov, akcijsitin protoKolov in studijskih protokolov; - prikar- informacij na perifernih enotah; - sprejemanje ukazov, ki jin vnaüa operater; - izvrševanje ukazov; - oikliino teatiranje modemakin lini i (io koncentratorjev; - ciitlično testiranje lastne aparaturns opreme. 5.0 'iaključek Opisani L-ilitroraćunalnlski siatea za požarno zaščito objdKtov je dal širaega siatela integralne ansčite cujektov, ki raavijaao in aplicirano v ItiKKI Avtomatiki. Predstavlja priLier specialiuiranega Ini'orciacljskeésa siate-ma z vdeml nju-tjoviiiii karasteristićninii obae-lavaiii inlortiiaci j ; zajam, prenos na ve,oje razdalje, diatriDuirana obdelava in prikaz na perilernih enotuii. Posebej Je potrebno poudariti, da ja apiiitacija za realizirana in da je raiateia ze prelan investitorju, tako da je yremoàéan razkorak med snovanjem in rasvojes na eni Gtr;.fiii, ter konkretno postavitvijo eiate;;ii iiu dniiji. Literatura; /1/ clospiK: Opisj in navodila za apliciranje multipronetiorskega multipro^raiaskejja padeta; IHKrtA Avtomatika, TUZD Ijiatemi; interna doAu.iicntacija st. i-l 1)999^225411.. /2/ :;elelnforia:icijski sisteia Tl-JO za operativno vodenju procesov; zgradba in opis' delbvarij:i; l'.iiCitfER STATIC® MAVČIČE ABSTBACT Tbe system for the control and supervision of 5ydroelectric Power Station MavSlJSe is divided into five subsystems, each handling a specific and aelf-contained field of Jobs. The computer part conslBtB of a mlcrocoi^uter network which includes five idependent microcoii^uters. Along with these, a microcomputer subsystem is indirectly connected to the chain, providing the acquisition, processing and transmission of hy-drometric data from the rivers Eokra and Bistrica to the HavSiSe HPS. In its final phase, this control and supervision system will allow automatic operation of HPS MsvSiCe from the area center or from power station, respectively, over the subsystem Lokin or manually, on the power generator. 7he choice of control position is lo^lemented in the subsystem Lokin. Koncept multimikroraSunalniSkega sistema nadzora in vodenja HE IIav£i ma toSkama doloSlmo z uporabo dlnamiSnega programiranja kot posebne panoge uporabne matematike. Z uporabo vseh zbranih In toSnih podatkov doloSa raSunalniökl model mo£na vozila na optimalni relaciji. KonSna odlofiltev je prepuSCena razporejevalcu. Obstaja možnost programiranega odločanja kot viSja razvojna stopnja obravnavanega modela. THE MODEL OP THE COMPUTERIZED DISPOSITION OF ROAD FREIGHT VEHICLES The disposition of the road freight vehicles la devlded Into the following phases? search for vehicles at the depots, appointment of vehicles with regard to the cargo and to the upkeep limit, Choise of the most suitable route. The purpose Is to appoint the most suitable vehicle and route for the conveyance ordered. The model so conceived requires some previously collected particulars about the vehicle as well as about the routes. The data concerning the vehicle include its actual condition and the depot as far as the upkeep,is concerned. The most suitable route between two points la fixed by a dynamic programming as a special branch of applicable mathematics. The computer^ model determines bothe the vehicle and the best route on the basis of all collected information. The final decision is taken by the person who is in charge of the vehicles appointment. There also exists the possibility of a programmed declaion-making as a higher development of the model concerned. 1'. UTOD V dobi vse bolj zaostrene anergetske krize ao stroBkl cestnega tovornega prevoza (izvajanje pravoza troSi obSutne kollClne energije) vedno bolj podvrženi njihovemu prouCevanju. StroSki fiziCne distribucuje (katere del Je tudi prevoz blaga) so postali pomemben stroSkovni element, ker so proizvodni in ostali stroSki znlž-anlil Cilj je zmanjSati prevozne stroSke. Pravilne odloSltve omogočajo to zmanjševanja, zato mora odlofievalec razpolagati s primernimi informacijami. Samo ustrezen informacijski sistem (IS) lahko oblikuje take informacije. Računalniški IS (RIS) zagotavlja Izvrževanje razporejanja vozil ob nastanku zahteve po prevozu ter omogoča posredovanje odločevalca z in interakcijo v tekočem času. ZamiSlJeni model razporejanja zahteva predhodno zbrane podatke o stanju vozil (nahajališče, omejitve vzdrževanja) In o relacijah po katerih naj bi se vr-3111 prevozi. 2. OPIS MODELA RIS za razporejanje vozil oblikuje potrebne informacije za odločitev: katero vozilo po kateri poti po zahtevi za prevoz med določeno začetno in končno točko. Začetna vzpodbuda je dana iz poslovne funkcije prodaje tovornega prostora. Vsebuje vse potrebne podatke in informacije za razporeditev (mesto natovarjanja in raztovarjanja, vrsta tovora, naročnik). Slika 1 prikazuje zasnovo obravnavanega RiS-a. hatliwi towktu o vdioju STfkutA «oiiL, IUMUUIUA UlACUE vua HElIK>UUtt«H UMTIV Slika 1. RIS za razporejanje vozil Prispele zahteve se shranijo v vrsto, ki se z algoritnon prazni v doloSenlh Sasovnih presledkih. Heizpoln;}ene zahteve se ponovno shrani v vrsto ali vrne prodajni funkciji. . PodsisteBl, ki oblikujejo podatke in informacij« za razporejanje pred prispelo zahtevo za prevoz so: - podsistem spremljanja vozil (gibanje In tre: nutno nahajali38e), - podsistem vzdrževanja vozil, - podsistea doloSanja optimalne poti. Podali bomo kratek opis posameznega podelsteina zaradi tesne povezanosti s podsistemom razporejanja vozil. Vsi navedeni podsistemi so elementi obravnavanega RIS-a, ki je del celotnega -RIS organizacije za opravljanje cestnega prevoza blaga. 2.1. Spremljanje vozil Podsistem spremljanja vsebuje tri osnovne funkcije: - javljanje voznikov o nahajaliSSu, - vnos vseh potrebnih podatkov (dodatno opremljanje zapisa) In - shranjevanje podatkov v bazo podatkov (BP). Komunikacijski model javljanja nahajallSEa vsebuje naslednje elemente; javljalec, veza, sprejemnik in motnje. Za javljanje se uporablja telefon, teleprinter ali obstoječe linije za povezavo poslovnih enot s centralnim računalnikom. Vse zveze so usmerjene na eno mesto. -Od tu se sporoölla vnaäajo preko ekranskega terminala v BP. Isti kanal se uporablja za sp-oroEanje voznikom o naslednjem mestu razporeditve. Te£ave nastopijo, ko je potrebno istoC^ asno javljati poloSaj in dajati navodila o novi razporeditvi. Odpravi se jih z uskladitvijo teh sporoCll In doloCanjem prioritete posameznih vrst sporcali. Sprejete podatke se opremi in dopolni pred vnaganjem v BP. Javljalec sporoSi sledeSe: - identifikacijo vozila, - trenutno in predvideno naslednje nahaJaliS-Se In časovne elemente ter - posebnosti ali nepredvidene omejitve. Vsi ostali podatki so podani z zadnjo razporeditvijo tega vozila. Algoritem za vnos vsebuje funkcije vnosa podatkov, njihove vsebinske In formalne kontrole ter zapisa v BP. Slika 2 prikazuje izvedbo opisanega podsistema. NtJIHHIK UflMALNIK "»tóWiUMut Slika 2. Podsistem za spremljanje vozil Identifikacija nahajaliSEa je lahko razliCno opredeljen pojem. Predstavlja teritorijalni obseg v doloEenl driavl (podroCje), vefijo Industrijsko srediSCe, pogosto prehodno mesto ali drugaSe doloSeno toSko. Za računalnifiko vodenje nahajallSS in razporejanje vozil mora biti ta pojem primemo Šifriran. Dol Sina in oblika Slfre je odvisna od zahtevane natanSnostl na-hajalieCa. Na sliki 3 je prikazan primer take älfre. '. t .KBWOtlBlll*) .MKObEfKOO*) ft »rtu iL. r«LIHOlJ£ Spremljanje in,uvajanje novih nahajallSC je Izvedeno Izkustveno s posredovanjem samih voznikov pri zakljuSevanJu prevoza. Vozniki so pomemben vir podatkov za obravnavani RIS. V trenutku javljuija lahko obstajata dve moS-nostl: dana Je £e naslednja razporeditev ali pa te Se ni. V prvem primeru je Sas pozivanja In njegovi stroSkl minimalen. V drugem primeru so potrebni večkratni po^!:ivi (primerni Časovni Intervali), karpoveöuje stroSke Javljanja. Celotna opravljena pot mora biti enaka stanju javljanja o tej poti. V primeru odstopanja je vzrok Izostanek sporoSanJa voznika o nahajall-äSu. Število dnevnih interakcij v obravnavanem podsistemu je odvisno od Števila vozil, razporeditve in zasedenosti (povpraSevanja po tovornem prostoni). Treniitna stanja, vozil v BP morajo biti zelo približana resnl£nemu stanju, sicer je raCunalniäko razporejanje vozil neuporabno. Toönost Je zelo odvisna od discipline javljanja (voznik, prejemnik podatkov). 2.2. VzdrŽevanje vozil Obravnavali bomo samo tisti del podsistema, ki oblikuje informacije o razpoložljivosti vozila z vidika vzdrževanja. Ta del zajema naSrtova-nje rednih servisnih pregledov, veCjlh popravil In zamenjave sklopov ter vsklajevanje zahtev vzdrževanja In eksploatacije vozil. DoloCanje rednih servisnih pregledov Je odvisno od normativov in stanja vozila (km, ure obratovanja). Vsako odstopanje od rednega pregleda povzroCl veöje.teXave pri kasnejSem popravilu. Načrtovanje obsega doloSanje datuma In ure prihoda v delavnico ter pripravo (kadri In rezervni deli). Seveda so osnova naSrtovanju prevoženi kilometri ali ure obratovanja. To načrtovanje nI zaÜtevno, ker je s prolzvajal-Sevlml predpisanimi roki ali km doloCeno Izho-dlSCe In je samo od odlofievalca (vzdrževalca) odvisno ali bo upoSteval sprejeto informacijo o zahtevi po rednem pregledu vozila. Rezultati načrtovanja so shranjeni v zapis o celotnem stanju vozila. Načrtovanje večjih popravil in zamenjave sklopov je težje zaradi nepredvidenih Časov nastopa okvare. Sodoben način vzdrževanja cestnih tovornih vozil Je usmerjen k zamenjavi sklopov ter kasnejSemu popravilu zamenjanega sklopa. Tako je vozilo malo časa izven uporabe. Osnova temu naSrtovanju je evidenca okvar v preteklih obdobjih, evidenca vzrokov in tehnična navodila (norme) proizvajalca. S pomočjo teh evldene in matematičnih metod (stohastlka) lahko določimo pričakovani čas nastanka okvare. Te čase določimo za vsak sklop posebej ter postanejo del normativov za te sklope. Občasno ponovimo postopek ugotavljanja teh časov z upoštevanjem novih podatkov o nastalih okvarah. Slika 4 podaja Izvedbo podsistema za načrtovanje pregledov in zamenjav. Postopek 2 na sliki U ponavljamo v istih časovnih presledkih kot načrtovanje rednih pregledov. Rezultati so shranjeni v celotnem zapisu o stanju vozila. fteStoPBul Slika 3. Primer šifriranja nahajališča KEINIH CHACUM ^Akowhih "SMJJUU UsKlMJMg tioarfc ep SMIOJE «UIL4 uA^n apuiH n«6Lkt>cv WW« UDUUrnn lEMtlAAU Mti Slika U. Podsistem za načrtovanje popravil 2.3. DoloSanj» optimalne poti Opravljanja pravozoT na đoloCenl poti oplSemo kot večfazni proces. Posamezne faze predstav-l;)ejo ođeeke mad zaSetno in konSno toSko izbrane poti. Izbiro optimalne poti Izvedemo z uporabo dlnamifinega programiranja kot posebne panoge uporabne natematilce (metoda diskretnega dlnamlSnega programiranja). Proces izvajanja prevoza poteka ob spreminjanju neke enodimenzionalne spremenljivke (Sas, razdalja, cena, vrednost). RaSunalnlSko doloCanJe optimalne poti zahteva doloCitev osnovnih izhodi9£nib elementov (izvedba algoritma nI predmet tega dela). Ti elementi so: vrsta kriterija, ekstrem in velikost cestne mre£e, ki Je zajeta ned zaCetno in konCno toCko relacije za katero iS-Semo optimalno pot. Rezultat Je podan z opisom celotne relacije (vmesne toSke) ter Je sbran-^ Jen v BP za nadaljno uporabo pri razporejanju, Iskanje optimalne poti se Izvaja loSeno v določenih Sasovnlh presledkih (ko zberemo vse podatke o doloSeni relaciji). Tudi v tem primeru so vozniki pomemben vir podatkov poleg avto-kart in Informacij o stanju cest, predorov in vzponov. Dodajanje rezultatov v BP stalno : povezuje zbirko optimalnih poti. ObSasno se £e obstoJeSe IzraCunane poti ponovno obdela s podatki o novem stanju kriterijev. Vse relacijo za katere ni Se dolofiena optimalna pot (doloSl Jo razporejevalec) so ravno tako shranjene v zbirki relacij. Zahteva po določanju optimalne poti z več kriteriji (razliSne enoto mer) nas privede do obveznega pretvarjanja posameznih vrst kriterijev na skupno enoto. RaSunalniSko doloSanJe Je težko izvedljivo, ker zahteva poseg odloSevalca zaradi doloCanJa ponderJa ali , pretvarjanja. Pretvorba na skupno enoto ni vedno enostavna zaradi razliSnih pomenov kriterijev (Cas,ovira na cesti,cestnina). Najprimerneje Je vse kriterije pretvoriti na dve enoti in sicer na časovne in vrednostne. Izkustveno razmerje popaCl absolutne lastnosti. HoSna re-Sltev Je v loCenem določanju optimalne poti za vsak kriterij posebej. Slik^ 5 prikazuje izve- Setka prevoza, V primenl, da ne obstaja vozilo na tem podroSJu posreduje odločevalec In dolosi status zahteve (poSaka, da se pojavi vozilo na tem področju ali doloSi drugo vozilo). > popOiNircv _ SMUltt oriltWlXIK ttsn m To&miihm f [HK vuo» mmuv ©WElAtÜl 1 eiiULt Mnom OlltVIAJB o Slika 5. Podsistem doloSanJa optimalne poti 2.4. Razporejanje vozil Podsistem RIS-a za razporejenje vozil zahteva izvajanje predhodno opisanih podsistemov. V > nasprotnem primeru Je rezultat razporejanja neuporaben. Algoritem oblikovanja odločitve o razporeditvi Je prilagojen sprotnim zahtevam. Odločevalec Ina možnost stalnega posega v njegov potek. Dopolnjuje zahtevo po.prevozu in dodaja manjkaJoSe delne ali nepravilne reSitve zaradi napačnih podatkov ali njihovega Izostanka. Potek izbire vozila Je podan na sliki 6. Prodajna funkcija oblikuje zahtevo in Jo preda v vrsto. Vsebuje podatke o naročniku, tovoru in posebnostih. OdloSevalec prazni vrsto po svoji presoji. Sledi iskanje primernega vozila (nahajališče, tovor in omejitve vzdrževanja). Algoritem izbere vsa vozila, ki so prijavljena na danem področju. Razvrgčena so od najbližjega do Se sprejemljivo oddaljenega od točke za- CKOUEC \ J Slika 6. Algoritem razporejanja vozil Naslednji korak algoritma preverja lastnosti vozil in tovora. Vrsta In količina določata potrebne lastnosti vozila za ta prevoz. Temeljna lastnost Je nosilnost, ostale pa so; prostornina tovornega prostora, poseben ustroj podvozja, hitrost. Tako izbrana vozila se preverja z omejitvami vzdrževanja. Dolžina in Cas trajanja predvidenega prevoza lahko prekoraSita določene zahteve za redni pregled ali zamenjavo sklopa. V primeru, da Je Izbranih več vozil lahko odlofievalec Izbira na osnovi danih kriterijev (najbližje vozilo, ocena voznika, Število voženj) ali po svoji presoji. Ravno tako lahko uvrsti zahtevo v vrsto ali sam določa vozilo. Se Je rezultat iskanja vozil negativen. Po določitvi vozila sledi določanje poti Iz zbirke optimalnih poti. Zahteva za prevoz vsebuje zafietno In konSno točko prevoza. Algoritem ugotavlja prlsotmost te relacije v zbirki optimalnih poti. V primeru, da ne obstaja SelJena relacija,'odloŠevalec sam doloSl pot prevoza. S tem Je podana reälteV razporeditve vozila. OdloCevalec potrdi ali dopolni reSltev in Jo preko podsistema spremljanja vozil posr-' eduje vozniku Izbranega vozila. Izvajanje take razporeditve zahteva veliko vhodno-izhodnih operacij (dlaki, linije za ekranski terminal in povezava z ostalimi podsistemi) in kratke Case odziva.Bazporejenost vozil in njihovo Stavilo so osnova za doloSanJe računalniških kapacitet« Poseben primer (izjema) nastopi v Imeru, ko odločevaleo sam določi vozilo in se ne Izvajajo vsi koraki algoritma. Opisani podsistem lahko nudi prodajnemu podsistemu informacije o nerazporejenih vozilih. Tako Je povečana izkoriščenost vozil (išče se tovor za ta vozila pri moinih naročnikih). 3. MOŽNOSTI PROGRAMIRANEGA ODLOČANJA Obravnavani model razporejanja prepuSSa končno odločitev o izbiri vozila in poti razporejeva-lou, vendar vsebuje nekaj elementov za pirogra-mlrano odločanje. Ti elementi so; cilji, spremenljivke katere lahko nadziramo ali ne ter pravila odločanja v obravnavanem modelu. Zavedamo se, da obstajajo realne možnosti za uvedbo programiranega odločanja na operativnem nivoju procesa izvajanja prevoza. Cilj na tam nivoju Je razporeditev vozila za določeni tovor na določeni poti. Spremenljivke so sledeče: vrsta tovora z vsemi podanimi lastnostmi In pogoji, mesto in čas prevzema in dostave blaga, tehnično stanje in lastnosti vozila ter nahajališče. Izvajalec lahko delno vpliva na tehnično stanje in čas dostave tovora. Ostale spremenljivke so dane z naročilom prevoza. Pravilo odločanja se glasi: določi tisto vozilo za naročeni prevoz, ki Je najbližje zahte-vanetniu mestu prevzema blaga, po svojih tehničnih lastnostih lahko prepelje tovor po optimalni poti In nima nobenih zadržkov zaradi vzdrževanja. Navedeni elementi programiranega odločanja so podobni elementom algoritma za razporejanje vozil. Pravilo odločanja Je izpeljano aa uspeSne izide posameznih stopenj preverjanja stanja. Težava nastopi, ko določena stopnja preverjanja ne zagotovi uspeSnega Izida. RazSiritl moramo pravilo odločanja za tak primer in prilagoditi parametre (obseg). Ti so vsebovani v BP. Vsaka nadaljna stopnja razširjanja povzroči odmik od optimalne rešitve. Rezultat ni optimalna odločitev Je pa edina..' možna. Prevelik odmik povzroči zavrnitev zaht-, eve po prevozu ali čakanje te zahteve v vrsti za razporejanje. Določitev vseh parametrov Je v tesni povezavi z ekonomskimi učinki reSitve razporejanja, Stalno prilagajanje parametrov dejanskemu stanju omogoči učinkovito programirano odločanje pri ra2530rejanju vozil. h. ZAKLJUČEK Učinek prevoza, kot osnovno merilo vrednosti procese prevoza. Je pogojen z kakovostjo izvedbe razporejanja vozil (nI edini pogoj). Nakazali smo možne vsebinske reSltve opisanega RIS ' za razporejanje vozil. Ostali elementi (računalniška oprema, organiziranost DO) so odvisni od organizacije za prevoz blaga. Zavedamo se, da Je oblikovanje RIS obsežno delo, ki zahteva skupinsko delo strokovnjakov iz vseh področij poslovanja DO ter ustrezno znanje in opremo. Upamo, da Je opisani model dovolj dobra osnova za pristop k oblikovanju resničnega RIS-a za razporejanje vozil In da bo uspešna Izvedba potrdila naSa razmiSlJanJa. Literatura: Buroh and Strater....Information Systems : Theory and Practice, Wiley/Hamilton Pubi. Santa Barbara 1974 A. Vadnal............Diskretno dinamično programiranje, DZS, Ljubljana 1976 J. Grad............. .Določitev optimalne poti z metodo diskretnega dinamičnega programiranja, Ekonomska revija, LjubiJ. št.1-2/1979 M. Karunlca..TehnoloSko-transportno opisivanje itinerara u cestovnom robnom transp. u funkciji upravljanja, Suvremeni promet,1982/2 L. Gullč.............Računalniški Informacljs kl sistem v organizaciji za cestni prevoz blaga, magistrsko delo, KF LJ, 1984 RAČUNALNIŠKO PODPRTO NAČRTOVANJE PULZNIH USMERNIKOV Bojan Alatl£, Kerel Jezemtk tehniška fakulteta maribor UDK: 681.3.06 Povzetek - V referatu je opisan program'PASEP za analizo in sintezo pulznih presmernikov. Podane so osnove modeliranja presine mikov v prostoru stanj in razvite prenosne funkcije. Na primeru tranzistorstega mostifnega usmernika je prikazan postopek simulacije. Ta je bila izvajana na mikroračunalniku VAX 11 s pomočjo slmulacljskega programa PADSIM. COMPUTER - AIDED DESIGN OF SWITCH MODE POWER SUPPLYES Summary- In the paper is described software packet PASEP for analysis and synthesis of switch mode converters. Given are methods for evaluation of modells and transfer functions of converters.On the example ol bridge type switch mdde power supply is shown proceeding of simulation. The simulation was executed with simulation programm PADSIM on minicomputer VAX 11. 1. UVOD Na vseh področjih elektronike je v zadnjih letih prišlo do naglega razvoja komponent. Z razvojem polprevodnikov, še posebej hitrih visokonapetostnih diod in tranzistorjev, se je na področju močnostne elektronike odprlo zelo široko aplikacijsko področje - enosmerni presmerniki in pulzni napajalniki. Načrtovanje pulznih napajalnikov je lahko zelo zamudno delo. Izračune elementov pretvornikov večkrat ponavljamo, vrednosti elementov pa preverjamo ob delovanju pretvornika. Taka pot je dostikrat neuspešna in ne vodi do optimalnih rezultatov. Računalniško podprta analiza, sinteza in simulacija je zato edina smiselna rešitev tega problema. Obsega načrtovanje enosmernih presmernikov, vhodnega (mrežnega) usmernika s filtrom, Izhodnega usmernika s filtrom in načrtovanje PŠM s prožilnimi stopnjami za tranzistorje. Analizo in sintezo v stacionarnih pogojih Izvajamo s programom PASEP, Analizo dinamičnih pojavov v napajalnikih Izvajamo na podlagi znanih modelov s prirejenimi simulacij s ki ml programi. 2. PROGRAM PASEP Program PASEP je namenjen za analizo in sintezo enosmernih presmernikov. Izračunavanje elementov presmernikov je zamudno in nepregledno, večkrat ga je potrebno ponoviti, zato je na dlani, da za takšno delo uporabimo računalnik.- Ker razvojni inženir največkrat nima na razpolago velikega računalnika, osebni in hišni računalniki pa postajajo Vedno bolj razširjeni in dostopni, smo razvili program PASEP y programskem jeziku BASIC, ki je najjR najbolj razširjen- -, Program PASEP je rasideljeh. na 12 podprogramov, ki sami zase predstavljajo celota, lahko pa se med seboj dopolnjujejo. Zgradbo programa,kaže si. 1. Kot je s sUke razvidno, lahko Izvajamo sintezo in analizo 1=^ d«luij« kot »moBLoJni progrem -^ kol podprogj-am SI. 1: Zgradba programa PASEP pretvornikov brez in z galvansko ločitvijo, opravimo konstruiranje duš ilk in transformatorjev, vhodnih in izhodnih usmernikov in filtrov ter prožilnih stopenj za tranzistorje. Delo z računalnikom je interaktivno, V glavnem meniju izberemo želeni podprogram, ga izvršimo, sam podprogram pa nas vodi v druge podprograme ali pa nazaj v glavni meni. Vnos podatkov poteka preko tipkovnice, izpis rezultatov pa je na zaslonu ali na tiskalniku. Podprogrami so razdeljeni na sintizo in analizo. Sinteza na podlagi zahtevanih vhodno-izhodnih parametrov presine mika izračuna vrednosti elementov L in C, opravi konslrutranje dušilfce in transformatorja, izračuna maksimalne In efektivne vrednosti tokov, stikalne čase In poda potrebne parametre polprevodnikov. Analiza na podlagi znanih vrednosti pasivnih elementov opravi izračun napetosti tn tokov presmernika, stikalnih časov ter valovItosti napetosti in tokov. V izračunih so lahko upoštevane para-zltne napetosti polprevodnikov, ki Jih podamo pred pri-četkom izvajanja programov [l, 2, 3, 4). Podprograma za konstruiranje dušilk in transformatorjev na podlagi zahtevanih Induktlvnosti, tokov in magnetnih, gostot feritnih materialov izračunata potrebni ploščina ki produkt magnetnega jedra za dašilko ali transformator. Na osnovi potrebnega ploščinskega produkta (velikosti) jedra se opravi izbor Iz tabele petih družin feritnih jeder (lončki FL, U jedra FU, KM jedra, EE in EC jedra). Upoštevaje magnetne in ostale parametre izbranega jedra se opravi izračun števila ovojev, potrebnih presekov žic, zračne reže, izračunajo pa se tudi izgube. Primer izpisa poteka konstruiranja dušilke je prikazan na sliki 2. opišemo z enačbami stanja. Pri Izboru spremenljivk stanja ni posebnih predpisov, običajno pa vzamemo kot spremenljivki stanja lok dušilke in napetost kondenzatorja. Katerikoli presmemik, ki deluje s kontinuiranim prevajanjem, l^ko predstavimo z enačbami spremenljivk stanja oblike za interval tvk Ä = Aj . X + b^ . Uj ° • 5 za interval tiz ^ " - * -2 ' "i (i). pri čemer velja T . tvk + tiz Da dobimo povprečeni model, moramo izraza za x v enačbi (l) množiti z vklopnim razmerjem in ju-sesteti. Dobimo enačbi kl ju lahko pišemo v običajneJši obliki (2) TOCPTOCRm zn KCHSTRUlIHtKJE DUSIIJIE B - iM4MtM «aitgti a. J T J - tskoviu «oitot* -ì «'««Ž k - iHoruttk ruviinliHM crtirt« "».S Potrtboi Plo«iii»l(il>r«k>kt «dr« f» (- •8.13418333 ■ rseEt« fEPiTHLH LOHCKCtV TIP n> - DU > HM • DEtl- ARK ■ EPS - HL • IIEL8- TIP • ULAZ- HLAD- BPOJ- IF - OAMA- 0 H - B P • PA - PR - ARK - NAKU- APR - NPR - KO - AAK - NAK - PUK - lAOR- AN - nu - HM - HNH - Slika 1, ^Izgled čvrste tablice na ekranu sa svim oznakama za proračun spiralnog namota Završavajući upla ulaznih podataka prelazi se na proračun 1 slaffinje namota. SlaBanje namota je interaktivni rad korisnika s progracnom. Tijekom proračuna namota pojavljuje se na ekranu niz izračunatih parametara 1 pitanja na koja Je korisnik dužan odgovoriti. Projektant prihvaća 111 odbija ponuđenu. Izračunatu vrijednost, upisuje odabranu vrijednost iz niza ponuđenih vrijednosti (parametri vodiča, širina izolacije), odabire moguć put u slaganju namota te na taj račin omogućuje odvijanje programa. Zahvaljujući lakoj 1 razumljivoj komunikaciji projektant-program, detaljnoj podlozi 1 algoritmima za proračun namta vrlo brzo ae ostvaruje kvalitetno projektno rješenje. Detaljno opisivanje tijeka proračuna i slaganja pojedinog nainota, odvelo bi nas vrlo daleko, te bi zapravo demonstracija "uživo" dala pravu sliku interaktivnih programskih modula za sla^nje namota. Dio izračunatih parametara u procesu,slaganja namota upisuje se u nastavku "čvrste" tablice na ekranu, te je na taj način ostvarena mogućnost da projektant u svakom trenutku ima uvid u kompletno projektno rješenje. Definitivan Izgled "čvrste" tablice na ekranu za primjer slaganja spiralnog namota prikazan je na slici 2. Nakon sto Je završeno sla^nje namota postoji mogućnost da se cijeli postupak ponovi & novim ulaznim podacima ili projektant može s istim ulaznim podacima slagati neko drugo projektno rješenje namota-. Izlazni podaci proračuna pohranjuju se u izlaznu datoteku tipa TMP {datoteka privremenog karaktera), istog imena Vcao i ulazna datoteika u konkretnom slučaju, i služe za dokuEientiranje projektnog rješenja. U programe za proračun namota ugrađen Je veči broj standarda i propisa koji čine tzv. popratnu papirnatu dokumentaciju koja je potrebna prilikom projektiranja namota i time Je rad projektanta bitno olakšan. Umjesto da pretražuje po papirima prilikom proračuna, njemu se u procesu slaganja nudi izbor dozvoljenih (standardnih) vrijednosti. NAH • NM NF -J MAT •CU CSP -D SN • 310.00 UH ■ 11.00 F D 50.00 MST 3.00 "si - mToo" U - 48.00 S 2.00 1,00 DU - 1193.00 HN - 2S90.00 DELI- O.SZ ARK ° 4.30 EPS M 1,00 HL • 40,00 DELS- 20.00 Tlf "U IF •10103.03 ULAZ>1 OAnA- 3.12 HLAn=GFAF a - 501.77 H - 13.14. B > 4S.I3 f ' 6 PA " 6 PR KD rt m 1 i.oa ARK 4.20 HRKU- 3 PUK - 4&2.00 ZADR- 21,10 AN - m.SO BV ■ 137Ì.00 HN - ZSTO.tO HNH - 2AS1.4S Slika 2. "Čvrsta" tablica na ekranu za primjer proračuna spiralnog namota 3. OPIS PHOGRAMA ZA PRORAČUN SPIRALNOG NAMOTA Programi za proračun namota tipa sRlralni, preloženi i upleteni realizirani su na istim načelima. Ovdje je prikazana hijerarhijska karta koja pokazuje logišku povezanost modula i tijek podataka u programu za proračun spiralnog namota. Ibn Je također i kratki opis programskih modula. U(.A2 SPIR IZ LAI ^C. TMP iilotno lilla Slika 4. Tijek podataka u progr-aiirii za slanje spiralnog namota Slika 3. Hijerarhijska karta za program za slaganje spiralnog namota OPIS PROGRAMA' KOJI SE KORISTE U PROGRAMU ZA SLAGANJE SPIRALNOG KAMOTA SPIR ÜLAZSP IZOLN IF HVOD BVOD - Olavni program. - Potprogram za; - ispis ulaznih podataka u "čvrstu" tablicu na ekranu ili - upis ulaznih podataka u "čvrstu" tablicu na ekranu i - ispis ulaznih podataka u ulaznu datoteku - Potprogram za određivanje nominalnog prirasta izolacije vodiča - Potprogram za proračun fazne.struje - Potprogram kojim se odreduje u okolišu laraču-nate visine vodiča standardna vrijednost visine vodiča. Ovaj potprogram koristi potprogram VODI - Potprogram kojim se određuje u okolišu ižraču-nate širine vodiča standardna vrijednost širine vodiča. Ovaj potprogram koristi potprogram VODI, HVODK BVODK PRES TSV IZOLI SKIMSP ZAGRSP - Potprogram koJim se određuje u okoliSu izračunate visine vodiča standardna vrijednost visine vodiča, ako je vodič motan na "kant". Ovaj potprogram koristi potprogram VODI. - Potprogram kojim se određuje u okolišu izračunate širine vodiča standardna vrijednost širine vodiča, ako je vodič motan na "kant". Ovaj potprogram koristi potprogram VODI, - Potprogram za proračun presjeka vodiča (za profilni vodič). - Potprogram za određivanje standardnih vrijednosti tranaponiranog vodiča: - visina temeljnog vodiča, - visina vodiča, - širina temeljnog vodiča, - širina vodiča, - broj temeljnih vodiča - presjek vodiča. - Potprogram kojim sé određuje prirast izolacije vodiča (radijalno i aksijalno). - Potprogram za proračun faktora skin-efekta. - Potprogram za proračun srednjeg zagrijanja namot-ulje. CUBSP - Potprograra za proračun gubitaka u ramotu (I^R i P^J. MASASP - Potprogram za proračun mase namota (goli i Izolirani vodič). OTPORS - Potprogram za proračun otpora namota (po stupu). VODI - Potprogram kojim se određuje polje standardnih vrijednosti visine ili širine vodiča. IZLAZSP - Potprogram za Ispis izlaznih podataka u izlaznu datoteku. m. zaključak Koncepcija interaktivnog programa uz rad sa "čvrstim ekranom", koja je prlmjenjena u Izgradnji programa za slaganje i proračun namota, je u potpunosti opravdala Idejne odrednice. Jednostavnost, lakoća, brzina i komfor u procesu slaganja namota, rad sa "čvrstim ekranom" pokazala su se kao bitna svojstva na kojima treba temeljiti 1 daljnji rad na razvoju- programa za proračun preostalih tipova namota. Ugradnja propisa, standarda te oslobađanje projektanta od raznovrsne dokumentacije u procesu slaganja namota pokazuje se kao daljnji kvalitet programa. Također bi upravo na ovoj koncepciji trebala počivati realizacija programa koji su karakterom problema srodni problemu slaganja namota, dakle takav vid problema u kojima bi koncept interaktivnog programa potvrdio svoje vrijednosti . LITERATURA Petar čavlović: Razvoj interaktivnih programskih modula za proračun i slaganje namota u transformatoru, Magistarski rad, Elektrotehnički fakultet Sveučilišta u Zagrebu, 1933. g. PROGRAMSKI SUSTAV ZA PRORAČUN ELEKTRIČNOG POLJA UZ NAMOTE TRANSFORMATORA Loslca Mladen, Elektrotehnički institut "Rade tCončar" Zagreb, Baitljanova b.b. UDK: 681.3.06 U Slanku Je opisan programski sustav za proračun električnog polja u prvom aksljalnom kanalu uz visokonaponski namot transTormabora za slučaj Ispitivanja udarnim naponom. Kao osnova sustava korišten Je program za proračun električnog polja u osnoslmetrlčnlin modelima baziran na primjeni lnte~ gralnih Jednadžbi. PROORA« S/STEM FOR CALCULATION OF THE ELECTRICAL FIELD NEAR TRAHSFORMER WINDINGS - This paper presents the program system for calculation oF the electrical field in the first axial chanell near the high - voltage transformer winding, in the case of the surge voltage test. The base of the system la the program which utilises integral-equatIona approach for calculation of electrical fields in axially-symmetrlc models. 1. [JVOD Postojeći program za proračun električnih polja razvijen Je u Sektoru za transformatore Elektrotehničkog Instituta "Rade KonSar" u suradnji s Elektrotehničkim fakultetom u Zagreba Program Je zasnovan na rješavanju osnosioetrl-čnlh modela primjenoia integralnih jednadžbi. Općenitost programa omogućuje rješavanje bilo kakve osnosimetrične strukture. To, međutim , uvjetuje i uopćen način zadavanja ulaznih po. dataka koji predpostavlja poznavanje funkcioniranja metode proračuna. Uz to bilo Je potrebno da korisnik donekle poznaje i operaoioni sistem samog računala. Ukoliko se proračun ograniči na model čija se geometrija bitno ne mijenja, moguće Je pojednostaviti zadavanje ulaznih podataka. U daljnjem tekstu biti će opisano definiranje modela 1 ulano-lzlaznl moduli koji omogućavaju znatno jednostavnije korištenje programa prilikom projektiranja. 2. DEFINIRANJE MODELA Na slici 2.1 prikazana Je geometrija od koje se polazi prilikom definiranja modela. / / • ' ^ ^ ■ ' r \ /i/// / / / y /' . 1 , / / / . 1 SI. 1 - skica presjeka geometrije na osnovu koje se formira model Značenje oznaka Je slijedeće: J - Jezgra transformatora NN - niskonaponakl namot VJJ - visokonaponski namot prlkaaan razđje -IJen na pojedine svltke PP - potencijalni pratenovl na krajevima namota B - papirnate barijere u aeđunamotnom prostoru AK - prvi aksljalnl kanal uz VN namot. Kada bi memorija računala dopuštala, geo-oetrlja na sllol 1 mogla bi ae nepromjenjena koristiti kao model za proračun el. polja.Pro-raSun, upravo zbog ograničene memorije, dozvoljava rješavanje relativno Jednostavnih modela, pa se geometrija na alici 1 mora pojednostaviti. a ovom aluéaju traži se proračun polja gamo u prvom aksljalnom kanalu uz VN namot pa se model pojednostavljuje na temelju slijedećih kriterija: - polje u prvom aksijalnom kanalu računa ae u vlalnl prvlfi seat ulaznih avitaka VN namota ■ - sve papirnate barijere u medunamotnom prostoru, osim prve uz VK namot, spajaju se u rezultantnu barijeru - sve konture na Jednakom potencijalu spajaju se zajedno u Jednu konturu. Da bi model bio potpuno definiran korisnik unosi niz parametara koji određuju tip svltaka u VN namotu, mjesto Izvoda faze iz VN namota , te niz podataka o dimenzijama transformatora. 3. ULAZNO - IZLAZNI MODULI Ulazno-tzlazni moduli 3U napravljeni tako da maksimalno olakšaju korištenje programa, odnosno rad 3 računalom. Ha temelju kriterija spomenutih u prethodnom odjeljku ulazni moduli formiraju model, diskretiziraju ga i pripremaju podatke za daljnji proračun polja 1 za iz -lažne module. Program ujedno proračunava raspodjelu potencijala na svlcima VN namota za poznate vrijednosti udarnog vala. Pretpostavka Je da 30 VM namot aproksimira samo s mrežom kapaciteta, a za udarni val se uzima odrezani oblik. Po želji korisnika potencijali se mogu zadavati i posebno. Ulazni moduli vrše 1 kontrolu ulaznih podataka, tako da Je spriječeno unošenje nelogičnih podataka. Broj ulaznih podataka bitno je smanjen u odnosu na broj koji Je bio potreban prilikom rada a Izvornim programom. Izlazni moduli prilagođeni su za prikaz rezultata proračuna za specifični slučaj računa polja u prvom aksljalnom kanalu. Za projektanta Je bitno dobiti faktore sigurnosti (definì--rani kao omjer dozvoljenog i srednjeg polja po sllnlel) za tipične sllnioe u prvom aksljalnom kanalu koje kreću s prva tri ulazna svitka. Na osnovu toga razrađeni su Izlazni moduli koji omogućavaju : - Prikaz modela i silnica na ploteru - Tablični prikaz faktora sigurnosti na listi štampača, ili na vldeo-termlnalu- Za primjer proračuna uzet Je transformator ARZ 150 000/120, te je na slici Z prikazana geometrija modela iscrtana na ploteru 1 silnice ucrtane u prvi aksljalni kanal. Badi se o trarv sformatoru s VN namotpm tipa EE Interlleved 1 izvodom faze a gornje, vanjske strane VM namota. • SI. 2 - slika modela dobivena na ploteru s ucrtanim silnicama Značenje oznaka Je slijedeće: A - nlskonaponskl namot na 0% potencijala B - stup jezgre na 0% potencijala C - Jaram na 0% potencijala D - kotao na O'Jl potencijala E - potencijalni prsten na lOOlt potencijala F1,...,F3 - prva tri ulazna svitka na 97 ,23i 98,99 1 93,59% potencijala Ft - daljnja tri svitka spojena u jednu konturu s linearnom podjelom napona 95,26 -86,73% potencijala od vrha konture do dna Gl - prva papirnata barijera do VM namota 02 - rezultantna papirnata barijera smještena u sredinu medunamotnog .prostora . 258 4. ORGANIZACIJA SUSTAVA 6. LITERATURA Na siici 3 prllcaaana Je organizacija auata-va 1 tok proceaa prora6una. Program Je zamišljen da radi Interaktivno, pa je korisniku omogućena Jednostavna izmjena ulaznih podataka i kontrola toka procesa. Nakon izvođenja ulaznih nodula 1 kontrole forolranog modela Ikvodl se Jezgra prograoia 1 pomoću izlaznih modula dobiva se traženi oblik prezentacije Izlaznih podataka. Kompletno vođenje toka procesa povjereno Je procesoru atvorenom u tu svrhu, tako da se korisniku što Je više moguće olakša rađ s ra£u -nalom. Na allei 3 crtkanim linijama 3u oznaSe-nl mogući izbori u pojedinim fazama izvođenja programa. Sustav Je rađen modularno tako se Jednostavno fflože servisirati 1 proširivati novim oodullma. n SI. 3 - organizacija sustava 5. ZAKLJUČAK LI - Haznadar Z., Đurek H.: Nuaerifko rješavanje elektrostatskih osnoslmetrlSnlh polJÉ^ IV BosanskohercegovaSki slepozijum Iz informatike, Jahorina 19S0. LZ - Stih Z.; Programski auatav za proraSun elektrlSnlh polja u transformatorima, 4. znanstveni akup PPPR, Stubi£ke Toplice, 1962. L3 - Stih 2.: ProraSun elektrlSnlh polja u trans forma torlma visokog napona s pomoéu integralnih Jednadžbi i polinoma trećeg stupnja , magistarski rad, Zagreb 1981. L4 - Stih Ž., Lozica M., Papié N.: CAD sustav za projektiranje izolacije velikih tran -aformatora, 6. znanstveni akup PPFR, Zagreb, 198U. Opisani sustav za proraäun polja u meduna-motnoai prostoru transformatora omogućava korisniku Jednostavno zadavanje ulaznih podataka , te obradu vise razliSitlh varijanti geometrij«^ uz minimalnu Izmjenu ulaznih podataka. Nije potrebno da korisnik detaljnije poznaje proraSun ni operaclonl sistem raSunala. Izlazni podaci prilagođeni au zahtjevima projektanta 1 mogu se direktno dalje koristiti. Modularna organi-zaclja sustava omogućava Jednoatavno mijenjanje starih, ili dodavanje novih modula. GRAFIKA IN CAD/CAM SISTEMI GRAPHICS AND CAD/CAM SYSTEMS SOFTVER GRAFIČKOG TERMINALA PREMA CKS STANDARDU Vranes Predrag, Miloš Bajčetić Institut Mihajlo Pupin, Beograd, Yugoslavia UDK: 681.3.06 Realizovan je grafički softver za terminal srednje rezolucije. Softver je projektovan kao paket procedura kojima se otiezbedjuje veza izmedju aplikacionih programa i hardvera terminala. Deo programa se izvršava na host računaru dok se ostatak izvršava pod kontrolom mikroprocesora u terniinalu. Sistem Je zasnovan na CKS standardu 1 podržava nivo Cö. A GKS BASED GRAPHICS TERMINAL SOFTWARE A graphics software for the medium resolution terminal has been ingslemented. It is designed as a procedure package that provides an interface between an application program and graphics hardware. Ùie part of the padcage runs on the host conqjuter vdille the rest of it runs under the control of a microprocessor located in the terminal. The system is based on the GKS standard conforming level Qa. 1. UVOD U radu će biti prikazana realizacija grafičkog softvera za terminal TIH-001. Ovaj terminal Je VT-iOO (cooipatlbi-lan uredjaj zasnovan na Intel-ovoj tehnologiji. Grafički modul, koji je opciono proširenje terminala obezbedjuje bit-mapiranu grafiku rezolucije 544 x 2^40 piksela sa mq-guerjošću prikazivanja 1 nijanse sivog. Softverski paket za ovaj modul se sastoji od niza standardnih procedura kojima se obezbedjuje sprtega izmed ju aplikativnih programa i hardverskih specifičnosti terminala. Jedan od osnovnih zadataka softvera je da se progranieru stavi na raspolaganje takav alat koji obezbedjuje protahilnost aplikacija i nezavisnost nihove izrade od hardverske organizacije grafičkog terminala. U tu svrhu, sve implementirane funkcije su reallzovane prema GKS standardu. GKS (Graphical Kernel System) Je zvanlčno, u poslednje vreme široko prihvaćen internacionalni standard,a sastoji se od niza Amkcija kojima se omogućuje Jednostavno programiranje grafičkih aplikacija. Trenutno realizovanim funkcijama,ovog projekta, nije obuhvaćen rad sa ulaznim uredjajlma kao ni koncept segnenata što prema klasifikaciji, datoj GKS standarCbm,predstavija nivo Oa. Korisnički program pisan u nekoin od viših jezika povezuje se sa grafičkim paketom standardnim pozivanjem procedura. CKS-an je potpuno sintaktički obuhvaćeno povezivanje sa prograioioa pisanim U PASKAL-u i FDRTRAN-u. Hadi opterećenosti prK)Oesora u samcan terminalu paket je realizovan jednim delon na "host" raòunara dok je preostali deo Implementiran u firmveru samog tennlnala, 2. OPSTE KARAKTERISTIKE HABDVERSKO-SOFTVERSKE ORGANIZACIJE GRAFIČKOG TERMINALA U osnovnoj konfiguraciji TlM-001 predstavlja alfanumerički VT-100 kompatibilan terminal sa mogućnošću prikazivanja 60 karaktera u 2k reda. Hardverska koncepcija terminala bazirana je na Intel-ovoj tehnologiji, pre svega mikroprocesoru 8085 i CRT kontroleru 8275. Iako u jednom od rezina rada omogućuje generlsanje osnovnih grafičkih primitiva komponovanjen grafičkih karaktera {semi grafika) sisteM je u cilju poboljšanja eraflčklh mogućnosti proširen dodatnim modulom. Pod poboljšanjem misli se pre svega na mogućnost generisanja kompleksnljih scena kao i na jednostavniju izradu aplikacionih programa. Pored toga, od softvera se očekivalo da korisniku učini hardver transparentnlm kao i da obezbedi portabllnost aplikaclo-nog programa,odnosno mogućnost njegovog izvršavanja na drugim grafičkim sistemima. Dodatni modul omogućuje rad terminala u bit-«iapiranoni grafičkom režimu rada sa rezolueljon od Sit sc 240 piksela i dva hita informacije po pikaelu. Glavna komponenta grafičkog modula je grafički kontroler INTEL 82720 koji pod kontroltm mikroprocesora generiše osnovne sinhroni-zacione signale i signale za upravljanje prikaznooi {displej) raKLorijom. Detaljnije informacije o hardverskoj organizaciji modula mogu se naći u posebnom radu Grafički kontroler takodje, raspolaže setom naredbi za generlsanje osnovnih grafičkih primitiva, što pojednost-vijuje izradu softvera (finnvera) i rasterećuje procesor. Kontroler može da crta tačku, vektor, luk, pravougaonik, ispisuje karaktere i postavlja atribute kojima se defi-niše izgled ovih primitiva. Mikroprocesor preko 8-bitne magistrale šalje kontroleru naredbe sa odgovarajućim parametrima čijom intepretacijon kontroler vrši Iscrtava-nje primitiva bez dodatnog an^žovanja procesora. Kjihov dijalog se obavlja preko l6-bajtnog FIFO bafera kontro-lera.Pre slanja podataka potrebno Je preveriti status bafera Jer u slučaju da je pun može doći do gubitka prethodno poslatih informacija. Relativno skromna procesorska moć mikroprocesora 80S5 uz stalno angažovanje na poslovima vezanim za alfanumerički režim rada i komunikaciju sa hostoai ostavlja malo prostora za ronzaci ju grafičkih funkcija. To je osnovni razlog što je softver implementiran u dva nivoa, deo koji se Izvršava na host raČunaru i jezgro Implementirano u firmveru terminala. Grafičke funkcije kojima raspolaže korisnik su deo standardnih CKS funkcija, [2] , Izabran je ovaj standard jer u potpunosti odgovara rameni^i projektnim zahtevima, a uz to je u poslednje vreme široko primenjivan kao zvanlčno prihvaćeni■internacionalni standard. Prednost njegove upotrebe u odnosu na nestandardno r^lizo-van grafički softver se može upor^diti sa prednošću koriščenja viših ptvDgramskih jezika u odnosu na asembler. Aplikativni programi pisani po ovan standardu su preno-sivi sa mašine na mašinu čime se po cenu optimalnog koda ostvaruje Jedan od osnovnih ciljeva savremeno koncipiranih grafičkih računarskih sistema, povećanje produktivnosti prograaerskog rada. Implementacijom dela softverskog paketa u firmveru samog terminala i izborom GKS standardnih funkcija u dalim okolnostima pokušalo se udovoljiti i ostalim zahtevima savremeno koncipiranih grafičkih terminala [jji rasterećenje hosta od grafičkih poslova 1 portabllnost aplikativnog softvera. 3- OSNOVKE FUNKCIJE IHPLEMEKTI RANOG CKS STANDARDA GKS se može definlsati kao biblioteka grafičkih prograna kojima se omogućuje generisanje dvodimenzionalnih (2D) slika nezavisno od sistema na kome 36 Izvršavaju. Tako se, kako je već istaknuto, ostvaruje funkcionalna sprega izmedju aplikacionog programa 1 u našem slučaju erno-belog inonitora kao izlazne jedinice. Kompletan set grafičkih funkcija GKS-a obuhvata i rad sa grafičkim sistemijna visokog .kvaliteta. Kod sistema čija je organizacija skromnija,kao u ovom slučaju,dovoljno je koristiti samo podskup iz konpletnog seta funkcija st-ćuidarda. To Je GKS-cm i pređvidjeno tiv. konceptom struktura različitog nivoa. Deflnlsano je 12 nivoa koji odgovaraju različitim zahtevlma grafičkih aplikacija. Nivoi su kompatibilni naviše. Struktura nivoa bi se mogla predstaviti sa 2 nezavisne ose, od kojih bi Jedna predstavljala ulazne nivoe Cu opse^ od a do c) a druga izlazne (iB, 0, 1, 2). Naša ImpleménUcija podržava funkcije nivoa Oa, [2] . Nivo Oa obuhvata funkcije ■ izlaza svih grafičkim primitiva, Upravljanje njihoviia izgledom posredstvom atributa i upravljanje transformacijama koordinatnih sistema. Grafički ulaz 1 rad sa sepnentima nisu podržani. Od izlaznih primitiva korisniku su na raspolaganju; - POLYLINE - niz nadovezanih linija - POLYMABKEB - niz simbola na odredjenim pozicijama - FILL AREA - poligonalna površina - TEXT - niz karaktera Izgled navedenih primitiva zavisi od vrednosti atributa. Posebnom funkcijom korisnik upisuje vrednost svakog od atributa u listi stanja. U toku procesa crtanja atributi se uzimaju iz 2 izvora. To su, već pomenuta lista stanja i unapred deflnisane tablice (bundle tables). Koji je ižvor aktuelan odredjuju indikatori izbora atributa. Atributi primitiva su; - POLYLINE - indeks, tip, boja i debljina - POLYMARKER - indeks, tip, boja i veličina - FILL AREA - indeks, način ispunjavanja i boja - TEXT - indeks, preciznost, veličina, razmak, boja, vektor položaja, položaj pravo-ugaonlka koji uokviruje tekst. Kada se atributi odredJuJu vezano, Indeks svake primitive ukazuje na vrstu u tablici iz koje se očitavaju vrednosti atributa,, a kada ih odred ju jemo pojedinačno očitavaju se iz liste stanja. Ma ovcm nivou korisnik ne može definisati nove vrste u tablicama. REALIZACIJA SOFTVERA Programski paket, koji se izvršava na "host" računaru omogućuje spregu izmedju aplikativnog programa i terminala. Taj paket se, kao biblioteka potprograma, povezuje sa aplikativnim programom pisanim u nekom od viših programskih Jezika. Standardom Je potpuno deflnlsano povezivanje sa FORTHAN i PASCAL programima. Korisnik u svom programu poziva pojedine potprograme, a na "host" računaru se vrši interpretacija poziva. Blok dijagram grafičkog softvera prikazan je na si. 1. Od svih funkcija predvidjenlh pomenutlm nivocm GKS-a, na "host" računaru se obavlja transformacija koordinata okoline (world coordinates) u normalizovane koordinate i od-secanje (clipping) u odnosu na specificirano vidno polje. Posebnom funkcijom korisnik definise svoj koordinatni prostor 1 deo normallzovanog koordinatnog prostora na koji se njegov prostor preslikava. Normalizovane koordinate su realni brojevi od 0 do 1, Odsecanje se može onemo-pićlti upisom odgovarajuće vrednosti u registar odseoa-nja. Po obavljanju transformacija koordinata i odsecanju nevidljivih delova slike formira se displej fajl koji se uglavnom sastoji od funkcija za generisanje izlaznih primitiva sa normalizovanim parametrima kao koordinatama. Zahtevan ža interpretaciju od strane hosta vrši se izvršavanje funkcija iz displej fajla. APLIKATIVrn PROeitAM BtUFtĆKI SOFTVeH ,HOST'liAČUmii mAMsmiHAaje KOO/tOmATA 1 OÙSECAHJE tcuPPiuej 1 oeNERATOf) mfLSJ tfooA H TSffMIHAt MODUL fmCEOUK ZA CSTANJE OKS I^IMITtVA PPOCeOUKAZA UFM/LMUX M-DommmoLERA Slika 1. Blok-dijagram grafičkog softvera Kako su te funkcije u tesnoj vezi sa hardverom koji ge-neriše sliku njihovo izvršavanje se obavlja u samom terminalu JCao rezultat interpretacije na hostu terminalu se preko serijske magistrale šalje jednoznačni kod funkcije sa odgovarajućim parametrima. Parametri mogu biti realni brojevi (normalizovane koordinate) 1 celi brojevi {vrednosti atributa primitiva u ASCII kodovima karaktera). U meri u kojoj je to bilo moguće u kodiranju je poštovan Tektronix 4110 standard? Kod svake funkcije se sastoji od 'escape' simbola i još_2 ASCII kodirana karaktera. Simbol 'escape? označava i početak tekuće naredbe 1 kraj prethodjie. Za one funkcije GKS koje Tektronix ne podržava usvajani su nepostojeći kodovi. Deo softvera realizovanog u terminalu je smešten u ERPCM-u 1 izvršava se pod kontrolom lokalnog mikroprocesora 8085. Oi^aj deo grafičke biblioteke je izvorno pisan ■ na višem programsktm jeziku za Intel-ove mikroprocesore PL/H-80 . Taj jezik ima dobar repertoar kontrolnih struktura i podržava koncept modularnosti. Firmver se.može razložiti u 3 nivoa: glavni modul, procedure za realizaciju GKS primitiva i procedure za upravljanje kontrolerom, U glavnom modulu se vrši obrada podataka koji stižu preko serijske magistrale sa host ra-čunara. Iz glavnog modula pozivaju sve procedure za crtanje GKS primitiva 1 neke od procedure za upravljanje kontrolerom. Glavni modul (slika 2) se'sastoji od beskonačne petlje u čijem Jednom izvršavanju se analizira sekvenca koda i parametara pristiglih izmedju 2 'escape' simbola. U ovoj petlji nalazi se "do-case" struktura u. kojoj se na osnovu pristiglih kodova odlučuje kakvu akciju preduzeti. Mogu se pozivati procedure ili obavljati upis vrednosti atributa u listu stanja. Lista stanja sadrži vrednosti svih atributa, unapred deflnisane tablice primitiva i granice prozora i vidnog polja radne stanice. Ođ procedura za upravljanje kontrolerom pozivaju se procedure do whilf (not end) cas9 first of / ---^ / mctMiZÀCui mot lomK- LBU a.1 aSISAHJE mimtx emim MnKtOUKA £A (XTAMJE 06 . pRMirm UFBimue VliBMOSn mmim u usTVsrmiA POIIVUHJE PKOSCUtA ZA CRWUEI ismNJAnutx POKUMimi* sj u^smis u USTU STAH1À BRAMA POOZO-HA /KOtt» POLJA SADtS STAWCE Slilca Z. Strukturni dijagram glavnog modula za Inloljallzaolju rada kontrolera 1 brisanje ekrana i one nemaju parametre. Blokovi u kojima se pozivaju procedure za crtanje GKS primitiva i upisivanje vrednosti atributa u listu stanja su takodje "do case" blokovi ■jgnježdeni u prethodnom. Ako su parametri koji dolaze normalizovane koordinate, na njina se obavlja tranafonnacija radne stanice. Korisnik definiše prozor radne stanice kao deo normalizovanog koordinatnog prostora kojeg želi da prikaže i vidno polje radna stanice koje predstavlja deo ekrana na kome se nomallaovani prostor prikazuje. Transformacija radne stanice preslikava normalizovane koordinate u koordinate ekrana (piksela). Procedure za crtanje primitiva u toku svog Izvršavanja pozivaju procedure nižeg nivoa koje upravljaju radom kontrolera. Procedure za upravljanje kontrolerom se ug-lavncm sastoje od operacionlh kodova naredbi kontrolera i pridruženih parametara koji se upisuju u njegov FIFO -- bafer. Te procedure postavljaju grafički kursor na željenu poziciju, upisuju uzorak linije ili karaktera u parametarskl RAM kontrolera, ispisuju karakter, crtaju linije i tačke. Procedure koje crtaju primitive u početku izvršavanja ispituju indikatore izvora atributa 1 na osnovu njihovog sadržaja odredjuju vrednosti. Posle ovoga se ispituje registar sadržaja parametarskog RAM-a i poziva procedura za upisivanje željenog uzorka u parame-tarskl RAM, VodJenjem evidencije o sadržaju ovog RAM-a izbegava se ponovan upis aktuelnog uzorka. Dalje se crtanje obavlja pozivanjem procedure za crtanje jednostavnijih geometrijskih oblika C tačke, linije). Primitive za crtanje 1 ispunjavanje pravougaonika spadaju u one funkcije GKS-a koje nisu zahtevane standardom i čiji Je način realizacije samo konceptualno dat. Njihova realizacija je iskoristila već prisutne mogućnosti kontrolera. 5. ZAKLJUČAK U radu je prikazana realizacija grafičkog softvera za terminal TIM-001 projektovan u Institutu Mihajlo Pupin. U cilju obezbedjenja portabilnostl pisanih aplikacija, lakšeg programiranja i nezavisnosti aplikacije od hardverske organizacije korišćen je GKS standard nivoa Oa. Zahtev savremeno koncipiranih grafičkih sistema za rasterećenjem hosta od poslova vezanih za grafiku je poštovan u meri u kojoj to dozvoljava procesorska moć mikroprocesora u terminalu tintel Bo85). Sistem Je namenjen 3D tehničkim aplikacijama nižeg nivoa ili složenijim poslovnim aplikacijama. Obzirom da Je deo softvera reali-zovan u terminalu zaokružen a i da se ne može dalje proširivati zbog opterećenja mikroprocesora S085 sva eventualna proširenja bi trebalo implementirati na host računanj. Moguće Je uvesti rad sa segmentima, dozvoliti korisniku definiaanje vrsta u tablicama atributa i obez-bediti podršku ulaznih uredjaja (svetleče pero ili tablet). Realizacijom ovih funkcija bi se ostvario viši nivo CKS standarda. Kako Je kompletan softver realizovan u Jeziku PL/M-80 moguće ga Je u znatnoj meri upotrebiti kod daleka kompleksnijih sisteoa na čemi se u Institutu Mihajlo Pupin i radi. 7. REFERENCE 1. Predrag Vraneš, Ivan Vojvodić, "Projekt terminaIskog grafičkog modula srednje rezolucije", INFORMATICA ' INFORMATICA '85. 2. "Graphical Kernel System", Computer Graphics (ACM/Siggraph), Vol.18, No.2, Feb. ISBH. 3. James Warner-, "Standard Graphics Software for High-Performance Application", lEE CG 4 A, March 1985. 1. PL/M-80, Programing Manual, INTEL. PROJEKAT TEfiHIHALSKOG GRÄFIÖCOG MODULA SREDNJE REZOLUCIJE Vraneš Predrag, Ivan Vojvođić Institut Mihajlo Pupin, Belgrade, Yugoslavia UDK: 68i;3.014 u radu Je prikazan projekt rasterskog grafičkog modula srednje rezolucije. Modul Je predvidjen za ugradnju u CRT terminal TIH-001, ali može se upotrebiti sa bilo kojim mikroprooesorora kontroliaanim uredjajem. Sistem se bazira na VLSI grafičkcoi displej kontroleru DfTEL 82720.Onogućen Je izbor Jednog od dva režima rada - crno beli režira ili režira rada u boji (U boje,odnosno 1 nivoa sivog). Modul podržava GKS grafički standard nivoa OA. DESIGN OF A MIDDLE HANGE RESOLUTION GRAPHICS TERMINAL MODULE The design of a raster-scan graphics module with a middle range resolution is shown. This module ia intended for use with a CRT terminal TIM-001, but it can be used with any microprocessor driven system. The system is based on a"VLSI graphics display controller INTEL 82720. It offers two modes of operation - black and white or color-mode {1 colors or t gray scale levels). GKS standard level OA is supported. 1. UVOD Računarska grafika, kao. jedno od najneposrednijih sredstava komuniciranja.čoveka sa računarom postaje ne samo neizbežni deo većine računarskih sistema, već i značajan faktor pri oceni njihovog kvaliteta. Pojavom VLSI integrisanih kola ^ grafičkim roogućnoatima - grafičkim kontrolerijna, omogućen je razvoj relativno jeftinih rasterskih grafičkih terminala srednje i visoke rezolucije za primenu u CAD/CAM sistemima, Rukovodjenl zahtevima tržišta kao i mogućnošću brze realizacije, u Institutu Mihajlo Pupin realizovan je grafički modul baziran na jednom takvom kontroleru koji bi se ugr^djivao kao opcioni dodatak u VT-100 kompatabilan CHT terminal, TIM-001. Modul se može koristiti i univerzalniJe, jer Je logički prilagodljiv za ugradnju na bilo koji mikroprocesorski sistem. Okosnicu modula predstavlja specijalizovani grafički VLSI čip - INTEL 82720 grafički displej kontroler (GDK). 2. INTEL 82720 GRAFIČKI DISPLEJ KONTROLER (GDK) 82720 GDK (si. 1) je integrisani mikroprocesorski periferijski čip, predviđjen za rad u sprezi sa bilo kojim mikroprocesorom generalne namene. Projektovan je tako da podržava rad rasterskih grafičkih ■ i alfa-nunieričklD displeja. GDK odvaja sistemski procesor od prikazane memorije obavljajući funkcije neophodne za generisanje rasterske slike i kontrolu 1 upravljanje prikaznoin memorijom. Bazične funkcije koje obavlja GDK su: - generisanje sinhronizacionih signala potrebnih za rad monitora; - generisanje signala za adresiranje prikazne memorije u cilju osvežavanja ekrana; - modifikacija prikazne memorije za vrane operacije iscrtavanja slike; - arbitracija pristupa prikaznoj memoriji izmedJu povremenih zahteva za upis sa Jedne 1 logike za očitavanje memorije u cilju osvežavanja ekrana sa druge strane. SI. 1. Blok dijagram INTEL 82720 GDK-a GDK omogućava programsko formatiranje prikaznog ekrana, kao i dužinu trajanja signala zamračivanja ("BLANKING"), horizontalnih i vertikalnih sinhro impulsa i si. GDK direktno podržava do 256K l6-bltnih rečl prikazne memorije (512 KBY). Onogućeno je zumiranje, panovanje i skrolovanje celog ili nezavisnih delova ekrana. Programski GDK se inicira za rad u: - grafičkoj konfiguraciji (koja se koristi u ovan projektu), - karakter konfiguraciji (kada radi kao kontroler alfa--numeričkih displeja) i - kombinovanoj konfiguraciji (kada se prikazuje i slika i tekst). U grafičkoj konfiguraciji GDK zahteva da se prikazna rns- morija organlzuje u l6-bltne, txJnoano 32-bitne reči, zavisno od toga u kome je režimu rada. Naime, proeramsltl se GDK orijentira za rad u tzv. normalnom režirmj rada kada pristupa oeojorlji kao linearnom nizu l6-bltnlh reči, ili tzv. "wide display" režimu kada 3e za isto vreme očita 32-bitria reč. Kontrolor prlkazne memorije (sadržan u CDK) generiše dva tipa raeiEorijakih ciklusa: očitavanje .(READ) prikazne memorije, kao i ciklus očitavanja - modifikacija - upisivanje (RMHJ za vreme koga se prikazna memorija modlfi-kuje radi dohijanja željene slike. GDK raspolaže setcni komandi za generlsanje grafičkih primitiva što pojednostavljuje izradu softvera Cfirmvera) 1 Još više rasterećuje glavni procesor. Kcraande koje CDK prima se mogu podeliti na pet kategorija: - kontrolne video koraatide koje specificira ju raaterske parametre tnpr, broj tačaka po liniji, dužina aktivne Unije, dužina trajanja alnhro signala, ltd.); - kontrolne displej komande koje iniciraju skaniranje prikazne memorije, odredjuJu faktor zumiranja, podelu površine displeja, i si; - komande crtanja koje sadrže komande za crtanje grafit čklh priaitiva kao što su linije, krugovi, lukovi i pravougaonici ; - komande očitavanja podataka iz prikazne memorije; - kontrolne DMA kcmande. Sve ove mogućnosti kao i fleksibilnost GDK-a coragućile su lakše projektovanje grafičkog modula terminala TIH-001. 3. OPIS ORGANIZACIJE MODULA Modul je realizovan na ploči formata "dupla Evropa" sa standardnom sprežnom magistraloni procesora INTEL 8085, na bazi koga Je reallzovan CRT terminal TlM-001. Logički sistem Je prilagodljiv za ugradnju u bilo koji mikroprocesoram kontrolisani uredjaj. Sistem je koncipiran oko grafičkog displej kontrolera (GDK) INTEL 82720.Kako se radi u crno-belom monitoru, ne postoji ^htev za bojama, ali Je modu koncipiran tako da je omogućeno prikazivanje nijanse sivog, bez značajnih hardverskih modifikacija. Softver sistema omogućava koriščenje podskupa Instrukcija GKS grafičkog standarda. 3.1. Hardverska organizacija Blok dijagram hardvera koji podržava rad sa ^ nijanse sivog Ja prikazan na slici 2. Osnovni elementi realiso-vanog modula za crno-beli režim rada su: - grafički displej kontroler 8S72Q sa interfejsom prema magistrali 8085 procesora; - prikazna memorija i njen interfejs prema GDK; - pcmerački (sift) registar izmedJu displej memorije i video sinhronizatora; - sistemski kontroler. 3.1.1, Grafički displej kontroler sa interfejsom prema magistrali 80S5 procesora Grafički displej kontroler Je detaljno opisan u ranijem izlaganju pa ćemo se više zadržati na interfejsu prema SO85 magistrali. CDK zauzima dve adrese u procesorskom ulazno/izlaznan prostoru. Koriščenjem adresnog bita AO onogučeno Je razlikovanje komandi od parametra pri upisu, odnosno podataka od statusa pri Čitanju. Kako GDK nema čip selekt (CS), to se signali za upis (WR) i čitanje (RD) moraju vrednovati signal!om koji ae-lektuje grafički modul. 3.1.2. Prikazna (displej) memorija i njen interfejs prema GDK - Postojeća rezolucija CRT terminala TD1-001 u alfa režimu od 560 taòaka * ZtO linija (odnosno 80 karaktera u 21 reda, pri čemu je svaki karaketr formata 7 x 10 tačaka) odredJuje rezoluciju grafičkog modula a time i potrebnu veličinu prikazne memorije, Dodatno cgraničenje uvodi i GDK sa zahtevom da horizontalna rezolucija (broj tačaka na jednoj horizontalnoj liniji) bude deljiva sa 3? [2]. Na ovaj način se rezolucija grafičkog modula svodi na 511 tačaka x 2U0 linija. Ovakva rezolucija zahteva 16320 bajtova ili 8160 16-bitnih reći za crno-beli odnosno dvostruko više za kolor režim (1 nijanse sivog). Prikazna memorija je realizovana u jednoj ravni upotrebom 16 OHÄM čipova 1116 kapaciteta I6K x 1 bita, što daje ukupni kapacitet od 32 kbY. Ovakvu organizaciju nameće cdk koji memoriji pristupa kao linearnom nizu tačaka organizovanlh u l6-bltne. reòi, [i J , [2]. Za postojeću realizaciju od 5>t1 x 210 tačaka ovaj kapacitet daje dve alternative. Prva Je da se upotrebi 1 bit po tački što omogućava da jedna tačka može imati nivoe crnog i belog. U ovom slučaju potrebno je I6 KBr memorije. Preostalih 16 KBIT se mogu koristiti za kadriranje ("panning", "scrolling"). GDK u ovofit slučaju radi u nonnalnoia režimu rada pristupajući memoriji kao linearnom nizu tačaka organizovanih u 16-bitne reći. Druga alternativa Je da se koriste 2 bita za infornacije o svakoj tački. To nam daje mogućnost da svaka tačka može imati 1 nivoa - crnog, belog i dva nivoa sivog. Na ovaj način svih 32 KBY prikazne memorije Je iskoriš-čeno. GDK u ovom slučaju radi u tzv, "wide display" režimu rada, pristupajući memoriji dva puta za isto vreme za koje se u normalnom režimu rada pristupa jedanput, radeći na taj način, sa 32-bitnim rečima. Tako se zamenjuje dve odvojene 16 kby memorijske ravni, po jedna ravan za svaki bit po tački. Ova druga alternativa^ nameće 1 zahtev za dodatnim hardverom, počevši od proširenja d/a konvertora koje cnogu-čava dobiJanje 1 različita nivoa video sigiala, preko dodatne logike sistemskog kontrolera (videti podavi je 3.1.1.), do dodavanja još jednog pomeraćkog registra. 3.1.3. Pomerački (šift) registar l6-bitna reč se iz prikazne memorije doprema u pcmerački registar sa paralelni« ulazom i serijskim izlazom. Taktom od 10,92 MHz ("dot clock") se odgovarajućim redom vrši Iščitavanje pomeračkog registra. Iščitani signali se potom dovode do video sinhronizatora koji obrazuje signal upotrebljiv za monltorski deo terminala , Ukoliko se koriste dva bita po taćki, potrebna su i dva 16-bitna pomeračka. registra, po jedan za svaku memorij-sku ravan, Mačin rada Je identičan kao i kada postoji samo jedan bit po tački izuzev što je potrebno cmogućiti sinhronizaciju rada pcmeraČkih registr«, kao i dodati Jedeui ulaz D/A konvertora za dodatni iščitani signal iz pomeračkog registra. 3.I.M. Sistemski kontroler Na si. 3 prikazan Je Jedan od oblika kontrolnih sijsiala neophodnih za realizovan orno-beli režim rada grafičkog modula. Odgovarajući dijagram stanja konačnog automata na osnovu koga je i iaprojektovana kontrolna Jedinica dat Je na si. 1. ADf-AOa miuau «CMDWM ma auM »•jrwnrr m mm» yr— KCL Kvran-M wfflw , IDI SI. 2. Blok dijagram grafičkog modula koji podržava rad u kolor režlrau Di^agramcoi nisu predvldjene reakcije autanata na sve moguće kcmbinaclje ulaznih sl®iala Cdbin, ALE) jer pri ispravnom funkoionisanju CDK obezbedjuje njihovo eksluz-ivno pojavljivanje [l]. Takodje, u ollju postavljanja 3to manjeg broja atanja 1 dodatnih kontrolnih signala alatemskl kontroler je reallzovan parcijalno, u tri nezavisne celine sa zajedničkim početnim stanjem. Kao sistemski klok pri genefisanju RAS, CAS i RSEL signala koriste se DOT CLOCK {10,92 MHz) dok se za WE i LD1 koriste klok kontrolera (2xHCLK) i njegov komplement respek-tivno. Prema klasifikaciji konačnih autranate ("final State maohinès") [4], grane I 1 III (si. 4)' predstavljaju Moor-ove, a grana II Mealy-e^ automat za generiaanje sekvenol Izlaznih signala kao reakciju na odgovarajući ulazni sig^l ( "one. shot pattern generator" ). Vremenska funkcija bilo kojeg izlaznog kontrolnog signala z(t) može se predstaviti relacijom ' i(t,: t 4- k - 1) = P ■ ako je : ■ . xCt) e start z(t) = 0 ako je *(t-i) *.start za i = 0,...,k-1 gde Je P=(P ,,) aekvenca dužine k osnovnih sistemskih klokova a *(t) pobudni ulazni sl^l (ALE.DBIN). Pomoćni ulazni signal CNT se formira radi tačnog pojavljivanja LD1 signala na s^raom kraju ciklusa čitanja pri-kazne memorije. Kontroler Je raalizovan sa 5 standardnih TTL kola serije 74. Kako Je već pcmenuto, u konačnoj verziji modul će podržavati rad sa « nijanse sivog osvetijaJa. Oblik kontrolnih ■ signala kojiita se obezbedjuje ovakav režira rada dat je na_sl. 5. Signali LD1 i WE generišu se kao u orno-belcm režimu rada, Sto znači da,u odnosu na postojeću verziju, treba preprojektovati deo sistemskog kontrolera defini-sanog gr^OD I na si. 4. Pri tome,osnovni problem se sastoji u činjenici da sada istcm memorijskom člpu u toku jednog ciklusa treba pristupiti dva puta. Kako ciklus čitanja traje oko 1,5 to je dovoljno vremena da se u "RIPPLE" modu [5J'očitaju dve memorijske lokacije čije se adrese razlikuju samo u bitu najveoe težine (A 13). StaeŠtanje očitanih podataka u poraeračke registre vrsi se u različitiin trenucima, definisanim signalima LDO i ld1. fiazlika se kasnije kompenzuje odgovarajućim kašnjenjem video signala 0 u video sinhronizatoru. -Dt-—+- ■02: «T jinjirnmjuuuuuinjimuii r IxWClKj 1 mf — "V CHT m Ci? m i i _r _r T_r % Sf Si So So SI. 3a Vremenski dijagram ulaznih i izlaznih kontrolnih signala "READ" ciklusa za crno-bell režim rada ■ 266 -El- ifMw-mws ■ «-if-w - injuiJ¥mnimmjinjMiJuinnmn^ 2J, wem_I Ate Tssr CUT ~L L J \ J~T 1 J- J—L mw? m m i I M LT SpSt. S2 So U So S, S2 So • So Sj u— SI. 3b Vremenski dijagram ulaznih i izlaznih kontrolnih signala "RWJ" ciklusa za crao-beli režira rada 3.2. Softverska podrška Predvidja ae implementacija 0Ä nivoa QKS eraflčkog standarda. Zbog male procesorske moći terminala sav softver koji 3e korisniku stavlja na raspolaganje biće podeljen na dva dela: - jezgro grafičkog sistema u samcn terminalu i - grafički programski paket na "host" računanj. Od svih fuiikcija koje treba obezbediti pomenutl nivo GKS-a na "host" računaru se obavlja normalizacija koordinata i odseoanje ("clipping") u odnosu na specificirano vidno polje ("viewport"). Detaljniji prikaz softverske podrške dat je u posebnom radu [31. grana! OOrCLOCK ALE üs.mi m.mi.čxs mi.cAs liUKLK AL£ SI. t. Dljagrasi stanja sistemskog kontrolera Ol ■ . 02 ■ n_r «iT «sa. m_r «ÉTI J" lor ur "LT U SI. 5. 1(. zakuuCÄK Vremenski dijagram kontrolnih signala kojima se podržava rad u kolor modu ÜZ p83, USA. 3. "Grafički softver za terminal TIM-001 prema GKS standardu", Vraneš P,, Bajčetić M., INFORMATICA '85. 4. "DIGITAL aitSTEMS AND HARDWARE/FIFMMABE ALGORITifitì", Miloš D. Ercegovac, Toaiash Lang, John Wiley a Sons, 1985, USA. 5. SEMICONDUCTOR INTEGRATED MICEKICIRCÜITS K 565 PY 3 REFERENCE DATA, ELERS, MOSCOW, USSR, ARHITEKTURA INTELICENTHOC 2D GRAFIČKOG TCRMDtÄLA VISOKE REZOLUCIJE Ljiljana Damnjanovlć, Sanja Bilčar, Dušan Marlnčlć, Zoran Konstantinović Institut Mihajlo Pupin, Volgina 15, Beograd, Yugoslavia UD K: 681.3.014 SADRZAJ - Opisana je arhitektura dvodjmenzlonalnog (2D) rasterskog grafičkog terminala visoke rezolucije koji Je lasn-ovan na MULTIBUS kompatibilnim računarskim karticama. Grafički sistem se koristi u konfiguraciji za razvoj i "host"--termlnal kotifiguraolji. U konfiguraciji za razvoj koriste se mogućnosti instaliranog operativnog sistema, đok se "hoat"-terminal konfiguracija oslanja na realizovanu osnovnu softversku podršku (OSP) grafičkog sistema. Opisane su takodje karakteristike grafičkog softvera (Rasterski grafički paket - RGP} sa reallzovanim grafičkim komandama. AM AROilTECTURE OF INTELIGENT HIGH RESOLUTION 2D GRAPHICS TERMINAL ABSTRACT - A two dlniensional (2D) high resolution raster graphics temiinal based on a Multibus-compatible computer cards has been implemented. The terminal can be configured in two ways: as a stand-alone system and in host-terminal versioi. In the stand-alone configuration the Installed operating system is used while in the host-terminal configuration the basic software package COSP) is implemented. The characteristics of graphics software (Raster graphics package - RGP) with graphics ocsnmands have been presented, 1. UVOD Veliki broj savreoienih računarskih aplikacija koristi grafičku predstavu u cilju poboljšanja kvaliteta interakcije Čovek-masina.Mogućnost vizuelnog praćenja toka programa uz interaktivni dijalog, korekcije delova kompleksne slike, pamćenja i multipliciranja elemenata slike, itd., čine računarski sistem veoma primci J iv im sa tačke gledišta korisnika. Grafički sistemi visoke rezolucije su do sada bili veoma skupe komponente računarskih konfiguracija jer su bili zasnovani na skupim vektorskim pokaživačkim elementima. Povećanjem gustine pako-vanja memoriJskih kon^jonenata i drastičnim padom njihove jedinične cene, jeftiniji rasterski grafički sistemi postaju sve popularniji. Kod njih su iđAM y—7 KOKM MMnW vsone itezocucije WM.ra» eMFiiKI »ONT/tOLeR cxs-tnw Slikal. HARCmRSKA KONFIGURACIJA SISTEMA ligona, popunjavanje elemenata, definlaanje atributa (ortanja.itd.), kontroler podržava i programsko defini-sanje nezavisnih slika, podešavajije formata raatera, direktne operacije nad piksel memoriJan, dijaloške komunikacione sekcije i ulazne funkcije. Komunikacije izmedju korisničkog procesora (Intel 8086) i grafičkog kontrolera odvija se na dva načina: 1. Preko U/I porta čiju adresu korisnik specificira. 2. Posredstvom MULTIBUS mgiatrale kojom korisnički procesor 1 kontroler imaju pristup korisničkoj HÄM memoriji. Preko U/I porta Vcontroler dobi ja samo pet osnovnih komandi: - zadavanje adrese display programa u RAM-u; - reset; - čitanje statusa kontrolera; - stop; - start. Po dobijanju startne adrese display programa i komande preko O/I porta, kontrolor preko MULTIBUS magistrale pristupa zadataJ adresi u RÄM memoriji i počinje izvršavanje komandi display prograxna. Display program Je prethodno kreirEin od strane korisničkog procesora, a sadrži grafičke kooiande koje interpretira 1 Izvršava kontrolér. Po izvršenju display programa, kontroler generlie prekid, kojim naznačuje korisničkom procesoru da je završio /7/, Na ovaj način nxjguée je ostvariti paralelizam rada pro- cesora 8086 i grafičkog kontrolera /4/. Glavni procesor sistema je Intel 8086 i on se koristi za izvršavanje programa kojima se realizuju 2D grafičke karakteristike, segnentirana struktura slike, komunikacija sa "host" računarom, interaktivni dijalog 1 sinhronizacija sa grafičkim kontrolercm. Za sada procesor radi sa 1 Hb memorije. Na komunikacionoj kartici postoje dva RS-232 asinhrona serijska kanala čija je brzina do 9600 boda, zatim Jedan paralelni lEEE-tSS DMA kanal sa brzinom do 300 Kb/seo i A/D ulazi za podršku džojstika. Kao Sto se na si, 1 vidi preko ove kartice ostvarena Je veza sa host računarcra i ulaznim uredjajina (tastatura sa džoj-stikora i tablet). Preko kartice disk kontrolera priključeni su vinčester disk kapaciteta 35 MB 1 flopi disk. Opisani sistem čija je arhitektura prikazana na si. 1 može da se konflguriše u zavisnosti od potreba korisnika kao terminal nekog "host" računara ili kao zasebna grafička stanica za razvoj. „ 3. KONFIGURACIJE GRAFICKOj TERMINALA Dve osnovne konfiguracije grafičkog terminala visoke rezolucije. To su univerzalni, mikroprocesorski razvojni sistemi sa grafičkim mogućnostima i tzv. "ho3t"-teni)lnal konfiguracija kod koje se grafički terminal sa znatno skromniji» moguénostlaa u oilnosu na prvu varijantu vezuje za proizvoljan "host" raČunar. 3.1. Razvojni sistem sa grafičkom podrškom Hardverska blok šeraa na si, 1 predstavlja konglomerat komponenti obeJu konfiguracionih varijanti. Ü2 standardan razvojni alat koji podrazumeva: o operativni sistera (XENIX ili fiMX 56); o programske prevodioce (FORTRAN, PASCAL, C, PL/M-Se); o uslužne programe za razvoj (EDITOR, BIBLIOTEKAR, LINKER, LOKATOR.j.). Ovaj mikrc^rooesorskl razvojni sistem Ima snažnu podršku. Rasterakl grafički paket (PCP) rezidira u 128 KB EPROM-u. Korisnička grafička aplikacija koristi RCP, linkujućl se sa bibliotekom pozivnih procedura paketa (GRAF.LIB). Ova biblioteka' veoma malo opterećuje aplikaciju, Jer pozivna procedura predstavlja samo indirektno aktiviranje (pomoću adrese) HOH rezidentne grafičke primitive. Ovako de-finisanom grafičkom podrškom može se veoma jednostavno ekspandovatl gotovo proizvoljan mikroprocesorski razvojni sistem. Sva intervencija sastoji se u dodavanju RGP EPROM-a na procesorska ploču. Naravno, padrazumeva se da sistem ima dovoljno RAM memorije potrebne grafičkom paketu. Razvojni sistem može imati višestruku namenu - za razvoj opstlh programa, za razvoj same grafičke podrške, za razvoj grafičkih aplikacija koji koriste BOP kao i aplikacija koje će se eksploatlsatl na "host'7terminal varijanti. 3.2. "Host" - terminal konfiguracija Hardverska konfiguracija ove varijante grafičkog terminala dobiJa se kad se sa si. 1 isključi disk kontroler. Terminal se sa "host" računarom vezuje standardnom serijskom i/ili paralelnom linijom. Variranjem količine HAM memorije može se inkreoentalno podešavati grafička snaga terminala. Ovakvom konfiguracijom postiže se da, bez obzira na kompleksnost grafičke aplikacije ona predstavlja veoma malo memorijsko i procesorsko opterećenje hosta, U ROM memoriji teminala se pored monitorakog programa koji sadrži elementarni "debugger" (opciono) i grafičkog paketa (RGP Identičan onom u razvojnoj varijanti) nalazi 1 osnovna sistemska podrška (OSP). Dve su osnovne funkcije OSP-a: o komunikacija grafičkog terminala aa "host" računarcm 1 U/I uredjajima; o upravljanje radom RCP-a ("long term scheduling"). OSP obezbedjuje prioritetnu obradu asinhronih dogadjaja vezanih za ulazno/izlazne uredjaje. Procesi koji ove do-gadjaje opisuju (ustvari prekidne procedure koje pune/ prazne FIFO bafere) predstavlja "foreBTOund" režim u kom se procesor obično vrlo kratko zadržava. Na ovaj način baferlsanl podaci sa hosta 1 interaktivnih ulazno/izlaznih uredJaja obradjuju se u tzv. "baokround" režimu. Dodela procesora "background" procesima, odnosno slnrho-nlzacija izvršavanja grafičkih komandi od strane ^GP-a, vrsi se na bazi prioriteta. Inicijalno, sve funkcije imaju predefinisane fiksne prioritete. Da bi se izbegla kontenclja na resursnim baferima koja bi mogla nastati kao rezultat neuniformnsg pristizanja podataka sa hosta i različitih ulazno/izlaznih uredJaja, obezbedjena Je i mogućnost dinamičke promene prioriteta "backround" procesa. Prioritet procesa podiže se proporcionalno brzini kojaa pristižu podaci u bafer koji taj prooes obradjuje. Ovakvim balansiranjem obrade izbegava se mogućnost zagušenja na pojedinim kanalima. Ha proizvoljnom "host" računani implementira se biblioteka pozivnih grafičkih procedura i biblioteka komunikacionih procedura. Biblioteka pozivnih grafičkih procedura (GRAF.LIB) Identična je onoj na razvojnoj varijanti terminala. Potpuno je portabilna jer je realizovana u standardnom FORTRAN 77 jeziku a pretpostavlja se da svaki "host" ima prevodilac za ovaj jezik. Ne postavlja se pitanje efikasnosti ovih procedura Jer im Je funkcija trivijalna - prenos kontrole na odgovarajuće grafičke primitive u ROM-u. Biblioteka komunikacionih procedura (COM.LIB) Je delimlč-no neportabllna jer odražava karakteristike ulazno/izlaznog podsistema operativnog sistema konkretnog računara. Biblioteka sadrži procedure kojeopslužuju serijsku i/ili paralelnu liniju kojom "host" komunicira sa grafičkim terminalom (slanje komandi, prihvatanje odgovora,...). Da bi bile sto efikasnije, ove procedure obično sadrže U/I sistemske pozive niskog nivoa koji najviše zavise ođ mašine. Ova neportabllnost se procenjuje na IMVI ISfer - vii.lM^iM^^^ mUtMjat - Mk«* «nq-iBU. utal ywru SI.2.11 Funkci.lsfci model Interaktivnega grafitnega terminala sistema TI-JO Opomba: V obrobl,1enih kvadratih so proco-soroi, v praanih datoteke TGBZ ,1 e krmilna enota, na katero so prikl.iuKe-ni barvni monitor, alfanumeriCna tastatura, funkcijska tastatura ali pa Se sledilna krogla, svetlobno pero ali grafična tablica. GGBZ arhivira prikaze na diskovni enoti in generira prikaze na zaslonu. Nan,1 sta priključeni dve diskovni enoti (floppy in Winchester). Oba sistema sta med seboj povezana s serijskimi ali paralelnimi vodili, ialika S .2. I« - .ta^lM ktw^a - f|lH„ii4 irr« i SI.2.2: Blokovna shema 'inteligentnega barvnega grafičnega terminala sistema TI-JO Terminal TGBZ oraogoöa interaktivno delo operaterja s sistemom pri vodenju procesov v realnem 3 asu. Programski sklop KCBZ omogoča interakci.'i operaterja z vodenim proceaon preko monitorja in tBHtature. Opravlja naslednje funkcije: - prikazuje alfariumeriSne in grsfiSne znake razllCnega statuaa, - sprejema sporočila nadrejenega mikroračunalnika, - poSilja sporočila v programski modul STRGEZ (preko prop;ramKkega modula DPOV), - sprejema operaterjeve ukaze s tastature in prižiga LED diode na funkcijski tastaturi - ugotavlja pravilno zaporedje operaterjevih postopkov in sestavlja izhodne sporočila, - označuje elemente na zaslonu s kurzorjpm, - sestavlja skelet novih prikazov, 2.1. Programski modul STHGBZ Programski modul sprejema sporočila iz terni-nala TGBZ In opravlja naslednje funkcije /'t/: - sprejema sporočila iz PSKGBZ, - kliče slike z diska, - vpisuje slike na disk, - briše datoteke na diaku, - prenaSa slike v medpomnilnik na izpis, - vpisuje opozorila na zaslon, - pošilja sporočila v podatkovno bazo. 2.2. Makro programski modul GEKGBZ Sprejeoa dinamične podatke Iz podatkovne baze in jih prikazuje na terminalu. Opravlja naslednje funkcije: 1. Sprejema podatke iz distribuirano podatkovne baze multlmlkroračunalniskega sistema TI-JO preko dveh logičnih kanalov (za prikaz na dveh zaslonih). 2. S ponočjo tabel te podatke prepozna in nato v tabelah in v subrutinah polSče ustrezne podatke za prikaz. Nove podatke preda v terminal GBZ. 2.3. Aparaturna oprema Terminal je zgrajen Iz nabore modulov telfinformaci jakega sistema TI-30. Slika 2.5. prikazuje zgradbo terminala. V GGBZ so naslednji moduli: CPU - procesor RAM/PROH- delovno-programskl pomnilnik SEV - krmilnik serijskih vodil KDISK - krmilnik diska POV - povezovalnik vodil Module povezuje GVOD - glavno vodilo. Povezava med GGBZ in TGBZ poteka po vertikslner, vodilu - VVOD. SI, 2.3! Zgradba inteligentnega grafiSnega barvnega terminala V TGBZ pa so naslednji moduli: - CPU - proceRor - CPU-AP - aritmetični procpsor - SVO - apojnik vodil - RAn/PHOH - delovni pomnilnik - GVK - grafiSni video krmilnik - GVR - grsTiäni video pomnilnik - VSK - vmesnllt za sledilno kroglo Module povezuje LVOD - lokalno vodilo; modul GVK pa je z moduli CVH poveipn z GVVOD-om - - grafično video vodilom. Lastnosti modulov GVK in GVR ter VSK ao podrobneje opisane v nadal.ievenju. 5. OPIS APARATtJRNIH MODULOV RAČUNALNIŠKE GHAFIKE SISTUIA TI-30 3.1. Opis modula GVK Modul GVK krmili delovanje barvnega monitorja. Tvori vse potrebne signale ze njegovo delovanje, hkrati pa krmili tudi prenos podatkov med mikroprocesorskim modulom sistema TI-JO In alikovtiim pomnilnikom GVR. HOdul je sestavljen iz naslednjih funkcijskih enot; - krmilnik grafiinega monitorja - GDC krmilnik: krmili grafiSni monitor, skrbi za vpis Ih Kitsnje slikovnega pomnilnika, osvtìf.ii.ie slikovni pomnilnik, skrbi ?,s zveden pomik, poveSavo slike ter ima vhori za svetlobni svinčnik LPi - DMA krmilniv nadzoruje hitri prenos podatkov med pomnilnikom in GDC krmilnikom oziroma slikovnim pomnilnikom; - arbitražno kontrolno vezjei krmili dodeljevanje vodila; - Časovno vezje: tvori časovne signale zs GDC krailnik, DACK vezje ter za vpis v slikovni pomnilnik; - krmilni register: krmili posamezna vezja modula; - register površine - SE s vklaplja posameane povrSine; " register zveznega pomika in povečave - ZPR"! krmili zve an i posa i k in povečavo slike ne monitorju; -DACK vezje: prilagaja signale za DHA prenos med DMA in GDC krmilnikom; - krmilno vezje: izbira in krmili pomnilnik; - "LOOK UP" tabela: pretvarja digitalno vrednost za doloŽitev barve znaka na monitorju, D/A pretvornik pa to vrednost pretvori v, analogni signal; - dekodirnik naslovov; tvori potrebne naslovne Bignale; - register ponnilne strani - PSR: naslavlja nastavljeno pomnilno stran, kó prevzame vodilo DMA krailnik. 5.2. Opis modula GVR (grafitni video pomnilnik) Modul GVH služi za shranjevanje video informacij. Krnili ga modul GVK, ki osvežuje vsebino pomnilnih enot modula CVE, jo na zahtev« mikroprocesorja Sita in vpisuje nove podatke v te pomnilne enote. Slikovni pomnilnik obsega tri ravnine (3 biti/ /točko). Na modul GVK so lahko priključeni do Štirje moduli GVH. Vsebina slikovnega pomnilnika bc preko pomi-kalnih registrov prenese na modul GVK in od tu na monitor. Modul je sestavljen iz naslednjih funkcijskih enoti - slikovni pomnilnik (RAVNINA A, RAVHINA B, EAVHINA Oiravnine so organizirane 16-bitno (vsaka ima 16 pomnilnikov DRAM 64K x 1 oz. 256 X 1)1 - krmilno vezje: krmili vpisovanje, branje in OBVeževsnje slikovnega pomnilnika-, - ojačevalnik adres: ojačuje adresne signale; - podatkovni ojačevalnik •• krmili podatkovne signale, ko GDC krailnik modula GVK Čita posamezno ravnino; - pomikalno in zakasni ino vezje: Rrrpjfto i:h- ralelno 16-bltiio 1)68600 pretvori v serijsko obliko in informacije posreduje modulu GVK. 3.2.1- Organizacija pomnilnika RsKaolikost uporabe računalniške grafike ,1e povzročila, da sta se razvili five podro2,1i, dva naSina orgsnizacl.le pomnilnika: - bitna organizacija - znakovna organizacija. Pri bitno organiziranem slikovnem pomnilniku Je pomnilnik organiziran kot matrika naslovljenih to5k. Za vsako tožko na zaslonu Je v pomnilniku shranjena vrednost intenzitete in barve. Vsaka toSka Je lahko vključena ali izključena. Z enostavnimi ukazi lahko vsebino pomnilnih celic komplementiramo, setiramo, re-setiramo. Ji spremenimo atribut itd. Pri taki organizaciji pomnilnika lahko enostavno vnašamo podatke v pomnilnik z uporabo svetlobnega svinčnika ali grafične tablice, miške ali druge vhodne enote. Znakovno organiziran slikovni pomnilnik ima pomnilnik organiziran kot zaporedje kod. Vsek znak ima svojo kodo, ki predstavlja na zaslonu matriko točk (9 x 12). Za vaak znak so v pomnilniku shranjeni Se atributi (utripanje, barva znaka, barva ozadja, intenzivnost, podčrtavanje,...). Vsekakor potrebuje znakovna organizso iJa malo slikovnega pomnilnika, po drugi strani pa so tu omejene grafične sposobnosti terminala. Zaradi majhnega pomnilnika se uporabljajo le statično BAH vezja. Vedno veSja kapaciteta in nizka cena dinamičnih pomnilniki^v pa omogočata gradnjo bitno organiziranih grafičnih terminalov velikih zmogljivosti. 3.2.2. Ločljivost in format alike Pri zasnovi grafičnega terminala moramo najprej izbrati ločljivost in hitrost akaniranja. Val konvencionalni rastrski monitorji imajo zaslon (Sirina/viäina) v razmerju 1^:5/5/. To razmerje se imenuje aspect ratio. Če želimo imeti kvadratno točko na zaslonu (pixel), potem mora biti Število horizontalnih točk V3 Števila vertikalnih točk, kar se označuje kot 4H - 3V. H in V predstavljata Število točk v horizontalni in vertikalni smeri. Resolucija Je odvisna od celotnega Števila točk, ki mora biti potenca števila 2. Če ni, mora biti število točk zaokroženo na naslednjo višjo potenco števila 2. Zahteva Je še večja. V horizontalni sneri mora biti število točk aorti mnogokratnik Števila 16. Za prikaz 512H x 512V - 2exp(18)=262144 tc£k. Format 576H x 452V izpolnjuje vse pogoje. Število vseh točk Je tako 240852 in razmerje horizontalnih a vertikalnimi točkami Je 4/5. Število horizontalnih točk Je točno 36 16-bit-nih besed. Ker pa moramo imeti za barvno grafiko najmanj tri bite na točko, potrebujemo 3 x večji slikovni pomnilnik. Velikost pomnilnika Je odvisna tudi od načina naslavljanja GDC krmilnika. Skaniranje ellke mora biti hitrejše od občutljivosti očeaa, da preprečimo migotanjc slike. Torej Je za eno sliko ne razpolago 20 ms pri 50 slikah/sokundo. Pri animacijah se ta čas zmanjša, aaj Je priporočljivo, de Je do 69 slik na sekundo oziroma Je čas 1 slike 14,7 "la- Aktivni čas prikazovanja Je približno 75 % celotnega časa, zatemnitev pa traja 2^% časa. Razmerje med- aktivnim časom in časom za-teanitve Je odvisno od monitorja in GDC krmilnika. Pri boljših monitorjih dobimo slabše rezultate predvsem zaradi dolge horizontalne zatemnitve i ki Jo potrebuje GDC krmilnik. Pri skaniranju slike so istočasno aktivne vse tri ravnine - GDC krmilnik naslovi isti naslov v vseh treh ravninah, podatki pa se pretvorijo v serijsko obliko in pošljejo na monitor. Slikovni pomnilnik Je organiziran trikrat po 16K bitov 16-bltaih besed. Pri risanju grafičnih figur se slikovni pomnilnik obravnava kot velika ploskev, ki Je razdeljena no tri osnovne barve; rdečo, zeleno in modro. Tako lahko spodnji del slikovnega pomnilnika predstavlja rdečo barvo, srednji del zeleno in višji modro barvo. Za vsako točko v osnovni barvi mora biti v slikovnem pomnilniku setiran en bit. Kadar Želimo imeti štiri barve, sta za vsako točko potrebna dva bita v slikovnem pomnilniku, hkrati pa porabimo za vpis teh dveh bitov dva ciHa in tako se sistem upočasni. Za večje število barv potrebujemo sorazmerno večje število vpisnih c3tLov. Ker so danes dostopni pomnilniki večjih kapacitet (64K bitov). Je lahko format ellke večji od 512H X 512V. Zelo se Je uveljavil format 640H X 480V. Pri skaniranju slike s frekvenco 50 Hz Je za eno sliko na razpolago 20ms. Ker potrebuje monitor za vertikalno zatemnitev 1,25 ms, ostane za skaniranje 480 vrstic aktivnih še 18,75 ms.. Z deljenjem 18,75 ms s 480 vrsticami dobimo 39,062^S/vrj!tico oziroma ekvivalentno horizontalno frekvenco 25,6 KHz. Horizontalna zatemnitev potrebuje 7 /vrstico, aktivni del vrstice pa Je 52,062 uS. V tem ?HRa Je prikazanih 640 točk oziroma za eno točko po- treDuJeino 32.062 uS/e^fO točk, kar znaša 50.096 ns. To ustreza toSkovni frekvenci 19.96 MHz. 5.2.5. KonfiguTiranje terminala z moduli GVR Eden na J važne,-) lib delov rastrske grafike ,1e slikovni ponmilnik, v katerem ,ie shran.iena prikazana slika na zaslonu. Slikovni poanilnik veffji od prikazane slike na zaslonu. Mikroprocesor lahko premika okno po slikovnem pomnilniku zvezno v horizontalni ali vertikalni smeri. Slike 3.1: Pomikan,ie okna po slikovnem pomnilniku Če želimo menjati sliko, medtem ko žarek otipava zaslon, dobimo na zaslonu motnjo. Da to prepreSino, lahko vpisujemo nove podatke v slikovni pomnilnik le oh vertiWalni zatemnitvi.. Kadar imasao krltiSne Èesovne razmere, lahko sianjže spremembe vpisujemo kadarkoli, ker motnja ni tako huda, da bi motila operaterja. Slikovni pomnilnik modula GVE je organiziran kot površina, ki je sestavljene Iz ravnin. Povrälna je slikovni pomnilnik, ki je ekvivalenten modulu GVR in ima vedno 5 bite/ /točko oziroma površino pestavljajo tri ravnine. Ravnine pa lahko grupiramo v podpovršinc. Število podpevrSln je odvisno od števila ravnin, ki jih vsebuje podpovršina. število barv - govorimo lahko o barvah Črnlla--je odvisno od števila ravnin, ki jih zajema ena podpovršina. Podpovrllna a eno ravnino ima eno barvo, podpovrSins z dvema ravninama Ima tri barve, podpovrSlna s tremi ravninami ima sedem in podpovršina s Stirimi ravninami petnajst barv /6/. Površina Velika odlika moHulov GTO je dejstvo, da lahko slikovni pomnilnik organizirano v različnih velikostih in obllkàh'. To nam otaogoča koncept površin. Površino sestavlja eden ali ve5 modulov GVR. V sistemu imamo lahko največ flo Štiri površine. Velikost površine definifa število modulov GVR, obliko površine pa definiramo s PITCH parametrom pri organizaciji GDC krailnika. Če uporabljamo več površin lahko prikažemo vsako posebej kot posebno stran ali pa tvorimo razne funkcije raed površinami. Sestavljen prikaz lahko generiramo s prekrivanjem ravnine na ravnino po vnaprej določeni prioriteti, lahko vklapljamo posamCEne površine ali pa imamo kombinacijo obeh možnosti oziroma s kreiranjem LOOK UP tabele tvorimo različne funkcije med podpovršinami. Slika 5-3 prikazuje, kako so lahlfo kombinirane površine pri uporabi tehnike prekrivanja. Površine imajo različno prioriteto. Najvišjo prioriteto ima najvišja površina. Tako trikotnik prekriva kvadrat, krog prekriva kvadrat in trikotnik, napis ISKRA prekriva vse. Vsaka površina lahko postane nevidna z vpisom v, register površine na modulu GVK. fie uporabijflmo več površin, lahko uporabljamo do 8 ravnin ze različne barve, ostale (do 12) pa za prekrivanje, aa počasno ali hitro utripanje ali pa za kurzor. Vezje, ki ga prikazuje slika 5."., prikazuje uporabo LOOK UP tabele, ki je med slikovnim ■pomnilnikom in D/A pretvornikom. Vsaka površina Ima tri ravnine, zato ime LOOK UP tabela" 12 vhodnih adresnih linij in 8 izhodnih podatkovnih linij. Slika 3.2.: Število barv v odvisnosti od števila ravnin podpovršine 284 O A paveiuu t poveirm 1 O K>*!«* t POfllilNA ) pnui NA UUOIt) 5.5; I>reicrivenje površin l 1 1 t, D» i-11 Dia h ■■ » > SI. 5.4: Uporsbo IX)OK UP taViele Hodul VSK je sestavljen iz naslednjih funkcijskih enot: - enosmerni ojaäevalnltc oiaSuje signale, ki ,1ih modul dobiva z mikroracunalniältEga vodila oz. jih modul oddaja na vodilo; - dvosmerni ojačevalniki: ojaćujejo podatkovne signale( - adresni dekoder z nastavijalnikora adres: dekodira adresne Bignale in jih primerja Z nastavljenimi, aktivira modul; - Števci Štejejo impulze sledilne krogle, ki jih doliijo od krmilnega vezja; dajejo zahtevo sa programsko prekinitev; - krmilno in prilagoditveno ve®je; preoblikuje Signale sledilne krogle; - prilagoditveno vezje! sestavljeno je iz linijskega sprejemnike, ki pretvarja simetričen signal LPI v asinetriSno obliko, ki jo potrebuje modul GVK, 4, ZAKLJUČEK Terminal je modulerno grajen tako, da ga za različne aplikacije dopolnjujemo z različnimi noduli. TaVco imamo lahko večje število monitorjev v TGBZ-ju ali pa do pet" TCBZ-jev na GGB2-,iu. Terminal Je realiziran tako, da prikazuje ASCII in poscbnp graTičnc znake kakor tudi poljubne krivulje. Omogoča: - zvezni horizontalni pomik slike; - prekrivanje površine s povräino ali ravnino; - istočasno lahko prikaže do 256 barv; - vpisovanje in branje slikovnega pomnilnika lahko poteka e pomočjo mikroprocesorja ali DKA krmilnika; - omogoča dve hitrosti utripanja; - prikaz kurzorja v posebni ravnini. Prav teko pa GDC krmilnik lahko sam riSe; - točke, linije, loke, pravokotnlke in poljubne grafične ali ASCII znake znotraj slikovnega pomnilnika velikosti IK krat IK točk; - krmili monitor resolucije 640x400 sli 1024x760 točk; - omogoča povečavo slike do 16 x; - v pomnilnik lahlo vpiše rio 16* povečan znak; - na zaslonu sta lahko istočasno dve sliki, ki se lahko neodvisno premikata. Ka teralnal se lahko priključi: - alfanumeričns tastatura; - funkcijska tastatura; - sledilna krogla; - svetlobno pero; - grafična tablica. LITERATUEA /1/ C.Haehover: Graphic displays, IEEE Spectrum 14 No.8, No.10. 1977 /2/ Peter Petorlin: fTagiatrsko delo. Fakulteta za elektrotehniko v Ljubljani, 12,1980 /5/ P.Peterlin,N.Panić,B.Grilec,K.Markelj: Sistem človek naprava v centrih daljinskega vodenja železniškega prometa, JUHEHA, Zagreb, 1985 /V ISKRA-AVTOMATIKA.Sazvojcl inštitut: Splošni opisi programskih modulov, 1985 /5/ G.Palma,M.01son,R.Jollis: Graphics display Controller, Electronic Design, 1, HJ /6/ R.Linsalata, B.Scalee: Raster graphics: expanding its frontiers,' Computer Design, 7, 19H1 /7/ B.Grileo(Magistrsko delo. Fakulteta za elektrotehniko v Ijubijani, 6, 19S5 NAllESTITVENI ALGORITEM Dušan PACON, Ir.stitut "Jožef Stefan" Ljubljana UDK: 519.174 Eden od probleoiov, a katerimi se srečujemo pri Izdelavi tiskanih vezij, Je optimalna namestitev komponent vezja v ravnini. Prispevek Je posvečen problemu avtoaaticnega nameščanja komponent pri načrtovanju elektronskih vezij. Kbdule prirejamo pozicijam na plošči s ciljem jünimiziratl skupno dolžino vseh bodočih povezav aied moduli (v. smislu hfenhattan razdalje). Za reševanje te^ problema sto uporabili računsko ugoden algorlteni llneaTOga prirejanja, rse module smatrano za pravokotnike, pri čemer fiksiramo eno od njihovih dimenzij. Algoritem namešča komponente vzporedno eno z drugo (glede na Izbrano fiksno dinienzljo), da bi olajšal bodoče razpeljevanje povezav. AN AUGORITHH FOR THE AUTOMATIC PUCEMEWT OF CIRCUIT MODULES The twD-dimensional placement is one of the problems which we meet while constructing a printed board. In the paper we deal with the problem of automated plaoement of electronic components in a circuit layout. The modules are assigned to the grids on the prlnted-clreult board so as to minimize the total wire lenght (relatively to the (terihattan dis-tancej. For solvlrjthls problem the computationally powerful linear assigrimer.t algorithm is used. All the modules are assumed to be rectangular and one of their dimensions Is fixed. The algorithm provides a parallel placement of the components (relatively to the choosen fixed dimension) so as aitiplify the further routing. UVOD Pri konstrukciji elektronskih veiij naletimo na problsn naoie££anJ«i komponent. Na pravokotno področje je treba namestiti lanoiioo komponent (integriranih vezij, diskretnih elementov, konektorjev,...>, na katerih se nahajajo na doloCen nafiin razporejeni prikljuSki (elektifine spanke>. V logiCni shemi veija ao podane «noZice priključkov, ki morajo biti v vezju med seboj elaktifino poveienl - ta so tako imenovane signalne nnoiice ali signalna omreija. Te mnoiioe morajo biti .dlsjunktne, ne smejo, torej, imeti skupnih prikljuekov. Namestitveni problem Cthe placeinent problem) je tedaj v tem, da néimestimo dane komponente, upoStevajof onejitve, tako, da ba doseien nininum skupne dolline «tehtanih povezav med komponentami, ali pa se bomo temu minimumu vsaj dovolj približali. Pri naneSfianJu Imamo obiSajno Se dodatne »istematiens omejitve jo pozicije in smeri neoeSCanja komponent, povezane Ž gostoto povezav na plaSCi in legami priključkov na modulih. Pravilna namestitev mora poleg tega, da zàdovoljuje naJraz1 i eneJSim tehničnim zahtevam, ;;egatovitt enostavnost in preglednost vezja, ki sta bistvenega pomena za zmanjšanje stroškov njegove izdelave in vzdrìevanja. Pri ukvarjanju z namestitvenim problemom se je treba zavedati, da so fe zelo preproste verzije te naloge (npr. enodimenzionalno nameéfianjel dokazano NP-polni problemi, kar pomeni, da se nine smisla gnati za ehzaktnimi rešitvami, ampak se Je treba opreti na hevriütiCne postopke, ki nam sicer dajo samo prlblilno reäitev, vendar ob sprejemljivi porabi prostora in Casa. AL60RITEM LtNeAttNESA HAHESCANJA Predlagani postopek za nameSfianJe temelji na uporabi znanega algoritma la linearno prirejanje doloCenega Števila objektov enakemu ali veCJemu Številu prostih pozicij. Pri tens je podana matrika A , element a(i,j) katere je ocena ustreznosti i-te pozicije j-temu objektu, naSa naloga pa je najti minimum vsote elementov a pa vseh permutaoljah P . Možnost uporabe algoritma linearnega prirejanja pri reševanju namestitvenega problema je prvi omenil Akers (C13) v zvezi z name46anjem enako velikih kvadratnih modulov. Formalizacija) s ponoCjo katere steč ni reducirali problem kvadretiänega prirejanja, kakršen Je naloga o nanešCanju, na lineacnc prirejanje, je naslednja. Predpostavljamo, da imajo komponente obliko pravokotnikov s £irino 1 in poljubno celoštevilčno dol!ino (ki ne presega dimenzij plo^Ce). Podobna omejitev je smiselna in jo srefiamo pri večini algoritmov za namestitvenega problema , glej , kjer je opisan postopek, ki ga v laboratori jih SHAHPa. Na ploSči uvedena pravokotne koordinate in nafirtamo mreia s koraktin 1. Module bomo naneèCali v vozlišča te mreže izklJuCno v vodoravni smeri, da bi omogočili naJboljSo noino prehodnost dane strani ploSCe v tej smeri. Naj TermCk) pomeni množico prikljuCkov komponente k . Ce eo koordinate delov komponent k in 1 v izbrani mreži enake (x - K(ni + ly(h) ~yriW, Stehtana đoliin« povezave med dvetna moduloma hama rakli vsoti doltln povezav med vsemi njunini prikljuöki, prt Cener doloCene signele glede na njihovo ponenbnoet lahko Štejemo veCkrat (veliko težo je treba, naprimer, pripisati povezavi med sosednjima deloma iste komponento vefije dolüne, ker bi sitser lahko pri«li do nesmiselne namestitve). KONSTRUIRANJE KVAZIOPTINALNE NAMESTITVE V sredino ploSBe namestimo modul t najvetjn vsoto stehtanih povezav. Na vsakem koraku na eno od prostih pozicij, sosednja z te zasedenimi, namestimo tak modul, ki bo najmanj prispeval k skupni' doliini povezav. d(P,nn) vrednosti stehtanlh povezav med komponento K in vsemi es nenameSCetiiml komponentami L pa v padaJoCe zaporedje: C , i=1,2,,.,,n dodamo vse produkte oblike dCP,Qt) .c(K,t) , kjer t prtiteCe vse ISe naneS&en« komponente, Qt pa Je pozicija, ki Jo zaseda komponenta t . Dobljeno števila označimo z aCP,K) in nam bo sluillo za oceno spodnje meje skupne doltina povezav nastalih z namestitvijo modula K na pozicija P . Hatrlko sestavljena iz elementov a »t 114 <21 19 I I I 7 all 7 »21 4 «21 I, »11 2 «II 2 »21 9 I I 6 «21 6 »II 1 »11 -1 »2! 1 «3110 »2110 »1! I 17 112 »2112 »II IB I 3 «31 S »21 3 »II I la I 11 I S »11 a »21 S »31 5 «21 S »II Vsota stehtanih povezavi S556.0 ZAKLJUČEK Cas, potreben naSemu algoritmu za namestitev M komponent (komponente večje doliine so Stete z ustreznimi' faktorji)' je na računalniku VAX-7SD z operacijskim sistemom VHS pirLoliino enak 1D"'.N* , kar pomeni, da Je algci-item nekoliko hitreJSi od tistih, !< i uporabljajo bolj zapletene matematične kcnstrukci je(npr. KONCEPCIJA CAD SISTEMA ZA PHOBACUH ZAGBIJANJA TRÄtfSFOHMATORA U PHOTUEKSPLOZIVNOJ IZVEDBI Davor Zvizdić, Elektrotehnički Institut "Rade Končar" Zagreb UDK; 681^.014 SAŽETAK; Opiaan je OAD sistem za proračun zagrijanja transformatora u protueksplozlvnoj izvedbi, koji omogućuje'projektantima 40 temperatura okoline T . = 20 C uzdužna i poprečna kowdinata X, Y ukupan broj nepoznanica 60400 pravokutna mreža 100 x 50 5. ZAKLJUČAK Koncepcija CAD si;istava za proračun zagrijanja transforiiBtora u proCueksplozivnoj izvedbi omogućuje lako i brzo korištenje mogućnosti koje stoje na raspo-la^nju. Zbog modularne organizacije sustava kao i pojedinih cjelina proširenje njegovih oogućnosti vrši se jednostavnim dodavanjem novih modula. Projektant ne Dora poznavati detalje pojedinih proračuna niti konfiguraciju mreže koja se koristi za irodeliranje prijelaza topline, tkoliko se neki od podataka želi promijeniti procesor za vodenje postupka vraća korisnika na početak i omogućava mu željenu promjenu pa se automatski formira nova mreža koja Je u skladu s izmijenjenom konfiguracijom transformatora. Detaljna analiza prijelaza topline u pojedinim kanalima omogućena je proračunom na višeo nivou. Interaktivni programi za obradu rezultata oiBOgućuju njihov selektivni grafički prikaz. 290 Slika 6. LITERATURA Zvlzdlč.D.: "Numerički proračun zagrijanJa rudničkih transformatora", Elektrotehnika, ELTHB2, 27(19811)5, 311-320. [2] Zvizdić.D.: "Prilog analizi prijelaza topline u rudničkim transformatorima a aksijalnim rashladnim kanalima", Strojarstvo, 26(198^1)5, 203-288. [3] Zvizdić.D.! "CAD sustav za proračun prijelaza topline pri strujanjima paraboličkog tipa". Sedmi međunarodni simpozij "Projektiranje i proizvodnja podržani računalom", Zagreb 1985, NAČRTOVANJE [N PRaZVODNJA lZDE[JaU(Kl, štirje periferni vmesniki KTj.iO SCC, časovnik 6840, 128/512 kB DRAM, l/lt,/32/64 kUEFROM, vezje 8038 FIO, docteljévnlnik lokalneQa vodila in vmesnik 7.a povezavo t multiple ks Irani m sistemskim vodilom. Krmilnik omogoča vzpostavljanje povezav preko osmih asinlironil» ali sin-hronih serijskih komunikacijskih kannlov z raznovrstno torminalsko opremo ter povezavo računalniškega sistema v lokalne in javne komunikacijske mreže Ka |»renos jiodalkiiv. COMMUNICATION CONTROLLER: The paper describes a functional structure and operating of a microprocessor based communication controlled, which is part of the computer workstatioti TK 680DO. '[lie controller is composed of the OHOOO microprocessor, four 8530 serial communication controllers, the 6810 timer, 128/512 kU of DRAM, 4/16/32/64 kfi of EPROM, 8038 input/output interface unit,an arbiter and an interface to the host's inuiiipleited sytem bus. The controller enables connection with different terminal equipment and nftlh local and public daia networks on eight asynchronous and synchronous communication chanels. 1, UVOD V današnjem času, ko prehajamo na distribuirano obdelavo podatkov, je potreba po komuniciranju med računalniškimi sistemi čedalje večja. Povezovanje računalniške opreme (veliki sistemi, procesni računalniki, delovne postaje, osebni računalniki itd.) različnih proizvajalcev je zaradi neenotnih komunikacijskih protokolov posameaniti sistemov zelo oteženo. Univerzalni komunikacijski modul delovne postaje rešuje komunikacijske potrebe uporabnika na nivoju terminal - delovna postaja, likrati pa omorjoča izmenjavo podatkov s preostalimi računalniškimi sistemi v organizaciji in izven nje. Komunikacijski krmilnik (KK) je zaključen mikroračunal-niški sistem, ki lahko prevzame od centralnega računalnika večino komunikacijskih opravil. Omogoča pretok podatkov in procesiranje mrežnih protokolov na nižjih nivojih med računalnikom in nanj priključenimi napravami. KK Je načrtovan kot sestavni del delovne postaje TK 68000 z večuporabniŠkim operacijskim sistemom, vendar lahko deluje tudi kot samostojna enota z lastnim operacijskim sistemom. Pri načrtovanju univerzalnega modula komunikacijskega procesorja smo upoštevali cenovno optimizacijo ter dosegljivost materialne opreme, nizke stroške razvoja in predvideli široke možnosti uporabe komunikacijskega krmilnika. Predvideno delovno okolje zahteva več serijskih komunikacijskih kanalov, od katerih sta vsaj dva sinhrona (SNA/SDIjC, X.25 ali medsebojna povezava računalnikov TK 68000) preostali pa asinhroni za priključitev terminalov in druge periferne opreme. Krmilnik Je mikroračunal-niški modul z osmimi serijskimi komunikacijskimi kanali za priključitev različne računalniške, terminalske in periferne. opreme na delovno postajo. Zasnovan je tako, da z ustreano programsko podporo omogoča povezavo delovne postaje v lokalno računalniško in javno podatkovno mrežo ter pod določenimi pogoji tudi na PADX naročniško telefonsko centralo. 2. ZGRADBA KOMUNIKACIJSKEGA KRMILNIKA Krmilnik je povezan s centralnim procesorjem preko sistemskega vodila. Časovno multipleksirano naslovno-po-datkovno sistemsko vodilo (24-bilni naslovni in 16-l)ilni podatkovni del) povezuje vse module račiinalniškefja sistema TK 68000. V osnovni konfiguraciji vsebuje sistem procesorski modul, DRAM modul, komunikacijski krmilnik ter modula.za priključitev zunanjecja masovnega im-mnilnika in konzole. V razširjeni sestavi ima računalnik še DMA modul, dodatni DHAM pomnilnik in module za različno periferijo. Slika 1 prikazuje povezavo modulov preko sistemskega vadila. Materialno opremo KK grobo delimo v dva velika funkcionalna sklopa: - vmesnik za vodilo TK 68000 in - komunikacijski procesor. Vmesnik je zasnovan tako, da opravlja naslednje naloge: - skrbi za pravilno odzivanje, ko glavni procesor (GP) ali DMA naslovni KK, - demultipleksira nas lovno-podatkovno vodilo TK 68000, - omogoča pravilno dodeljevanje lokalnega vodila, - pri bralnem ciklu generira pariteto podatkov, oh vpisnem pa Jo preverja, - signalizira napako pri prenosu podatkov med GP in KK ter dvojno napako na lokalnem vodilu, - krmilni naslovni števnik. Sestavljajo ga: - demultipleksor, - naslovni dekodirnik, ~ naslovni Števnik, - vezje 8038 FIG, ki vsebuje 128 bytnv globoko F1K<.) vrsto in dva sporočilna registra. Komunikacijski procesor je zgrajen iz naslednjih sklopov: - lokalnega procesorja 68000, - naslovnega dekodarnika Ln povezovalnih sestavov, - pomnilnika EPROM kapacitete 4/16/32/64 kB, - dinamičnega RAM-a 128/512 kB, - registra prioritete, - perifernih vmesnikov 8530 SCC, - merilnika časovnih intervalov PIM 6840 in - linijskih vmesnikov po standardih llS-232 ali RS:-422. Slika 2 prikazuje zgradbo komunikacijskega krmilnika. 3. DELOVANJE KOMUNIKACIJSKEGA KHMILKIKA Sistemsko vodilo Je povezano z lokalnim preko naslovnega števnika in vmesnikov. Dodeljevalnik (arbiter) skrbi za pravilen prenos podatkov med vodiloma, tako da lokalno ■ vodilo zaseda hkrati le en procesor. Na vodilu ne sme priti do trkov prenosov različnih procesorjev, zato dodeljevalnik izmenično dodeljuje vodilo G P in KP, kadar oba zahtevata dostop na lokalno vodilo. S pomočjo sporočilnih registrov elementa FIO se GP ln KP obveščata o pomembnih dogodkih in potrebnih ukrepih. FIFO vrsta je usmerjena od lokalnega k TK vodilu. Namenjena je za prenos znakov s periferije h glavnemu procesorju. To je ugodna rešitev, ker omogoča znakovnemu prenosu prioriteto nad blokovnim, kar zagotovi dobre odzivne čase pri interaktivnem delu. FIFO obenem zagotovi časovno enakomeren priliv znakov, zaradi tega GP-ju ni več potrebno togo slediti dogodkom na znakovnih komunikacijskih kanalih. KK Ima samo en FIO element zaradi prostorske in cenovne optimi zaci je vezja, ne da bi se zaradi tega bistveno zmanjšale njegove zmogljivosti. Za blokovni prenos ima GP neposreden pristop na lokalno vodilo. Ce bi imel možnost naključnega naslavljanja, bi moral biti ves naslovni prostor KP viden GP-]a kot del njegovega naslovnega prostora. Ker je mogoče v sistem vključiti več KK, bi vsi skupaj zasedli dobršen del naslovov, ki . so sicer namenjeni pomnilnikom. Mehanizem okna zmanjša potrebno Število naslovov na najmanjšo možno mero, KK zavzema v naslovnem polju le 16 naslovov; H'FFXXXO - podatkovni register FIO H'FFXXX2 - kontrolni register FIO H'FFXXX4 - MSW - zgornji del naslovnega števnika H'FFXXX6 - LSW - spodnji del naslovnega števnika H'FFXXXS - R/W - okno k lokalnemu vodilu H'FFXXXA- RI/WI - okno k lokalnemu vodilu H'FFXXXO - R1/WI - okno k lokalnemu vodilu H'FFXXXE - RD/WD - okno k lokalnemu vodilu Slika 3 prikazuje naslovna področja računalniškega sistema TK 68000 ln komunikacijskega krmilnika, FIO zavzema prve štiri naslove (v resnici se nahaja podatkovni register na naslovu H'FFXXXl, kontrolni pa na H'FFXXX3). Na naslovnih H'FFXXX4 do H'FFXXX7 je naslovni števnik (MSW, LSW). Vanj je potrebno vpisali vrednost, ki ustreza želenemu naslovu na lokalnem vodilu. To lahko storimo npr. z instrukcijo MOVE.L ADR,S!FFXXX4. Z izbiro enega ali dveh naslovov (MOVE.B ali MOVE.W) izmed preostalih osem, generiramo na lokalnem vodilu naslov, ki je določen z vsebino naslovnega števnika. V odvisnosti od izbire adresnega načina (MOVE.B, MOVE.W aH MOVE.L) in naslova v oknu ostane vsebina naslovnega števnika nespremenjena, se poveča aU zmanjša za 2 ali 4. Okno na naslovu H'FFXXXS kaže vedno na eno lokacijo, dokler GP ne spremeni vsebino naslovnega števnika. Okna na naslovih od h'ffxxxa do H'FFXXXE omogočajo sekven-čni pristop, kjer se po vsakem prenosu podatka skozi okno vrednost naslovnega Števnika ustrezno spremeni. Ob naslovitvi enega od oken se sproži proces dodeljevanja lokalnega vodila. Pri tem velja princip "sprosti na zahtevo". Če bi uporabili princip "sprosti, ko si opravil", bi hiln ogroženo delovanje operacijskega sistema GP. Vsakič, ko GP naslovi lokalno vodilo, mora v povprečju čakati nekaj več kot 1/2 časa Izvajanja cikla na vodilu. Dodeljevanje lokalnega vodila smo optimlrall tako, da se lokalni procesor Izklopi potem, ko je postoril vsa.opravita. GP tedaj ob naslovitvi KK takoj doseže želeno lokacijo. Stanje bita v registru prioritete opravil je kriterij za izklop lokalnega procesorja. Potem, ko je končal s tekočimi opravili, vpiše v register prioritete vrednost "O". S tem se Izklopi in GP lahko doseže lokalno vodilo brez čakanja. Katerakoli prekinitev povzroči, da se vsebina registra prioritete postavi na "1", To povzroči vklop KP in dodeljevanje vodila "na zahtevo". Za pravilno delovanje sistema je potrebno uporabiti naslednji programski prijem: Prekrinitvene rutine za vsak dogodek postavijo ustrezno bit, ki pove monitorju, kaj mu je storiti. Poleg teh bitov je potrebno definirati še dodatnega, imenujmo ga INT bit. Le-tega mora postaviti na "1" vsaka prekinitvena rutina. Monitor ciklično preglejuje bite posameznih dogodkov in glede na njih stanje ustrezno ukrepa. Ob začetku cikla postavi INT bit na "O" in nato nadaljuje s pregledovanjem ostalih bitov. Ko pregleda vse (ln seveda konča z opravili), testira še INT bit. Če ima le-ta v tem trenutku vrednost "O", lahko vpiše "O" v register prioritete in s tem izklopi procesor. V nasprotnem primeru mora nadaljevati delo na začetku cikla, ne da bi vpisal prioriteto "O". 4. PROGRAMSKA OPREMA KOMUNIKACIJSKEGA KRMILNIKA KK ima rezidenčno prograilisko opremo vpisano v EPROM in programe, ki jih naloži GP. Po vklopu računalnika LP z rezidenčnim testnim programom preveri lokalna vezja (DRAM, SCC, FIO in PTM). Če materialna oprema deluje pravilno, GP naloži komunikacijsko programsko opremo v lokalni DRAM KK. Nato se inicializirajo parametri, ki omogočajo pravilno delovanje LP (sistemske spremenljivke LP) ln komunikacijskih kanalov (Inicializacija logičnih in fizičnih kanalov). Po inlcializaciji vezij (FIO, SCC in PTM) je KK pripravljen za sprejem in oddajo podatkov po komunikacijskih kanalih. Ker komunikacijski programi niso rezidenčni, lahko hitro ln preprosto relnicializiramo posamezni kanal za drugačni način prenosa podatkov. Programe lahko predhodno vpišemo tudi v lokalni EPROM pomnilnik in tako sprostimo del bi"alno-vpisnega pomnilnika za pretok podatkov. Tedaj ne moremo programsko spreminjati delovanja komunikacijskih kanalov, vendar lahko KK deluje popolnoma samostojno. Komunikacijsko programsko opremo sestavljajo rutine in povezovalni program (jedro). Procesiranje posamezne rutine se sproži pod določenimi pogoji. Prekinitev sproži ■eno izmed preklnitvenih rutin. Rutine prenesejo podatke med vmesniki (FIO ali SCC) in vmesnim pomnilnikom (buffer) ali pa sprožijo 'time-out' proceduro (PTM) pri sinhronem prenosu podatkov. Rutine za obdelavo podatkov omogočajo različne operacije nad podatki in procesiranje kontrolnih znakov in informacije v blokili podatkov (kodiranje/dekodiranje, zaščita podatkov, kontrola pretoka, odmev, ...). Prekladalne rutine prenrieščajo podatke iz vmesnih pomnilnikov v vrste, v katerih podatki čakajo na prenos v sistem ali v komunikacijski kanal in omogočajo prenos kontrolnih sporočil med IJ* in Gl' v obeh smereh. Kontrolna sporočila se izmenjujejo skozi ukazni kanal (sporočilna registra v FIO elementu}, preko katerega si LP in GP posredujeta informacije o zasedenosti kanalov oziroma vrst in načinih delovanja. Jedro programske opreme ugotavlja pogoje za skok v posamezno rutino. KK lahko ima dodatne programe za statistično obdelavo pretoka podatkov. 5. PRETOK PODATKOV SKOZI KOMUNIKACIJSKI KRMimiK Pretok podatkov skozi KK do procesa v centralnem računalniku poteka skozi znakovni (asinhroni prenos) ali blokovni (asinhroni in sinhroni prenos) kanal. V znakovnem kanalu se podatki prenašajo skozi KK znak za znakom, medtem ko blokovni kanal prenaša bloke podatkov. Pri asinhronem blokovnem prenosu se prenašajo vrstice in pri sinhronem prenosu paketi (podatkovni del HDLC/ /SDLC n^ora) podatkov. Prednost blokovnega prenosa je veliko večja propustnost sistema, snj [jrocesor ne izgublja časa z vsakim posameznim podatkom posebej. Dio-ke podatkov lahko preko sistemskega vodila izredno hitro prenaša tudi DMA krmilnik. GP ima dve možnosti komuniciranja z napravami na lokalnem vodilu: prenos skozi FIFO vrsto (enosmerni znakovni kanal k GP) in prenos skozi okno (dvosmerni blokovni kanal in enosmerni znakovni kanal k IJ'). Prikazan je asinhron znakovni pretok podatkov skozi KK, ki je uporabljen z osnovnim monitorjem za testiranje delovanja KK. Sprejem podatka po znakovnem kanalu sproži prekinitveno rutino (Rv), ki podatek prepiše v vmesni pomnilnik (buffer). Vsak znakovni kanal ima svoj vmesni pomnilnik. Podatki Se iz vmesnega pomnilnika prepišejo v nFO register FIG elementa. FIFO register se uporablja kot vmesni kanal za prenos podatkov k GP. Enakomernejši pretok skozi KK za vse znakovne kanale dosežemo z zaporednim praznenjem vseh zasedenih vmesnih pomnilnikov. Rutina Rf prenese iz vmesnega pomnilnika v FIO te en znak in nato preskoči na naslednji buffer neg lede na to, koliko je ta buffer zaseden. Hitri znakovni kanali tako ne morejo "odriniti" počasnejših. Vsak podatek spremlja tudi kontrolna informacija, ki določa, skozi kateri kanal je bil podatek sprejet. V CP rutina Rs prepiše podatek iz FIO v ustrezni sprejemni vmesni pomnilnik, ki je dodeljen posameznemu kanalu. Tu je podatek na voljo operacijskemu sistemu računalnika oz. uporabniškemu programu. r---- KK ima samo en FIO element, zato mora GP uporabljati pri oddajanju podatkov (rutina Ho) pomnilnik KK kol vmesni kanal med GP in LP. Takšna konfiguracija je izbrana zaradi večjega izhodnega toka podatkov, ki ni časovno kritičen. Kadar zeli GP odposlati podatke, skozi okno napolni izhodno vrsto z enim ali več znaki. LP dobi preko ukaznega kanala (sporočitni register FIO) sporočilo o zasedenosti vrste. Rutina Kz sproži rutino Ri, ki prenese podatke v ustrezni periferni vmesnik SCC oz. komunikacijski kanal. Ko je vrsta prazna, LP preko ukaznega kanala sjiro-ži GP, da lahko ponovno napolni vrsto. Rutina Up oiTi!>t)ot'i, da Ro lahko izprazni oddajni vmesni pomnilnik. Slika 4 prikazuje preprost pretok podatkov skozi znakovne asinhrone vhodno/izhodne kanale. Paketi podatkov (blokovni kanal) se po sprejemu shranijo v vmesnem pomnilniku. Vsak fizični kanal ima svoj buffer za en paket. Poln sprejemni buffer se mora čimprej i/.prnz-nit, da je pripravljen na sprejem novega paketa. Paketi se prenesejo v vrsto, kjer čakajo, dokler se vmesni kanal ne sprosti. Med prenosom LP obdela celotni blok in ustreKno ukrepa. Vmesni kanal je del pomnilnika, iz katerega til' prenese blok v svoje delovno področje oziroma višjim rii-vojem operacijskega sistema. Preko ukazanega kanali si procesorja izmenjujeta sporočila o zasedenosti vrstp. (Jd-(MŠiijanje blokov (jodatkov poteka po enakem princljni kot sprejem. Splošen pretok podatkov skozi i'CK prikazuje slika 5. 6. ZAKLJUČEK V zasnovi KK smo upoštevali različne pogoje obratovanja krmilnika, zalo pričakujemo, da bo KK uspešen komunikacijski sestav z izredno široko uporabo, ne samo v sklopu računalnika TK 68000, temveč tudi kot samostojna fintita. 7. REFERENCE (1)1. Dolinšek, P. Knafllč; "Specifikacija zahtev do inteligentnega komunikacijskega krmilnika", Interni dokument ISKRE TELEMATIKE, dec. 198-1, str. 12, Ljubljana, (2) H. Slatinek, N. Črnko; "Poročilo o 1. fazi razvoja komunikacijskega krmilnika", delovno jmročilo za ISKRO TELEMATIKO, jan. 1985, str. 42, Maribor. CPU TI IT CSL konzt]la sislemsj<^ vodilo DRAM TI TK 68000 KK H DISK. M. --- ■ — diskovni pogon komunikacijski konaii Slika 1: Osnovni moduli računalnika TK 68000 sistemsko vocilo Slika 2: Zgradba komunikacijskega krmilnika sistem m kp iggaECTi miE!^ laiPTiTiìgsì: / ) RAM / 1 ROM // fw*»3rabljefio p t/O podfocje v oeiporoWjef» Slika 3: liazporeditev naslovov sistema in KK 300 komunikacijski krmitnik TK 68000 sistem komunikocijsk i_ kanali SCCIA y—V isocb <5> RAM ri oddojo podatkov okno RAM Ro fio ^ --HI^ -M Slika 1; Znakovni asinlironi vhodno/izhodni kanaii komunikacijski kanat vhodni kanal izhodni kanal [Tvk vmesni konol '9P vrste procesor vrsle viiji nivoji OS ta SliVta 5: Pretok potiatkov skozi KK NffiATERE IZKOSSJE PRI DELU Z HAČUHAIfllŠKini KREŽAHI Davor Šo5tari5, ÜSIVESZA V MARIBORtJ RACUBAIiCnS: Hariljor, iKI CSMTER Jugoslavija UDK: 681.3.007 NEKATERE IZKUŠNJE PRI DELU Z RAČUNALSIŠKIMI MREŽAMI V referatu bo prikazane nekatere naSe IzkuSnje pri izgradnji in delovanju ra£unalniSke mreSe Univerz« v Mariboru. Prikazane so nekatere dobre lastnosti ia. slabosti, ki emo jih spoznali v Sašu delovanja, poleg tega pa tudi n^atere težave, ki smo Jih morali premagati v izgradnji. EXPERIEjrCES USING A COHPUIDEE NETWORK In this article, we describe soae of our experiences idiile installing, using, and maintaining our eofflputer network at the University Of Maribor. The article tells about the problems we had to overcome when installing the network and gives our opinion of the good and bad features of it. Uvod Potrebe Slanic Universe v Mariboru so v preteklosti narekovale uporabo in nabavo različnih raEunalniških aistemov. Tako amo na posa-aeanih Šolah do leta 1985 areSali raSunalaik DELTA 100 ter po dva raäunalnika DELTA in ISKRADATA C-18, poleg tega pa so Se uporabljali DEC-10 na Univerzi v Ljubljani ia CYBER 72/172 na Republiškem racunäcem centru. Vsaka šola je sama zase iskala svoje poti v računalništvo in s tem seveda tudi po avoje skrbela za svojo raiunalniäko opremo. Tu je prihajalo do ve£jih razkorakov, tako v programski kot tudi v specialni strojni opremi. Ko je bil ustanovljen skupni univerzitetni računalniški center, je bila ena od njegovih temeljnih nalog tudi posodobitev in povezava vseh teh raSunalnikov. Pri tako različni paleti £elja, potreb in parcialnih zmogljivosti je bilo seveda težko spraviti vse na skupni imenovalec. Brez nekaterih temeljnih, morda tudi bolefih rezov, ni Slo. Na podlagi razliSnih presoj smo se odločili za izgradnjo takega računalniškega sistema, ki bi posameznim članicam nudil dovolj avtonomne moči, obenem pa omogočil povezavo sistemov v integrirano računalniško mreSo, Našim namenom in iiiožnostim je najbolje ustrezal koncept Digitala oziroma ISKHA DEUDE, tako da smo kot centralni računalniški sistem instalirali računalnik DELTA 'vS^, sistem ISKHADATA 0-18 pa zajnenjali a DEMO in DELTO Po zagotovitvah proizvajalcev se dajo vsi ti sistemi enostavno povezati v mreie, saj vsi podpirajo BECNET - Digitalov software za računalniško mrežo, poleg tega pa ee je možno z različnimi ennilatorji priključiti tudi k večjim računalnikom drugih tipov (IBM, CDC,..). DanaSnja topologija računalniške mreSe Univerze v Mariboru Na univerzitetnem računalniškem centru imamo tri računalnike DELTA 4550. Dva od teh treh Sta bila šele nedavno instalirana in Se nista povezana v mrežo. Na posameznih šolah je stanje tako: - Tehniška fakulteta - VTO Strojništvo; DEMA y*o - Tehniäka fakulteta - VTO Gradbeništvo: DELTA WO - TehniSka fakulteta - VTO Elektrotehnika, računalništvo in infomatikas DEI/TA 5«) - Visoka ekonomsko komercialna šola; DELTA - Visoka Sola za organizacijo dela Kranj; DELTA Fizične povezave med računalniki niso pomembne za uporabnike, zato 30 organizirane tako, da smo kar se da optimalno uporabili komunikacijske vmesnike. Našo mrežo smo povezali tudi z računalnikoma drugačne arhitekture. Ha Univerzi Edvarda Kardelja v Ljubljani uporabljajo računalnik DBC-10, ki je resda tudi Digitalov izdeldt, vendar njegov operacij^i sistem do nedavnega še ni podpiral DECHETa. Zato smo skupaj a ljubljanskimi kolegi poskrbeli za drugačno programsko opremo za povezavo. Na tej relaciji smo pravzaprav imeli dva različna softwara, namreč VAXNE5 in pa v zadnjem času vse popu-lamejSi KESMIT. Od julija letos imajo tudi na DBO-10 DECNET, tako da smo zdaj tudi z njimi povezani na enak način, kot z drugimi centri naše Univerze. Računalnik povsem drugega tipa pa je CTBER 72/17Z na Republiškeim računskem centru v Ljubljani. Z njim smo povezani preko emulatorja KUX 200, obstaja pa tudi povezava DEC-10-CYBER. Težave pri izgradnji računalniške mreže Na tem področju smo pri. nas praktično orali ledino. Rešiti smo morali ogromno problemov, tako na hardwerskem kot na softwaräiea pođ~ ročju. Ear se tiče ustrezne programske opreme, je bila zadeva vsaj med centri naše Univerze lažja, saj je obstajal Digital DECNET. Dosti težje je bilo z ustrezno konunikacijako opremo. Koliko muke je bilo potrebno, da smo zbrali vse modeme, niultipl^serje, DL-je, DUP-e, DMH-je in vse ostalo, kar k temu sodi. Poseben problem so predstavljale tudi razdalje med possffleznlni raSunalnlkl. NI ti dva namreS nista V isti stavbi, kaj Sale prostoru. Razdalje se gibljejo od 50 m pa vse do 200 kta. Zaradi tega tudi hitrosti prenosa podatfcov variirajo od 1200 bitov na aefcuado do 56000 bitov na sekun--do. Na hude težave pa smo naleteli ie pri samih pripravah na izgradnjo mreže. Na Številnih seminarjih, sreSanJih, teSaJih in neposrednih pogovorih z raznini strokovnjaki smo slišali ogromno o teoriji raäunalniäkih mrež, o tistih slavnih sedmih nivojih, o entropiji, o formulah za preračunavanje marsičesa, spoznali cel kup grai'ikonov in se nauäili le dosti drugega. Zelo teSko pa smo prilli dO informacij, kako konkretno postaviti mrežo na noge, (äeprav Je ustrezna programska oprema že sestavni del operacijskega sistema;, sploh pa, kaj še vse pri tem potrebujemo. Dosti dela Jo bilo potrebno, da smo se premaknili od zagotovil proizvajalcev, da "mreža ni noben problem - to mora delati", bili je našemu cilju. Ob že znanih "kvalitetah" našega telefonskega omrežja so nas najbolj mučile nabave komunikacijskih vmesnikov, potrebnih za povezavo med računalniki. Vse navedene probleme smo dokaj uspešno reäili in mreža Je končno zaživela. Kaj smo pravzaprav s tako mrežo dosegli? Denimo, da delamo z nekim računalnikom v naši mreži. Ne glede na naravo dela slej ko prej naletimo na določene težave, kot na primer; - preakromna kapaciteta procesorja, kar pomeni daljSi izvajalni čas s povečanim Številom operacij; - prezasedenost sistema v konicah; - pri zahtevnejših programih pride do zasiče- ■ nosti kapaciteto centralnega in perifernega ^ooina; - premajhna skupna kepaciCeta diskovnih enot ne dopuSca kreiranja večjih datotek ali poda-kovnih baz; - okvara samo dela sistema (npr. edinega tiskalnika) nas tudi do 100 % onemogoči; - podatka Je treba med računalniki fizično prenašati (trakovi, nekoispatibilnost medijev, ...); - nimamo ^ecialne opreme (grafika, posebni programi ... ), ki jo ima na primer naš kolega v sosednjem centru; - itd. V mreži, kot je naša, se lahko s "svojega" računalnika s preprostimi -ukazi enostavno "preselim" na nek drag re^unalniic in tam delam na enak način, kot da bi bil priključen direktno nanj, poleg tega pa lahko se prenašam podatke iz enega računalnika na drugI oziroma uporabljam podatke in programe iz drugih računalnikov. Vse, kar moram poznati, so ustrezne lifre oziroma gesla na drugem računalniku in pa seveda pravila njegovega operacijskega sistema, če gre za drug tip računalnika. V približno dveh letih, keir dopolnjujemo in izgrajujemo našo računalniško mrežo, smo ugotovili n^različnejSe primere njene uporabe. Posamezni uporabniki na poljubnem računalniku se preko mreže selijo s sistema na sistem in na ta način obidejo vse težave, opisane v prejšnjem odstavku. Ugotovljen Je ogromen prihranek na času pri, prenosu podatkov med računalniki, Vsa zamudna dela s trakovi so odpadla. Nemalokrat smo bili v tak prenos dobesedno prisiljeni, saj je na primer odpovedala edina tračna enota na nekem računalniku, pa smo preko mreže spravili podatke na trak na drugem raču-nalnilcu. Knjižnica Tehniške fakultete vzdržuje na BepubliSkem račun^cem centru podatkovno zbirko za INDOK za področje tekstila za Slovenijo. Podatki se zbirajo na centralnem univer-, zitetnem računalniku, potem pa se preko mreže poSljeJo v REC. Tako so podatki za vso Slovenijo na voljo takoj, medtem ko so bili prej stari dva do tri mesece, preden so po pošti priSli v Ljubljano s trakovi. Ko na primer dobi iCnjižnica TehniSke fakultete zahtevo po idcranju nekih infomacij iz podatkovne zbirke knjižničarka kar na terminalu na našem sistemu sestavi ustrezni paket ukazov, ki Jih pošljemo preko mreže v izvaganje ne Republiški računski center in potem cez Čas dobi reaul-tate-na terminal ali na papir. Noben problem ni uporabljati različnih programskih produktov, kot so matematične knjižnice, konstrukcijski paketi, statistični in simulacijski programi itd,, ki jih posamezni centri imajo in dajo na razpolago tudi drugim uporabnikom preko mreže. Zelo težko bi ai vsak računalniški center na naši univerzi privoščil drage znane programske pakete, kot so NAG, SPSS, GPSS, IMSL, FIMIX, BERSAFE in podobno. Tako dejansko nabavi vsak samo nekatere, potem pa Jih lahko s pomočjo mreže uporablja tudi na drugih sistemih. Senčne plati V prejšnjem odstavku smo našteli nekatere pozitivne plati na naSi mreži, ki so se pokazale v času njenega življenja. Seveda pa ni vse tako rožnato. Izkazalo se Je, da je hitrost prenosa 1200 bitov na sekundo razmeroma skromna. Zares omembe vredni rezultati so edino na tisti relaciji, kjer Je hitrost prenosa 56000 bitov na sekundo, čeprav so tudi pri 9600 in 4800 Se zadovoljivi. Za distribuirano obdelavo, ki v določenih časovnih obdobjih pošilja podatke na druge računalnike (ali pa Jih od tam uporablja), je taka mreža kar uspešna. Ni pa si mogoče predstavljati, da bi lahko v primeru okvare nekega računalnika vse njegove uporabnike ali pa vsaj večino, v najkrajšem času preselili drugam, z vsemi njegovimi podatki in programi vred. Poleg tega so tu Se tudi druge težave na manjših računalnikih, predvsem BELflJA y*C, pa tudi DELTA 644. Pri nekaterih majhnih konfiguracijah lahko DECMET močno obremeni računalnik, gre pa tudi za nekompatibilnost sistemske progranske opreme, saj ponekod ni možno hkrati izvajati DBCNET-a in programa za beleženje porabe sistemskih resursov (accounting). Upamo, da bomo to rešili s povečanjem centralnega pomnilnika na nekaterih sistemih in s poenotenjem sistemske programske opreme na sorodnih računalnikih. He nazadnje je treba spregovoriti tudi o varnosti in zaščiti podatkov, V nreži, kot Je naša, ne obstaja poseben zaščitni mehanizem proti uporabnikom z drugih računalnikov, kar seveda dela dodatne preglavice odgovornim delavcem pri posameznih računalnikih. Res pa Je, da zato tudi ni odnosa gospodar-suženJ, ampak so vsi računalniki v mreži enakopravni. S tem referatom smo skuSali prikazati nekatere naše izkušnje z računalniško mrežo. Sodimo, da smo na tem področju prilli dokaj daleč v našem okolju, kar pa seveda ne pomeni konca, ampak Se večjo obvezo za iskanje novih poti za Sii^ j en j e in razvoj računalniških mrež. V najkrajšem času bomo povezali vse tri računalnike DEt/EA 4650 v Računalniškem centru Univerze v Mariboru. Če ne bomo uspeli nabaviti komunikacijskih vmesnikov za DECWET, bo za silo zadostoval tudi skoraj vsepovezujoči KERMET. Kasneje bomo te tri računalnike, pa tudi še 2-5, ki so relativno blizu, najverjetneje povezali v mrežo ETHERNET, seveda pa Ja še privlačna varianta clusterjev. Sedaj načrtujemo povezavo s še nekaterimi računalniki, tudi na republiškem nivoju, s Čimer bi olajšali dostop do po- trebnih podatkov, ki se sbirajo na enem meatu, fca primer RepubliSki zavod za statistiko). Tu gre tudi za distribuirane baze podatkov na Širšem področju, na primer jugo si ovaa deem ali evMpskem ter za vključevanje v JtJPAK-jugoslovansko PTT omrežje za prenos podatkov. REALIZACIJA PROTOKOLA X.25 - LAPB ZA DIGITALNO NAROČNIŠKO ZAMKO ISKHA TELEHATIKA KRAHJ TOZD RAZISKAVE IN RAZVOJ Bizjak Igor, fiepon Stanislav, GyörVcöS Daniel, KunCič Sago UDK: 681.3.00r Digitaliiacija telefonskega omrežja vodi do vpeljave ISBN (irtegreted service digital network). Tudi ISKHA Telematika ae je vključila v razvoj kotnutacijskih sistemov na tem področju. Eksperimentalni teleinformatski sistem (ETS) predstavlja prvi korak v ISDN in je rezultat lastnega znanja. Realizacija protokola X.25 zavzema pomembno mesto v tej aplikaciji. Digitization of telephone network postulated for the introduction of ISDH(integrated service digital network).Within this concept, ISKRA Talematika has started to develop such switching systems. ETS experimental teleinformation system represents the first step in ISDN and is the result of ouj" own knowledge. Realisation of X.25 protocol plays on important part within this application. 1. Uvod ETS je nadaljevanje razvoja na digitalnem telefonskem aparatu (DTA) ( 1] in digitalni naročni-Ski zanki (DNZ) 12]. Sistem obsega konfiguracijo 6 DTA in 2 standardna telefonska aparata (analogna). SI. 1.1.prikazuje konfiguracijo ETS-a. Osnovne lastnosti; a) neodvisno krmiljenje govornih in podatkovnih funkcij; b) vspostavijanje - rušenje podatkovne aveze avtomatsko v podatkovnem terminalu - računalniku. (FT-E) s protokolom V.25 ali ročno preko DTA; c) aplikacija podatkovne zveze je določena s tipom PT-H in aplikacijo programske opreme; d) lokalna govorna zveza; e) lastnosti digitalne naročniške zanke (DHZ) - dvosmerni dvožični prenos po navadni telefonski parici, - hitrost prenosa informacije je 144 kb/s, - organizacija kanala B + B + D B kanal - &4- kb/s prenos govora (PCfl) B kanal - 64 kb/s prenos podatkov (V.25, RS 252) D kanal - 16 kb/s prenos signalizacije (X.25 - LAPB) - napajanje DTA iz centrale (uporabljena CMOS tehnologija), - nivojeka in modularna zgradba programske in materialne opreme. SI. 1.2. prikazuje funkcijski model DNZ a staliSča ISO (Internal organization for standardization) modela. Digitalni naročniški modul (DSfl) v tej fazi še ni sposoben obdelave DTA (predvsem zaradi signalizacije)- je bilo razvito digitalno naročniško vezje (DNV). Nivojska zgradba pomeni, da npr. n-ti nivo za svoje delovanje koristi usluge (n-l) nivoja in daje usluge (n+l) nivoju. Naloge nivojev DNZ: Nivo 1: - realizacija digitalnega prenosa po bitih - časovna ločitev smeri - hitrost prenosa 160 kb/s - dodajanje - izdvajanje napajanja na linijo Nivo 2: - obdelava govorne informacije - podatkovni vmesnik za priključitev terminala (V.25, RS 232) - realizacija protokola V.?5 - realizacija protokola X.2$ - LAPB 1.'ivd ~ V iJ'i'A - tind/.or f.;ish;it;nro - i.v-iiir; niini'!fi.::ri Lti poilJ<1.;;o'/ nu LCll pf U: :i/.nv;il n i k - 1:i 1.i■/.iic. y.vnf ri'K^ii " - V Drrv - i'ca] i. i, knmun i k.'ic, i .i.: im .'!Ì.i;;iin V; i. i voriilii v DEM - hr»nRr;jrmüc,LJa iiktir.fiv -'^nd l"17i in Di;;! Vsa konunii^aci.jn mi ; d-DT A. in UHV ;irjt;(.>ka 1) kiJnülii Ka potrebe DTA !.t> p r-ott)l< oI.h V.?f;. 2. Inplem.'.-nbrcija pratnkola X.PS - IrAPB Protokol preti at;iv].,i;j 1 i n i ;j Kk i ti Ivo (iiivo 2) po ISO motlGlii in opi.r.uje. procRd'JTf; i.7raenj.'ivo potlatknv inßd BCE (l)nt;;i C i i-r-nLt Turm i'ìiit:i iii^ "fiiiipnicnt) in D'I'^ (!j«Kfi Termina l Eqnipme:; 1;). V STS prtj'.i ritavl j!j DTE di.ffitnl i! L I <;1Ton nk i ;i]i;itHl: (D'i'A) in DGE difùt")iifit.'iiSiiiijko vM7.,if; (HHV) sk'.ipn,i 7. di(;italnl[n n.-Jročrii.;1ki m mnii;iloin (Diiii) . l,Al>i! (F,ink Access froci'iivirc Bnlanr.ed) Ji; ri.i osnovi HDI.C; (Hi(;)i-lf!vel Dni:'! l.irjk Coiihi ol ) iTtil.r^^ul n, 1'rotokol v l:i :;lA',i prod;!l:;iv1 j:i iiiv. p:-avi!, ki koarrtxr. Ira.io in 7.;!(rot;jivl.-iijJo po'i^i t:i'.<;v. riknoi ja prot-okolfi -/.fitinovMiin ir. In-oh di-; ; ir.- - sintakiic;: düfin Ith elijmcnt:!; p r ui;e(!iu-o , - 3om,'iritikn: Oof i dì rn izmenjavo iirO'if^ Jiivo^f-v, - č;i;;civnc rnv.rnun;i tloTinira mnkr.; im.-j !.no 7..Tka:-n i l.f;v pr-iEnkovanega odf^ovora ir; iupad« iiinivo;;::. O;;novna oblika jiroriona sporočil okvir (frame). I'renos okTfirjev r.H vi'?;! v moriniih. tlCITTE priporočila 7.fv protokol XLA.FB toIo siiil-'-iitiatično opisujn T-ar.ne ukni'.o in nn^iiir; prenot'.': v ray.nih situacijah, vnndar nn ['ii-iiiti runko.ior,.'*lrn; ;'.[;rfu!bc. Zelo tužkn hI ,if! iir.tvnri sliko zaradi tnkSnec® opisa. Vsiljiije se idnja o real izfit; i. ji LAPB pi-ootìtlure s pomočjo končnep:a .■■.vtomaia stanj. I?.ka7,rjlo nn je, da je mogočo zelo enoRtavno in pregledno /.iiranovati in realizirati, pror^ramski modf:! . I-Totični avtonat mora realizirati akcije kf^t so: vapoKl;;:ivljanje in rušenje vKdi-StivnnJi: r.i^ :■ i podatkov zo prenos, (ietekcijo napake, ponavljanje, itd. Te akcije no v nodelli konciiin.^'i nvftoxatu predstavljene kot funVicijo prohu-ìn mud stanji. i'loJel. končnega avtoroJiV.a jo rfinlizirüTi proF;rn:::r.ko. Po analizi vseh akeij je bil kontni avtomat fa;'.dtiljf>n nn tri (^lobalrio a) poetavijsnje in ru.'ienje li) izmenjavo r,porO'!:Ll, c) rf!n>;t •Avo.y.fi in nn:-.t;op r.ii:iii.'i ti U r.r.o napako. Vsako fjlobalno Gl.anjo jn jKjI.eri .^e rawieljcno ra podstanju, ki ko o;;iiovTia uttinja ir:oiicla, J. Zgradba programsko oprene Celotna procramska opi-ema (tO) jc /fiKriovana nn principih modularnoKlii, posamezni moduli pa ;io realizirani z modiilom koncnG|-,a avLoiiiata stan.j. V si. 2.1. na stroni DTA imardo tri ča^ìovrlo neodvisne module (FO VjTA , TO LAPB) . ČarM.v- neodvisnost modulov pogojuje taksno 7.c;radbo |ifO[;;rai[ifike[;a modula, da j.; proceano noč (^uB) /.asi.-'.i'v . samo toliko časa, kolikor j« nujno potrebno. I'n!:R!n ne procesna moč prt.-:ia druf^nnu niodul^. Konncpl končnega avtomata podpira tak;";nQ saj laliko prekinemo izvajanje in nadal jiijerio ponovno v .istem stanju. Moibili no !;mejo v:.:!;bov.Tti /•••ink ( B.-ikaF;nitRV - delay). 'lo^ifO- I.AFB precednre prikaz^iji; si. 2.2.. Izvajalec poskrbi, da :-.c izvajanje ri.-iijaljnje v atanju, kjm- bilo prekinjeno in isvr-'i prehod v novo Gtanje, ki je bilo (torinirnnn določeno akcijo. Postarnev.io ytnnje končnega avtomai.a je realizirano v obli.ki po(;ojriLii stavkov, k.m- nrnoi^oča enor.tavno tetitiranje iirofF:riitii;.t. Spr'ojem in (xldaja sta asinhrona in podp!'of';rfir,.'i i// b1 . ?.?. preverita .sprejeti o:-.i rotm formii-al.a oridnni okvi C,lede nti semnntiko in sintekiio. Celotna programska oprema j^; ritruktiirno '/j-rajena in napisana v 7.bi.rtiikii za ^nl' MC l'if5C0!;->. 4. Zaključek Princip uporabe končnega nvl,om-'ita je pokazal rledeče prednosti: s) podpira modularnost, b) strukturna zfjradbn in prouledimrit reali^.ac i.Je končnec« avtomata, c) enostavno testiranje prof^rantif-ke opreme, d) zanesljivost, e)' podpli'a Časovno rier>dvi..'^.nor:l: i-iori^ilov, ".'ciit ii-an je CO je pet. Tvii lo I !. pTÌ!Ì'.opa pT'i T't:.il i ;'ac i. ji p rop: r a ke dpl'iüit:. !^.pr->r>i.!ijanje ■ rin.it nvio -.pi oi;;! üj.-iiije piii^ojnib st .ivkov, ki tvni'ijn pi-o;-.!''':'; ia-iri.in . 306 5, Rtiference 1 'AJTEli RO/IIl E-P Komunikacijski terminali, ki jih omogoča difji tolni tfilerrit::;Vi ksir.n! P. YUTEL aVlII G-IO Prenos informacijß po (1iGìt;aYni naročniški r.nnki. 5 CCITT Recommendation VIII. i i BiH I- , n ^ Ml ITA • 1 l)S S-, n( 7? . ' VIS at-.r. «mi 1 n.j Pir'/tAl fiV 1 v?5 JTi iS - ä 1 131 UU !1 . J 1 tlsfftnsm kmn SI 1 I ronktiiJiri motici HS Crti'n «: ArtvA: ioi^i t:i ••C DTfc M r:H tliVWJtl arrì-iSI* rs vs^imi !'. il! y m Jisiut«0 m Hilf, li MVL! 1 liMiA I DiGIIALkC VfHE {OUVI PC m HE [kV HQ ^ PCH ilvO^N VKlUnr VMlSkK VODI') ro 1 iS M lis «AiiciiiiKd vnuuù n.-jL -I ! ? i:iiiilr..r4k« TCfl^i Dfi' 1 stđSižf.s l^fl ntndelu nuštKJt hiPiiii lia-^iAViftK.' 51 ^CvEI k^nti^aga ovitm^tu LOZ irJLTiilIKriüi(Aijü.lALiJI3i). Dol..i]ia vodil je lahko io lOOOm pri iiitroati pro^io^ju 50kiid. Posam::;',ni fun^cijaki poJKÌ3te:.n jt-lahko sestuvljan ia dnej.a ali VJÓ mikroraiunalniV.ov (glavni in do pet poiJ r;.^ ji.';.-ih), ki so litri seboj hierarničnn y,ova;',;ini paralelnimi VH.iili (VVOD). Dolzinn pjiralulr.i!-, vodil Jo tio pri hitro.jtI prenosfi t,?.; 3-bltnih besed/3. Vsi miKroraKunalniki so o.-i-novani na ni Kroji rocesoraki druiini .-'otorol:! M6300. Zaradi povečanja siinesljivoRti posaneane poda i si ti.-riia (delno ali v celoti) ;u.i-vojimo. Serijska si.-jter.-srikij vodila, predstav] j-ijo hrbtenico tnultinitroraiunalnl.ikec'» 3iste.i:'i, zaradi zanesljivosti podvojunu (3V;j/A, LiVOD/J). K0T.aniciranje vodi arbiter (oion iamed mikroračunalnikov), ki iKvrui .-.vto-Mijki preklop ill ur,in na drujj.a vodila, i^o napaico pri komunikaciji, /.^sradj ^.nnualjivj.-;'.i ima funkcijo arbitra veS aikraročun'^lniitov, ci katerin je eden aktiven, ostali .90 pj.sivni jr-bitri. Aktivni Eirbiter cikli';no dodel ju jj vodila poaai^ieKnin iiodtsistenom, ti pa nepoürchio koiaunicirajo nebo j. riporoćilo obstii^a ur- f.anizani jSKi, podatkovni in zaiićitni dol. Prvi vsebuje uiljno adreso in krLiilne dru,;i obije^ša lo l'fi'j fl-bitni!i bt-.ìel, ivriiitu ; pred.^itavlj-» /i!OiiL;tri;.iki -ind. .;iljnii iiirvii je indoris k-isiala -tj i sì -ì;i1:i, - • [.im-sìf'a jv! v .ipl .: fir.! ;• i ■., ni-u i i ' ■■ v iionur'Jtiii i^ii'.ros'iii.jn ilnik lr:ir jj.HV .: ; . 3. ÜIMTSiaUCIJA FUHKCIJ Center nadzoruje in vođi impajfilni aisten sa SUO ka pro/i^e, Meposrenni zajer. lnformü.c;lj in izdajo korc.-ini) v proces isvij^ sjkupaj 21 ''.al-jlnsrtlh (končniti) postaj, iikiij-.no »tevilo informacij v procesu anaiin cca 1000 ^:o^l:lnlì ( Ivo-jitni iahodi), 12 nastavitvenih vrsrlnoati uli 6 bitni iEiiodi), 550 esiobitnih in Ì300 ivo-uitnih 3i;',nrili zaci ,i (vhodi), Hn-Llognih uei'-Itev, 12 št'jvčnih vradnoHti , :UilO(?e 0'jntr.-i funV.oi jsco /jrurlriitao v pet rn', r'tiìov, (.I-; j na i-: s "M razdelimo r.T5d deset nlki-orw!: in:ilriiikih po l-niutenov: PHE;)?tìOUH3I!ÌALÌ.Ji: l:rr'OìiMACI.T. Pet pođsislt-ov predstiivljiL calne predprocKBoi-jy (PP), ki l;c-□unicir-ijo s končnimi pont.'ijn:.;i (prwko ah- nulov), predstavljajo atanja proCBSü na siiiop-tični" (moaniit) ploüiU iti nuisiìriC-nili prikuio-viilnikin. V njih je ii-iiilernintirariii di:itri':-'ui-rana podatkovna s pripaiiu joilisi in Lenii-ai in eküternirnl l'unitci jatni , i-. jor as izve.i.j ou-novnfi obđelavii in.formacij ìk koìUMiih yor.trij {ugotavljanje gprsnenb 3l;^nuli?,iicj j in njiiiov prikaz tia sinoptiki, iaraoun i-,:r,:i!>j oiKilcijini-kov., laraìun 15-ìnlnutni)i ivovpri^n j mrtriini:! vrednosti, vođenje dnfivne porube ener.dje, nadzor prekoračenja n=!j I!er11.".ih vr^dnoati ipđ.)" __ "rije pr';:Jproce:iorji ;-;o ü pripadajočimi (treni) koncnir^i puHtaja-ni ];Ov-j-zuni na način tocKa-točka, üst.'ai-i ;Ivìì pa isi^sta vsak svojo grupo (A in 13) k on in i h poataj iiovi-zanih na linijski način ( 11 i point ). Tuka konfiguracija je posledica r-i/lit'^ie ti in obsega infor:r,acij v joln.V^nih korr'nih poatajah. OBriKijAVA. Podsistem 01:D je na.nenjyn specifičnim obdelavaa (izrisóuni nora-be aktivne in reaktivne ener,;;lje ter oo;3(!'i) po ra;ai.':)in odvodih Ka različna časovna oudobja v različnih tarifnih območjih, ir.rJičun lokacije kratite^^ stika ipd.). Teaii jiodsiratetnu je (kot tudi vsem petim pradprooeaorjei;;) ^'.aradi ;iiate!:i-atiénih obdfelav dodan oi'lttnijtiaiii proos^or (rioatint;; point processor A::i05tlA), ki dsluje paralelno mikroračunalniku l:i ir.očno poveča z:ao[;l j ivost podsiatena. VUUÜ.IJL; PRQCKSA. Dv,a pođsioti.-rH (POHL h in B) sta namenjena operaterjevijione^om v sistei^ (poslužavanje). Operater izdaja komande v proces (krmiljenje ločilk, trafo atopenj, ventilatorjev, Itd. in iKbira oziroma aahtcva priitaz različnih informacij wtanja proceau v različnih oblikah (spreMljanje ui^^rilnih vrednosti, ispis merilnih protokolov, izpis arl.i-vira.iei-ja protokola, osvetlitsv, z;.itemhitev in test poaameanih delov (sinn;'llki5, kvitiranje alarmnih signali saci j ipd.). ' Opisane naloge so temeljnega pomena za sprennl janje in vodenja procesa, zato jih izvaja le «dfin od obeh podsistemov, drufji pi prve;;ii ;;pre;til ja v stanju aktivne rezerve (stand-by). Ü tüin 'ncóno povečano aane-sl j i vo-st, kot razvidno i;; analiza v nadaljevanju člani:a. P!(0?0KGLI.RAN,J;;. Podsistem FiiOT je namenjen sprenljanju procesa z obratovalnim protoKolo::!. Tako do.^u.Tentiraino v.'se do£;odke y vodene.Ti procesu, vse poLie^re operaterju, v prooos oziroir.a siste.Ti, kot tudi (iogodke v .-i-ir:;! mikroračurialniMki nu-eii centrfi, k;!r Je posrebej pomer.bno ?.& »litro odkrivanjo in iii -.iđ^^-jžiio odpravljanje nap;-k (dii^.:'ika 1. ASHIVIRASJE. Podsistem ,\'ii\ krmili diskovno enoto, na kbtoro arhiv i. r vr:'it:o prccüünih :;preLienljivrc kot so poviireOi^; y:'wdiiOHti "lüi-i- tev .-lapetosti, toka, lii j ilov>i ■jr:n in -iiievna por;;i:a ele;^ Ir KiitTiüjo po ennr.;\n , ÌKi'ab'; r!:i f 1 oiiriikov ip::. vtrtdi i;o;nH::ibrin;i t i'ai-h i v ! Vii.ii f'-v vi 1 i protokol tekoče,',a in predhodnn,_'.a dnova. arhiviranja po'.L'istem tudi n^špoaredno i^ihija arhivirane inforinaoije v obliki ra.-.ličnih z:'.-prtih protokolov (tabele In ni'^i'i vrednouti meritev'in porain? ele.-itričn« Hnerf;ije, ai-iitvi-rani odprti protokol) na piđalnik. 4. AiJALizA AL':a»;JA':iv:( opisani distribuirani Tnulti^nikroraòynalniđk L sistem bomo pri-aerjali z enoračunalniško i.:-vedlio. Ka jir i ri'! r j a vo vze^iiirr;0 -liniračunal.ni.-; iz druKinc P!)P-I1 (npr. M/^'V), klasičen ;;r'j-oesni računalni'-'., .-li'pa je .'ie danes prisote.-i v mnogih aplikaci .ia'n , 4.1. ZiroßljivoBt Pri analisi je bistveno upoštevati specifičnost nalo;; v centru vodenj;i pri poay-Liazni aplikaciji. V opisanem pri;n(iru pr-.i'VÌa-dujejo (oca KVi) logične operacijo (pos-tavljunje, bri:;anje bitov v podatkovnin atru:-;-tura.h, krrailjer.ja bitnih izhodov) in operacij-; urejanja, iskanja in prepisovanji!, pri katerin je TEiniračunalnik 11/'i'1 pribli/.no do H krat hitre jiii od ;:;i ki'oprocesor j a i-iC f5;JC;0. V dis-tribuiranara centru paralelno deluji5 '.) pcdsia-te^iov (eden jt; v aktivni rei;ervl), pri i>-;-rier ob aini;nalni k rrn^u n i kuci ji po ;(ire/.i ne ČMti.To distribuiranosti I iisr ii-ia vsak podsistemi vsaj dva prooetiorja (edon koTiunicira v. rsrot-.c, druj'i opravlja aktivne funkcije). V primeru arit'ie-tičniii operacij je pre-inoLjt T3a izbrani niniračiinainika janna in teiV.o primeri jivu. V naoem primeru je aritmetičnih operacij LiO-razmarno malo in so dokaj praproate, tai'.c Ja postanejo miitroračunalniki ' ob do-iatku aritrnetičnei^a j)rocesorja primerljivi z miniriLČunalniko^.. Opisana iBvsdiia predstavlja torej operativno vodenje procesa v realnuin času. Ce zahtevaino funkcije podalj^aneira r-;-alnega časa, ki zahtevajo množico k'.implecEni;; aritmetičnih operacij in obdfl;iV, katerih resultate vračamo v proces (npr. o,:tl:ii rsir.,;.-;:., regulacijskih al{;.oritT,ov) v cilju povečanja zanesljivosti, 'ekonomičnosti ipd., j'j miniračunalnik primernejši in sposobne j ni . Pri opisanih funkcijah je z:noj',l j i vost oteli realizacij približno enaka, osiro.ri.'i OKtaja rahla prednost na ;;itrijni mult i ini k ror:i'ainalri i :'jk e mreža. Vsi programi so fiksno ohranjeni v hitrem po.:i-nilniku (ilPHOMu ), zato odpade ča.i nala(t?.;ija programov z diskovne enote v pomnilnik, iti je pri miniračunalniku priaotun. Cperacijüki sistem je distribuiran, zato je čafj dodeljevanja CPE ustre.'.no krajši, kar ijovečujiJi zì:o-{rljivoat, 4.2. Kanaciteta Kapaciteta hltrc-'f'ii pomnilnika. Obe alternativi nudita mno^^'o večjo kapaciteto od potrebnfj. V distribuiranaia slator-ii; lahko vüai; i-iikroračunalni-!ia podsistem direktno naal-avlja 64K, po potr-jbi , oh naslavljaniv: ro Sitmr:';.'- p-j do 256K fl-biiiiüi besed, Uevet pedii i lahko ircelo praxo 2M b^^ssd pomni niiiu, zu opisano realizacijo pa preSvideva:i;o '-'-Vi b-' Miniračunalnik 11/34 direktno nar.la.'ija ob. raKŠlr jenti.i n.sslavl j--.'.nju pa tipično oziroma maks in no 2\i iS-hiT.r.in ob trezni ti; rn i Kapaciteta ri i s,; .'jvne ünotf^. rji,:' nr; -d i :ii'.'.>vn o e nO IO procesnih ini'onu.Li^ij ly icr'itko čaaovno obdobje (urni in dnevni arhiv) in relativno malo informacij aa đaljSe obdobje (rnsseSni in letni arhiv). Tako zaaeđetio le eoa. 10^ Cđlotne kapacitete diskovne enote sistema TI-50, ki anaäa 5 Hbytov. V primeru bistveno većjej>i obsega informacij, ki 3e tipično pojavi pri funkcijah v podal jSanem reulners čagu, je očitna prednost na struni mini računalnika, ki au enoatavno izbereno ustrezni liLakovni pop,on, praktično poljubne kapacitete (npr. 10, 20, 40, celo 160 ali 500 Mbytov) (jlede nu potrebe dane aplikacije. 4.3. ZansBljivost in razpoložljivost Za oceno dejanske zaneeljivoati je potrebno razpolagati a Btatlstičnimi podatki o obratovanju in okvarah ae delujočih sistemov, C;ake podatite je od proizvajalcev opreme za procesno vodenje težko dobiti, ker predstavljajo vrsto poslovne tajnosti. V primeru siatena TI-50 razpolagamo s teoretično izračunano zanesljivostjo aparaturnih modulov. Israäun je narejen na podlagi zanesljivosti vgrajenih elektronskih komponent (integriranih vezij) posaraesnih proizvajalcev, zanesljivost vaakega podsistema mreže je izračunana na oflnovi uporabljanih modulov. Kljub precejšnim naporom ni bilo mofioče dobiti ekvivalentnih podatkov za miniračunalnik, sato bo prlniorja.va le načelna ob sicer utemljenl predpostavki, da je na-nesljivost aparaturne aprerna mlniračunalnika . približno enaka zanesljivosti uGtreznee-i. mi-krcračunalničkega podsistema, aaj sta oba zgrajena iz podobnih elementarnih kooponent svetovnih proizvajalcev. Zgornjü predpostavka ée posebej velja za pomnilnlđka vezja, aa-nesljlvost hitrega pomnilnika pn je teiaeljni faktor v zanesljivosti celote, ker je bistveno , manjša od zanesljivosti ostalih er^^inlkov (procesorja, dajalnika časovnih taktov ipd,)-Zanesljivost lahko predstavimo s povpreiiiiim čason raed izpadi (MTBP), večja vrednost HTEP pojneni torej večjo zanesljivost. 2a primerjavo obeh alternativ uvedemo aiirtsstenljivko k, ki naj predstavlja kvocient; k= (HIBF multirai-kroračunalnioke izvedbe) / (j'ITiìP miniračunalnižke izvedbe). Pri k>1 je prednost na strani mreže, pri k<1 na strani niniračunalnlka. Ob interpretaciji rezultatov je nujno upoštevati cilj, ki nmo ai t;a zadali pri realizaciji centra vodenja - zagotoviti visoko zanesljivost najpone^ribneji^ih funkcij; izdaje komand v proces (posepi operaterja) in apremljanje procesa (obratovalni protokol in odsev stanja procesa^ na sinoptični plošči). 3 podvojitvijo podsistema za posluäevanje in z arhiviranjem obratovalnega protokola (podvojitev) povečamo zanesljivost za faktor 3,5 oz. 3,2 glede na nepodvojeno izvedbo. Sledijo rezultati (kvocient k) Ka nekaj zanimivih nalog oa. funkciji - popolno delovanje celotne^a sistema (0.64), - popolno delovanje vaeh funkcij razen prikaza na sinoptlänl plošči (0,44), - arhiviranje informacij vseh končnih postaj (0.5), - arhiviranje informacij iz ,'-;rupe končnih postaj (1.6), - izpis arhiviranih podatkov (2.7), - protokoliranje dogodkov iz vseh končnih postaj (0.7), - protokoliranje dogodkov Iz (Srupe končnih postaj (36), - izdaja komand v vse končne postaje (0.7), - izdaja komand v grupo konCinih postaj (35), - t^rikaz informa.cij ia v.'itjh l:ončnih pgataj na sinoptlSnl ploači (0-95), - prikaz informacij ii'. ,!f)ričiiih postaj riLi sinoptični plošči (15^)00). Kljub terau, da je verjetnost pravilnega delovanja vseh podsistemov v mreži bistveno manjoa od verjetnosti delovanja pripadajoče;;^ niniračunalnlka (k"=0.64, več procesorjev, večja verjetnost okvare), je aanesljivoat zun-tevanih bazičnih funkcij mnogo večja kot pri miniračunalniku. HTBP. do izpada popolnoma vaeh funkcij pa je 6 milijonkr>it daljši kot pri enoračunalnlskem sistemu 1 Podobno kot aanesljivoat je bistvenega poraen.i. razpoložljivost sistema (r), ki jo pri konstantni intenzivnosti odpovedi definiramo kot kvocient rsM'JütV^ i^TBP+MTTR ), kjer HTTH predr,-tavlja srednji čas do popravila sistema. laäje miniinizi rasno v mikroračunalni:lki mre^i, kjer hitreje lociramo okvare aparaturne in prograiBSke opreme (oboje je distrlbsii rano). Ce imamo v rezervi cel nabor aparaturnih moJu-lov (kar ni bistvena postavka v primerj:ivi s celotnim številom modulov - v iiaéem priiit-ru 1 1 proti 131), lahko te okvare praktično tukoj odpravimo In doseüenio izredno visoko razpoložljivost, saj je ilVTH zanemarljiv v primerjavi z 1'I^BP, ki je za diskovno enoto tipično HOOO ur, za ostile «radnike pa, več let. 4.4 Cena Cena obeh alternativ je približno istetja rs'la. Cena naaiäljenti variante je ocenjena, na podlagi funkcijsko podobnih projektov, ki jih realiziramo z miniračunalniki. 5. ZAKLJUČBK Ha podlagi analize ugotovimo, da je multlmi-kroračunalniska mreža v primeru opisane aplikacije adekvatno in uspešno nadomestilo aa mi-niraŠunalhik, a ten da v vrati po^jledov nudi očitne prednosti, ilajpomerr.bne j je je bistveno povečanje zanesljivosti in razpoložljivosti. prednost in ekonomičnost äiatribiiiranega procesiranja se kaao ravno pri povečevanja zanesljivosti anmo določenih funkcij (podsistemov), ne pa pri večanju zanesljivosti vseh funkcij (podvaj-knje celotnega sistema). V primeru bistveno obsežnejših funkcij in obdelav (npr. podaljšan realni čas) je potrebno uporabiti miniračunalnik. Idealno rešitev zu take probleme predstavlja vključitev ustreznega miniračunalnika direktno v mikroračunalni:iko mrežo (na serijska vodila). 2ako lahko ob veliki zmogljivosti ceneno povečujemo zanesljivost določenih funkcij (mi-kroračunalnižkih podsistemov). tITERATURA /1/ il.Panič, L.Lenart, P.Peterlin in druni; HultimikroračunalniSke izvedbe kompleksnih sisteaov vođenja procesov v realnem času. Informatica 2/3, Ljubljana, 19B3 /2/ Distributed Systems Handbook, Digital Equipment Corporation, 1973 /3/ R.H. Eckhouse, I.R. Morris: Minicomputer Systems I Organization, Programning and Applications (PDP-U). Prentice-Hall, ile.v Jersey, 1979 /4/ Jernsj Virant: Zanesljivo:it račjn.'il'li'v.Ih siateinov, Utilver;'.» v Jjjubl j;uii, f'iitMl aa elektroteliniko, 1931 POVBČABJE INFORTUCIJSKIH PRBTCKOV S TRANZITNIM PBETVORHIKOri B.Pehani, B.Pohar, J.Bester Fakulteta za elektrotehniko LJubljana, Jugoslevijs U D K: 681.3.007 POVZETEK - Referat opisuje funkcijo tranzitnega pretvornika, njegovo zasnovo in vklJuSitev med oi)stoje£e telefonsko in teleks omreije. Uporaben pa Je tudi okrnjen, direktno priključen med računalnik in teleks omrežje. Analiziran« so različne stopnje njegove okrnjenosti in izpeljane njih karakteristike. ABSTRACT - The paper describes the function of transit converter, its concept and its introduction between existing public telephone and telex networks. It is useful also truncated, connected directly between computer and tele* network. Various degrees of truncation and their characteristics are analysed. ' UVOD Snisel osebnih računalnikov niso igre, ampak resneJSe delo in njihova uporaba na vseh področjih aktivnosti našega življenja. To lohko dosežemo z vključitvijo osebnih računalnikov v hišne raSutsalnižko vodene sisteme in v splošni telekomunikacijski terminal uporabnika. Sled-- ■ nji naj bi omogočal poleg govornih komunikacij tuđi podatkovne komunikacije v različnih oblikah. Hkrati s tem je potrebno na široko odpreti Mporsbo telekomunikacijskih omrežij uporabnikom prenosa podatkov. Tu pa-se odpre vprašanje kateri prenosni medij Jfi takoj, oziroma za male investiciJe~na voljo v te namene. VpraSanje Je še posebej pomembno za dežele z gospodarskimi težavami z omejenimi investicijskini možnoetoi. Ha razpolago ata nedvomno obstoječe Jgvno telegrafsko in telefonsko omrežje. Slednje nudi uporabniku tudi možnosti integriranega priključka za izmeničen telefonski in podat- kovni prenos. Podatkovni prenos teg-? priključka pa lahko razširimo tudi na obstoječe telegrafsko omrežje. Tako lahko vsak računalnik, ki izpolnjuje določene pogoje, nastopa kot TX priključek in vsak TX priključek lahko nastopa kot asinhroni računalniški terminal. Potrebno Je le povezati obe omrežji s tranzitnim pretvornikom (TP). FUNKCIJA TRAHZITNBGA PRETVORNIKA Naloga tranzitnega pretvornika je, da omogoči in transforsiira prehod podatkov med telefonskim in teleks ali dnigioi telekomunikacijskimi omrežji. Priključen Je na priključke telefonskega ih priključke teleks, oziroma drugih omrežij. Priključitev nfi teh točkah je najbolj standardizirana. Bolj podrobna razčlenitev funkcij tranzitnega pretvornika Je naslednja: - vzpostavlja dohodne in odhodne telegrafske zveze, Slika 1. Zgradba tranzitnega pretvornika 312 Slika TX vmesr.ij^ - vzpostavlja dohodne in odhodne telefonske zveze, - preklopi telafonako ivezo v podatkovno, prilagodi hitrost prenašanj« podatkov uporabniku in oddaja uporabniku navodil«, - pretvarja znake in hitMSt pri izmenjavi podatkov med teleprinterjem TX in računalnikom in krmili podatkovni pretok II], Povezava telegrafskega in teleks omrežja s traniitnim pi-etvornikom prinaša naslndnja koristi: - vsak računalnik, ki izpolnjuje določene pogoje lahko nastopa kot TX priključek, - vs9k TX priključek Ishko naSTopa kot računalniški terminal; s pomočjo še prostih zn=!kov (CCITT aheceđa~štev.2) ter tako omogočimo oddajo kompletnega nabora ASCII snakov, če je to potrebno. ZGR,\DBA TRANZITNEGA. PRETVORNIKA Zgradba tranzitnega pretvornika je prikazana na sliki 1. Jedro predstavlja CPU (Hotorole r.CeSOO) in pripadajoči ROPi/i?AM. Ostali deli so periferne enote ACIa (KCfiS^O), PIA ((106821) in USART (Intel 825U). Specifični periferni enoti pa sta HDLC vmesnik in TX vmesnik. Vezje TX vmesnika je prikazono na sliki ?.. Ta voesnik opravlja naslednje funkcije; - zaključuje n^tročniiko telegrafsko zanko (priključka a in b), in določa tok 1=5 mA z uporom BI in tok I='tO mA. z R2, - rs^poan.Tva polaritete na iilnh a in b ter jo sporoča vmesniku USAHT s aipmlom ÜCD (i po-l-irit-ito pomeni lofrično. miriql. (f^lqr^Biye B-li« JU laUt'é Uflai^t'ltllaif i- poi)«;" VtllXti*^ ffr^fa^ Slilca J. Diagram poteka delov-jr.js Ti- razpoznava prekinitve telegrafske zanke (telegrafski znaki) in jih sporoča vmesniku USART s signalom - od USART sprejema signal RTS zn prekinitev zanke, oziroma povečanje toka v zanki, - od USAET sprejema telegrafske znake preko signala TxD, - električno ločuje telegrafsko omrpžje in vmesnik USAKT in omogoča pretok podatkov ter signalizacije preko optosklopnikov CSI, 0Ü3 in 0S5. Programsko opremo tranzitnega pretvornika sestavljajo : - program inicializacije, - program za ugotavljanje IRQ zahteve, - programi, ki se vključujejo gle'^e na II^h zahtevo in stanje zveze (izvršijo prehod v novo stanje, oziroma nalogo potrebno ob Iii.» zahtevi - prekodiranje kode, izpis navodila».), - tabele za prekodiranje ASCII v telegrafsko kodo in obratno, - besedila, ki se izpisujejo kot navodila uporabniku. Naslednja slika 5 prikazuje diagram poteka delovanja tranzitnega pretvornika. Zveze skozi tranzitni pretvornik se odvijajo s prehajanjem iz enega stanja v drugo. Prehode izvedejo u-atrezni programi, katerih vključitev je o^ivis-na od zunanjih in notranjih pogojev ter stanja zveze. Zunanji pogoji so IB'^ zahteve, ki lahko pridejo iz naslednjih izvorov; RRFAl - sprejemni register AClA je poln, TREAI - oddajni register ACIA je prazen, DCUl - sprememba polaritete TG priključka, RxDUl - prekinitev TO zanke za več kot is, TREUl - oddajni register UCARTje praze:'., ElfFUl - sprejemni register L';:;,.-iT je poln PTM - pri^kiniCcv projran-.n'^i Inee-a šcpvr-- '-a- Notranje pogoje (Čssovn« kontrole,konec določenih flkcij itd.) pa si proBram postavlja sam. RAZLIČNE VARIANTE TP IH MJIHOVE KARAKTERISTIKE Traoiitnl pretvornik v različnih variantah Ish-ko uporabljamo na različnih mestih: - za povezavo računalnika, priključenega z mo-denom na Javno komutirano omrežje (PSTM) s TX omreìjem (glej sliko 4.), - za povezavo računalnika direktno s TX omrežjem (glej sliko 5). - Z8 interne potrete PTT, kot Je to na primer avtomatska oddaja telefonsko sprejetih telegramov . Najenostavnejši tranzitni pretvornik v sliki 5 Je TX vmesnik prikazan na sliki ?.. V tem primeru mora opravljati kompletni nadzor nad TP računalnik, če ta lahko opravlja kvazi istočasno samo eno nalogo, pomeni to, da kadar komunicira ne more opravljati drugih nalog in obratno. Kadar opravlja druge naloge je zaseden za dohodne pozive. Kadar Je obremenitev računalnika z drugimi posli vejica, Je to za uporabnike zelo neprijetno, ker Je zasedenost zelo pogosta. To neprijetnost pa lahko odpravimo z elektronskim poštnim nabiralnikom, ki ga namestimo v to namenskem centru. Ta center Je računalnik, ki lahko sprejema hkrati več sporočil in Jih hrani v svojem pomnilniku - elek- " tronskih poštnih nabiralnikih uporabnikov. Ta sporočila prevzemajo nato uporabniki v svojem prostem času s klicanjem svoj&ga elektronskega poštnega nabiralnika na iniciativo računalnika ali na lastmo iniciativo. odvisno od programske opreme uporabnikovega računalnika. Ta predstavlja skupno s TX vmes-, nikom neločljivo povezano celoto, ki lahko le kot celota pridobi PTT atest. Druga varianta, ki nima te pomanjkljivosti, je bolj kompliciran tranzitni pretvornik, ki ga prikazuje slika 6. Ta TP Je možno s pozivom daljinsko vklopiti. TP se samostojno odziva na dohodne pozive, medtem, ko lahko nanj priključeni računalnik istočasno lokalno obratuje. TP tudi poskrbi za shranitev in ohranitev sprejetih sporočil dokler Jih uporabnik ne pregleda. To se lahko zgodi na različne načine. Realno gledano sta možna naslednja dva načina: - z nalaganjem dospelih sporočil v RATI tranzitnega pretvornika v katerem ga s pomočjo akumulatorskega napajanja ohranimo do prenosa v disk računalnika na iniciativo računalnika , - 3 prenosom teh sporočil na printer, ki je povezan z računalnikom preko TP tako, da ga ta lahko vedno prevzame s pomočjo komutacijske enote KE v TP. V obeh načinih se kaäe tranzitni pretvornik kot zaseden, ko se napolni razpoložljivi RAM, ali pa če zmanjka pspirja v printerju. Prvi način Je ugodnejši od drugega, ker se v drugem primeru na papirju mešajo izpisi dohodnih sporočil z izpisi računalnika. Poleg tega Je mani-pulecijska sposobnos.t podatkov na papirju manjša, kot tistih na disku. ZAKLJUČEK Pomanjkljivost te variante je, da je v tem primeru delovanje tranzitnega pretvornika zelo Z uvedbo tranzitnih pretvornikov, ki predstavljajo relativno majhno investicijo lahko takoj TTY h©H ■ TB f i 1 r 1 ....... I ElECTR-ONIt HOPEMJ— joit Slika '+. Povez-iv-i rtičunalnikov priključenih na PSTK s TX omrežjem. \ TP COMPUTER 1 Slika 5. Povezava raSunalnik« direktno s TX orareìjeni. Slika Tranzitni pretvornik za direktno priključitev račun'slnika tis TX omrežji». zn">Tno poveSano infornacijske pretoke na obstoječih telekomunikacijskih omrežjih. Zato bi morali stremeti, da bo ta oprema postala stati-ctnrdnl sestavni del obstoječih telefonskih in telegrafskih central ter računalniških delovnih postaj. Hb istem prineipu pa bi morali zagotoviti tudi prehod v paketno komutirano podatkovno omrežje in komunikacijo s teleteks terminali^ i e zaradi komunicitanje s temi napravami v tujini. Literatura [ll J.ttassmann: Genau betrachtet HS 252A.21-Schnittstelle, é^'er, 5 Mai 19Ö5. uväjanje teleinfobmatskih storitev v pabx UDK: 681.3,007 MIROSLAV MARC I3kra Telematika Kranj Prispevek oplauje razmere na področju govornih In negovornlh uslug v naročniških telefonskih centralah. Poleg tega nakazuje trende nadaljnjega razvoja v smeri integracije različnih storitev (PABX, telefonskih garnitur, Interfonsklh naprav, lokalnih mrež) v okviru modernih telelnformatsklh sistemov. This article gives a description of conditions in the field of voice and non voice services In PABX. Besides, it points out future development trends In integration of different services (PABX, KEY, IHTEHPHOHE SYSTEMS and LOCAL AREA NETWORKS) with modern teleinformatlon systems. 1. UVOD Moderni poslovni sistemi (podjetja, banke, biroji, ustanove ...) še danes potrebujejo (v bodoSnostl po vedno bolj) zraof.ljlve, praktiSne in hitre storitve kot so prenos OOVORA, TEKSTOV, PODATKOV In SLIKE. Za reäevanje omenjenih potreb se na tr-žlSču pojavljajo naslednje grupacije napravi zasebne telefonske centrale (PABX), telefons'jte sekretarske garniture (key systems), Interfonske naprave (Interphone) in lokalne računalnlSke mreže (LAH). Osnovne funkcije (storitve) posa-neznih naprav so v sistemu ISKRA 2000 integrirane na ta nafiin, da bo uporabniku nuđeno ievräevanje vseh zgoraj omenjenih storitev na enoten in kar Je naj-poBembneJäe .na enostaven "uporabnlSko prijazen" na2in. Gledano iz uporabniškega stallSÈa tako postanejo funkcije (storitve) posameanih naprav; naroCnlSkl telefonskih central (PABX), telefonskih garnitur (KEY), interfonsklh naprav (INTEBPUOME) in lokalnih mrež (LAN) podmnoilce storitev, ki jih rabijo moderni poslovni sistemi in jlhrešujejo moderna voslläEa. VozliBSe, na katero so priključeni razni terminali z moilernlml storitvami ima tudi labod (ciitauay) v javne in zasebne telefonske in netelefonske (tekst in data) mreže. Slika 1: Integracija govornih in nejtovornih storitev 2. govorni; in ijegovorne storitve na pam 2.1 . Prognozu razvoja V svetovni literaturi se pojavlja vse več ocen (prognoz) tladaljnjega razvoja na podroSju telelnformatskih storitev. Za primerjavo navajamo podatke amerlžke Consulting firme "Venture Development Corporation" (marec !9ß4). PBOofta V MLFT 'RAST! I I 1962 J »TOf i jSTORmV IVREDNOSTltl|^^'y°'I^EDNQSTlS>|pa£a%ll 19 B7 TšmT! UNtRftBX GQVOR/WBX -LJH 3110 TlÖÖ I 56» 100 I 13 NKBWJRtSXl !F T"« t sooo I aa I 10 T-Im—r I LAN J_40 I 1 500 5 60 9 I 65 ju računalniätva lühko radunano tuđi le E neka;) nml 10^ Ißtno rastjo (sama proß-ramska oprema ima vlSjo rast). Ker pa je letna rast novega tržišSa (negovornlh storitev) iiiredno optimiatiöna (preko 60i), prihaja do velikih vlaganj v razvoj novih siRtemov, Telekomunikaoijakl sistemi se vse bolj funkcionalno doiioln ju je jo s pisarniško termlnalsko opremo, ki mora protokoli rati, đistribuliratl in na pravem mestu arhivirati i riformaci je. Tak razvoj sili proizvajalce, ki so doslej nastopali samostojno na raäunalniä-kem o?., telekoraunikacijskera tržišču v povezovanje (ATT - Pllll.IPn, OLIVSTTI, lEM - ROM, EniCSOtI - DATA SAAR itd...) Tabtìla 1 : Hajioved raevoja teleinformat-skih storitev Iz tabele je razvidno, da so v letu 1982 v ZDA govorne storitve pomenile 985C vse prodaje, rast negovornih storitev pa je strma (preko 60^ letno). Ka drugI strani je rast negovornih storitev na naroSniš-klh telefonski?) centralah (PABX) in lokalnih raSunalnižklh mrežah (LAN) izenačena. Če primerjamo tudi drugo literaturo, analize in trende, ugotavljano naslednje smeri razvoja svetovnega tržišča teleko-nunikaclj In računalništva. Ka področju klasičnih telekoraunikacij (tj. govornih storitev) bo po letu 1985 letna rast le 6,5^, saj je poleg že do-seÄsns relativne nesinenosti trf.iäga instalirana oprena. le "innralno" Kastarela, sicer n,'i iiivfl.stic:i j«ko dra/-;:".. Un področ- Ma drußl atrüni vodi v enoten koncepi proizvodnje naprav, sistemov za krmiljenje in urejLinjfi informacijskih tokov tudi tehnološki razvoj sam. Ta razvoj pa je osnovan na integriranem dieitalnem telekomunikacijskem omrežju (IDN), vključuje pa prvine razpršenega (distri-buniranega) podatkovnega omrežja. Preoblikovanje raznih telekomunikacijskih sporočil vseh oblik v enotni (binarni) sapls poiseni digitalizacijo sporočil in a tem možno.st univerzalnosti opreme. Ker se računalništvo ni> drugi strani razvija v smeri distribulranih sistemov, narekuje to nujnofit razvoja omrežij za medsebojno komuniciranje le-teh. S prolzvodneßa staliäSa se torej oblikuje tehnološko enotno področje, ki združuje do neneraoije so disajnlrane a namenom Integracije govornih in negovornih storitev znotraj enega sistema. 3 tem udpuda potreba po izgrajevanju loktilnih liirei za medsebojno komuniciranje i'iiJntkovtilh terminalov. Teh-noložka značilnost druge generacije Je digitalizaciji s fia»ovnim roultipleksoin (PCM). Priključitev narožnilkega terminala je lahno izvedena f, analognim prenosom (telefon) ali z digitalnim, kjer lahko prlklJiii*imo hiter podatkovni terminal ali celo rtičunalnik. PCM kanal (54 K bit/sek) ]jot(!rinemo do naročnika običajno StirižiSno. ?e centrale l;jhko povezujemo v Široko paleto mrež ztx govor ali podatke tako z analognim kot d i ftitalnli« prenosoro. - Tretja senertioija - Prva generacija Pojavi se v nredlnl sedemdesetih - let. Značilno za prvo generacijo je,- da so centrale namenjene predvsem in sano za govorne storitve. Značilna tehnologija prve generacije je analogna s prostorskim nultlplekisom (stikalno matriko). To je tudi zadovoljivo ustrezalo potrebam govornih storitev naj bo v lokalu ali vključitvi v javno mrežo. Glavne lastnosti, ki jih nudi ta genera-, eija, BO izboljäane (razširjene) haroč-nlžke funkcije In centralizirana obdelava vzdrževalnih funkcij. Tretjo Generacijo proizvajalci najavlja-jo v drugi polovici osemdenetih let. Elektronske naroSniSke centrale tretje generacije prlnaSajo integracijo govora in podatkov znotraj enega kanala od mul-tipleksa centrale vse do naročniakega terminala. Vsak terminalni priključek ima 144 K bitni kanal (2B + D) in taku lahko istočasno in neodvisno vzpostavlja govorne in ncgovorne komunikacije. Seveda imajo te centrale dodatne stikalne in naročniške funkcije za potrebe nejjovor-nih storitev. Centrale tretje generacije nudijo inož-nost latoäaanega vkljuževanja v govorne (tokoicrogovne) mreäe in podatkovne (paketne) nre£e. V tabeli 2 Imuoo zbrane tlplöne lastnosti posaneane generacije: 3. MODERNE K0WUBIKACIJ3KE 3T01UTVE Teleinforsaatske storitve, katerih integracijo lahko prifakujemo v bližnji prihodnosti : 1 v OEWRACIJA UPORABM'MX, i storitve \ r - [PBW DRUGA T-r {tretja i [ SAMO GOVOR ; + + ) X j : DOVOR AL! PODATKI 1 - 1 « 1 1 ISTOČASNO OOVCR IN PODATKI 1 - 4- 1 -<- ! + osnovni namen X možno, vendar drago • nožno a okrnjenimi funkcijami Tabela 21 Tlplöne lastnosti posamezne generaci Je Slika 2: PriCakovana Integracija telelnformatskih storitev v bližnji bodofinosäti Seveda se posamezne generacije razvijajo dalje tako v pogledu älrine funkcij kot povrälnske integracije.. Klaati za drugo generacijo je značilno postopno povečevanje Števila podatkovnih tormlnalov (razširitve), kar Je praktiBno z vidika cene In uporabnosti. Centrale tretje generacije postajajo aa-nlmlve äele v eelo visoko tehnoEno razvitem okolju. To je v pisarni "bodočnosti", ko Ima veliko veČina uporubnlkov (prlkljuikov) na delovni mizi poleg telefona tudi podatkovni terminal, ki rabi istočasno z govorom visoko zmogljiv ko-taunlkacljakl kanal do ostalih naročnikov. 3.1. Govorne storitve Končni cilj vseh govornih storitev je razgovor med dvema ali veo udeleženci v zveat. Na strani telefonskega aparata ločimo standardne telefone (poziv, izbiranje In govor), posebne telefonske aparate (dodatne možnoRti; regulacija jakosti, optične indikacije, spomin za Izbiranje Ipd...) in Inteligentne govorne telefonske aparate (prikazovanje Številk, tarife, ure, komunikacija pri poloienl alu-äalkl, avtomatski odzivnik, posredovanje telemetrijsklh podatkov itd...) Z vidika telefonske centrale, ki obravnava postopke za vspostavljanje zvez, poznamo naslednje skupine funkcij: - možnosti telefonskega aparata - možnosti posredovalnega mesta - način Iskanja - onejitve In prestrezanje - noüne ßluähe - promet in Btatletike i.t.fl. Osnovne lastnosti telefonskih (sekretarslcih) garnitur so: - prikljuSitev več telefonskih aparatov na eno ali nekaj tele fonekih linij - hitro medsebojno pozivanje telefonskih aparatov v garnituri - pregled nad stanjem aunanjih linij (prosto, zasedeno, Èakanje) - predaja aunanje zveze iz enega na drug aparat v garnituri - VonferenÈne zveze i.t.d. 3.2. Tekstovne storitve Še pred elektriönia prenosom govora na daljavo se je pojavil prenos sporočil z MORSS-jevimi napravami, nadaljevanje je sledilo z uvedbo teleprinterjev na star-t-Gtop principu, ki predstavlja pravi začetek tekstovnih uslug. Danes se že vpeljuje nova storitev aa prenos tekstov imenovana TKLSTEKS. Glavna prednost teleteksa je posodobitev, poenostavitev in pocenitev poslovanja v delovnih organizacijah in drugod. Ore za ooderen sistem pripravljanja, pisanja, arhiviranja, pošiljanja in sprejemanja poslovne korespondence. Pričakuje se, da bo razvoj te storitve imel tudi velik vpliv na telex, faksimile in viđeoteks. Osnovne značilnosti teleteks naprave eo! - oddajanje, sprejem In priprava dokuraentov - na raprejeir.ni strani je dokument po nvojl vsebini, razdelitvi teksta in po formatu popolnoma Identiäen dokumentu na oddajni strani - priprava tskata se opravlja v lokalnem obratovanju - informacija med dvema napravama se prenaža iz spomina oddajne v spomin sprejemne naprave - hitrosti delovanja so raalične; 2400, 4800, 9600 blt/sek Podatkovne storitve Spekter podatkovnih storitev Je eelo Širok. Začenja se pri standardnem telefonske® aparatu, ki mu dodajamo omejene možnosti posredovanja podatkov do centrale in nazaj. Imenujemo ga iHhko podatkovni telefon, kar pomeni, da uporabniku poleg prenosa govora omogoča prenos tudi podatkov kot so na primer: čas, porabljena voota, stanje na žiro računu, te-lenetrijoke podatke ipd. Sem spadajo tudi razna merilna mesta, tipala in prikazovalniki. Naslednji (čisti) podatkovni terminal je pasivni računalniški terminal. Sledijo mikroračunalniSke delovne postaje in računalniški siEter.i aami. Kot vhodno izhodne podatkovne enote ae najpogosteje uporabljajo video zasloni s tastaturami in raallCniml pigalnlki. Obstajajo tudi tako Imenovani konzolni terminali, ki se uporabljajo ob večjih Bisteiiilh in prevzamejo tudi vlogo tiskalnika. Terminal imenujemo "inteligentni", ko Ima možnost procesiranja podatkov in programov. 3 staliäSa centrale kot vozližSnega centra pravzaprav ni bistvene razlike kak-äen podatkovni terminal je prlLcljuÖen. Predvsem gre za naSin vzpostavljanja in ruäenja zvez ter za prenosne hitrosti. NaJveS modernih faksimile naprav je Izdelanih po prlporoäilih CCIT? 02 in 05 prenosnim basom 3 minute oz. oca ^10 sekund- za strfin. Prenosni medij so javne ali najete telefonske linije. Ložimo asinhrone in ainhrone prenose podatkov. V asinhronem naSinii prenosa ai podatki sledijo v naključnih Sasovnih intervalih, v slnhronem pa ei podatki sledijo eden za drugim brez vmesnega presledka sa kontrolo prenooa. Komunikacijski protokoli dolofiajo nabor dojTovorov med dvema enotama. Dogovori toSno dolofiajo sintakso, semantiko In fiacovno zaporedje Izmenjave informacij. V uporabi je ve5 tipov protokolov (R3 232, B3C, SDLC itd.). Protokol HDLC (oziroma X.25) je standariüairan s struni CCIIT in predstavlja osnovo aagradnjo ISDt! omreilj. 3.4. Prenos slik Prenosne hitrosti so 2400, 4800, 7200 uli gĆOO bit/sük. Obstajajo pa tudi dlgl-talne fakslir.ile, naprave s hitrostmi Ifj in 48 kbit/sek. Naslednji predstavnik pri prenosu slik 80 elektronske r>KICIRKE {SKETCH PHONE). Uporabljajo se za pošiljanje skic in o-pOTnb na daljavo, medtem ko telefonska naročnika govorita po telefonu, llaprava vsebuje znslnn, pložSo z elektronskim peresom in včasih napravo za kopiranje. Sistem deluje v govornem podorSju med 1.550 in ila po postopku semi dup- lex (CCITT Torej ga lahko priklju- Simo na normalno telefonsko linijo. Hitrost prenosa j® 200 b/sek. Pod to grupacijo razumemo storitve prenosa slik, risb, skic, skratka tofik po koordinatnem principu, za razliko od tekstov kjer posamezni znaki (npr. črke) dobijo svojo šifro. 4. razvoj slfstükov 4.1. Integracija govornih funkcij v modernih pa3x Prvi in najbolj razäirjen predstavnik je FAKSIMILE, ki omogoSa prenos dokumentov, slik ali skic na daljavo po koordinatnem principu (tofike). Zvezo z željenim naroénikom normalno vzpostavimo s telefonskim aparatom ali pa K vgrajenim setom ?,a vzpostavljanje zvss ■ Zveza se ruäi. avtomntGko po koncu prenosa slike ali dokumunta. Za sadovoljevanje razliinih potreb po govornem komuniciranju obstajajo na tr-žlSču naroSnlške telefonske centrale (PABX), telefonske garniture (KSY) in Interfonske naprave (INTERPHOHB). Izhajajoä ir, ugotovitev, v poglavju 2, o smeri tehnološkega razvoja ÜPADX Je normalno, da se razllOSne uporabniSke funkcije lahko reiillairajo znotriij enKrji slBtema. V svetu se pojavljjjjo tudi novi nazivi, npr.! kombliili-iini Risternl ali hibridni sistemi. ĆS pOji^^'l^'i"" tipiine funkcij« oz, razlike posameznegfi sistema (PADX, KBY, IN-TKRPüClr.'li) Vidino, da so znotrHj c(?nt,ral-nt! kriilne enote (centrale) vse izvedljiv«. Z uporabniäköga vi^lika so rriKlič-r,l If! telefonski terminali; za rellsaoi-jo PADX funkcij ao ohiSujni telefonski aparati, za KEY funkcija telefonski aparat garnitur (sekretarski) in za INTEHP-ÜOTIR-ske funkcije "hands free" telefonski aparati, za kfitere v slovenScini uporabljamo razliSne Izrazei prostoroSnl, glasnogovorefii ali dupleksni telefonski aparati. 3 ter, so realiairane vse tipične funkcije posameznih sistemov {povezava, krmiljenje, izbiranje, signalizücije an aparatu, ozvočenje, omejitve, iskanje oseb, manipulacije med Kveso, brejiroSnl oclalv, dodatne informacije na aparatu itd...) Nobenega rs-Kloga ni, d% se funkcije vseh treh sistenov v priliodnonti ne bi združevale. 3 ten bn uporabnik z nabavo enega sistema laliko zadovoljivo reževal svoje speoifiSne potrebe na enostaven in uporabnlžiko prijazen način. To je tudi prvi korak v smeri integracije različnih storitev znotraj enega sistena, le-ta pa je že v teku. 4.2. Primerjava med PABX in LAM Avtomatizacija pisarn bo clavnò ßibalo rsndaljneßa razvaja komunikacijskih naprav. Večino zahtevanih parametrov komunikacijskega prometa vsebujejo PABX. Hkrati pa se razvijajo tudi lokalne ra-čunalniSkb mreže (LAN), ki pa imajo dru;; spekter aplikanij. V pisarniSkeni okolju imamo torej PABX za izvrSevanje covornega in podatkovnemu komuniciranja ter LAN za izredno hiter prenos podatkov. Obe reSitvi iiiedr,ebojno povezujeta naročnike, PABX s pr«kljapljanj«m linij, LAH pa z usmerjanjem paketov, V PA1ÌX je procedura za vzpostavljanje zveze časovno ločena od sfiRega prenosa podatkov (v centralah tretja gen«raci je to ne velja več), v lokalni računalniški mreži pa je vzpostavijiinje zveze in prenos podatkov časovno adruSeno. Zato imata irireži tudi različne protokole za vzpostavljanje zvez. LAH imajo občutno prednost le pri hitrosti prenosi podiitkov. PABX omogočajo prenos podatkov do hitrosti 64 Kbit/sek (le v poselinLh primerih do 2 Mbit/eek), medtem ko LAN omogočajo hitrosti do 10 Kbit/sek. Ker bo eovor äe nadalje glavna komponenta komunikacij, bodo ta segment dobro pokrivale PAEX, ki bodo omogočale tudi prenos podatkovnih sporočil, katerih hitrost je obiČKjno izpod 64 Kbit/sek. Kadaljna smer razvoja PABX je vsekakor v distribuirani arhitekturi, popolni digi-tallaaciji, razvoju inteligentnih terminalov kot sestavnih delov PABX, večjih zahtevah po zanesljivosti, in popolni tehnični intearaelji vseh oblik sporočil. Nadalje se kaže kot zelo uspešna povezava obeli principov takö, da ee mrežni arhitekturi (LAH in PABX) povezujeta in dopolnjujeta v delovanju. 5. KAKLJUĆ^lK Informacijska družba, v katero jirihajajo razvite družbe, zsihtevn vse vačja obđe-Inve In prenose inforaacij. V jirutökloB-ti ßo ae informacije obdelovale in prenašale ločeno. Kačutjalnlki bo informacije obdelovali. Za prenos informacij pa 30 ss uporabljali telefonski, tiflef.rafa-Iti in podobni sifitemi. Razvoj raftunulni-kov je zahteval medsebojno povezovanje r:ifiunalnikov v r&Eunalniške mreže. Ravno tako pu je prenois informacij po telefonsko telegrafskih sistemih K'iiel uvajati nove funkcije, ki zahtevajo vse več obdelav. Vse veäje prekrivanje raöunalniä-kih in prenorano korautfici jskih funkcij je privedlo do združevanja obeli v telein-forn^atske sisteme, ki imajo funkcijo tako obdeluve kot komutacije in prenosa informaci j. PoiianeKne storitve (teletek.s.videoteks), ki BO bile v dosedanjih siatemili zaradi porajinkl j Ivostl bodisi računalniških bodisi komutacijskih sifitemov äbIo teìko izvedljive, dobivajo svoje mesto v. so-ilobnih teleinforraatskih .=iistemih. MaroćniSke centrale, telefonske i^sarnltu-rs in interfoni^ke naprave rešujejo vaaka del specifičnih zahtev. S tehnoloäkim raEvojem aodernih računalniško krmiljenih central postajajo specifičnosti vseh treh sistemov enostavno reSljive znotraj enega sistema. Najpomembnejša prednost je uporaiiniško prijazno možnost uporabe. V VE-,sil(đ!injem poslovnem Življenju se pojavlja vse več informacij (podatkov). T« inforniüci jf; bintveno olajšajo in racionalizirajo odločitve v kolikor bo dostopne v uistrer.ni obliki ob pravem času na praven nasitu. Dosedunje pisane informacije .-io se poj.'ivljfale predvsem v obliki dopisov. Hortobna komunikiiici jsku sredstva lahko prevzamejo večino funkcij klasičnega doi:i.■rovanja, obentm pa omaf;o-čajo najrazličnejše obdelave informacij tako, da nam izbirajo samo tiate tnfor-nacije, ki nas v danem trenutku zanimajo, nedac-bojno primerjajo raalične po-d:itke, izvajajo izračune, oblikujejo informacije v najustreznejšo obliko (diagrami), prenažajo informacijo na ustrezna mesta itd. Bistveno se poveča hitrost obdelave in prenosa informacij. 2a zaključek podajamo sliko možne;;a priključevanju terminalov v teleinfor-matoki sistem kot jih predvideva sistem ISKRA 2000. ] ^ stftnoaroni teiepow INTElfQENTM T£L£FOHI TELEFONI OARMffUR PODATKOVNI TEIIPONI c±h faksimile teleteks tekst data terminal! podatwvni terminali hikroračonalhišre pqspüe Sv [rn raćunalnllki O ^ISTEHI I \ OS g f UVAJANJE NOVIH FUNKCIJ V TEU61NF0RHAT8KE 9IBTERE lltok Tvrdyd), Franc ftQii»an(2), Hajko Sabo, Helena Tvrdy. Br.gSg^of^Ko Krmj.liBIi^ teriBi,!r!B?L Procesorsko krmiljeni terminali bodo povzročili porazdelitev funkcij po posameznih terminalih. V dosedanjih telefonskih sistemih smo vse telefonske funkcije v celoti izvajali v telefonski centrali, teleinfornatski sistemi pa bodo vse več funkcij prenesli na enega ali več med seboj povezanih terminalov. Tsleinfomiatslii centrali bo zato ostalo le komutiranje različnih zvez. □reveriepa uporabnost klasičnih telefonskih funkcii Vse telefonske, interfonske in sekretarske funkcije, ki so se izkazale kot uporabniško zanimive, se bodo prenesle v teleinforraatake sisteme (na primer v digitalni telefon). ESililif.iSnS_tetiPPtftSH^—možnosti ijjgitflnih sistemov Funkcije, ki so se uporahljalf le v okviru ene centrale oziroma ene sekretarske naprave, se bodo izvajate v okviru celotne tele-informatsks nreie oziroma na posameznih delih teleinfornatske nre{e. ^BpPftHnflfi..tl■■Il^č^nalnijKih-api jka- EiJ. Računalniške aplikacije, ki so se izkazale kot uporabne za SirSi krog uporabnikov, ae bodo izvajale s pomočjo poljubnega telein-formatskega terminala. Le-ta bo seveda moral imeti zato določene standardne lastnosti. Opredelitev talainlorutahih funkcij Predhodno opisane smeri razvoja kale jo, da bomo le v bliinji prihodnosti morali realizirati veliko Število funkcij. V dosedanjih telefonskih sistemih sno realizirali vse funkcije, ki Jih je omogočala tehnologija. V teleinfornatskih sistemih pa bomo morali predhodno ugotoviti uporabniško vrednost vsake posamezne funkcije v konkretnem okolju ter realizirati le tiste, ki so tam zanimive. Zahteve različnih okolij (bančništvo, proizvodnja, turizem, zdravstva, ...) se med seboj različne. Teleinformatski sistemi pa bodo zanimivi le, če bodo zadovoljevali natanko tiste funkcije, ki jih določena okolje potrebuje. Opredeljevanja teleinfcrmatskih funkcij se lotimo tako, da analiziramo uporabnost posameznih poznanih skupin funkcij, ki so razvidne s slike 1. I Teleinforsatske funkcije I I Uparabnlške I I funkcije I I Podporna I I funkcije I +-------------+ I Komutacija 1 I govora I I Podatkovne I I funkcije I I Tekstovne I I funkcije I Slika 1. Dekompozicija teleinformatskih funkcij Kaautaotja govora Funkcije kowutacìje flovora caidelino na telefonske, sekratarshe in interlanstifi Junkcije Podatkovna funkolja V grobe» razdelimo podatkovne luTikcije na; - zajenanje in vidrievanje podatkov, - predstavitev podatkov, - komutiranje in prenos podatkov ter - obdelava podatkov. ZaiemanTe_in vzdrtevanie podatkov izvaja pooblaščeno Btrakovno osebje na predpisan način in I natanfino dolofenini dosegi preko raCunal-ni£kih vhodna-izhodnlh enot, kot so terminali (CRT terminali, registrirne blagajne, fiitaloi magnetnih kartio>, merilne naprave (Števci elektrifina energije, merilniki pretoka teko-Sin, ternanetri) in nadzorne naprave tračunal-niki za nadzor tehnaloSkih procesov). Predstavitev podatkov izvajajo: - terminali: CRT terminali, prikazovalniki (displayi), registrator ji, instrumenti, - krmilniki! krmilniki stikal, procesni računal nik i, ... Komutiranje in prenos podatkov Pri prenosu podatkov lahko uporabimo veiino iunkcij, poznanih iz prenosa govornega siynala (lokalna zveza, javna iveza, kratko iibiranje, prioritetna linija, preusmeritev poziva, ...). Ob tem pa morama upoštevati dodatne zahteve po ekstremno dolgih oziroma po ekstri^.iiio kratkih zvezah, zanesljivosti pri prenosu podatkov, hitrosti prenosa', itd. Tem dodatnim zahtevam pri komutiranju podatkovnih zvez zadoščajo razlifine tehnološke rešitve prenosa in komutacije podatkovnih zvez (lokalne mreže, omrežja za prenos podatkov; preklapljanje linij (vodov), preklapljanje Sporočil ali preklapljanje paketov). laiemanle in predstavitev tekstov izvajamo na teleteke terminalih, ki so lahko bodisi funkcijsko zelo okrnjeni, ali pa so kar kompleksni računalniški sistemi z bogatimi lunkcijami. S teleteks terminali izvajamo: - razlifine načine zajemanja tekstov, - različne interpretacije črkovnih znakov, - različne moinosti shranjevanja tekstov, - oblikovanje tekstov, ... Zajemanje in predstavitev dokumentov izvajamo s pomočjo faksimile naprav. Funkcije teli naprav so reprodukcija različnih formatov dokumentov, barvna ali črno-bela predstavitev prenesenih dokumentov, ... laieiiianie slik omogoCajo kamere, predstav itev slik pa različni tionitarji oziroma kar telein-formatski terminali. Funkcije zajemanja älik so podobne funkcijam klasične foto-kino tehnike. Funkcijo ^nttüBeP^^P" iP ^Uk opravljajo videocentri oziroma drugi sistemi za upravljanje s podatkovnimi bazami. U^čin organiziranja podatkovnih baz je odvisen od obsega podatkov, zahtev za vnos novih podatkov v podatkovne baze, od zahtev za dostopnost podatkov, ... Funkcija arenas? in.. Koputtran.iji floku- mentov in sli|< Je podobna funkciji prenosa govora in podatkov. Dodatne zahteve pa so pogojene s Številom vzpostavljenih zvez, trajanjem vzpostavljenih zvez, prometnimi karakteristikami prenosnih poti, ... (videokonfe-renoa). Podporn« funkcije S podpornimi funkcijami teleinformatskega sistema, kot so polnjenje, administri ranje, diagnostika, meritve, zažčita in tarifiranje urejamo zanesljivost in prilagodljivost sistema na prometne in funkcijske zahteve sistema ter obračunavanje uslug. Obdelava oodatkov Vsak proces (tehnoloSki, ekonomski, sociološki, ...) zahteva nabor zanj specifičnih obdelav. Takih aplikacij obstaja v svetu ie sedaj ogronno, njihovo število in velikost pa stalno še naraSčata. Na tem mestu ni smiselno naštevati posameznih aplikacij obdelav podatkov, zato podajmo le njihovo razdelitev po skupinah I - krmiljenje tehnoloških procesov, - banCnlSko poslovanje, - avtomatizacija uradov, - prowetno - turistični informacijski sistemi, - razvojni in podporni sistemi, in tako dalje. Takstovna lunhclja Cpranos tekstov, dokumentov In slik) Funkcije prenosa tekstov, dokumentov in slik delimo na naslednje skupine: - zajemanje in predstavitev tekstov, - zajemanje in predstavitev dokumentov, - zajemanje in predstavitev slik, - hranjenje slik, tekstov in dokumentov ter - prenos in komutiranje tekstov, slik in dokumentov. Tranutna atanjs ratvaja v svatu in pri nas Po svetu so ss nekatere od omenjenih funkcij £e razvile, toda ne v okviru enotnega digitalnega omrežja. Prenos podatkov, videoteks in teleteks so funkcije, ki skoraj v vseh evropskih drlavah le ie delujejo ali pa so vsaj v pripravah. Pri nas so te tri funkcije v pripravi ali v eksperimentalnem delovanju, seveda pa so zaenkrat med seboj še točene. Tudi proizvajalcev ustreznih naprav je precej. Seveda teh naprav zaradi neunlverzalnosti ne moremo poimenovati za te 1einformatske termina- ladnje novice potrjujejo, da so se na ameriškem triišču poleg privatnih omreiij digitalnih naročniških telefonskih central (ROLM - CBX) te pojavili digitalni telefoni t vmesniki proti IBn PC kompatibilnim mikroračunalnikom in celo mikroračunalnik, v katerega je digitalni telefon te vgrajen (Juniper, Cedar). Te nove enote lahko smatrano kot poskus uvajanja določenega tipa teleinformatskih terminalov. Predhodniki teh samostojnih delovnih postaj so terminali tipa ES.l In ES.3 proizvajalca Zai-san, vendar pa le-ti temeljijo Èe na analogni podatkovni komunikaciji. V Kanadi obatajija podobni realizirani posku' si: Northern Teleaoa je dal na triiSće družino Displayphane, katere najnovejäi predstavnik Displayphane Plus ina vgrajeno enuLacijo protoka!« VTIOO ter interni 1200 baudni laodB». Zanlnlv Je francoski eksperiment VELIIY: telefonski naroćnik dobi poleg telefonskega aparata posehen terminal t s katerim dosega podatkä v teleConsken ineniku, opravlja ban±ne transakcije in se hkrati vklaptja tudi v francoski videoteka TELETEL. Ta eksperiment Se kaže na integracijo doloCenih uslug. Iz druga smeri, iz Čistega raAunalnizkega okolja potekajo v okviru ESPRlTa (skupni program EGS - Evropski Strateiki. Program za Raziskave v Inf ornacijski Tehnologiji raziskave z operacijskim sistemom UNIX UNITED, to je distribuiranim sistemcm UNIX v okolju medsebojnih povezav odprtih sistemov (OSI/ISO), Na eni strani nameravajo zgraditi povezavo Bed rafiunalniki na podlagi referenčnega nodela ISO 051, na drugi strani pa uporabiti protakal X.2S za komunikacijo 2 javni» omreZ-Jei>. Pri tem naj bi bita programska oprema za komunikacijo čim bolj prenosljiva, to je neodvisna od računalnika in njegovega operacijskega sistema. Cilj raziskav je izdelava sistema, ki bi uporabniku bistvena olajfial delo na distribuiranih sistemih (dostop do poljubnega dela sistema, iskanja informacije, elektronska poÈta, distribuirano editiranje tekstov, izmenjava programov, Na podroSju standardizacija komunikacij in prenosa podatkov se na mednarodnem področju (ISO, ECMA, CCITT) odvija iivahna dejavnost -pred nedavnim so prejeti nove standarde tIHF in *.ADO. Zakljuöah Referat podaja le grobo strukturo teteinfor-natakih funkcij z označitvijo njihovih osnovnih karakteristik. Vsak izdelek (telefonska centrala, terminal, raCunalnik, ..,) pa bo imel natanfino opredeljene vse funkcije, ki jih bo lahko izvajal v konkretnem tel e iniormatskem sistemu. Teleinformatske funkcije ne bede izvedene te na enen mestu, kot v dosedanjih telefonskih centralah, ampak porazdeljeno po komutaciJskih sistemih in terminalih. Funkcije zajemanja tekstov bodo, na primer, realizirane v tele-teks terminalu. lato so te funkcije zanimive le s staliSCa načrtovanja teleteks terminala, popolnoma nezanimive pa so pri naCrtovanju same teleinformatske centrale. Z uvajanjem teleinformatskih sistemov meja med ratunalniStvon in talekomuniJiacijami izginja; uporabnik pa se iz nedejavnega Eprejemalca infarmacije, kakršno mu nudi sedanja obfia tehnologija (pisana besedila, časopisi, radio, televizija), spreminja v tvornega udeleženca procesa dvostranske izmenjave informacij. Pri tem pa si ne ieli OrMellovega Telekrana. Cll Glossary of Terminology, PBX Systems, The Marketing Programs and Services Group inc., Gaithersburg, Haryland, Iffil C23 Savetovanje o uticaju novih sluibi na promenu tokova informacija, Zajednica Ju-goslovenskih PTT, Dubrovnik, C3D Tovarniški predpis TP-A.5D.10D Pregled funkcij naročniških telefonskih central, Iskra Telematilta, DSSS - PHS, Standardizacija in dokumentacija, Kranj, l^fi^ Dendayan J.t The "Unin United" Aspects of the I.E.S., A Distributed Unix Sistem m an "Open System Interconnection" Envirc-ment. Information Exchange System, Pilot Project Nr. 130, First ESPRIT Technical Week, Brussels, September C53 Cornell R. G., Stelte 0. J.i Progress Towards Digital Subscriber Line Services and Signaling, IEEE Transactions on Cam-ounioations, Vat. Can. 29, No. 11, November 19B1 C43 Qorrcs I.: Telephone Nets Go Digital, IEEE Spectrun, April l<»a3 Zli Karavators P. u.: The Next Generation in Business Communications, TelecoBmunitati-ons, August 19S3 CBl Keller D. A., Young P. P.: DIMENSION AIS/ System BS - The Next Generation Meeting Business Communications Needs, IEEE, 19B3 C91 Moran T.j fiOLM integrates IBM PC compatibility into its proprietary PBX netwaik, Mini-Hlcro Systems, November £101 Rudov M. H.i Marketing ISDNs: Reach Cut and Touch Someone's Pocketbook, Data Cam-munications, «cGraw-Hlll, June i'la'. Clt] Takahashi T., Nagass H,, Ueno T.: Function Enhancement of Digital Local Exchange to Accanodate Digital Terminals, IEEE, 19a3 CÌ21 Thomas J.: Electronic Business Telephone, GTE, Automatic Electronic Journal, «arch 1980 C13J Tvrdy 1,, Unk M., Canjko C., OeSman M., Tvrdy H.: Funkcije naročniških telefonskih central. Institut Jolef Stefan, US delovno poročilo DP-3333, Ljubljana, 19S3 interaktivni md posredstvom te!,ex mbeze JELOVICA BUDIMIR JADfiOACEWT - RIJEKA UDK: 681,3.007 SAZETAK; - U referatu je prikazan način uključivanja u Informacioni sistem putem javne tele* mreže. Ukaiano Je na mogućnost pristupa centralnoj bazi podataka u smislu njenog ažuriranja ali i postavljanja upita. Naglašene su specifičnosti u rješavanju načina pristupa, proizašle zbog sporosti u radu sa klasičniio teleprinteran. Nabrojene su i ostale mogućnosti raiia kao što su' prijerri telexa ali i slanje običnih i cirkulamih obavijeati uz butoitiatsko biranje brojeva. ABSTRACT: - The telex combines all the requirements needed to make possible a dialogue between the user and a oariputer, nainely: - a keyboard enabling questions to be formulated or data called up. - a print-out facility enabling replies to questions put to be received instantly. The possibilities offered by the telex are therefore the same as can be with any real time computer terminal and can be categorized under three inain heaJlns: - data acquisition and verification - interrogation of central data bases - automatic message transmission UVOD Za one infonraclone sisteme, koji ne gladuju za velikom količinom podataka (barem ne u nekim svojim dijelovima), ali zahtjevaju izuzetno velik broj punktova priključenih u kraćim intervalima vremena, dobro rješenje za prikupljanje informacija biti će korištenje [cedunarodne tele* mreže. Ovako rješenje dati će Izvanredne rezultate za informacione sisteme, npr. u agencijskim kućaina, bez obzira da li su one turističke, putničke iU brodarske. Sve se one bave rezervacijom i prodajom prostora ili samo izdavanjem informacija, bez obzira da li u dvorani, igralištu, autobusu, brodu ili hotelu. Za sve njih vrijedi da im klijenti nisu uvijek unaprijed poznati. A svaki od njih sigurno posjeduje običan, stari i spori teleprinter. U svijetu postoje rješenja koja pokrivaju ovo područje već više od jednog decenija, H>žda začuđuje ovakav spoj dvije tehnologije iz praktički dva različita stoljeća, ali se on pokazao korlsnim, naročito u agencijskem poslovanju, gdje je tehnička opremljenost različitih agenata upravo na toin-prapotopnoffi stupnju razvoja Informatike. U svrhu spajanja računala na telex mrežu, razvijen je hardware te software apliciran na računala DELTA H850 (VAX 11). Prograinski paket dobio je zaštitni naziv PROTOKOL EMUUTOR ZA TELEX KOMUNIKACIJU ili skraćeno - P E T K 0, a sadržava tri osnovne funkcije; - funkcija interakcije sa bazom podataka informacionog sistema. Ova funkcija pruža mogućnost interaktivnog rada u dva pristupa - upit na bazu i ažuriranje baze - funkcija prijema teksta ili formatiranih izvještaja - funkcija distribuiranja otvorenih tekstova l/ili izvještaja dobivenih iz različitih prograir.a. U ovu funkciju dodano je auto-call svojstvo (sposobnost), pa je tlire čovjek oslobođen od čestog i mukotrpnog pozivan ja. U postojeći informaclonl sistem Jađroagenta nazvan "JACOB" ( Jadroagent Computer Operating and Booking ) će se projekt "PETKO" uklopiti za potrebe praćenja kre tanja kontejnera. OPIS SKLOPOVSKOG DIJELA Sklopovski dio čine: - procesor DELTA H850 - asinhroni interface (RS 232) - adapter za telex inrežu Konstnikcija sklopa je takva da zadovoljava tehničke zahtjeve za vezanje na tele* PTT mirežu s jedne strane, 1 zahtjeve za vezanje na RS 232 EIA CCITT standarde. Sklop ne vrši nikak™ logičku konverziju kodova, već saiTpO naponsku i strujnu konverziju uz respektiran je polariteta stru jiih i naponskih signala i vremenskog slijeda promjene tih signala. PETKO je samostojeći (rezidentni) program koji oir.ogu-ćava interaktivni i batch režim rada infonnaoionog sistema sa telex pretplatnicirrđ. PETKO oinogućava slanje niza tekstova (fileova) koji se kolektiraju u internoj listi Čekanja, a redoslijed plasiranja na liniju regulira se priori tetina. Biranje brojeva je prograjr.ski rješeno slanjem baudot koda prerra TLX centrali. Pozivanje se vrši određeni broj puta, a zatim se trenutni poziv stornira i prebacuje na kraj liste čekanja,Ifeü nema tekstova u listi, progran; ima status prijeuia. Izvještaje o primljenim 1 predanim taleksijna PETKO šalje na konaolni pisač. Program se Instalira u memoriju, te ostaje re?ldentan kad neina ni prijema ni predaje. Njemu se ne dodjeljuje niti jedan tenrdnal, već se po potrebi vrši "prijavljivanje" sa bilo kojeg tsr-mlnala u svrhu ubacivanja novog teksta u listu čekanja ili Izdavanje neke druge komande. Prijavljivanje je posredno, preko tzv. dispećer-prograuia koji vrši logičko spajanje između terminala 1 PETKA. Po završetku rada sa terminala, operater daje eksplicitnu naredbu za "odspajanje" terminala. I&iraunlkaoiJa sa PETKOM ostvaruje se preko niza kemandi, kojirra se iniciraju slijedeće Omkcije: 1. Ubacivanje teksta u listu čekanja uz slijedeće parajn: - pozivni broj - naziv teksta (file name) ; - prioritet (0-7) - broj pokušaja nazivanja u bloku (1-10) 2. Izbacivanje teksta iz liste čekanja 3. Pregled liste čekanja 1. Trenutni prekid tekuće komunikacije 5. Stopiranje trenutnog transfera i prelaz na interaktivni rad 6. Povrat iz Interaktivnog u batch rad 7. Stopiranje komunikacije nakon završetka tekućeg transf. 8. Prebacivanje u stanje prijema za određeni interval Osini slanja PETKD ima i mogućnost primanja telexa, te njihovo logiranje u određena polja na disku. Svaki poziv pa do prekida linije tretira se kao jedna cjelina 1 kreira po jedno polje. HACIN PRIS'^fl IHFORHACIJAMA Pristup informacijama preko telexa treba biti pažljivo obrađen : a) zbog male brzine ispisa b) zbog poluduplekanog načina rada Ispisi rrioraju biti Sto kraći, a sumarni podaci uvijek staknuti prije nego što se Izbaci lista pojedinačnih događaja ili stanja. Sumarno stanje obično sadržava podatak kolika će lista-biti dugačka. Iz navedenih razloga se za svaki objekt promatranja odn.entitet moraju definirati različiti vidovi promatranja. Zahtjev je da vidovi budu što uži ali u mjeri u kojoj ostaje sačuvana njihova korisnost. Za svaki vid se, nadalje, definiraju pojmovi {ključevi po kojima se daje suinaml pregled. Šumari su složeni tabelarno, a koordinate tabela obično predstavljaju vrijednosti novih ključeva po kojima se ide u daljnje razvrstavanje podataka. Istovrerrisno, svi oni moraju zadovoljiti logički pogled korisnika informacionog sistema na podatke, pa se pra-ma tara moraju definirati u suradnji s korisnicima. Sekcija odgovora sa određenom grupan podataka počinje navođenjem svih ključnih pojmova, obzirom da se ključevi gornjih nivoa ne moraju ponavljati. Zatim se ispiše tabela sa symamim podacwna za traženje skup ključeva. Ujedno se u tabeli nalaze novi ključni pojmovi (jedan ili više) sa pripadnim atributima. Ma dnu sekoije se ponove novi ključni pojmovi, te se može nastaviti sa upiton;. Za onog tko prvi puta postavlja upite Je ovaj slst«r. višeslojnog prikazivanja infornaci Ja zgodan, Jer ga vodi do traženog cilja. PRI5UER_INTERACTIVN0G_RApA_P^ (bčinje nakon što pretplatnik dobije vezu te ukuca početnu naredbu i svoju šifru, / set interactive šifra koja završava malteškim križem C ). fbkon Izvršene provjere šifre, koja u kombinaciji sa odzivnikom mora odgovarati, sistem odgovara za: |d_ CNIMO 3) - Ako na pojedinora niyou postoji samo jedan ključ, tada je dovoljno navesti vrijednost tog ključa - Padom na niže nivoe, ključne vrijednosti viših nivoa se podraaumJeva^^i, te Ih nije potrebno stalno navoditi. Nb,uz poznavanje ključnih po^^va, mosjće je direktno postaviti pitanje na bilo kooi nivou C vidi primjer), odnosno doći do pravog podskupa podataka. UPIT/KONT Ključni po^vi: DEPO, STATUSI, BOOKING //// DEPO UPIT/KOKT/DEPO Slijedeći ključni po>ovl: RJK (RIJEKA), KOFER { kombinirani sa vlasnikom JUL, LPR, SPP ) un DEPO - JUL RJ K - iniciranje početka veze - zaustavljanje koinuniciraq) a all tek nakon završetka trenutnog posla - nanentalno zaustavljanje komunikacije - potpuni završetak radä sa izla-skosn einulatora iz memorije. Pri tome emulator osigurava postojeću listu čekanja (spremanjem na disk) kako bi se ona kod slijedećeg startanja ponovo aktivirala. Konande rade u parovima: STOP+END ili CANCEL+END Kbniande za definiranje načina rada infonraoijskog sistema u spoju sa tele* nirežom. - postavi prijem (set m3de receive -ONLY) - postavi predaju (SET MODE TRAHSHIT-RECEIVE) . - postavi interaktivno (SET mode (H0_) INTERACTIVE) - briši interaktivno - Diarkira se dozvola za interaktivni pristup bazi TLX) PRIJEM TLX) PREDAJA TLX) INTERAKT TU) NONINTER UPIT/KOKT/DEPO - RJK DANA DD-MM-GG STATUS EMP DAM BOO FEX FIN REP REZ STOCK OTP - 161 12 - 122 31 1 11 100 DRY - 82 6 - 62 17 8 27 50 OST - 10 - - - - 1 5 Slijedeći pojam - STATUS nn STATUS » FIN UP IT/KONT/DEPO=H JK/STATVS=FIN ( PUNI IflONIEJNERI U UVOZU - FULL IMPORT) BROO-PUTOVAMJE: STIGAO IZ LUKA OTP DRY HRE 14/85 26.06. NYC BAL 20 10 JAX 7/S5 27.06. GOA 11 7 Slijedeći pojam - BROD-PUTOVANJE un BROPUT - HRE 11/85 UPIT/KONT/DEPO-RJK/STATUS-FIN/BROP-HRE 11/85 Preuzimaju TRANSJUG Ea Tvornicu ... Zagreb, KEM... Skopje JADROAGENT za Obuću ... Sarajevo nn IZUZ tepom. : Prethodnu grupu koniandi ne može upotrijebiti bilo koji korisnik sistema, već samo za to posebno određeni korisnik - sa privilegi jama operatera. TLX) LISTAJ - prikaz liste čekanja na termi- nalu sa svim podacim koji pripadaju listi. a) broj pretplatnika koji treba pozvati b) prioritet poziva c) broj dosadašnjih pokušaja d) broj uspostavljenih veza koje su nasilno (prije kraja) prekinute e) riaziv datoteke koja se šalje f) redni broj člana (doznačava član koji je trenutno u transferu) TLX) STATUS - prikaz stanja { ZS. tekući dan> a) broj članova u čekanju b) broj poslanih telexa c) broj primljenih telexa d) broj ulaza u infonnacicni sistem putem ključne riječi e ) ukupno vri jeme rada f) ukupno vrijeme rada na liniji TLX) CALL/TLNC - xx5cxx/tekst-iroe 1, ime 2...,ime6 - ubacivanje tekstova u listu čekanja za specificirani tele* broj TLX) ĐRI/TLNO - xxxxx - briši sve pozive za taj bri/TEKST - ime - brisi specificirani tekst iz svih mjesta u čekanju TLX) MONITOR - vizualna kontrola nad slanjem i prioanjerti { praćenje na terminalu) TUC) IZLAZ (EXIT) - prekid dijaloga KOHANDE EMULATOHU A^_Privilegir^e komade TLX (CR) . - startanje programa za dijalog AHTilTKKTIlRA LQKALME CnTKRO)RA0UBAIJ)IÈKE MREŽE TI-5ß ZA VODENJE PROCESOV N.Panlć,0.Milcull5,V.KosTaae, ISKRA-AVTOMATIKA, Ij.iuM ,1B na .Theos! avi ja inCAL MIGBOCOIIPUTEB NETWOBK ABCHITECTUBE TT-50 POB PROCES« CONTROL UDK: 6812.007 POVZETEK - Sodobne sinteme vodenrit procesov lahko v celoti rcaliziremo v niltroraiunslniìki tehnologiji na rorilsfri ciecentraliKBoi.le funVci,1 voden,tb v porazdcl.ienRm režimeIniškPm siatemu. He-f^rat opino.^e arhitekturo takšnega raäiinalniVa r poudarkom na BOtlcluioSl avtonomiCi)="l" ali zbrisana 6fSr(i)='5f") { si. 1. Opazovana ponovitev signala S(i) .ie lahko postavljena (nonitorska procedura 3EIJD) ali zbrisana (CLEAR) od strani več iialo^ iz istega in/ali <ìruRÌh procesor,lev. Po clriigi strani nari posamezno ponovitvi,-io signala S(l) Iphko več nalog izvrši procerturo TEST {bran,~t>) ali UAI"? (čakan.^e na postavitev), vendar samo tiste naloge, lei so vgra.-^ene skupa,i z ustrezno ponovitvijo. Če ,ie lokalna ponc>vi1:ev signala v Ptsnóu "postavi,lena", procedura WAIT zbriše le-to in omogoči natlal.ievan.'iE izvršitve i^li-cajoče naloge; drugače procedura postavi Vli-ca,Toäo nalofTo v neaktivno .■!tan,1e. Haloge, ki čaka.io na postavitev določene ponovitve sipna-Is SCi) (npr. Si-(i) na si. 1), so razvrŠCene v ustrezni vrsti QSr(i) glnde na prioritete. ZbuJevan.-'e nalog iz vrste QRr(i) Rfi vi-ši oli posameszni izvršitvi procedure SEJD (S(i) nad Sr(i). IzvrSitev procedure SEtID (S(i)) ob prazni vrsti QSr(i), ima za rezultat postavitev Gr(i). Vpliv procedure SiliD in CLEAR na posamezno ponovitev Sr(i),..., Sq(i) opazovanega signala S(i) lahko nastavimo z izbiro enega izmed nasledn,1ih statusov vRradn.je: - "strogo lokalna" (omogočen Jc vpliv samo iz smeri gostitelJskepe procesorja, vsi zu-nnn.ii vplivi iz/v fostitel.iski procesor so on eno grič en i) - "lokalna" (vpliv ,ne mo?en iz saeri gosti-t,el,-iskt:gB in lirufLh procesor,)rv, onemogoi'f.:; vpliv iz PiTiOri ?ostitel,iskegn procfesor.ìn na eventualne ponovitve v drugih procesor,U!./ - "lokslnn in globalna" (enako kot "lokalnn" š tem, da jo onogočen vpliv iz umeri goKli-tel.iskega procesorja še na druge ponovitve r - "globalna" (nnopočen vpliv ssitio iz ameri jro-Ktitol,"iflkPga procesor.la na ponovitve v rii-u-gih procef!or,iih). Ponovitev signfla ^e globalna, öe ni v enem izmed zgora,'* navedenih stan,i. Statusi vgradn,1e omogoča,io veliko fleksibilnost pri konfiguriran,iu porazdel.^enega sistcria Tako lahko na enostaven način realiziratan ponovljen lokalni resurs z oznako S(i) na ta način, da vsem ponovitvam tega signala (Sr(i),.. ..,3q(i) damo atatun vgradnje "strogo lokalna" (ni prikazano na si. 1). Vrste QSr(i),...... QSq(i) ra7.ro5u,-ifi,io konflikte pri dostopu rin ustreznih ponovitev lokalnega resursa. Pri ter. lahko naloge konkurira.jo medseboj neodvisno m zasedbo ustrezne ponovitve lokalnef;a resursa s poooč.io procedure WAIT (S(i). fjprostitr.v tega resursa naloga opravi s pomočprocedure SEND(S(i)). Kanali CH(j) s]u?,i,-rnniknv" fpisli-dica knnccpta ponovljenih ob.iektov nz, porazf1el,ienih rao(i,!iio -n inlironiKnc i siatDsiskih ur v lokalni nre?i, ts mikrolini.ia ni nu.ino potreVina: prenos ninutnlli mikiospo-ročil .ic postavni rtel komir.ikac i .inkcpia i^rntn-koln na ÜVOD/A,B. ' Dcrtcl.ievan.ic skupnih voti il nVCD/A.B Re vrši <1 pomoč,io possebe.i prirR.icne mntrxie pOfia.ian.iH žetonov (taken passing) oz. z rea 1 izaci.io loKiSnepa prstana. Popchrioat uporabi.i ene metode dodcl ,1evan,ia nkupncg;« vodila v primer,ia-vi K stanriardniai (npr. lEEi: f.02,^) ,ir prod-vseis v naslednjem: 1) pcida:;an.'r žfttonov vrči arbiter, ?)žeton služi, razen za dodelitev vodila dolo5cnemu P~u, tudi kot pridružena adresa izvora v eventunlno oddanem sporočilu (izvor ,1e adresa proceBOr^fl, ki ,ie oddal sporočilo) in 3) arbiter lahko s ponofi.io žetona preklopi feonunikaoi.^o iz, SVOH/A na SVOD/3 in obratno, 3 ponoS.io koncepta arbitra bistveno poenostavimo problfiin rešnvan.ia globslnih funkci,^ linijskega slo.^a lokalne mreže. Obenem s tem, da ima žeton dodatne pridružene Tunkci. ip, poenostavimo llni.iski protokol in povečamo izkoristek le-toga. Iz razlogov za-nesl.iivosti lahko funkci.ie arbitra izvršu-jie VEČ SKV-ov (potencialno vsi), pri Čeranr .^r vedno samo eden aktiven in drugi pripravljeni za delovanje. V priaerih okvare aktivnega arbitru ■ eden iznod pasivnih in pripravi .^enih arbitrov avtoiaatsko prRvzsme aktivno vlogo. V daticm trenutku kompletna kfimunikaci,ia poteka ramo po enem SVOD/A ali SVOB/B. Arbiter opravi preklop konunikad^e v primeru predolge zasedbe vodila ort Rtrani P-a (posnmezni P-r lahko odda ob dodelitvi SVOD nano eno sporočilo oz. blok dolžine do zloRov) v primeru, da poklicani P-r ne prevzame vodila. 5. 3KLEP VeSina znanih porazdeljenih sistemov tenel.ii na ob.-icVtnih modelih. Edine potencialne slabosti takšnih modelov so A/: relativno raan,^-še časovne performanse (zaradi neprilagojenosti celotne zgradbe svfstenia i.zbrHnerau ob^iekt-nerau modelu) in granulecija objektov (probleit določan.ia optimalne velikosti ob.iekta v smislu informacijskega in funkcijskega obsega). Prva pomanjkljivost praktično ni prisotna v siateir.u TI-50, ker ^e celotna arhitektura po-razdel.ienega procesorja tnakniiialno prilagojena izbranemu obJekfcBcmi» modelu. Druga po-man.ikl.iivost zmanjšana na minimum pri defi-nici.ii osnovnih (nedel.iivih) objektov. Opisano arhitektura ustreza "teoretični" dr-finici.ii porazdel,lenega računalnika Iz /5/ in obenem ke?,e na glavne vzroke, zaradi katerih konvencionalni porazdel,ieni sisteai ne Tnore.io zadostiti tej definiciji. Glavni vzrok je v ten, da so porazdeljeni sistemi bili predmet raziskav in razvoja predvscn ■/ vidike komunikacijskega omrežja in ne z vidika porazdeljenepa računalnike. Upisana arhitektura porazdeljenega računalnika je uporabna za realizacijo poljubni!, po^ razdeljenih pistemov za delovanje v reelnt^r; času, posebej pa je prilagojena potrebar^ realizacije maksimalno decentraliziranih porazdeljenih sistemov vodenja procesov. V trr. fiinislu fimo (JpJ'inirali logični in fizični prostor porazdeljenega sistema. S tem, da sno ustvarili transparentni lofični prostor, smo dosegli lastnosti, ki jih Imajo v tem pofledii centralizirani sistemi (velika nodulornost i:, konfigurucLjska fleksibilnost programske on-renie). Po drugi strani, ne rta bi porušili razmere v logičnem prostoru, lahko decentraliziramo in optimiziramo porazdeljeni sistem v fizičnem prostoru z veliko stopnjo svoboiit . Tako lahko na ekonomiČEn način doseženo 3Hitnosti 1) do 5) iz poglavja 2. Iste lastnosti v večini centraliziranih sisteKov vodenja jc nemogoče doseči ali pa je potrebno za tr> jiIji-čati nesprejemljivo visoko ceno. LITEHATUfiA: /1/ J.I'i.Ayache,J,P.Cnurtint and M.Diaz,"«!-;-BUS", A rault-Tolerent Distributf c: iSvptfr-. for industrial ßeal-Tine Control", 1 KHK Trans, nn Computers, vol. C.-31,Ho.?, July 10H2, pp 637 ♦ W /2/ M.S.Sloman.S.Prince, "Locai Network Architecture for Process Control", Proc. of the IPIP Working Croup 6.4 International Work shop on Local networks, Zurich 27 ♦ 29 Aug. 1980, pp W? t 427 /3/ H.Ihara and K.Kori, "Autonomous Decentralized Computer Control Systems", Coaiputer, Vol. 17, No a, August pp 57 ♦ 66 A/ J.A.Stankovic, "A perspective on öistri-buted Computer Systems", IEEE Trans, on Computers, vol. C-35> No.12, Eecember pp 1102 + 1115 /5/ P.H.Enslow, "What is a "Diatrihuted" Uatu Processing Sjstem?, Computer vol 11, Ko.l, January 197», pp 15-21 /6/ i-i.Panic, L.Lenart, r. br I'l-; n , O.nikiilif, A, Uratnik, J.£krsi:e, J. Kanü'ii^, .l.Pftclln-'•cor "nultinikrirafiur.Hln i i zveribr Vnr:-plfikanlh sistemov V0'1fr.;n T:rocn = nv v rn-HlriFTi naRu", Infornaticu plr. i- /7/ i;.?3riič, L.I.ennrt, O.rU'^ulii^, n.Kikel,% V. Kosmač! "FropiraTTiRkLi oprf isü ri iptriliui ranih Fistemov vorB?.una]r.išlci trosi i t.or MOIi/IIM , navo'lilo za uporaVm", T!-l-vne metode integracije. Svaki student dobivf. jLcti-n zadatak koji samostalno rješava i polaže ga u obliku seminarskog zadatka. Seminar je zamjena za prijašnji kolokvij iz logaritamskog računala C šibero ), Rješenje zadatka se predaje u obliku programa koji se mora izvesti na računalu. Stečena ananja se nadograSuju kroz rad na predmetima viših godina. Studenti primjenjuju kompjuter na predmttima Fizikalna kemija. Telino-loške operacije. Mjerenja, regulacija i automatizacija, Matematičko medeliranje i vođenje industrijskih procesa i Operacijsko istraživanje. Odio rađa na komjuteru se mijenja u pojedinim prednetima, tako da je veća zastupljenost u predmetima koji imaju naglasak na matematičkom modeliranju i upotrebi matematičkih algoritama. Primjenjuju se metode koje su prikladne za ana-alizu složenih procesa, simulaciju dinamike , i algoritmi operacijskog istraživanja. Većine nucieričkih raetoda je napisana u obliku ,3, „jkl — üb studenti upoznavaju samo s mateiaatičkiffi osnovama i uputama sa koriščenje odgovarajuće subrutlne. T;ikovi programi su na primjer : Gaosl za sistea algebarskih jednadžbi, Newton-Eaphsonov al o go ri tam sistea jednadžbi, matrične operacije , Hunge-Kutta ^t, Simplex algoritajD , metoda najmanjih kvadr^ita, metoda kolo-kacija. Studenti također koriste gotove prograne u koje upisuju svoje podatke, ili sastavljaju glavni program koji nadopunjuju s potprogranjima. Većina programa je pisana u BASIC-u i sastavljeni su tsko da se mogu vrlo jednostavno modificirati i prirBjeniti za neki drugi problem, Zadaci koje studenti obrađuju obuhvaćaju probleme kao što su statistička analiza eksperimentalnih podataka, projektirnnje jednostavnijih tehnoloških operacija, analiza kinetike biokemijskih reakcija, analiza vođenja procesa , optimalno komponiranje prehrambenih proizvoda itd. Od programskih jezika osiiii BASIC-a studentima se ukazuje na osnove FOETHAW-a i PASCAL-a. U okviru predavanja iz automatizacije studenti ae upoznaju s strukturom računala i osnovama programiranja mlkroproce-ijora. Kros predavanja se obrađuju osnovni elementi i načini povezivanja procesa i elektroničkog računala u svrhu praćenja i vođenja procesa. Praktični rad se izvodi na mikroračunalima tipa 3PECTHUH, TEXAS INS-TRUHEHTS, ORAO-VELEBIT i također pontoji moeučnost rada u Sveučilišnom računskom centru SKUC, Osnovna djelovanja miki'oprucesora upoznavaju se kros rad s mikroračunalom ISKSA DATA UMBSl CHOTOHOLA 6SOO ). Hrstava Iz simulii-anja i. vođen.ja procesa Sistemski pristup i metodike primjene kompjutera se izl IZU kroz predmete Mjerenje, regulacija i automatizacija i Matematičko modeliranje i vođenje industrijskih procesa. Prvi predmet se predaje na trećoj godini i obavezan je za studente biokemijskog i prehrambenog smjera, dok je drugi predmet na četvrtoj godini 1 obavezan je samo za studente biokemijskog. Inf.cnjerstva. Sistemski pristup se uvodi u dijelu predmeta gdje se određuju opće inačajke mjernih uređaja. Svaki mjerni uređaj se analizira kao odnos mjernog signala i mjerene veličine. Točnija definicija sistema se izlaže u uvodu u automatsko vođenje procesa. I2 mjerenja je obrađeno područje primjene kompjutera za statističku obradu podataka. Studenti obraduju rezultate dobivene u laboratoriju na kompjuteru primjenjujući statističke testove, interval, prave vrijednosti,izračunavanje korelacija i procjenjuju parametre. Metoda najmanjih kvadrata se koristi za obradu podataka dobivenih kalibracijom mjernih osjetila i uređaja. Sistem se definira odnosom ulaznih veličina, veličinama stanja procesa , i izlaznim veliäinama ' Struktura svrhovitog sistema se uvijek prikazuje kao cjelina procesa i jedinice za vođenje. Interakcija sictema i okoline opisuje se kao djelovanje okoline koje je određeno ulaznim procesnim veličinama i ulaznim informacijskim veličinama. Procesne ula'-ne veličine određuju prijenos mase, energije i količine gibanja između okoline i sistema, i djeluju isključivo na proces. Ulnzne informacijske veličine djeluju isključivo na jedinicu za vođenje. Analiza sistema na kompjuteru svodi se na određivanje matematičkog modela procesa , algori-tiairanja djelovanja jedinice za vođenje i primjene matematičkih metoda. Naglasak u nastavi je ha principima izvođenja matematičkih »odela. Model procesa se uvijek Izvodi na osnovu diferencijalnih bilnnci koje definiraju jednadžbe zo veličine stanja procesa. Izlazne veličine se izvode iz stanja procesa i određene su svrhom sistema, N-,mer'ce- metode r ' "li programi za primjenu kompjutera s i dijele kao i sami modeli na one s koncentriranim porametrima i distribuiranim, Simulacija jedinice za vođenje ograničena i.- jednostavne dvopoložajne regulatore i PIU regulatore. Struktura koja povezuje pojedine veličine procesa i jedinice za-^vođenje se uvijek analizira kao kombinacija triju osnovnih oblika , programnog vodenj?., unaprijednog i u povratnoj vezi. Hastava iz modeliranja i vođenje industi-ijskih procesa karakerisirana je specifiČBOstima pojedinih■inženjerskih problema. Kompjuterski programi su znatno složeniji, više dimenzioaalni i aahtjevaju veći broj podataka. Prije izvođenja vježbi na računalu,student i se upućuju na pretraživanje literature radi određivanja vrijednosti karakterističnih tehnoloških podataka i parametara specifičnih za pojedini proces. Problemi koji se analiziraju najčešće odgovaraju realnim industrijskim procesima. Hade se primjeri' ^ '' šar-žne fermentacije,' reaktori s imobiliziranim enzimima, cijevni reaktori, mikrobiološki aktivni filmovi, smrzavanje prehrambenih proizvoda, sušenje u fluidizi-ranom sloju, komponiranje hrane , filtracija, destilacija itd. Zaključak Upotrebo informatike i kompjutera je od izuzetne važnosti u naobrazbi inženjerskog kadra iz biokemijskog i prehrambenog inženjerstva. Elektronička riiču-nala i numeričke metode trebaju se uvesti na prvoj godini studija, tako da se primjena unapređuje kroä specifičnosti pojedinih stručnih predmeta na višim godinama. Dosadašnja iskustva pokaauju đa je primjena jednostavnih aikroračunala pogodna za rađ s studentima u grupama , budući da se ne zahtjeva skupi centralni sistem a broj obrađenih programa može biti dovoljno velik u vrijeme predviđeno za studentske vježbe, Isto tako održavanje mikroračunala je vrlo jednostavno i ne zahtjeva neke posebne troškove. Relativno jeđnoftta"no ne može izgraditi progmmoteka numeričkih Betoda , statlsističkih testova i datoteka oenovnih podataka koje mogu u velikom dijelu zadovoljiti edukativno potrebe. Nakon savladavanja metodike primjene kompjutera Ea vrijeme studija, budući inženjer se mnogo lakše uključuje u interdisciplinarne ^linjve i u rJd s prafe-sionalnim softweroBi u većim računskim centrima. Literatura 1. Q. Stephanopoloue, Chemical Process Control, Prentice-Hall International Series, Englcwaod Cliffs, Neu Jersy, igS»!, 5. r. Šurina , Automatska regulacija, Školska knjiga, Zagreb, I98I 6.H.A. Leniger , W.A. Beverloo, Food Procese Enginee- ring, D.ßeide Publishing Company, Boston 1975. ?. S.E. Charm , The Fundamentals of Food Engineering, AVI Publishing Company Inc., Mestport, Connecticuit , 1979• 8. J.E. Bailey, D.F. Ollia, Biochemical Engineering Fundamentals , Mo Grau Hill Book Company, Hew Kork. 1977 9. B. Atkinson , Biochemical Beactors, Pion Litsited, London, 197*». 2. W.L. Lyben , Process Modelling , Simulation , and Control, for Chemical Engineers, Mc. Graw Hill, New York , 1973. J. D.Ii. Coughanower, L.B. Koppel, Process Systems Analysis and Control, He Graw Hill, New York, 1965. V.V. Kafarov , KibernetiUa u kemiji i kemijskoj tehnologiji. Tehnička knjiga, Sagrela, 1970. THE POTENTIAL OE HICHOCOMFUTEB GRAPHICS IN THE TEACHING OT SOKE CLASSES Of COHj-HESSIBLE FLUID FLOH PROBLEMS H. A. Brebner Dept. of Computer Science University of Calgary CALGARY Alberta T2N 1N4 CAI4ADA UDK: 681.3.06 Abstract Using a good BASiC, FORTFAN or PASCAL compiler, It is possible to obtain the numerical solution of some compressible fluid flow problems In one space variable and time, in the order of one to five minutes on an IBM PC with, an Intel 8067 mathematical coprocessor. In the case of IBM BASICA or TURBO PASCAL, the graphics extensions of these languages allow the easy development of pictorial output, which aids the teaching of compressible fluid flow. Another advantage in the case of the IBM BASICA is to use the interpreter version's ability to temporarily interrupt the computation and display or print the current values contained in selected variables. A further option is the print screen key on the IBH PC, which allows the graphics displayed on the screen to be dumped to a suitable dot matrix printer. If an IBH PC with 6liKb memory, graphics adapter card, graphics monitor and at least one 360Kb diskette drive Is availabie at the conference some examples can be demonstrated as part of the presentation. Introduction (1) A boundary being rigidly fixed or moving at a varying speed. Cli) A fixed or'variable pressure condition at a boundary. (Iii) An internal discontinuity, such as an interface between two fluids or a shock wave. To illustrate these different types of conditions modification can be made by the teacher. Alternatively the students can be asked to carry out this task as a course exercise. The Eulerian and Lagranglan forms of the mathematical equations and finite difference schemes for the compressible fluid flow problem are described irt In the program a perfect gas law with gamma, the ratio of specific heats, given the value 3, and the Lagrangian form of the equations were used. The initial pressure and density were set as 300 and 1 respectively. These were selected to simplify checking some of the results. Four types of problem have been successfully run. These are: (a) One boundary moving with a smoothly varying, sinusoidal speed of small amplitude and a fixed boundary. lb) One boundary moving under the force of a varying external pressure and the other boundary fixed. (c) One boundary instantaneously being set in motion with a finite fixed or varying speed, which forms an instant shock wave travelling ahead of the moving boundary and the other boundary fixed. (d) Both boundaries moving in various combinations of the above cases. Some typical examples of the print screen output given at the end of the paper, are discussed in the following sections. Using a good BASIC, FORTRAN or PASCAL compiler, it Is possible to obtain the numerical solution of some compressible fluid flow problems in one space variable and time, in the order of one to five minutes on an IBM PC with an Intel 8087 mathematical coprocessor [see 1,2!. In the case of IBM BASICA or TURBO PASCAL, the graphics extensions of these compilers allow the programmer to easily display plots of the dependent variables, such as pressure, against the space or time variable as the computation proceeds. This capability has great potential in the teaching of a topic as complex as compressible fluid flow. Another- advantage in the case of IBM BASICA, is that a student l.or a teacher demonstrating a concept In a class) using the interpreter vecsLon, can temporarily interrupt the execution of the program, and use BASIC in immediate mode to print single values or whole arrays of values. This dump of values can be to the screen or, using LPRINT, to the printer. The advantage of routing the output to the printer is that the ' graphics displayed en the screen will not be disturbed. In tact, even mora powerful processes can be invoked. The student having studied the output values, can instruct the computer to resume the computation by depressing a single key. A further option that is available on the IBM PC is the print screen key, which allows the graphics displayed on the screen to be dumped to a graphics printer if the appropriate DOS option has been set. . It is therefore possible for the student to stop the execution of a. program at various times and obtain "snapshots" of the graphics displayed on the screen. Sufficient graphics capability for this feature is now being incorporated In many of the lower price microcomputer dot matrix printers. With more effort It Is also possible to arrange for a compiler version of the program to be interrupted to allow a graphics dump, if the appropriate compiler options are set for interactive interrupts. Compressible Fluid Flow Program A program has been developed which models compressible fluid flow In one space variable and time. With minor modifications the program can simulate various conditions, such as! Sinusoidal Velocity Boundarv Conditions The program was run with one and both boundaries moving in a sinusoidal manner. For the eicamples shown the boundary cotidition used Ls given by where U is the left hand boundary velocity and T is time. Diagrams 1 show plots of pressure against a set of LOO equally,spaced Lagrangian cootdjnates for the problem uith the above boundary condition. With reference to diagrams 1(a) and (b), note the way the front of the waves rise more steeply as they progress to the right. This is due to the compress ili le nature of the fluid, uhlch produces variations in sound (wave propagation^ speeds. In diagram !(c), the first wave has been reflected from the rigid (seco velocity! right hand boundary. Subsequently in diagrams lmo£Jih, aesnanill sno učence a ' pomembnejšimi bidroelektrarnaBl v Jugoslavidl, z njihovo moSjo, v zadnjem delu bdo predstavili proizvodnjo elektrlSne energije po letu 1960 ter atrolcturo pridobljene energije glede na poglavitne energetske vire. Pri pripravi prograjnov smo se trudili, da ne bi zanemarili naoela nazornosti, zato smo pripravili veS aldo, kartogranov in grafikonov, npr.; povodja v Jugoslaviji a pripadajo-Simi rekami, reke z lokacijami hidroelektreum, vodostaje rok, proizvodnjo elektriSne energije in podobno, »ogrami so sestavljeni tako, da omogoSajo aposnaraije uSne snovi postopno ali naenkrat, omogoSajo poljubno število ponavljanj poaaneznih uSnlb enot in stalno preverjanje pridobljenega znanja v tastih, kl?sledijo posameznim enotam. Programe lahko uporabljamo ea seznanjanje uSencev z novo snovjo, laUko pretvarjamo pridobljeno ali dopolnjujemo osnovno snanje. Gre torej za programe, ki ao vsebinsko zasnovani podobno, kot programirane sekvence, ki so predvsem primerne za individualno delo, saj omogo^Sajo biter tei^o dela in ao primerne za učenca z razliSnim predznanjem, prispevajo pa k znatno veSji aktiviranoatl in k razvijanju samostojnoati pri delu. Verjetno pa v bodoSe ne bo poudarek na tovrstnih programih, podobnih programiranim sekreneam, m^ak na tekih, ki Še v veSji meri. omogoSajo nov priatop in nov način spoznavanja u£ne snovi. Poudarek bo verjetno na bazah podatkov, na simulacijah, na reSe-vanju problemov, ki ailijo k logiSnemu razmišljanju in kritiSnemu vrednotenju podatkov in rezultatov. Pri uvajanju in uporabi mikroraSunalniSke opreme v Šolah pa moramo opozoriti Se na en problem - izobraževanja uiiteljev. Pomen učitelja v procesu vzgoje in izobraževanja ob uporabi računalnika raste, saj je u£itelj pomemben vodnik pri reSevanju tovrstnih problemov. Povsem n^rimema in neopraviiljiva je trditev, da bodo raSunalniki zamenjali učitelja. Računalniki lahko le pripomorejo k boljši kvaliteti pouka, zato ne smemo pozabiti na isobraSevanje in primemo motiviranost učiteljev, od katerih bo, potem ko bodo programi £e na trgu, odvisno kolika in kako jih bodo vključili v vzgoJno-izobraSe-valni prooes. UMETNA INTILIGENCA ARTIFICIAL INTELLIGENCE k FUNCTIONALLY DISTRIBUTED ARCHITECTURE FOR THE IR-NLI EXPERT INTERFACE Giorgio Bcajnlk, Giovanni Guida and Carlo Tasso Istituto dl Hateoatica, Inforraatlca e Sisceolscica Unlveraltì dl Udine Italy UD K: 681.3:159.953 ABSTRACT A datalled analysis and evaluation of the current capabilities and linitaClona of the IR-NLI expert interface are presented. Its main architecture Is dcscrlhed and Che specific control aechanlsin adopted, called task, is further discussed. A description of its main limitations follows, and the requirenents of a novel more advanced architecture based on a distributed approach are illuatrated and briefly compared ulth other proposals. t. Int roduct ion The IR-NLI project [5] concerna the development of an expert interface capable of modelling the Intermediary to an online Information retrieval system. The first version of th^ system is written in Franz LISP on a SüN-2 workstation and relies 'on a rule-based system which Implements the core REASONING MODULE. In this module explicit use of neta-knowledge has been made through the task, mechanism, which is able to Isolate functionally he t erogeneaus competences at various levels oC abstraction. In auch a way different aspects of the intermediary's activity can be explicitly encoded and taken Into account. Going further along this line, in this paper we consider the more advanced proposal of organising the REASONING MODULE as a distributed problem solver where each aubmo-dule has definite roles and where precise cooperation mechanisms are specified. The paper is organized as follows: section 2 Illustrates the baste organization of the IR-NLI system; section J focuses on the capabilities and limitations of the task mechanism; section 4 introduces a new proposal of a cooperative functionally distributed architecture aa an alternative to the task mechanlsn; section 5 discusses major points of future research, I* Basic Organization of IR-NLI It Is well known that the user of an information retrieval system often prefers to rely on the assistance of an expert professional (the intermediary) capable of effectively carrying out the search. The interaction between the user and the intermediary starts with a presearch interview aimed at clarifying content and objectives of user's needs. The intermediary chooses the most appropriate data base to access and devises a suitable search strategy, i.e. a formal program expressed in the query language of the data base. The search strategy is then submitted to the information retrieval system in order to select the items relevant to the initial user's request. The design of the search strategy includes a very critical activity: the selection of appropriate terms, and the Identification of the relationships among them that can adequately represent the user's needs and are suitable for accessing the relevant records in the data base. The main goal of the IR-NLI aysteo is to model the intermediary's behaviour. The overall architecture of the system Is shown In Figure 1 and it comprises three main modules: UNDERSTANDING AND DIALOGUE MODULE, devoted to perform activities of linguistic nature. It first translates the natural language user's request into a fornai interaal re p resen t a t ion (PIR), which le later expanded during the presearch interview. The UNDERSTANDING AND DIALOGUE MODULE utilires a vocabulary and a data base of linguistic knowledge. In the current implementation of the system, the UNDERSTANDING AND DIALOGUE module has not been implemented, and it is manually simulated. REASONING MODULE, devoted to devise suitable search strategies. It is slso responsible for the overall control of the activities performed by the system. FORMALIZER MODULE, devoted to translate the final completely expanded FIR produced by the REASONING HODOLE, into the syntactic form of the query language of the data base currently accessed. As already pointed out, the REASONING MODULE is the kernel of the whole system. It has been implemented as s rule-based system utillilng a base of expert knowledge, concerning the evaluation of user's request, the control of the presearch interview, the expansion of the« PIR, the selection of a suitable approach (among the several possible ones currently utillied by human Int e medlar les ) for the lUitìl^n änd generation of the search strategy, tUo tìmidi Clon of all the lower level actions IhrtL t[QE)leinent th*: chosen approach, and the pnäslbLe en ga getne [It of the uaer In a clarlflca-t \ d L a Vo e . /Natural languageN f requesi and J V dialogue J ! LINÖUISTIC UNDERSTAtJOIIJG ANO DiauocuE MODULE * r problem internal \ rcpresenlation / 1 EXPEBT KNOWIEOGE REASONING MODULE DOMAIN SPECIFIC KMQVVLEOGE FOflMALIZER MODULE ^ iearch ^ ( slralegy ) FlSufe I -Overall architecture of IR-MLI. The world knowledge (mostly of terminologie nature) neceaeary for carrying out these taslts la contained In a base of domain specific knowledge. The complexity of the 'caslts oE the REASONISC MODULE does not allow to consider simply a standard expert system architecture for Its lüip lementa 11 on. In fact, the problem has a highly multlfaceted nature, and the system must be able to switch control among many areas of competence (corresponding to several approaches for strategy design, to different actions to be performed on the PIR, and to distinct phases structuring the Interaction with the user) at different levels of abstraction (from high level decisions, concerned with the overall organization of system operations to low level choices related to the execution of actions for the eipanslon of the PIR). These issues lead' to the exigency of providing, the rule-based system with an explicit method for representing and ualng meta-knowledge. The approach to oeta-knowledge employed In IR-NLl is based on a novel mechanism, called task, which is supported by a partition of the expert knowledge base. This contains IF-THEN rules and Is partitioned Into classes which correspond to specific competence areas and contain rules used to solve a particular problem In different contexts. Rules nay specify either .nodiflcatlona of the PIR (actions) or modifications of the flow of control (direc- tives). A task Is generated run-tine by asso-, elating a class, with a termination predicate and a list of parameters. A task can be created by a specific directive ("activate") present in the THEN part of soiie rules. Task execution consists In applying the rules of the class to parta of the PIR specified in the list of parameters. The task ceases to exist when the termination predicate becomes .true, or when a ternlnatlon directive ("terminate") is present in the rule currently being executed. The mode of operation of the control raechanlsn is the usual recognlie-act loop, under a data-driven regime. The conflict resolution phase Is carried out by using a subset of the class, containing conflict rules. The control mechanism may execute rules which contain the activation of other tasks, thus generating a treelike structure of task activations. Control is resumed when the subtask finishes. A datalled Illustration of the task mechanism and a list of the most significant tasks employed In IR-NLI can be found in [11. ^ Analysis of the Tasks Mechanism Let us now analyje the control mechanism above described focusing both on Its advantages and limitations. The discussion will lead to the Identification of some requirements for a new control mechanism. The main Include ; features of Che task mechanlsm a) loca 11tyI taaks allow use of knowledge (both domain and meta) in specific envlronmenta, triggering a particular set of rules (the class). b) sharpness •. the task activation method (the directive "activate"), allows a sharply focused knowledge retrieval, greatly decreasing the degree of non-determinism present In the system operation. This directly influences the performance o£ the system. c) uniform!ty! both domain knowledge and meta-knowledge are expressed in the same language. This results In an easy definition of conflict resolution strategies. Two main implications follows I) The class/rule organization of knowledge yields a two-level search of the relevant knowledge: the search of the class, and within that, the search of a rule to fire. More precisely, the first Is not a search, being the task- activated by name. II) The "activate" directive (or "terminate") expresses meta-knowledge since It indicates . which knowledge class la going to be used (or abandoned). Furthermore the sequencing of actions and directives which may appear in the THEN pact of a rule la also metaknowledge. Thus meta-knotfledge Is not confined within conflict rules, but rather It Is mixed with domain knowledge snd may take the'form of procedural knowledge. Tasks have shown the folloHing shortcomings! a) reference by name : this means that tasks are used In the same way as subprograms within a procedural language. Although decreasing the non-determinism of the computation-, this Introduces some other problems: b) c) aimed - at Improving skill and naturalness of system be havl ou r ; * performance-oriented decomposition, mostly aimed at improving aystem efficiency; functional decoopos11 ion baa to be preferred over performance-oriented decomposition, (at least in the first stage of the project), as the focus of attention Is more on the adequacy and eEfectlveneaa of cognitive modelling rather than on the efficiency of implementation; C-Aa that result from functional decomposition do not constitute a flat collection of Independent specialists, but: * they cover a wide tange of different abstraction levels (consider, for example tasks such as "approach selection" and '^generalize") ; * they can be partially ordered, thus yielding a hierarchical organization, according to a relation ; C-As are not homogeneous from the point of view of their individual capabilities: they operate on certain and complete input data but the knowledge they utlllie does not always guarantee that the outputs they produce are correct and complete (consider, for exampie, "respell" that performs a well known completely accurate activity, and "Cltatlon-Pearl-Growing" that generally operates with Incomplete Judgemental knowledge); C-Ab are not homogeneous from the point oE view of the mutual knowledge they have about each others each C-A directly knows only a subset of the existing R-As and thus has not a complete view on the global capabilities of the system; 3. the behaviour of the network is not strictly cooperative as nodes are not expected to communicate partial tentative results and to refine them through an Iterative coroutine-type interaction; nevetherie Sa, aome degree of cooperation among uodes exists as the behaviour of a node can be directly Influenced by the results obtained by other nodes. These features make our approach different from both CA/NA and FA/C and from other possible combinations of these approaches f?!« Thus we denote our distributed mechanism "complete but unaccurate and weakly cooperative". Conclusion The proposal for a new paradigm of distributed problem solving sketched in the previous section needs to be developed and refined along several directions before experimental activity can be started. Among the presently ongoing research efforts we mention: definition of a suitable communication tocol among nodes I&,4]; pro- design of the . appropriate communicatIon/control mechanism capable of making the nodes Interact and cooperate . according to the proposed paradigm. The adequacy of the proposed approach will be then tested on a new version of IR-NLI. References 1. G, Brajnlk, G. Guida, and C. Tasso, "An expert Interface for effective man-«achlno Interaction," In Cooperati ve Interactive Systems. ed. L. Bole, Springer Verlag, Berlin, FUG. To appear. 2. R. Davis, "Content reference: reasoning about rules," Artificial Intelligence, no. 15, pp. 223-239, 1980. 3. K. Davis, "Meta-rulesT reasoning about control," Artificial Intelligence. no, 15, pp. 179-222, 1980. as a consequence of the previous point, the 4. communication and control mechanisms among C-Ab may conform to several different strategies-, Including direct reference by name, content reference, goal-directed addressing, request-driven activation, etc.; 5. parallel activation of C-As is possible, both in the sense of parallel exploration of alternative solution paths and in the sense of parallel execution of Independent sub- 6, tasks. The above featurea denote a kind of functionally distributed system that can not be easily modelled In terms of known paradigms. Among the 7. several approaches to distributed problem solving proposed In the literature the following ones seem to be closely related to our investl-gstlon: FA/C [7), ETHER [6], and contract net No one of them la however appropriate to cover the specific features of our application. 8. To this purpose we propose a novel approach to distributed system modelling that Is based on three major points: 1. each node operates on certain, correct, and complete input data; 2. the processing performed by a node can yield uncertain results, as it utilises possibly Incomplete or uncertain knowledge; R. Davis and R. G. Smith, "Negotiation as a Metaphor for Distributed Problem Solving," ArtHlctal Intelligence, no. 20, pp. 63-109, 1983. C. Guida and C. Tasso, "An expert intermediary system for Interactive document retrieval," Automatica. vol. 19, no. 6, pp. 759-766, 1983. W, A. Kornfeld and C. Scientific Community E. Hewitt, Metaphor," "The lEEF. Trans, on Systems. Han, and Cybernetics, vol. 11, no. 1, pp. 24-34, 1981. V. B. Lesser and Đ. D. Corklll, "Functionally accurate, cooperative distributed systems," IEEE Trans, on Systems, Han. and Cybernetics. vol. 11, no. I, pp. 81-93, 1981. K. C. Smith and R. Davis, "Frameworks for cooperation In a distributed problem solver," IEEE Trans, on Systems. Man, and Cybernetics, vol. 11, no. !, pp. 61-70, 1931. UDK: 681.3.06 (NE) KOČ PBOLOGA K/,nKo ORcniuny. INr'TT::i;T JOSkF STEFAH - LJUELJAti/. juaoiiLAVij;-. povef'l'I:K o j-rolOfU, kot enftjr nfl jponombjie jnih jozll'.ov upiotn" intc lit^»'nC"-je v zadnjih l-.tih i^recej f.ovorsi. Veliko strokovnj^^^ov pe je v dvomih o uporiibnost i prol^gn v profenicnalnoin pronrnmj mn ju* ilnratn referata jn onvjtliti vioLre in .-slnhe lastnosti prolr(;:i in i-rikEKšfi n.i.ji'.nvo upombnost v v.-,akdnr.,1l prcierornrsKi j^rekal. During recent jći'r:^^ tht pjnlbf^ lisnyua^re hüc bRftxi j*iucli tìublishcl s^nd spoker, fi bout. i.u t cü^piitür experts li/-ve dmibt-'i r^boyt professionnl utefuliiess of this li;ni;MEB6. The purpose of this nisnuBcript is to naV-o elef.r f^cocl i.nrl bad propartiefi of j^i-cloj; and trt ehow iti; u.-ieTulneGS in everyday progrommi-r 1. CVOÜ V zadnjen času jo v različnih rBčun.jlniSkih publikacijah precej govcrs o urr.ttni intol ic^rici, pets računelnlški generaciji in tom v zvezi s prologom kot enim najpomembnejših jesikov ne tea področju rarunnlniš tVfi. Tudi nn nnjholj razširjenih računalnikih vseh velikosti eo bo v zadnjih letih pojfivile-bol j ali ntnj iiapešiie implementacije tega jezik-'J. I'.eri rnčunelnièkimi strokovnjaki pn s« v veliki meri pojavlja dvon o smiselnosti uporabe prologa v prcfe.-sionflneni programiranju. Ta dvom je predvsem potiledicE dveh napačnih pogledov na prolog: 1. Večina procranerjev zavrača prolog samo zaradi njegove relfltivnp neučinVovitost1 aa današnjih računalnikih* ^lal js tflko ocenjevanje jezika zelo enostrr.nsko. 2. Tisti, ki poznajo prolog somo i? knjig ali kratkih tečajev, so navadno razočarani jind tPffl, ker od obljubljene nepostopkovnoati prologa v praksi ne ostane dosti* Vsekakor taki ljudje pričakujejo od proloiv' preveč. Jasno je, da ima tudi prolog slabosti* Veni^fiT nam zo ceno teh slabosti nudi nov pristop k obravnavi problema, ki se izkaic lic t zelo učinkovit. Namen tega referata je prikazati prolog z več etrani, prikaZEti uporabo proloea v praksi in opozoriti no dobre in ulabe laatnosti, ki se pri tem pojavljajo* 2. PHOI.OG PrVH implementacija prologa je bilf. narejena leta 1972 na univerzi v r.orEeillu /6/ kot posledica Ideje, do ti matemstično logiko razvili v programski jezik. Prvi implementaciji so sledile nove. Do letn 1979 jih je bilo že okrog P.C. V tem času so t-.e rr.zuile tudi nove tehnike in optlroi7.acij.Tki ri-nhnnlzml za implementlrpnje frolog-!. ;.';ijvt;čji ^nprln05 k teir.u jp nedvomo rialii implem^ntncijs na računalniku DFC-10 /C/, ki vključuje poloc interpreterj.i tU'li läo tiste,;' č:.s<; f-rvi prevaj-lnik zn prolog. DEC-IO prolog js postal tudi nekakieji neuraden standard za prolog. V osemcieEetih letih so se nove iaplemet.ti. cije kar vrstile* Najpomor.bnejsa je Quintus prolog, ki je iiboljšave prologa na rečunf.lniku DKO-IO, Prolog ji; bil tudi iibfn kot osnovni jezik pete računalniške gcner.^elje no Jr.ponskem. KLO ( Karr.el Lsnguage zero ), ki je strojni jezik prvega rcčunr.lnik.i pete generocijc ( Delt<-machine ) je n^^mreč razširjen prolog /5/. >iatGniatì?^na osnova prologu je predikatni račun prvega reda /J/. Prolog uporablja podjezik predikatnegn roči'na t.i. Homove stavke, ki izrazajo pogojne trditve tipa ; P če n in P2 in P? In ... in Pn V primeru, ko je n=0, so to brezpogojno trditve oz. dejstva. Program v prologu Lfthko roEumemo kot ni7. definicij, ki si Jih lehko povsem deklTstivno. Ob proc^iimlrsnJu teh definicij pn Ee moraiEO zavedati tudi postopkcvncj;!- iifim?n;5 tr-kc^a progrftffir. V nasprotnem pt-inieru bi pT'olog pripelje,! v nükotüre iiüIJuVk? situacije,, i? kntcrih se brez znanja o postepkn»nsn> pomenu prngrsiTci ne bi mogli rešiti. vr:.r;m Jf., Dpt j ifizi.ci Jaki tiehanlanij /fj/ aiear poskrbijo, de ue vsi nertVini podatki odstranijc, vendar pcrabr. ostnjrt ne vedno velllt;i» Prolojj sc no izV.nzo pr'i obnežnen delu ii :;tovili in pri obsežnih vhodtio-lahodnih operacija. V tJ^kih primerih procDim iiclodn ;ipdohiio kot v kliisičnih postopkovnih jezikih. romambni lastnosti prologr cta tudi nedeterminizćm, ki Js realiairsn a pomočjo e.vtcirntKkpca vrsičnnj« C autonatic hscktracking ) in msnipulIranje o seznirri, ki je podobno kot v I.IST-u. Helntere starejše implementaciJt imajo to pcmonjkl JivoDt, dr. no nudijo povezave z operaci n Bietemom. V novejSih implementacij.'ih ja to v polni ni;ri rečeno. Vhodno-izhodnt funkcije in ne nnkat'^rt; druf^tr, ki jih ne bi mogli isvesti v čiotatn prologu, so realizirane a prn7:oÄjo vgrajenih podprof^ramov. J. SLAEi-. STRANI PnOLOHA Nedvomna je nf^jvečj". FOmj;nJklJivost prologa v nj&^^ovi relativni počpisnosti- Tc slf^boct je nasploh znaäilnost takih Jeaikov, ai. k;>terih pn jo prolog iù najbolje rešuje. Daleč največ čf:sa pri izvajanju porabi operacija prilagaJtinja (utificction) dveh podatkovnih struktur, ki poriibi preko OOS» čss.--. Večji del preoctonks porgiti s'iministracija npd podiitki C prolog ima ^ pod,:itkovn'1 obraoSj-^ ). Počasnost so posku^j^li oriliti z uvL-jinjem optimizf.oijskih uehsnizrjDV /6/ in pri ti - dosecli doknj dobre rszultetc. Kljub vjetru pa hitrosti postopkovnih jezikov prolog; n;- d.-na.SoJih rnčun-ilnikihver je Ini ii ' bo nikd-ir dost etil. DruE'i poman j!iljlvo6t je vslik;i por-'bti pomnilnilkce»! prostorti. ? ;iv;;J.-p. jes: novv t ihiiolo-^ij? in vecf.nj'-F nomnllniülvih k^pe.citet t^ i^Iabost izt^ubljfl nfi pomenu* V primerih, ko r?"-riTii;il]iil; niri. dovolj velikegJi pomnilniškrga proetora, pk Je t." slsbost celo bolj kritlSnr. kot hitrost izvnjnnjs. Eazlog za veliko pcr;bO poranilniks Jo v ttm, kor ror.-! prclog ohri^njati podi-^tke avtomatskej^fl Predvsem v PbecuIu in podobnih Jeiikih vzgojeni programerji prologu očit--jo preveliko üploSnott in svobodo pri delM f: pod.'tki* NavnrJno pn ue t,-^ Ifstnoet v pr.-.kiii izksze holj kot pred.ioet in ne ko?" r-laboyt* Tisti, ki pričnkujejo od prologe preveJ, bi pisali kakršnekoli programe v prologu brez upoštevanja postopka izvajanja. V 2, razdelku cen omenili , da se brez upoštevanja postopka dij hrati programe, ne pa tudi pisati. Prologov sisteir: cicra pri izvijanju izvršiti določen postopek, zato so tfika pričakovanja nesmiselna. 1». DOBRE STHrtKI PROLOGA MoS prologa se nedvomno utjholj pokaže pri manipuliranju b podatki. Simbolično procesiranje, ki Je podkrepljeno n strukturiranjem podatkov v poljubne drevenoG in grafne strukture ortogoč» presenetljivo enostavno delo t velikini kolif.inür.i podatkov. Pri tem ce predvsem izkaže delo b oeznemi, ki nimajo vnaprej določene dolf.ine in lahko vsebujejo poljubne količino podr.tkov. Cb tem, d.ij niso potrebne še nikekrine deklaracije podatkov, 80 tako prof-rami navadno nekajkrat krajši in precej bolj čitljivi kot.za enak problem v klasičnih postopkovnih progranskih Jezikih. ùlnt^ikSL! prologa jp Kelo enoBt£vn6. CpÌB:tnn jc prihliftio V petn'jotih produkcl Juki li prnvilih (PliF). izmed prcdiiosli prologa i" tudi BVtofn^^t&ko vreSsnje. £ to Isotnostjo prolog eiir. poišče vae rešitve v đrevecu ffiožnosti. Nalocn proerr.perjrj jo le, de omeji preiskovanje drsves', Sü jo to potrebno, /ivtomstsko vračanjs močno olcjSn prcftDitilranje elgoritirov koinbinstoriČne ntravc. ?.s podprograma v prologu jfi zneSilnf. vfiliks splošnost. Isti potiproerair l;:liko uspešno oprnvljfi n£ilC£ti za vhodno pode tke povseis rszličjiih tipov in količin^ Ta splosnost ee prertvsfiir. ofir^i?;^ v dolžini pro£riiir.B. riflreva proloco^^C progrimfi pi-0{^rsracrj^ dobesedno i;ili v tf-hniko fpofrEralrsnjf '"od i[;or-.j nfivzriol" C top-down ) /1/. ntruktur« proloi;ovih f;t^vkov P čc n in P2 in FJ ... ir. Tn proUetn F nn n m»!r.jiih porlproVl.-rov. Ta riclitciT se izvnjs dokler ne naletimo n» prologovEi dejstva ali na vgrajsne podpronrase. Zr.ri.ii t.-ike strolLturc je ttjdi pruvdj.ir.jf- progr-mov ii; pj'oln^;'-, v otrukturir-ine jezike C npr. Peocol ) ilokuj enostBvno. Tel.'V? iirstopijo le v j-i-imeru, ks j>pev£jarro progremske dele, ki iirtajo nedetsrmini-sticn'. r.n£c^j in pri prevajanju splo.-.nih podprogr-tmov. Sicer pn prologovi procr.'.rr.i Se vedno chr-njajc ('eterniniEtični anač.r. j , Co pi-o(;ri.rr.er Oi, i-rubl^rrri 1.0 ar.hteva» Vsik pioloi-;ov alutflm vsebuje tudi poduintem za odkriviinjr napak C dsbugger ), S ki-.trrin l.-.hko 'i.ilo hitro In lonosljivo odkrijeno n5.p-likacije. Kel.itivno kr; tka in čitljivr. kodn ter splošnost prologovih procramov oaogočnjo ;jrototipno programirönje. Za tßk nažin programiranja je predvuem znhtevon hiter odziv pro;;ranTja na spremembe opocifikacij. V vsakdunji progrEneroki prsksi se vclikokr.-.t srečinio s pooanjkljivimi specifikacijami. Cnvsdno pa se to pokaite r>ele, ko je večji del sistem» 2 L izdelan. Prolog If.hko v takem pritceru uporFbitr.o za specifikacijo oistesia in r.fi zelo nnjhno nsiio se pokiif.ejo poni?njkljivosti, ki jih lahko takoj odprcvimo, /1/ Cpiaane lastnosti proloc" so Se pooebno iiportbna pri programir-'üju ekspertnih nisturov /?/, kjer sta najVPČj.T prohlcmn zbiranje specifikacij ( t.i. Feigenbnimovo ozko grlo ) in i.'^k^njf? algoritma za uSinl;ovlto rfelovrtnje sistem---. V oli-h priir.erih se proloi; iskože kot zelo '-oristno orcdjn zr r-EVoJ sistemi-, C. Ir. proj sledi, de je TjrolOi; !:ljut slflbflst.in, ki so aplciSno snr.ellnu z.': In t cligtn t;: t jSt: jt-zike uporaben tudi v vsflkdonji profrpn^^rski prakei, }ianj pi imoren az. neprimeren je z» jiinunje konino delujočih implecisnticlj sisteffiov. Vr.ek-;kor pa prolog pokaže svoje dobre Iniitncsti pri definiciji in rjiavijoRjiJ sistetnov ksterekoli vrsta. Dobra Ir.stnost, ki mu to omogoča je relr-tivno kratks, čitljiva in splošno uporobn*" koda. ZAHVALA Posetno zahvalo izražsK sodelavcem fi5<«pine 2a uffietno inteligenco na Institutu JoStf Steffin zft pomoč pri atir^nju informacij in z^ kreativne pripombi, LITtflATUli/'. 1. BojPdr.ijcv D.,Lsvrač K,, K.os-.ctič I. iKKuSNjh S F,-;cLr:;cK KOT JFZIKCÌ-; r.FECiFiKACUc INFChKAClJSKIH SlSTiiKOV IJS - delovno poročilo 2509. IvBl 2. Eratko I. II;TELIG::NTNI INTOHHÌCIJSKI EIETTTII faV. za elektrotehniko, l.juMjonc, l^Sj J. Clocksin w,r., Kelllsh C.E. PÜOGR.IKKING IN PliOLOG Springer - Verlag, Berlin Heidelbcrf; IJevi York ■I9SI U, Kononenko I. STEUr.TURKU ^VT■0H(^TSK0 TJČEKJi: Fflk. za elektrotehniko, L juhi j-.niil^SS 5. Manuel T. CADTIOUSLY OPTIMISTIC TONE GET FOK 5th GEtiEEnTION Electronics Week, Decomber 3, 198'< 6. Warren D.H.D. IKFLEMEKXING PROLOG C.A.I. research report no. J9, Edinburgh 19?7 PREPOZNAVANJE GLASOVA SEKVENCIJSKOH ANALIZOM AUTOKOfiELACIJSKIH VEKTORA OGRAKIČEKOG BROJA UZASTOPNIH SEKCIJA I. Mario Institut "Ruder Boskovlć", Zagreb UDK: 681.326.7 u ovom radu prikazan Je sustav za prepoznavanje nekih glasova hrvatskog jezika uspoređivanjem s referentnim uzorcima. Korišten Je standardni model za prepoznavanje govora koji uključuje odredivanJe vektora kerakterlstičnih svojstava, kreiranje referentnih uzoraka, uspoređivanje test i referentnih uzoraka, te konačnu odluku o prepoznatom uzorku. Prirajenjena je modificirana verzija Jednorazlnskog algoritma za dinamičko programiranje. Ispitivanja su vršena na ograničenom broju glasova. Prikazani su i rezultati mjerenja. PHONE RECOGNITION USING SEQUENTIAL AUTOCORRELATION VECTOR ANALYSIS OVER LIMITED NUMBER OF CONSEHU-TIVE FRAMES: In this work the speaker dependent phone recognition system is presented. The systrii, la based on the phone recognition by means of the reference templates. The oanonic pattern-recognitli.i. model for speech recognition is used, including generation of the characteristic feature vectors, reference template creation, pattern similarity determination, and the final decision about the recognized set of phones. A modified version of the one stage dynamic programming algorithm is aps..lied. The evaluation of the algorithm is performed over the restricted set of phones. The results of tli« measurements are also presented. UVOD lako Je nagli razvoj tehnologije Integriranih krugova, kao i teorije digitalne obrade signala doveo do ubrzanog razvoja različitih metoda za prepoznavanje govora, problem je još uvijek daleko od konačnog rješenja. Postupci su složeni, zahtijevaju obradu velikih količina podataka u kratkom periodu kao i ogromnu memoriju. Unatoč tome postoji već čitav niz komercijalnih rješenja za prepoznavanje ograničenog broja riječi određenog govornika 3 pouzdanošću većom od 95S. U novije vrijeme razvijeni su i sistemi, nezavisni o govorniku, za prepoznavanje povezanih riječi. Primjena dinamičkog programiranja u prepoznavanju govora r,1-3.I predstavlja trenutno najperspektivnije rješenje a istraživanja su orjentl-rana u smjeru pojednostavnjenja algoritama dinamičkog programiranja i povećanja njihove efikasnosti. problem se sastoji u pronalaženju referentnog uzorka ili niza referentnih uzoraka govora, pohranjenih u memoriji računala, koji najbolje odgovaraju test uzorku govora. Referentni uzorci predstavljaju niz vi sedimene ional-nih vektora, pri čemu svaki vektor karakterizira jedan trenutak 111 kratki vremenski isječak govora. Ti vektori predstavljaju vektore karakterističnih svojstava govornog signala koji mo- gu biti generirani analizom u frekvencijskoj (engl. Filter Bank-Analysis of Speech) ili u vremenskoj domeni (engl. LPC Analysis of 5:[iecl,) [il . Dinamičkim programiranjem traži se optiir..il-nl vremenski put kroz referentne uzorke po kriteriju minimalne akumulirane razlike izneđu vektora karakterističnih svojstava referentni I, i test uzoraka na tom putu. Pri tome se postavljaju ograničenja na put čime se reducira broj mogućih rješenja. U ovom radu bit će prikazana realizacija jb-k.Lj' sustava za prepoznavanje glasova hrvatskop jezika. S obzirom da u hrvatskom Jeziku svakom slovu odgovara određeni glas i obrnuto, te da glasovi unutar riječi zadržavaju neka svoja bitna obilježja na osnovi kojih mogu biti prepoznati, analiza se može provesti dinamički po vremenskim isječcima govora prepoznavaJući glasove tj. slova u nizu. Ta primitivna analiza može se shvatiti kao neka vrsta "elektroničkog uha" koji rezultate svoje obrade može slati na daljnju analizu nekom centralnom sustavu u kojem su pohranjena fonetska svojstva Jezika. MODEL ZA PREPOZNAVANJE GLASOVA Model za prepoznavanje glasova Csllka 1), koji Je ovdje koristen, po svojim bitnim obilježjima se ne razlikuje od standardnog modela za prepoznavanje govora [l] . Kao što se iz al.l vidi, N-1 (x^(n) - x'^(n))^ : H-1 p = (Xj^(n) n=0 k=1 gdje Xj^Cn) predstavlja 1-ti segment govornog signala. Na slici 2 ilustriran je postupak određivanja LPC koeficijenata. Slika 1. Model za prepoznavanje glasova sustav ae sastoji iz nekoliko zasebnih logičkilti cjelina: - određivanje vektora karakterističnih svojstava govornog signala, bez obzira da 11 ae radi o kreiranju referentnih uzoraka ili obradi test uzorka -.generiranje referentnih uzoraka glasova, provodi se u modu za učenje (referentni uzorci predstavljaju reprezentativne uzorke za svaki glas posebno) - uspoređivanje uzoraka vrši se u test modu tj. vektori karakterističnih svojstava test uzorka uspoređuju ae s referentnim - konačna odluka o prepoznatim glasovima vrši se u posljednjoj fazi obrade, pri čemu u odlučivanju mogu biti uključena 1 pravila Izgovora U ovoj fazi sustav Je realiziran programski s minimumom, neophodnih sklopova. ODREDIVANJE VEKTORA KARAKTERISTIČNIH SVOJSTAVA Generiranje vektora karakterističnih svojstava bilo test bilo referentnih uzoraka, bazirano je na poznatoj LPC metodi tJ. linearnom kodiranju 3 predviđanjem unaprijed (engl. Linear-Predictive Coding) [6] , odnosno na činjenici da se uzorak govora u svakom trenutku može aproksimirati linearnom kombinacijom prethodnih uzoraka tj., ' P x(n) = ^ a,,. x(n-k) (1) k:1 gdje Je x(n) stvarni uzorak (nekvantlzlranl) , ~(n) predviđeni uzorak, a^^ koeficijenti aproksimacije a p red aproksimacije. Pogreška predviđanja definirana Je na slijedeći način e(n) = x(n) -'x{n) = x(n) - aj^' x(n-k) (2) Određivanje koeficijenata a^^ bazira se na mini-mizacijl srednje kvadratne pogreške zbog predviđanja na kratkom segmentu govornog signala • tj. traže se vrijednosti Sj^ koje mlnimiziraju jednakost: ucmt klji-it.;. t bliiqxcie^ 1>c.ijv" "j-l (k. m.kti:^ Slika 2. Postupak određivanja LPC koeficijenata Govorni signal se najprije segmentira u sekcije duljine N uzoraka s preklapanjem uzastopnih sekcija u M-H uzoraka tj. , slijedeća sekcija pomaknuta Je za M uzoraka u odnosu na prethodnu. Akc Je M>N ne postoji preklapanje između sekcija. Preklapanje sekcija nužno ima za posljedicu gladenje vektora karakterističnih svojstava. Da bi se umanjili rubni efekti svaka sekcija govora množi se s težinskom funkcijom w(n) (engl, window) tj. Xj^(n) =Xj^(n)'w(n) . Težinska funkcija w(n) je periodička funkcija s periodom N. Tipična težinska funkcija je Hamming window definirana na slijedeći način; w(n) = 0,5lt - O.en-cos 2¥n TTT (1) U slijedećem koraku vrši se autokorelaolJska analiza sekcije govora pomnožene 3 težinskom funkcijom tj., određuju se koeficijenti N-1^ irj^(n)-x^Cn+m), miO,1,.,.,p (5) R;^(m) = gdje p označava red analize sustava (p^l2). Skup koeficijenata Xj^ .....(6) se često koristi kao rezultat LPC analize jer se karakteristični vektori svojstava 1 test i referentnog uzorka mogu iz njih odrediti. Ako se autokorelacijski koeficijenti normalizirajj tako da Bj^(O) postane jednak jedinici može se definirati vektor karakterističnih svojstava ■ 1-te sekcije na slijedeći način: r^(0),r^(1),...,r^fp) j ' (7) gdje Je rj(0):l/Rj^(0) (normallzaoljski faktor) . rj^(l)=Rj^(l)/R^(0) , 1 = 1,2, ...,p. Normalizacija autokorelacijskih koeficijenata umanjuje utjecaj varijacije intenziteta govornog signala na prepoznavanje. - 362 GENERIHANJE REFERENTNIH UZORAKA Niz vektora karakterističnih svojstava odretle-nog glasa čini referentni uzorak glasa. Prilikom generiranja referentnih uzoraka kao i pri analizi test uzoraka važno je locirati početak i kraj govornog signala. U tu svrhu mjeri ae energija signala u svakom vremenskom Isječku prema izrazu N-T (8) niO Ü periodu kada Je energija Ej^ veća od unaprijed zàdane minimalne energije {šum okoline) definiran je valjan signal. Referentni uzorak određenog glasa može se zapisati na alijedeći način; U(k) = V(k,j)|,J=1.....JCk); k=1,.,.,K (9) pri čemu V S « 1 ^ s ž ä !E ž It i ^ o o o o o ci^ o o o o o o o -L Vr^EMENSKE SEKCIJE TEST UiOHKfi Slika 4. Težinski faktori zbog vremenskog izobličenja Minimalna akumulirana razlika do točke (i,j,k> u ovom slučaju definirana Je rekurzivnom relacijom: D(l,J,k) = min (l+a).d(i,J,k)+D(i-l,J,k), d(i,J,k)+D(l-l,J-l,k), b.d(i,j,k)+D(i,J-l,k)t (13) REALIZACIJA ALGORITMA Konačni cilj Je pomoću algoritma prepoznati nie povezanih glasova. Da bi se to postiglo, minimalna akumulirana pogreška računa se od početka test uzorka, prema dijagramu toka na slici 5. Prije primjene algoritma određuju se autokore-laeijaki koeficijenti i generiraju vektori ka-karkterlstlčnih svojstava test uzorka. Konačna odluka o prepoznatim glasovima donosi se na osnovi dodatne analize niza podataka koji pred- S r----------- j fcinamlckiu «oghämiränjem odhedi akumuliranu ooghefiku OD rot^Ki; (i.i.k) [:o točke Slika 5. Dijagram toka modlflciratiog Jeđnorazlnskog algoritma dinamičkog programiranja za prepoznavanje povezanih glasova stavljaju rezultate prikazanog algoritma. Cljell broj L u dijagramu toka označava red analize, u konkretnom slučaju J. REZULTATI MJERENJA Veririkaćija uspješnosti algoritma vršena je na svim samoglasnicima (a,e,i,o,u) i nekim suglasnicima (m,n,s,š) hrvatskog jezika. Od navedenih glasova pravljene su suvisle Ili nesuvisle kombinacije (riječi) koje su zatim analizirane. U modu za učenje najprije su generirani referentni uzorci za pojedine glasove. Nakon toga testirano Je prepoznavanje riJeČl sastavljenih od spomenutih glasova. Sustav Je obučavan za jednog govornika. Analiza se odvijala u produlje-.nom vremenu jer je model realiziran programski. Ulazni signal otipkavan je s frekvencijom 10 kHz i reiolucijom 10 bita nakon što je prethodno filtriran analognim pojasnim propustom s graničnim frekvencijama 80 i U800 Hz. Provedene su dvije vrste testiranja; prepoznavanje niza gore navedenih glasova u različitim kombinacijama te prepoznavanje riječi sastavljenih od istih glasova a koje pripadaju unaprijed definiranom skupu riječi. U oba slučaja postupak analize Je isti osim Što Je konačna odluka u drugom slučaju ograničena na konačan skup mogućih kombinacija glasova. U tablicama 1 1 2 prikazani su odgovarajući rezultati mjerenja u obje varijante. GLAS POSTOTAK PREPOZNAVANJA 95 83 86 97 93 68 64 75 73 j ..J Tablica 1. Postotak prepoznavanja glasova u slobodnim kombinacijaiiia GLAS a e i o u m n s š r" POSTOTAK ; PREPOZNAVANJA 97 09 91 97 96 77 75 86 82 Tablica 2. Postotak prepoznavanja glasova u ograničenom skupu riječi Kao što se iz tablica 1 1 2 vidi, postotak prepoznavanja glasova u slobodnim kombinacijama niži je od postotka prepoznavanja odgovarajućih glasova u fiksnim kombinacijama. To se dogada iz razloga Sto se sve kombinacije glasova, koje ne pripadaju deflniranoiE skupu riječi nakon analize, zamjenjuju s najsličnijom rječju iz skupa. Eliminirajući tako nepostojeće konbinaclje glasova povećava se postotak prepoznavanja. Prepoznavanje glasova jako Je zavisno o poziciji glasa unutar riječi te o susjednim glasovima. Daljnja istraživanja trebala bi uključiti prepoznavanje preostalih suglasnika kao i glasovnih prijelaza. To se aiože postići na dva načina, poboljšanjem algoritma ili povećanjem broja referentnih uzoraka glasova. ZAKLJUČAK U ovom radu prikazana Je programska realizacija jednog sustava za prepoznavanje glasova hrvatskog jezika. Korišten Je standardni model za prepoznavanje govora. Primjenjena Je aekvenclj-ska analiza autokarelacljskih vektora ograničenog broja uzastopnih sekcija, sto predstavlja modificiranu verziju jeđnorazlnskog algoritma za dinamičko programiranje. Sustav je'baziran na laboratorijskom mikroračunalu. Analiza se odvija u produljenom vremenu. Ispitivanja su vršena na ograničenom broju gl,a-sova. U fazi učenja za svaki glas je generiran Jedan ili više referentnih uzoraka koji predstavljaju skup vektora karakterističnih svojstava tj., normaliziranih autbkorelaciJakih koeficijenata dobivenih analizom vremenskih isječaka glasa (djelomična LPC analiza). Testirano je prepoznavanje različitih kombinacija glasova. Rezultati su pokazali zadovoljavajući pos- totak prepoznavanja glasova, naročito u slučaju ograničenog skupa rlječt. Prepoznavanje glasova pokazalo se jako zavlanlra o poziciji glasa unutar riječi. Problem bi se mogao Izbjeći poboljšanjem algoritma ili povećanjem broja referentnih uzoraka glasova tj., uzoraka koji bi predstavljali glasovne prijelaze. Merijesen problem Je i optimalan broj uzastopnih sekcija koje treba analizirati zbog različitih trajanja glasova. REFEBENCIJE: 1. L.R.Rabiner: Tutorial on Isolated and Connected Word Recognition, EURASIP, 1983-, pp. 399-M06. 2. H.Ney; the ü-se of a One-Stage Dynamic Programming Algorithm for Connected Word Reoo- snition, IEEE Trans, on ASSP, Vol.32, Ko.2, pp. 263-271, April ige^l, 3. C.Myers, L.R. Rabiner, A.E. Rosenberg; Performance Tradeoeffa in Dynamic Tima Warping Algorithms for Isolated Word Recognition, IEEE Trans, on ASSP, Vol.26, No.6, pp. 623-635, Deo. 1980. It. P.Regel; A Module for Aeouatie-Phonetic Transcription of Fluently Spoken German Speech, IEEE Trans, on ASSP, Vol.30, No.3, pp. 410-450, June 1962. 5, H.H. Schäfer, L.R.Rabiner: Digital Representation of Speech Signals, Proceedings of the IEEE, Vol.63, Uo.4, pp.662-677, April 1975. 6. J. Makhoul; Linear Prediction: A Tutorial Review, Proceedings of the IEEE, Vol.63, No.4, pp. 561-579, April 1975. PETA ■ RAČUNALNIŠKA GENERACIJA FIFTH COMPUTER GENERATION FUIMKC ION ALMO P R O S R A M I R N I SISTEMI eorut Rohit!. Jurij Sile in Branko MihnviloviC Institut 'Jaief Stefan', Ljubljana UDK: 681.3.06 Redukcijske raäunalniSke arhitekture zahtevajo funkcionalno prcgraoiirne jezike. Funkcionalno programirni sisteni predstavljajo enega izmed nožnih na-Cinov funkcionalnega programiranja. Čeprav so (iibkejši od lambda raCuna, pa so predvse« zaradi preglednosti in hierarhične zgradbe primernejši za praktiäno uporabo. FUNCTIOMAL PROGHAMtllMS SYSTEMS - Some new kinds of computer architectures require functional programming languages. Besides lanbda style there is another functional style of programming, namely functional programming systems. These systems have properties which make them more useful than lambda style although they are not as powerful , Uvod Sodobne raäunalniSke arhitekture, ki tene-Ijija na paralelnem procesiranju, zahtevajo programske Jezike brez strdnskih uCirikov. Primer takega jezika je LISP, ki teinelji na lambda caäunu. V lambda raöunu so i z voir tmvih funkcij lambda izrazi skupaj s pripadajoäitiii pravili zamene. Z lambda izrazi lahko definirano vse izradunljive funkcije s poljubno mnogo argumenti. To moC lambda raäuna pa je zaradi nepreglednosti njegovih izrazov prakti-fina zelo teiiko izkoristiti. Lambda raCun je le en naCin ti. funkcionalnega programiranja. Drug pristop k funkcionalnemu prograoiranju pa predstavljajo funkcionalno pcogramirni sistemi ( v nadaljnem FP sistemi ). Ti sistemi so SibkejSi od lambda raQuna, tada mnogo preglednejši. Tudi FP sistemi na paznaja stranskih uCinkov, Program v FP sistemu (v nadaljnem FP program) je funkcija, ki preslika en objekt v drugega. Objekt Je bodisi a) nedefiniran , b> atom ali pa c) zaporedje, sestavljeno iz atomov ali zaporedij. Zaporedje je lahko tudi prazno. FP program je lahko a) osnoven, ü) sestavljen na podlagi funkcijske oblike, t.j. pL^avila, s katerim lahko obstoječe FP programe in objekte sestavimo v nov FP program ali pa ol je definiran s ponoCJa definicije. FP program f deluje nad objektom x in vrne rezultat f:K. Pravimo, da fiK opisuje uporaba (aplikacijoJ programa f nad objektom x. Podobno kot lamda raCun ima tudi FP sistem zelo enostavno seiiantiko. fsir-aQic-dmd i 1-1 F" P äe zapišemo zaporedje stavkov za izraCun ska-larnega produkta dveh vektorjev v tnem od proceduralnih (von-Neumannovih) jesikiiv c:=Oj ior ifl ta n djo C i= o + aCi3»bi:i: i opazimo sledeäe lastnosti t a) raäunanje tenelji na mnoüici rajliäoüi (Jia-vil, kot so prireditev. Indeksiranje , in-krementiranje, testiranje, skoki ; b) nehierarhifino zgradba, kar pomeni, da kum-pleksnejSi objekti niso sestavljeni iz BtavnejSih. Izjema Je le desni del prii-e-ditvenega stavka c+aCi3tbCi], hi Je sestavljen iz dveh enostavnejših c in aCiD*bCi], pri Čemer je aCiltbCil zopet sestavljen dveh enostavnejših aCi3 in bCi^ j o) beprav probten vsebuje visoka stopnjo potencialne paralelnoeti, ta ni izkori^Cena. Program deluje nad posameznimi komponentami vektorjev a,b,c, ne pa nad celini vektorji hkrati. Vzrok je v von-Neumannovi arhitekturi, ki ne omogoCa paralelnega množenja istolefnih komponent vektorjev in seštevanja tako dobljenih delnih rezultatov i d) konstanta n zmanjkuje uporabnost programa, saj ga lahko uporabimo te nad vektorji dot-fine n ; f) program navaja imena svojih argumentov, s Cimer je znanjSana njegova uporabnost samo na vektorje z imeni a,b,c. Ce pa so a,b,c imena formalnih paranetrov, nujno sledi uporaba relativno zapletenih mehariiimc\r prenašanja parametrov ) g) nekatere operacije so opisane s simboli, ki so porazdeljeni po programu, namesto da bi bile opisane s simbolom na enen mestu. FP program za raCunanje skalarnega lahko definiramo koti DEF SP = (/+)at«*)oTrans produktd Sestavljajo ga tri osnovna funkcijes seStfva-nje + , mnolfenje • in transpoilcija Trans ter tri funkcijske oblike: vstavljanje ! , uporaba nad vseni elementi a in konpotitum o . Program ima sledeC pomen t 11 (oi»>oTrans _ raìhij vhodna vektorja v mnoiicD istolelnih parov _ iiraCunsj produkta vseh tako dobljenih parov seStej vse doliljefie produkte Uporabo ( op 1 i k ac i jo) tur.kcijh f rišd arquinentom X zapiSeiiio z f : x . Tedaj lahko izvajanje zgornjega prugi-aiTia naJ aLgumenlom, ki je par vektorjev t ,2,3>,<6,S,«>>, ujiiS.-.iifi tako: SPii > = ^ l/t) fif) Trans:; < 1,2 , 3> , È, 5 , i. > > = ^ (/ti fa»)!( TjansK < 1 ,2 , 3 > ,'4 , 5 , ^ > > ) = = (ni -1<■2,5;.,'S,> = - (/-fi:' (.Kii-; <1 ,<2,5>,<3,4; > ) = i (/+?;■: *s<1,6V, »!<3,'r>- > = - f/^ ■■ > ^ > = i, 2Ì tOii: Opüi.no slsdefL- lastnosti programa SP : hI rA.".nn,'ir: ijt!(!. Tudi ti enostavnejši deli so sestavljeni na pudlagi istih pravil, ali pa so clc-riipntftrni (osnovne funkcije ali objekti) j i-.) j4 HtatiCen, kar pomeni, da lahko njegov pomen raiunemo Ce ga.beremo z desne v ievcj , seveda ob predpostavki, da poznamo pompn osnovnih funkcij in funkcijskih oblik (n- il&luje nad celimi vektorji hkrati Uporabimo ga lahko nad poljubno dolgimi vaktofji, saj ne vsebuje nobene konstante j !) poimenuje svojih argumentov , ker deluje riad njihovimi vrednostmi . Runkoiona 1 no p C-13 Q f a (H i E" r> i, s i. s -b e m FP- sistem sestavljajo; - nin0?i.0st objektov O - (TifioJica F fjnkoiJ, ki preslikavajo objekte v objekte - operator ; aplikacije funkcije nad objektom - frmcüica E furikc:iJskih oblik, s katerimi sestavljamo ubstojefie funkcije in objekte v fiove funkcije - mnr.Sica D definicij, ki nekateri« funkcijam iv- F prirejajo nova Imena Primeri objektov t I 1.5 0 AB3 ,C>,0> Prvi in zadnja objekta so nedefinirani. FP sistem ima samo'eno operacijo, k i Jo imenujemo aplikacija. Ca Je f funkcija in k objtkt,, potea aplikacija f nad k zapišemo z f:x . Tu je f operator, x pa operand aplikaoije f:» , Im je objekt, ki je rezultat izvršitve funkcije f nad objekton Primeri aplikacije i Funkci te + ;<1.2>=3 2:<(k,8,C>=B tli=<6,C> Vse funkcije preslihavajo objekte v objekte in tudi ohranjajo nedefiniranost, torej velja f:i = 1 za vsako funkcijo f . Funkcija je lahko : - osnovna ( primitivna ) | - sestavljena j - definirana ■ Osnovne tUnkciJe podaja üe san FP sistem. Sestavljena funkcijo dobimo na podlagi obstoječih osnovnih, sestavljenih ati definiranih funkcij, Ce nad njimi uporabimo eno ali veü pravil sestavljanja tj. funkcijskih oblik. tie je funkcija osnovna, je tudi sestavljena. Definirana funkcija je funkcija f, za katero v onoSicl definicij obstaja definicija oblike DEF i = ECf ,9,...,h>, pri Čemer je desni del definicije sestavljena funkcija. Razlikujeso dva primera, ko je f:« = i . Ke se računanje f:x konäa v konCnc mnogo korakih in vrne vrednost 1 , je ( nedefinirana pri k. Torej se izratiun f nad k kontia, vendar ne vrne smiselnega rezultata. Ce pa se izradun ( nad X ne konöa v kcnfino mnogo korakih, zopet velja lix = 1 , vendar tokrat pravimo, da Je f pri k neustavljiva , Zaireljenc je, da FP sistem vsebuje Široko uporaben nabor osnovnih funkcij. V naslednjih primerih je opisanih nekaj osnovnih lunVcij, stroge definicije pa so podane v dodatku A. 'Selekcija' je funkcija i, ki vrne i-ti element danega zaporedja, fle takega elementa ni, vrne vrednost i . Primeri selekcije: 3l=C 3i=i 1 :«1 ,2>,3>=<1,2> 'Rep' je funkcija ti, ki izlaCi prvi element zaporedja In vrne njegov preostanek . Primeriš tlt= tl:=0 tl:0 - i 'Atom' ugotovi. Ce Je dani objekt atom. Pri-oeri atoma: Atom:B»T ALom:=F nkjeU. Je lahko: - nEdefiniran, in ga cznaCimo z i j ~ i ■ ■ - lapoi-edje < h, , Kj ,, ,., >, kjer je h, objekt. Tscifjrsdje, ki ne vsebuje nobenega elementa oir.iiiiiio z 0. 7aparedje je nedefinirano, torej "-.'.ako i , Ce vsebuje vsaj en nedefiniran ele- ìii'dl . T^irsj irbrana mnoSioa atomov A in pravilo sostivi janja v jiporedje doloüata mnoSico objektov 0. Za irinoücD atomov navadno liberemo mno-2ico kcinflnih nizov Crk, cifer ali posebnih initiJV. Atoma T in F uporahljaraa za opis logi-Snih vrsdnosti True in False, 'Enakost' je funkcija eq, Iti ugotavlja enakost dveh elementov zporedja. Primeri enakosti: eqi=F eq:<,>=T 'Praznost' Je funkcija null, kl ugotovi, tte je zaporedje prazna. Primer: nulli0 =T null: i=l null:=F 'Obrat' je funkcija reverse, kl obrne vrstni red elementov zaporedja. Primer obrata: reverseJ,B,ft> 'Transpaziclja' je (unlioija trans, ki istoìeJ-ne elenenba zaporedij idruri v nova zaporedja. Priaer tranepaziclje: transi<.,<5,H,J>,,,> Funkci jske oblike Funkcijska oblika je iiraz, ki oznaäuje funkcija. Le-ts je odvisna od drugih funkcij ali objektov - parametrov funkcijske oblike. Npr., Be sta f in 9 funkciji, je fog funkcijska oblika, ki ji pravimo hompozituni funkcij f in g. f in 9 sta parametra te funkcijske oblike. fo9 je funkcija, katere pomen opiSeiDo takole; (fog]:K = fstgtx). Funkcijske abUke imajo Ijhko za parametre tudi objekte, Ce je * ubjekL, je T funkcija, ki nad vsakim definiranim obJektijiTi zavzame vrednost x. V naslednjih primerih je opisanih nekaj funkcijskih oblik, njihove strogE definicije pa so podane v dodatku B. Primer kompozituma funkcij 'rep' in 'obrat' ; t.loreve[se:irA,S,Cr = tli = . Konstrukcija funkcij t in g je funkcija Cf,g3. Fiinkclj.i rf,g1 upocsbisio nad objektom tako, da nad njLiE istoftasno uporabimo funkciji f in 9 ter dobljena rezultata zdruSimo v iaporedje. Prinisr konstrukcije s m = <,B> l.,?vn vstavljanje funkcije f opiSemo z /t. FfiJier levega vstavljanja funkcije + i /+!<1,2,3> = +!<1 ,/+!<2,3>> = = +r.'1, + :<2,/ + t<3>>> = +:<1 , + 3>> = = +:fi,b> = 6 IstoHä^na uporabo funkcije f nad vsemi ele-ii.^nti zapor«iija opijeno z oif . Primer uporabe funkcije • nad vseaii KC-^C 1,2>,C3,4>> = <»s<1,2>,»!<3,4>> = Pogojno izvršitev funkcij f in g glede na funkcijo p opiSemo a (p —>f [ g). Rezultat izvršitve funkcije (p —>f j g) nad objekta« x je odvisen od vrednosti p(X,' He je le-ta enaka T (True), je rezultat f:«, sicer pa gs*. Prim(;ri CAtcm —>idi reverse) t = . Oatinictis Definicija v FP sistemu je izraz oblike OEF 1 <==> r kjer je Cl ,tl,2a Ni>r. u( = C1 ,tl ,2]i= ,6> OEF !astl <==> lorevecse Funkcija lasti izbere zadnji element zaporedja. Npr. lasti i<1 ,2,3> = locevKI ,2,3>=1 «<3,2,1 >=3 OEF last <==> nuliotl ~> 1 ! lastotl definira isto funkcijo kot lasti, tokrat na rekurziven naSin. last;<:A,B> = tnullotl —> Ij lastotl) : = lastotl! = last»ttlt> = last: = (nullot! —> 1j lastotn» = 1: = B Lahko se zgodi, da kaka definicija definira funkcijo, ki ni ustavljlva. Mnoilca definicij je dobro oblikovana , fie ne vsebuje nobene definicije z enako levo in desno stranjo. Sem at^ t. Jl k a R P sxst^ema FP sisten je dolotien, Ce poznaina; - nnoüico atomov A ; - fflnoiico osnovnih funkcij P 5 - onoiüco funkcijskih oblik F | ~ dobro oblikovano nnaSioo definicij D . la to, da bi poznati semantike danega FP sistema, noramo za vsako funkcijo t in objekt * vedeti, kako uporabino f nad x. Obstajajo «tiri moSnostl ; - f je osnovna funkcija ; - f je sestavljena j - { je definirana s - za f ne velja nobena od zgornjih tobk . Uporabo osnovne funkcije pojasnjuje ÌB sam FP sistem. Uporaba sestavljene funkcije temelji na razvoju funkcijske oblike, na podlagi katere Je nastala, ter na uporabi parametrov te funkcijske oblike. Definirano funkcija upo[a-blma tako, da uporabimo desni del njene definicije. (Se za f ne velja nobena od zgornjih ta«k. velja f:x = i za vsah objekt K, FP s±steni± kot p iro g C am i xrn i. Jsziki FP sisteme lahko smatramo za programirne jezike. Osnovne funkcije in funkcijske cblikt so osnovni stavki danega programlrnega jeiik^.. Izbira raiUenih osnovnih funkcij in funkcijskih oblik omagoSa izgradnjo programirnih jezikov railiCnih zmogljivosti. Hnoiioa definicij je programska knjižnica. Funkcija f je program, objekt x je vsebina pomnilnika < vhodni podatek ft* pa vsebina pannilnika po izvršitvi programa f nad x. Dokazovanje pravilnosti programov v konvencionalnih (von Neuoannovih) jezikih je zapleteno. Z definiranjem algebre programov, prirejene FP sistenom, je podana osnova za aehanidno ugotavljanje in dokazovanja lastnosti programov FP sistema. Algebra programov omogcäa tudi uporabniškemu programerju, da ugotavlja in dokazuje lastnosti svojih programov, ne da bi zahtevala od nJega pretirano teoretilina znanje. Prednost takega dokazovalnega sistema je tudi ta, da programer uporablja pri dokazovanju isti jezik, v katerem so napisani programi. Torej pri dokazovanju lastnosti programov ni potrebno preiti na nek vlSJl, (unanji logiEni nivo. Jedro algebre programov sestavlja «noflca zakonov in izrekov, ki povedo, kdaj je neka funkcija ekvivalentna drugi funkciji. Spremenljivke algebre programov 60 funkcije ustrejnega FP sistema, operacije algebre pa so funkcijske oblike tega sistema. Tako je npr. Cf.gJoh iiraa v algebri programov, v haterens so spremenljivke J,g,h poljubne funkcije FP sistema. Zakon v algebri programov ima npr. obliko < = = > rfoh,goh3. Ta zakon pravi, da z» poljubne funkcije Iig,h sistema velja, dj je funkdija na levi strani ekvivalentna funkciji nj desni. Nekaj idkonov algebre progi-atnov : Lf.gloh <==> rfoh < = = > (poh—>foh;g(jh) htjgl <= = >

hoJihog) Cf.fp —>g;hn ^ = = > (p —> Cf,g]jCI,h3 ) D od ^ t © K A Pri naslednjih definicijah uporabljamo iiraze p, —>e,-, p2—... p^.,—e^ katerih pomen je sledeC: če p, tedaj s, sicer pa Pb Pj tedij e^ sicer pa e.j , tedaj sicer pa e^ . V ileiifiioijan so x,*; ,y,y, ,2,1, ob j etiti. 1;, >:= = > v = ,, . .,K„> —> X, ; L ifi vsako po2itivno Btevilo s! S!* ^= = ^ x = < H, I ., ., > in nis —> ; 1 Rfifi 11 ;k <==> * = --> 0 i »-'k, in ni2 —> ; i T[t?»tlteta id;» <==> K Atiim atom:* <""> n je atom —> T J * ni i —> F } i Fnakost fef(;K ■•'==> x= in y=z --> T ; i(= In y4=z —> F j i Praznast ■ null i K < = = > K=0 —> T i K ni 1 —> F ; i Obrat cevi* <==> K=0 —> a 5 )( = <)ll ,...,X„> --> i i -Distribucij^ z leve tJislix < = => K= —> e i ll= <,... ,> i i Oistrlbuci ia z desne disrsK <==> x=<0,y> —> e ; )<=<,y> —> .y>........ iy>> i i Doliina lencH < = = > x»<«, ,.,,*„> —> n [ x=0 —> O \ 1 Vsota .Razi i k a.Produkt,Kvoci ent +:k <==> K= in y,z Števili —> y+z ; i -;k <==> x= in y,j Števili —> y-j J i «!» <="> H= in Števili —> y«2 ; i iJlv:k <==> i. = (y|z) in y,z Števili —> y/z ; i kjer y/0 = i lnkrenientiran.ie,DekrEmentjL.r#n.ie ad:n <-=> K Število --> ii+1 ; i 5ti;K <==> K Število —> H--1 -, I Transpoz ici.ia transiK < = = > x = <0,---,0> —> 9 ; ............. i i kjer üi = , x,2 , . . ., > in y, = <"11 iKj, ,...,ii„i > , 1iiin, 1ij = (n Koniunkciia.Dis tunkcl.ia.negaci.ia and:* < = => k = —>T -, *»= ali k= ali k = ~> F i 1 orsK < = = > « = ali )i = ali k= --> T ; x= --> F j i not;« <==> k= —> F [ k= —> T ; i Levo in desno pr 1 pen.Tan.ie apndl:« <==> x= —> ; x''> —> ; i apndfi* <==> K=<0,y> —> j )i = <,y> —> i i Desna selekcita, Desni rep tr;K <==> x = —> Xn ; i 2r!x < = = > ,.,.,ii„> in n±2 —> x„.i j J. itd. tlrsK <==> x= —> 0 ; K=,«„ > in nà2 — > i i Leva in desna rotacija roti:* <= = > i(=a —> 0 j x= —> <*,> ; « = < K, ,.. . , Xn> in ni2 —> < .......Hn , H^ > ) i rotr:x <==> x=0 —> 0 ; x=< k, > —> ; «=<*,.....xn> in nè2 —> t i Dod at^e k B (fogl: X <==> I ;(g i Konstrukei ia C J i ,..., fn 3 :*<== X1 tn ; k > Poao.i

fj g>:x <==> (P!X>=T --> fix ; (pjx)=F —> g:«;! Konstanta x iy <==> y=i Levo in desno vstavi,janj^ -> i I X /it K < = => ll= —> X, ( K= in n42 f: > ; i \t <==> x= —> X, i >! = < Ki ,, . ., « > in ni2 —> f :< VK X| x„..t >, *„ >; i Uporaba nad vsen^ üf:ii <==> x=0 --> , ,x„> —> <( .,f:x„> ; J. Pv°,US.KP.,y eniStiO (hu f *):y <==> l: Tanka kjer Je k objekt (while p I)!X <==> p!h=T — XvhilB p I):(f:x) j pin=F-->ii i i l_ i t- e? IT- a t ( C21 J. Backus; 'Cđti Pi^ogramming Be Liberated Irox vnn Naumann Style? A Functional Style and Its Algebra of Programs', Cqihhi. dt the AC!1. Vol 21, No.8, August !97a THD J, Pàckus! 'The Algebra of Functional Progrsm-ii Function Level Reasoning, Linear Eijuotiond and Extended Definitions', Fiirm., 1 i ; at. i qn ci PrcaL-đniiriing Concepts, [^i: W .B.Acherinan: 'Data Flow Languages', Computer, Special Issue on Data Flow Systems, Vcii.15, February l-JB? TMJ J.äi!c,E.f!Ghii,E.Mihovitavie: 'Podatkovno vodene caCuna1niüke arhitekture'. Posvetovanje in temiriarji Informatica '85, Mnvä Gorica, September 19BS PODATKOVNO VODENE R A ö U M A l_ M X S K I ARHITEKTURE Jurij Sile, Sarut BobiC in Branko Mihovlloviö Institut 'Jolef Stetan', Ljubljana UDK; 681.3.014 Računalniške arhitekture lahko razvrstimo glede na podatkovni in krmilni mehanizeit. Podatkovni meha-nizen doloCa natiln, kako se ukazom dodeljujejo argumenti, krmilni mehanizem pa doloCa vpliv izräitve enega ukaza na izvršitev ostalih ukazov. Glede na podatkovni in krmilni mehanizem razvrstimo raäü-nalniSke arhitekture v pet kategorij. V podatkovnopretokovnih računalnikih je izvajanje instrukcij podatkovno vodenoj instrukcije postanejo izvršljive takoj, ko so na voljo vrednosti vseh vhodnih argumentov. Podatkovno vodenim arhitekturam pripadajo visoki programirni jeziki z enkratno prireditvijo Ud, Val, Lucid, Valid, SISAL). Materialno opremo pođatkovnopretokonih raöunalnikov sestavljajù prooesni, pomnilniSki in komunikacijski del, kì so med seboj kroilno povezani. Konäno je prikazan tudi naöin, kako lahko uporabimo podatkovno vodeno arhitekturo kot podporo logifinemu programiranju. DATA-DRIVEN COMPUTER ARHITECTURES - Basically, computer architectures share two fundamental mechanisms, these are 'data and control meohsnisms. The data meohanisni defines the way a particular argument is communicated by a number of instructions. The control mechanism defines how one instruction causes the execution of one or more others. In each category of computer, data mechanisms and contrQl meohanisiiB are largely incompatible sets oj alternative concepts. In data flow computer, instruction execution is data driven; the availability of input operands triggers the execution ol the instruction that consumes the inputs. Data flow. computers are programmed in very high level single-ds&ig-nment languages (Id, Val, Lucid, Valid, SISAL). The packet communication machine organization is the most obvious for supporting the data flow concepts. It consists of a circular instruction executitin pipeline of resources in which processors, communications, and memories are interspersed with 'pools of work' containing different types of information packets. In this paper ue also consider a dstj-driven model for interpreting logic program and investigate the architectural requirements n'ece^söry to support its implementation. It will be shown that the model is capable of SKploiting thu capdlji-lities of highly parallel datadcw architeotures. I 1. UVOD Razvoj računalništva v bodoCe je odvisen predvsem od uspešnosti raziskav na naslednjih pod-roBjih: » Umetna inteligenoaj - metodologije, ki izražajo in povzemajo znanje, - uporabniku prirejeni 170 v obliki naravnih Jezikav, govora in slik. * Programirni inieniringj -novi visoki programirni jeziki in raCunski postopki, - programska orodja zgrajena na sistemih, kot npr. Unix. » RaäunalniSke arhitekture; - razpršene arhitekture, kot podpora raCu-nalni^ikim mreiiam, - paralelne arhitekture za zelo hitre računalnike, - VLSI arhitekture z najveCjo izrabo potenciala VLSI tehnologije. * VLSI tehnologija; - VLSI CAO sistemi, - nove tehnologije, npr. Ga-As, Josephsonov spoj,.,. Tako tehnološko, kakor tudi sooioioSko smo pripravljeni na novo - peto raCunalniSko generacijo. Računalniki so preSli od znanstveno usmerjenih aplikacij v 50-tih letih, preko komercialno industrijskih aplikacij v 6D-tih in 70-tih letih, v inteligentno Široko potrošniško elektroniko v 80-tih in 9a-tih letih, t e. PREGLED ARHITEKTUR Sodobne arhitekture imajo za cilj: poveKati raCunalniSko moC sodobnih raCunaIniSkih sistemov, kar pomeni, poveöati njihovo zmogljivost in hitrost procesiranja in odpraviti ozka grla v procesu raCunanja, ki so posledica klasiCne arhitekture. V novi generaciji sploSno namenskih računalnikov bo procesiranje preSlo iz sekvenCnega, centraliziranega sveta v paralelni, decentralizirani svet procesiranja. To je zanesljivo, toda kakfini računalniki bodo prevladovali ni popolnoma jasno, Raziskovalci prisegajo na veti mogoCih realizacij nove generacije! • 'Peta generacija' računalnikov; - knowledge information processing sistemi, - podpora ekspertnim sistemom, - uporabniku prilagojeni I/O. • Superraäunalniki; - velika izraba paralelizma, - uporabnost za obseina numeriCna izračunavanja. » Arhitekture z VLSI podan eksplicitno, Tak-fine arhitekture imajo dva znafiilnoatis - Prviö, Imajo globalni naslovljivi pomnilnik, ki pomni prograeie ter podatke in katerega vsebina se v skladu s programskimi instruk-cijanl pogosto aiurira. - In drugiä, vsebujejo programski Stevao, katerega vsebina je naslov naslednje instrukcije, ki naj se izvrši, torej je s tem dolo-fiena sekvenca InstrukciJ, ki ee izvajajo (ukazno vodenje). TakSno vodenje poteka programa je temeljna o-mejitav teh arhitektur, Se posebno pri vzporednem procesiranju. jezik z enkratno prireditvijo (Val, Id, Valid, Lucid, SISAL .., ) I I V podatkovno pretokovni programski graf t I V podatkovno vodena arhitektura (VLSI imlementacija) Slika 2. - Na jeziku zasnovana podatkovno vodena arhitektura. KakSne sb alternative? Ena od mogoCih je koncept podatkovnega vodenja, torej podatkovno pretokovna arhitektura. Podatkovno pretokovni radunalniki nimajo nobene od prej odienjenih von Neunannovlh inaeilnosti. Njihova struktura je zasnovana tako, da poteka procesiranje na osnovi vrednosti in ne naslovov spremenljivk. Ti sistemi temeljijo na asinhronosti in funkcionalnosti. Vse operacije oz. ukazi so funkcije, ki postanejo izvrBljive takoj, ko su na voljo vrednosti vseh vhodnih argumentov. Ukazi, hi postanajo izvrgljivi, se lahko izvrifijo soäasno CS]. S pravi Ina, izbiro programske rpiragramirni jeziki) in materialne opreme, je moijoCe s takäno arhitekturo izkoristiti inherentni paralelizam v najveHji mogotJi meri. Razen (naSnosli rn.iksi-nalnega iikoriSBanj a inherentne p ar a 1 e Inosti v algoritmu, iinajo računalniki vodeni s pi-etakani podatkov sposobnost dinamiCnega prilagajanja svoje strukture, strukturi algoritma. V ùisLvu anatrano te arhitekture kot arhitekture, zasnovane na jeziku, kjer programski grai -'strojni jezik' - predstavlja medstopnjo med visokim programirnin jezikom in ai-hitektui'o (slika 2>. Od teh arhitektur se zahteva učinkovita implementacija programskega grafa. 5 3.1. Jeiiki z enkratno prireditvijo Hkrati i izboljšavami von Neumarinovih arhitektur so se pojavili tudi nekateri novi visoki programirni jeziki, ki so vsebovali aLntaksne konstrukte, s ponoäjo katerih so postale izboljšane arhitekturne lastnosti vidne proijcs-merju. VeČina teh jezikov je nenaravnih v smislu, da v preveliki meri odrai^ajo arhitekturo, manj pa naCin na katerega mora programer razmišljati pri reševanju problema. Tako kot ostale oblike paralelnih računalnikov zahtevajo tuđi podatkovno pretokovni računalniki (zaradi «imboljSe izrabe potencialnih arhitekturnih lastnosti) posebne visoke progra-mirne jezike, t.i. jezike z enkratna prireditvijo ali podatkovno pretokovne jezike. Ti jeziki, za razlika ad konvencionalnih jezikov, ne poznajo stranskih ufiinkov, Naslednja lastnost teh jezikov je lokalnost uäinka, kar pomeni, da ukazi nimajo nepotrebnih , daleü se-gajoCih podatkovnih odvisnosti. Nadalje, ti jeziki uporabljajo tudi pravijo b enkratni prireditvi [33. Jeziki z enkratno prireditvijo imajo v sintak-sneii smislu veliko skupnih lastnosti ■a proceduralnimi jeziki, saj uporabljajo podobne programske konstrukte. Za razliko od proceduralnih jezikov, pri katerih identifikator predstavlja nastavljivi del pomnilnika, pa pri jezikih z enkratno prireditvijo predstavlja povezava v nekem grafu. Operacija pa predstavlja toCko tega grafa. Bistvena pa se Li jeziki razlikujejo po semantiki. Prireditev v proceduralnih jeilklh pomeni prenos vrednosti argumentov iz ustreznih delov pomnilnika v registre, izvršitev operacije In preros reiulliLov v ustrezno lokacijo v pomnilnik. Pri jsiikJti s enkratno prireditvijo pa prireditev pomeni izvršitev operacije, ki se nahaja v toCki tji-afa, nad vhodnimi podatki, ki gredo v to toCko in vpis rezultata v izhodno povezavo, ki gre 12 te todke grafa. Oglejmo si sedaj kaj je in zakaj je potrebna enkratna prireditev, la ilustracijo vzemimo prireditev * i= a + b v nekem proceduralnem jeziku. Stavek moramo razumeti koti - vzemi vrednosti iz pomnilniSkih lokacij z naslovoma a in b, - izvrSl operacijo + in - prenesl rezultat te operacije v pcmnilni^ko lokacijo z naslovom x. Vidimo, da zgornjemu stavku lahko sledi poljubno mnogo stavkov, ki imajo na levi strani k( stavki patì spreminjajo vsebina lokacije z naslovom x. Sedaj pa si oglejmo sintaktifino enako prireditev k i= a ■+ b v jeziku z enkratno prireditvijo. Stavek moramo tu razumeti takole: - obstaja točka grafa, ki je nosilec operacije + in v katero se stekata povezavi z imenoma a in b (v grafu ima lahko samo ena povezava ime a oz . b!) , . - obstaja natanko ena povezava z imenom u iri to Je ravno povezava, ki gre iz te toCke, - po Izvršitvi operacije +, v povezavah b in b ni veC vrednosti, v povezavi k pa je vrednost vsote. ee temu prireditvenemu stavku sledi prireditev, ki ima na levi npr k := o - d, potsra bi morala povezava k izhajati tudi iz toCke, ki nosi operacijo - in ima vhodni povezavi c In d. Torej bi povezava potekala iz Jveh tùCK - taki grafi pa niso dopustni. Primer jezika z enkratno prireditvijo naj nam Ilustrira .program za izraCun integrala puil krivuljo y=x*«2, na intervalu CQ|13, ki izračunamo s pomoejo trapezoidne aproksimacije s konstantnim korakam 0.02; program je zapisan v jeziku SISAL C3] .Ri result = (SIL gate_lnt.L "0 a").L! ! loop body: fom new values tor loop ! variables incr.* = (AĐR old.x "H 0.02"); n_S( = CMLR old.x Dld.x)i helght_2 = (ADR ald_y x.sqij area = (MLR "R 0.001" height_2)j cum.area = (ADR old.int area); ! : increment iterational level ! for new loop variables new.int = (ADL. cun.area "I 1").Lt new„y = CADL x.sq "I V'KLj new.x = (ADL incr.x "I 1").L; ! output the final value of int (OPT result "G 0"); Slika ' Program preveden iz Jezika SISAL v zbirnik TASS. Elenenti programskega grafa ponazarjajo pretok podatkov med posameitilml ukazi. ToCke graia ponazarjajo ukaze, usmerjene povezave pa so nosilke vrednosti argumentov ter obiCajno Se dodatnih' inforoacij o delih izračunov katerim pripadajo argumenti. Torej so vhodne povezave nosilke operandov ukaza, ki ga taäka predstavlja, izhodne povezave pa hranijo parcialne rezultate. Primer programskega grafa je prikazan na sliki 5. (inibal values! im (lina) value) Slika 5. - Podatkovno graf . pretokoyni programski Programski graf je asinhron, kar pomeni, da postanejo ukazi izvrSljivi- tedaj, Ho imajo na voljo vse vhodne operande. Gibanje podatkov skoii programski graf pomeni ižvajanje programa. Omeniti velja Se eno zelo pomembno lastnost programskih grafov in jasno s tem tudi podatkovno vodenih arhitektur; namreä, ko je operacija oz. ukaz izvrSen, vhodni operandi Ol. njihove vredndsti, niso veä razpoloi! 1 ji vi . Pri cikličnih programskih grafih se pojavijo dodatne teiavet * doloCenlh vejah grafa se lahko laBno akumulirati vrednosti operandov, kar pomeni, da bi postal graf nedeter1 kjer je p predikatni eimbol, t........ pa so elementarni podatkovni objekti (termi), hi so lahko konstante, spremenljivke ali funktorji. Privsemimo omejitev, da st. vsi predikati binarne oblike, torej pctj B to omejitvijo ne iiggbimo nläesar na sploBnosll, saj lahka vsako n-mestna relacijo pretvorimo v n-^l binarnih relacij. Zaradi enostavnosti se omejino le na'elementarne podatkovna oUlilis tipov konstanta in spremenljivka. p^^ se ine-nuje glava stavk«, p^ do p^ pa tvorijo telo stavka. Stavek brei ciljev je enotin stavek, ki izraüa eksplicitno dejstvo, to je breipo-gojno trditev oz. dejstvo, V primeru programa s slike 7 so stavki, oznaCeni z (1) do (5>, ki podajajo relacije "vodja", "raziskovalec" in "programer" med osebami in skupinami, enotini stavki. M) vDdja(sk1,peter) .. (2) vodjs(sk2,gorazd). <3) razis(sh1,borut). raiisCskl,jure). (5> prog(sk2,jureV. (6) sodelCS,!) t- prog(S,n . (7) sodel(S,I) J- razis(S,n. (fl) nadtl1,l2) i- sode 1(S,11),vodja(S, 12), (9) ?- nadCJure,12). Slika 7, - Priner logittnega programa. vpraCalnega stavka prilagodi na glavo enega izmed sptoSnih stavkov. Na sliki 7 je vpraäal-ni stavek oznaCen z <9), ki spraSuje "Kdo je Juretu nadrejen?". Cilj tega-stavka se prilagodi z glavo stavka (a). Spremenljivka 11 v celem stavku pri tem zavzame vrednost jure. Telo stavka (S) sestavljata cilja sede!(5,Jure) in vodja(S,12). V naslednjem koraku se. sodel(S,jure) prilagodi eni od glav stavküv <&> ali (7), npr.(6). Postopek se nadaljuje dokler ni cilj vpraSalnega stavka izpolnjen. Kadar cilja ni veö nogoCe prilagoditi nobeni glavi, pride do vraCanja in ponovnega prilagajanja z drugimi glavami ) npr. cilj sodeKS, jure) se prilagodi glavi stavka C7), Ce niti prilagajanje niti vraCanje ni veö magoCe, pote» cilja ni mogaCe izpolniti. S M.5. Predstavitev logifinega programa s podatkovna pretokovnim grafom Kot relSeno, logifini program sestavljajo dejstva in sploSni stavki. Vsako dejstvo vsebuje itne predikata p, ki mu sledita dva elenentarna podatkovna objekta tj in t|, . Mnoiici vseh dejstev logičnega programa priredimo gral tđ-ko, da predstavimo vsako dejstvo p(tj ,t|,> s podgrafom oblike P t| o------------>0 tfc. VozliSda grafa so elementarni podatkovni objekti. Usmerjena povezava ii voiliSCa t v t obstaja in nosi oznako p natanko tedaj, ko je p(t ,t ) dejstva. Dobljeni graf imenujejo graf dejstev. Dejstva opisujejo relacije med elementarnimi podatkovnimi objekti, ki v sploSnsm niso simetrične. Zato je graf dejstev usotii-jen. Za primer s slike 7 je graf dejstev prikazan na sliki S. sk1 vodja ^ azis -------------- razÌ6""~---_ prog peter >0 borut ""---äm jure 6k2 O'-" ->0 gorazd vodja SUka a. - 6ral dejstev. Splošni stavki, ki imajo glavo in telo, se med seboj povezujejo s kazalci v usmerjeno strukturo na sledeä nadin; cilj v telesu nekega stavka kaie na vse stavka, katerih glave se z njis ujemajo. Takfino, vCaslh celo ciklidno, strukturo imenujemo strukturo ciljev. Nek cilj L te strukture reBimo tako, da v grafu dejstev poiseemo dejstvo, ki se ujema's tem ciljem ali pa (Oe to ni možno) reSimo vsaj enega od stavkov, na katere ka!e ta cilj. Slika 9 prikazuje strukturo ciljev za primer logiCnega programa s slike 7. Stavki, ki imajo glavo in telo prinašajo implicitno inlornacijo in se imenujejo spio^ni' stavki. Taksni so stavki (i) do D 12, 5 t Na MIT, kjer sta dve skupinii prva pod vodstvom J. Dennisa razvija sisten z rezinasti-■i procesorji in druga po vodstvo« Arvida, ki gradi VLSI 6A procesorski sistem. • Na univerzi Utah deluje skupina, ki jo vodi Davis. • Na CERT v Toulousu dela skupina pod vodstvom J. C. Syra na projektu LAU. t Na univerzi v Manchestru gradijo eksperimentalni podatkovno vodeni multiprocesoraki sistem pod vodstvom J. Surda in I. Uatsuna. • Na univerzi Tokyo, kjer gt-sdijo raKutulnik Topstar pod vodstvom T. Suiukija in J. .j • oke. S tem, ko smo logiCni program prevedli v grat-no oblika, postane izvajanje programa ekvivalentno problemu prilagajanja grafa. Potek je naslednji» vzorec se reSi tako, da se v gralu dejstev poiSCe dejstvo, ki se ujena z vzorcem. Mpr. vpraäalni stavek v naSem primeru je vzorec nad 12 D-------------------->0 jure. V gralu dejstev poizkusimo poiskati povezavo z oznako "nadrejeni" in toCku "jure". Skratka vzorec poizkuSano prilagoditi dejstvu. To prilagajanje ne uspe, ker v strukturi ciljev ni povezave "nadrejeni". Istofiasno se priäne prilagajati tudi vzorec sodel jure 0<- vod ja ->0 12 na katerega kaie ciljni vzorec. Cilj "sodelavec" kalfe na naslednja dva vzorca S 0- in prog razis' ->Q jure S 0- ->0 jure. ki se tudi soCasno priSneta prilagajati grafu dejstev. Tu prilagajanje uspe. Spremenljivka S fte veüe na vrednosti "skV in "sk2". Po ponovne« prilagajanju vzorcev sodel vodja jure 0<-------------O------------->a 12 sk1 sodel vodja Jure 0<-------------Q------------->0 12 sk2 in dobiflo iskani reSitvi, ki sta "peter" in "go-razd". Sral dejstev torej ustreza podatkovno preto-kovnemu grafu oz. strojnemu jeziku podatkovno vodene arhitekture. Vsaka toCka grafa Je logično gledana ativni element, sposoben izmenjave paketov podatkov med totViaai, Paketi vsebujejo vzorce tvkljutino s kazalci), ki se poizkuSajo prilagoditi grafu dejstev. i S. ZAKLJUČEK Vetìji projekti na podroCju podakovno vodenih sistemov potekajo) Analize učinkovitosti, ki so Jih izvršili nà realiziranih sistemih sc pokazale obCutno Časovno izboljšanje. Ti sistenl so Sele v razvoju, zato obstaja tudi nekaj nereSenih proble-aov, kot npr. nereSen problem vhodno/i shodnihi aktivnosti. Vsekakor pa postajajo podatkovno vodene arhitekture tudi komercialno dosegljive. Pri firmi NEC so izdelali, tako lahko beremo v lanski oktoberski {jtevitki revije Computer Oesign, prvi VLSI Cip j»P072ei , ki uporablja podatkovno vodeno arhitekturo in je nanenjen procesiranju slik Ct:!. V referatu smo predstavili ene cd mogoCih arhitektur pete generacije, ki bo morda prevladala na področju superraCunalnikov, TakSne nr-hitekture imajo za cilj povečati raCunalni^^ü ooC sistemov, kar pomeni povefiati njihovo ziso-gljivost in hitrost procesiranja ter odpraviti ozka grla v procesu radunanja, ki so posledica von Neumannovega ozkega grla. VeBje radunalni-Ske zmogljivosti potrebujemo zaradi naiablth potreb pri reSevanju problemov na področju umetne inteligence, obdelave slik, razpoznavanja govora, napovedovanja vremenskih situacij, avtomatskega prevajanja Jezika, ipd. Obdelave in reševanje taksnih in podobnih problemov s sprejemljivo hitrostjo je mogoCa le ob uporabi novih paralelnih - decentraliziranih raCutial-niSkih arhitektur. S b. LITERATURA CIJ Treleaven P.C., Isabel Souveira Lima: 'Future Computers: Logic, Data Flow, Control Flow?', Computer. Vol.17, No, Har. 1984, pp,47-S7 tE] Computer. Special Issue on Data Flou Systems, Vol.15, Ne.2, Feb. 1982 C31 Gurd J.R., C.C. Kirkham t I. Uatson; 'The Manchester Prototype Oatallow Computer', Comm, of the ACM, Vol.28, No.1, Jan. 1965, pp.34-52 cm Bile J., B. RobiC! 'Osnovna naCela DF sistemov', Informatorja. St.2, 1985, str.1Q-1S CS] Bic L.; 'Execution of Logic Programs on a Dataflcg Architecture', The 11th Annual International Symposium on Computer Architecture, Ann Arbor, Michigan, June 1984, pp,290-296 Ct] Chong ¥. n,i 'Data Flow Chip Optimizes Uage Processing', Computer Desian. Oct. 15 1984, pp.97-103 DIALOG P DIALOG P DIALOG? Dialog P je os^ni računalnik sistemsko odprte zasnove. Operacijski sistem je kompatibilen s CP/M operacijskim sistemom. Nje^va uporaba je zelo široka: poslovna, proceaia, laboratorijska in kot pripomoček pri izobraževanju. T^nični poftetki: Centralna eriota: Disketni pogon: Tipkovnica: Monitor: Priključki: Programska oprema: procesor Z808 64 k DRAM pomnilnik 32 k bralni pomnilnik 1 X TEAC 55F, kapaciteta 800 k byte opcija: 2 X disketni pogon dodaten numerični del, domač nabor znakov profesionalni, tnonokromni, zeleni fosfor P 31 izhod za monitor in za TV sprejemnik, serijski vmesnik RS 232C, sistemsko vodilo F EBASIC, možna uporaba vseh programskih paketov za operacijski sistem CP/M (WORDSTAR,TURBO PASCAL, DBASE II . . .) ms^o., 63320 Tttovo Vdert^, Partizanska cesta 12 TefG^:{063)e533Z1 -IP^fi^: Goftn^Procesm