02 informatica računalnišhi sislenii deKa MIKRORACUNALNISKI 16-BITNI, RAZVOJNI SISTEM ISKRADATA 100 HITER RAZVOJ IN VEDNO VEČJE TEHNIČNE AKTIVNOSTI ZAHTEVAJG-SPOSOB-NEJSE Ml KRORACUNALNISKE SISTEME. STROKOVNJAKI DELOVNE ORGANIACIJE ISKRA DELTA SO IZDELALI NAJNOVEJŠI 16-BITNI MIKROPROCESOR, KI GA ODLIKUJEJO SLEDEČE KARAKTERISTIKE: - VEČJA OBDELOVALNA HITROST - BOLJŠI UKAZI - VEČJE NASLOVNO OBMOČJE - MOŽNOST VEČJE OBDELOVALNE REZERVE - NOVA ARHITEKTURA MIKROPROCESORJA SISTEM ISKRADATA 100 JE POPOLNI RAZVOJNI SISTEM, KI OMOGOČA PISANJE, POPRAVLJANJE, PREVAJANJE IN PREIZKUŠANJE LASTNE PRORAMSKE OPREME, PREIZKUŠANJE IN EMULIRAIMJE 2E RAZVITE APARATUR NE OPREME IN PROGRAMIRANJE V VIŠJIH PROGRAMSKIH JEZIKIH. APARATURNA IN PROGRAMSKA OPREMA OMOGOČATA PROGRAMIRANJE 16-BITNIH IN 8-BITNIH MIKROPROCESORJEV. VSE OSTALE INFORMACIJE VAM NUDI:, ISKRA DELTA, SLU2BA TRŽNEGA KOMUNICIRANJA, 61000 LJUBLJANA, PARMOVA 43. ® delia računaknishi sistemi i n f om Časopis Izdalii Slovensko društvo INFORMATIKA , 61000 Ljubljana, Par mova 41, Jugoslavija UREDNIŠKI ODBOR: Čioni! T. Alekslć, Beogrod, D. Bltrakov, Skopje, P. Dni-gojlovlfi, Rljeko, S, Hodžor, Ljubljano, 0. Horvat, Maribor, A. Mnnd^.ić, Sarnjevo, S, Mihnlić, Vara^^in, S, Tiirk, Zagreb. Glavni in odgovorni urednik; Anton P. Železnlkar TEHNIČNI ODBOR: Uredniki [todroeij: V. Dat.irjnlj, D. Vitas - programiriinjo I< Briitko - umetna inteliooncu D. f i-i'oz-Kcicmanovié - Informacijski sisUimi M. lixcil - uperacijski sistemi A . Jorinan-Blnžič - novice založništva B'. Džotiova-Jerman-Blažič - literatura in srečanja L. Lenart - procesna informatika O. Novak - mikro računalniki Neda Papié - pomočnik glavnega urednika L, Pipan - terminologija B, Popovič - novice in zanimivosti V. Rajkovič - vzgoja in izobraževanje M, Špogel, M, Vukobratovié - robotika Tancig - računalništvo v humanističnili iti družbenih veduh S. Turk - materialna oprema A . Corup - urednik v SO?,U Gorenje Tehnični uretinik: Rudi J^iirn ZALOŽNIŠKI SVET T. Uanoveo, Zavod SB Slovenije za druf.honi» planiranje, Ljubljana A . .Jerman-I31nžič, Republiški komite za firiižl)enQ . planiranje in. in Tor mai: i js k i sistfim, Ljubljana B. Kienienrič, iskra, Elektromeiianika, Krutij S, Saksicla, Institut za sociolotjijo |>ti Univerzi v L Jdi lija I) i, Ljub tja na J, Virant, E^akuiteta sr.a olektroteliniho. Universa v LJubljani, Ljubijana Uredništvo in uprava: Informatica, Harmova 41, 6100(1 Ljubljana, telefon (061) 312-')B8, teleks : 3t:!6fi YU DH/i A Letna naročnina za delovne argarii/acije je r)(>(),(l<'iliii, za redne člane 200,00 din, za študente :100,UO/r>(J,(M> tlin, posaniezne Številke 100,00 din Žiro račun št, : S01«l-678-riia'l 1 Stališče ureyaiS>vič D. I'et' ek fi, Kastel i C H. Murn I. lir uh. H n. Hojatlžijev N , I,a vrač I. Mo/etič 1. Les jak K. l roljt!0 M. Subelj V S 15 b I N A An liitroiiiii toi-y Tuloriul on Data Diütioiiary Systeinü 10 PriKirtiinlranje v Al>l 1 2.1 KiJiiiiuiikai ij.i .»iekvhacialniti pro-ci.tsa u r.Kiin.'iriikiii! sistemima Sa vi il! iiiikfokoiinijutoi ii 27 Sintaktička a)ializa ,je:f,ika su svnj.slvìm:! :V1 Spi-eniljani«,- raruiialnlškili si.ü-feiiiov y reahietii ča.su :)7 Seme Prahl(Jrll^5 ni tiiiati« l'ro-ctìssiiKi by i'araJl'el Precesaor CLIP 42 Ethernet - lokalna inreìa prihod-no.sti ih On an Implenientationof the POl'-2 l.angua(je S4 Izkii-šnjii s Proloijoni k(i( Jezikom /a specil')kari|o Intortnacljsklh sistemov 5'J .Sinoptika iriikròrarutialiii.«ko vo(1(;iieya procesa 6.1 Uporabni (Jiofirami 66 Novice in zanimivosti 77 Avtorji intornìatica Published by INFORMATIKA , Slovene Society for Informatics, 61000 Ljubljana, Parmova 41, Yugoslavia EDITORIAL BOARD: T. Aleksić, Beograd, D. Bitrakov, Skopje, P,. Drago jI ović, Rijeka, S. Hodžar, Ljubljana, B. Horvat, Maribòr, A. Mandžić, Sarajevo, S. Mifialić, Varaždin, S. Turk, Zagreb. EDITOR-IN-CHIEF: Anton P. Železnikar TECHNICAL DEPARTMENTS EDITORS : .V. Eatagelj, D. Vitas - Programming ' ■ ■ I. Bratko - Artificial Intelligence D. Ćećež-Kecmanović - Information Systems M . Exel - Operating Systems A . Jerman-Blažič - Publishers News B. Džonova-Jerman-Blažič - Literature and Meetings L. Lenart - Process Informatics D .. Nuvak - Microcomputers Neda Papié - Editor's Assistant L. Pipan - Terminology B, Popovič - News V . Rajkovič - Education M. Špegel, M. Vukobratović - Robotics P. Tancig - Computing in Humanities and Social Sciences S. Turk - Hardware A . G or up - Editor in SO ZD Gorenje EXECUTIVE EDITOR: Rudi Murn PUBLISHING COUNCIL T. Banovec, Zavod SS Slovenije za družbeno planiranje, Ljubljana A . Jerman-Blažič , Republiški komite za družbeno planiranje in informacijski sistem, Ljubljana B. Klemenčič, ISKRA, Elektromehanika, Kranj S. Saksida, Insitut za sociologijo pri Univerzi v Ljubljani J. Virant, Fakulteta za elektrotehniko, Univerza v Ljubljani Headguarters: Informatica, Parmova 41, 61000 LJubljana, Phone; (061) 312-988, Telex: 31366 Delta Annual subscription rate for abroad is US $ 22 for companies, and US 3 7,5 for individuals. Opinions expressed in the contributions are not nffcossa-rily shared by the EditorinI Bofird. Printed by; Tiskarna KRF.SDA , Ljubljana DESIGN : Rasto Kirn JOURNAL OF COMPUTING AND INFORMATICS YU ISSN 0350-5596 VOLUME 6, 1982 - No. 3 A .M.Jenkins A .P.Železnikar N. Hadjina V. Cvitaš Z. Dovedan B. Kas telle S. KlanČar Š. Urankar I. Bruha M. KovačevIĆ D. Peček B. Kastelic R. Murn I. Bruha D. Bojadžijev N. Lavrač I. Mozetič I, Lesjak R. Trobec M Šubelj CONTENTS 3 An Introductory Tutorial on Data Dictionary Systems 10 Programming in ADA I 23 Communication of Sequential Processes in the Multi-Microcomputer Systems 27 Parsing Property Languages 31 Real Time Monitoring of Computer Systems 37 Some Problems of Image Processing by Parallel Processor ĆLIP 42 ETHERNET - To Connect or not to Connect 46 On an Implementation of the POP-2 Language 54 Experience with Prolog as an Information Systems Specificatici Language 59 The Control Panel of a Control System 63 Programming Quickies 66 News 77 Authors AN INTRODUCTORY TUTORIAL ON DATA DICTIONARY SYSTEMS UDK: 681.3.01 A. MILTON JENKINS INDIANA UNIVERSITY This tutorial on d«ta dletionArlu aSRutnes that the reader has a basic knowledge of modern data proceeeing. Because of annbiguities in the literature key database systemB terme are'defined. The characteristics of data dictionaries are described both in the context of databesa iBaragement system» and as stand alone oyateni». Many specific features of data dictionary» are examined, including) data definition generation, generalized I/O procedures, validation, privacy and security, test data generation, browse dat.a facilities, maintenance support ' and data definition languages. The various uses of data dictionaries are then discussedi The tutorial concludes with an examinnation of the costs associated with the acquisition, development,' and use of . data dictionaries. UVDDNI PREGLED SISTEMOV S PODOTKOVNIMI SLDVfiRJI.PriCujoči pregled podatkovnih slovarjev predpostavlja, da ima bralec jnanje s področja sodobne obdelave podatkov. Zaradi literarnih dvoumnosti se najprej, opredeljujejo pojmi s podrofija sistemov podatkovnih baz s kljuäi. Značilnosti podatkovnih slovarjev so opisane v povezavi s sistemi upravljanja podatkovnih baz in kot samostojni sistemi. Obravnavanih je več specifičnih lastnosti podatkovnih slovarjev, kot 50: generiranje podatkovnih definicij, posplošene V/I pproeedure, veljavnost, zasebnost in varnost, generiranje preizkusnih podatkov, pripomočki za podatkovno vejitev, vzdrüevalna podpora in jeziki za definiranje podatkov. Preučujejo se različne uporabe podatkovnih slovarjev. Pregledni Članek prinada tudi analizo stroSkov, . povezanih z nastajanjem, razvojem in uporabo podatkovnih slovarjev. mteoduction A data dictionary may be viewed Initially as simply a list of data item descriptions. As data becomes more voluminous and multi-functional, It becomes increaslngXy Important Co an organization, and some sort of data management becomes necessary [5]. Just as managers use other management tools to manage the organiiation's capital and human resources, the data dictionary is a management tool useful in managing the organization's information/data resources [9]. As the use of data has become more important and complex in supporting decision support systems (DSS), data processing has also become' more complex as applications have grown In size and numbers. Traditionally each application oimed its own ■ data and data management was a relatively simple task. With the. proliferation of application systems throughout the organization many application systems access the same or similar data. A data dictionary is the tool that may be used as documentation for "inventory control" of data to prevent or reduce unwanted redundancy and inconsistency In both new and existing applications [6]. It should be noted that.a data dictionary can function in either a data base management system environment or In a traditional file environment. This paper explains what data dictionaries are, their functions, how they can be used In commercial environments and what costs are Involved in developing and operating a data dictionary.. GENERAL DEFINITIONS The brief definition of a data dictionary used to open the paper suggests that data dictionaries may take on a wide variety of forms. The physical list of data Item descriptions may be on paper or on a computer file. The data items described may be restricted to program variables or they may include nearly every data item In the organization t including leporte, fonne, files, and descriptive data used In or by various organizatlonul componeota Including users, departnenta, programs, pro-cedurea, projects, perGonnel, etc. The descriptions al60 may vary front a few characters In length to a narrative description containing validity checks, privacy Information, and "where used," croae-rcference reports. Finally, the list may be oriented for human use, Bachine use, or both. Uith such a Hide variety of data dlcclonarles, mnny different definitions and many elnilai: terms hove api^cnred In the literature. Some authors draw che diBtlnction between hiaaun usiible data dictionaries and machini; readable dat:i directories; occasionally Ignoring the possibility of a data dictionary being readable by liuth (groups. Others claim that data dictionaries are proj'ramB that pecforni validity checks and supply COBOL pcograms with data divisions. To olnlmlze the confusion this papL'r will use che fallowing definitions for the key terms. Data [llctloti.iry >f dnt.i Ufiijs MiiJ the vulatlonships amung data items, in machine readable form only. (Some tDBHSUs also contain definitions of logical data models, e.g. i'rime IIUMS.) In a data base environment, programs would repoft any I neonslatenele« between the dlcclonaiy and the directory. Many of the functions of DOS and IDBMSI) overlap or complement each iithtir. Tor example, the DOS could bš! chüHBU tu .supply pausworüa if tiie I^UISO has Inade(|aate ur nonoKistent socurity. Thfe. two sysceiiia togiither, however, may provide an unnecessary repetition of functions. Data Administrator (M) ~ a person or department that controls all or some of the changes and additions to the data dictionary. Database Administrator (DBA) - In a database environment, a person or department that controls all or some of the changes and additions to the interna] DBMS directory. CHARACTERISTICS OF DATA 01CT10«ARIES Tite automated DD must be stored on a computer file of some type. Arthur Andersen's I.extL-on System actually defines a data dictionary as a direct accesa storage device fS). Although it would be-possible to have a ĐD of Halted utility stored as a sequential tapii file or a sequential disk file, direct access la necessary to efficiently perform tasks such as retrieving an individual data item's password or valid range In order to automatically generate an input procedure. Because Che DD la, SLiaply stated, a file, it has; isany of the same requirements as other files, for <:xasple, tlie muat provide the DU with vaUdatlon and üti-urlt>. Consequently, the DD wlJi contain jniormotIon aboui itself. General Attributes of DP A UD contains data about data. It Is poselbiy tlic. only computer file in many organlzationti tlmt is mafii-talned primarily for data processing's ukiì. Juki, as a payroll file contains Information about Lhf operations of the payroll department, In order to \ieLp It run mote efficiently, the DD contains information about the operations of the data ptucesslng department for the same reason |4]. Investigating the DD's configuraciun CurLlicr, the DO could be stored as an ISAM file. In u database environment, tlie DD could be stored as part of a database it defines or even as an entirely separate database. for example, a total database could actually include the records fot the DD that describe the remainder of the database. Relationship to »BUS Although it is bectmlng coowon to think of the ÖD as part of a DBMS, the two should bo viewed as distinct. A DD may be Impleoiented with or without a DBMS. An organisation planning to eventually havu both could install either one first and later Install the nther as needs dictated. Although the DU Is separate from the internal DBMS directory, many of their tuncclons are similar, and Che ĐD and tlte DBMS nay Interact with each other II], Further, the 1)DS may read the Internal DBHS directory to etiaure that the two ate cdnelstent. It flhould be noted that a slnele purchased DDS package rarely has all the. features that the data. proceaalng departwnt needa. ThlB has caused man)' organizations ta build their own DDS. Unfortunately.the results are usually unsucceaaful. A oiajor cause of failure la the high degree of technical expertise needed to »alatain the DDS 171. 'Che remainder oE this section will discuss specific features of DDS that are currently implemented on either purchased or "home-grown" packages. - Data definition generation Amone the raist common function» associated with DDS la that of supplying data definitions, such as a COBOL Data Divieion, to a compiler preprocessor [8). In addition to greatly reducing the coding effort, this enforces sume amount of discipline on Che programmers. It also enables a progratnroer to code "brief" numea, and let the DOS expand them into longer, more meaningful names thereby overcoming a tV^equent tTltlclnm uf. COBOL. If all data dlvlBlooa must be built by the ODS, the data administrator in assured uf control over tho storage for every computerized dnta Item In thu orjianl-BatIon. (Note that roallsclcally "all" data Items will not come from thè DDS. For example, local loop counters or switches are of Interest only In Che context of the logic of a particular program.) This makes the control of unwanted redundancy much easier. Hie practice also helps eaCab llsli coiimiim naiuus so that tlie samu data item la not known by different names in different depurt-iaents. However, when there are valid reasons for havlnR different numea, the UDS enableu the use of aynonyiiis without atoragc reduniisincy. Thus Clie DI) funr;tlons as a coimiunicaClon aid chrougiiout an organization. The 1>DS may also maintain several different versions of the data or multiple logical desr.rIptlcins of the data. It la not uncctnmon for a separate production and several teat versions nf the same data to coexist. c:enerallzed I/O procedures In addition'to supplying data divisions, the DDS may supply generalized input and output procedures using Information in the data item description. This furcher reduces the programming load and may lead co increased standardisation among reports. Validation In the absence of a DBMS, a ODS nay provide validation rules for data entering or exiting the fila or database. These rules may be sent to either the generalized I/O procedure mentioned above, or to conventionally written input code. The validation rules, such as valid ranges, a list of valid values, or datatype tests, may be retrieved from the DD either as the input procedure is being complied or during input processing or during the output procedure. For compile-tlme use, a compiler preprocesaor reads the records of the DP to obtain Che valid ranges that are part of.each data item's description. These values are then supplied to the compiler and hardcoded into the Input procedure. Consequently, a change in the valid range would requite recompllacion of the affected modules, but perhaps not the whole program. (COBOL with Its global data erivlronmenc would require a complete recmpilatlui), but other languages, e.g., PASCAL,, ASSEMBLY, etc., may not.) For ftxecucion-tlme use, the input procedure reads a daCa item and then searches Che DD for ita description to decemlne tlie validity of the input. A change In the valid range with this method would require only an update to the DU. Since tlio DD Itself is a file, control over its own validity Is alao required. Thus as the DD is updated it'should supply validity rules for Itself, Privacy qnd security The DD may provide additional security and privacy to the files or the database tSJ, As with the validation rules, the privacy Information may be supplied to the input/output procedures either aC a coroplle-tlme or execution-clme. Hie DD la read by the csnipller preprocessor of the input/output procedure to obcaln Che valid password or perhaps a list of progran nasica, uaer«. or certalnalB authorized acùees co the Ite». Providing privacy la one of the functions Chat insy overlap with the internal D^S directory. For example, IKS provides privacy down to the data Item level- Once again, since the DD la itself a file, it aleo needs controia to ensure privacy and security. Since a major objective of the ODS is often to .allow only one Individual to monitor all changes to uses of data, unconcrolled updatea to the dictionary ara unacceptable. Test data generation Another function that a DO could perform le to automatically provide test data ae changes are made to programs or to relationships among data 12]. The generation of this test data would be based on the validity rules in the DD and possibly with, some infor-isatlon about the nature of die program change. This testing data could go beyond "black-box testing" (13) and facilitate the examination of tlje program structure. Statistics generation The generation of certain statistica could provide valuable assistance to the database administrator in database performance tuning. The DDS can store the frequency of use for each data Item and conpare this frequency against other data Items over time. While oiatiy of the previously mentioned features could be provided by a relatively unsophisticated COPV Library, this feature requires an executing program to feed information back to che DD. This tuning la capecially important when the details of actual use cannot be predicted before Che system is Implemented, or when usage may change drastically as the user's understanding evolves and becomes more sophisticatad. If a data Itea, or an entire file, is being used much nore frequently than the system designer initially anticipated and response time is critical, the data Item should be changed to a more accessible storage structure. Further, if a data Item is used infrequently buč within a short or highly clustered time pattern, cha data Item could be staged to a faster storage atruecure for u specified period of time. Browse data facility Some DDS provide users with the ability to browse through the actual data on an interactive basis 12J. This facility may Increase the understanding of users who are unfamiliar with data processing and be useful in Che Intelligence phase of decision making. For systems analysts and programming users, this facility provides assistance during Che design and maintenance of s^pllcaClon sysCems. Maintenance aid The DD can Identify which programs require modification or racompilatlon for any given change by generating a "where used" report. This can greatly Improve program maintenance. Some DOS go so Ear as to automatically generate and submlC the Job control language (JCL) necessary to carry out the recompile for a modification. Data definition language As with most other flies, the DD must be updated. The element within the DDS that does Chis Is known as the Data Definition Language (DDL). (This DDL should not be confused with a DBMS DDL, which in most cases will not be the same language.) The DDL may be run in a batch or interactive mode, or both. The opclmal mode would be Inscallaclon dependent. If cha installation has many new syatems in the development phase with updates occurring frequenCly, an easy to use interactive DDL may be appropriate. If, however, updatea to the DD are rare and seldom of an emergency nature, tliey nay be handled entirely through the data administrator. In this aituaclon, a bacch system nay be quite adequate. The DDL may be set up such that there is relaclvely little control over modifying the test version and strict control over the production version. In addition t to updating the DD, the DDL also provides the capability CO browse through the DD and examine descriptions of exlscing data. If Che DD la Inplemented as a database via a DBMS, then a common DDL can be used for both the BHS and DDS. This constrains the proliferation of languages and, espaclally for in-house development, may be a powerful advantage over using' an additional language. Thua, the features of many DOS reduce the amount o£ coding required for the aystem while at the same time adding laany Important benefits such aa sophisticated validity chccka and security. The DDS also aids developers. maintenance programmers, users and managers by eivlng tlitm a clear overall picture of the organization's data. Finally, the DD allows MIS managers to ^Kain s ume loeaButa of control over Che organization's data resources and irapoaes some discipline in the MIS department. llSiäS OF DATA DLCTIÜNARIES BesldeH generating elaborate Input-output procedures, a DD la also lise fui as a.documentation or Miiununlcatlon tool. However, unlike much documentation, the ])D Can be easily updated and is useful throughout the development, operations, and maintenance phases of Che systems life cycle [12], Also unlike much docuaehta-tlon, its update is an essential part of ongoing opera-tloiia. Fur the development of new systems, the analyst can begin with knowledge of what data already exist. This le a substantial step toward preventing additional redundancy and speeding the development process for a now system. Although programmers■may be required to learn an additional language, a DDS DDL, the overall proBi-Hiiiüilns load la reduced by the automatic generation of various procedures. For the maintenance prograomier, Che Impact Is greater on the effort required for change. The DDS can dlaseralnate Information to many groups and higlillght areas of conflict that need to be addressed. The DD may also be used to clean up Che mess created by yoars of unmanaged data growth and to reduce unwanted redundancy. I ■ ' . The ODS provides information about data from one ccntraJ.ized and coordinated aource, rather than dispersed among all applications. As managers begin to gain some control over data, the data processing department comes closer to being auditable. global view of data can be obtained, showing the interdependenciea among applications. At a time when many people ulthtn the data processing department may be concentrating on their own narrow, specialized areas, a formalized view of data as a whole Is necessary for juanagement of the orgsniaatlun'a data resouTcea. . . In addition to being cenCrailaed, the automated documentation provides much faster retrieval times and providee ad hoc services that were Impossible with manual documentation. The notion of centvallzatlon iü atrong In most DD applications. However, there ace no hard constraints that would prohibit the development of multiple or segmented DDb to support distributed epvlronments. Distributed DDs could parallel the distributed database concepts that are now beginning to appear. Program development of new systems 3n an integrated environment has many of the same characteristics as program maintenance in a traditional environment. In both cases the programmer/analyst is constrained by what already exists. Before beginning new development, the programmer/analyst must determine the existing structure . of the data lo order to choose e file or data base design for the new system that will best fit in with the overall data processing of the organization. The DDS could also be used to simulate various file design alternatives. A DDS aids development by allowing more flexibility in dividing tasks among tlie MIS staff. Using a DDS aa a communication tool, a programmer/analyst can let others know the current state of the project by updating the DD after completing a task. Without this method, the amount of communication required among staff greatly inhibits progress on the development taak. The generation of data divisions and Input/output procedures with validation and privacy logic are addl-Clonal features of DDS that aid syscero developmenC. This reduces the development time required while generally enhancing the quality of the ayetem. For a proposed maintenance change, the DDS can generate "where used" reports to show Inconsistencies or gaps In the proposed change. The change could be simulated by the DDS to provide an estimate of Che time and cost necessary to implement it. This prediction can be used for planning purposes or even to decide whether the change should be made at all. To some extent the PDS could be used to evaluate the feaslbillcy of a proposed new system [12). A DDS can alau point out areas in need of timing based on the performance statistice It generates. Finally, DDS eau aid maintenance by automatically generating teat data based on the program or logical data Clianges. Many DBS packages are oriented toward either maintenance or development. MSP'a Data Manager la primarily for maintenance, while Ctncom'a PRIDE is intended primarily na a design tool [7]. The PRIDE development method bre.iks Che development cycle Into nine phases, with slgnoffa required aEter each step. Throughout these steps PRiaE maintains the rtiposltory fot Information about data dcflnltlona and other related information about'the current state of the project. Users and deaignerss mate queries Into the DD throughout the nine steps. Interestingly, several companies have found that PRIDE'e powerful analytical capabllltlea are also extremely useful during maintenance. As systems become more Interdependent by sharing data, standards become crucial. One area say forget to Inform others of a change, or the affected department may forget or misundćrstand the message. By having a data administrator responsible for all changes and by requiring all changes to be made through the Dt), the organlzatiDn has a mechanism to help ensure that all the necessary steps lo the change process have been taken. The standardized, centralized authority benefits new development as well, ensuring that overall aystem per-foriiiance Is considered. The very presence of coapletely enforceable standards creates an atmosphere of stability — perhaps too much stability. On the one hand, the process of requiring a request to go through the data administrator prevents haphazard, cariilees changes. On the other hand, the data administrator may at times become a bottleneck and delay simple einergency changes. TUB COSTS OF DATA DlCTIONAklES Although this paptir has thus far focused on how and why DPS are useful, they are not appropriate for every organlzatiou. Whether Che UD is developed In-house or purchased, a relatively high Installation cost must be Incurred [3]. To operate the system efficiently, a data administrator must develop plans for introducing changes to existing data covered by the DD, In return for this effort the DD generally does not produce much operational data, such as payroll checks or statements. The ODS helps the data processing departaient in maintaining a sffioothly run operation by providing inforpiation to control unwanted redundancy and aid in maintenance. An installation that shares little data across departments or otherwise manages its data well with traditional paper docuaentatlon probably would not gain adequate benefits from a DDS to offset ics development and operating costs. The adjustment to Increased standardization also carries with it both installation and operating costs. For example, the changeover to commonly named program variables (even utilizing aliases) may represent a tremendous program maintenance effort. Once the appll-cutlon system la running, a policy of having all changes go through the data administrator could cause mor« problems than it solves, if there Is relatively little danger of most changes affecting other parta of the system. For example, if the data administrator is gone or flooded with other requests, an emergency fix with no danger of affecting other systems may be needlessly delayed, Tliere are, however, managerial solutions to this problem. The chance of failure is another factor that aust be considered in deciding whether to install a DOS. The DDS will require a great deal of commitment from all involved and many tasks will be transferred from progranmier/ analysts to the data administrator. How users and programmer/analysta feel about the DDS will greatly Influence Ita success or failure. The transfer of duties may be welcomed by the programming SLafi" or may be perceived as a loss of power nr status. If the latter is true, programmer/analysta may not provide the cooperation necessary for the DDS to he successful. CONCLUSION A DDS contains many tools chat may help the data processing department gain efficiencies. One way this is done is by increasing the quantity and quality of commu- nlcaclon uinong all parcltis during system development and Dàlnteitance phases. , Communlcaclon ulds Include performance st:at:istics to be used, by ^nalyets, "wtieru used" reports for otalntetiancu progtammeTB, and query longuages for the user cottmunity to Hearch the OD and become aware of wh»t ie already available. A DUS also jiidB th'e data processing department hy generating data dlvlelona and Input/output routines containing validation and security logic. The DDS can generate test data and JCL to recompile prograins affected by a change. 6y fonoallzlng the maintenance and by rtijulring all ehangös to go through the data administrator, a DD can Impose standards that decrease the risks Inherent tn cliangea. Many claims havo been made by both hardware and Hfjftwuru véndorn touting the Edvantag«« of DIIS, And while thflse el alms may be viewed with ««ne skepticlsiD, ttiupltlcal evidence Is now beginning to appear in che literature conflcailng uaiiy of the advantages discue^ed in this paper (10, HJ.- -In the tlnal analysts, however, it remains the task of MIS managers to determine whuther the opportunity to benefit from these tools in their own eavirunnfnt Is adequate to Justify the develop-mtìnt und operating costs of these systems. REFERENCES . 1. Astrahen, M.M., et. al. "System R.i A Relational IlKCa Baae Management Svatem." Computer (12;5) May 1979, pp. 42-^18. 2. "The British Computer Society Data Dictionary Systems Working Party Seport," Database (9t2) December 1977. pp. 2-26. 3. Bruun, Hoy, "Ingredients of a Data Base," Infoaystems (20:12) December 1973, pp. 32-3,6 4. Cahlll, John J., "A Dictionary/Dictionary Method for Building a Cuiaraon MIS Data Base," Journal of Systems Management (21:11) November 1970, pp, 23-29, 5. Collard, Albert F., "A Data Dictionary Directory," Journal of Systems Management (25;6) June 1974, pp, 22-25. 6. "The Data Dictionary/Directory Function." EOT Analyzer November 1974, pp. 1-13, 7. "Inatalllng a Data Dictionary," EDf Analyzer January , 1978, pp, 1-12. 8. Lexicon-General Description Manual, Arthur Andersen and Company, 1977. 9. Martin, George N,, "Data pictionary/Directocy System," Journal of Syfltems Manaaement (24(12) Deceober 1973, pp. 12-19. 10. Martin, James, Computer Data-Basa Qraanlzation. Second Edition, Vrentice-Hall, Inc., . Englewood Cliffs, New Jersey, 1977. U. Myers, Cienford, J., The Art of Software Testing. John Wiley and Sons, New York., 1979. 12. Sakamoto, J.C. and Ball, t\W., "Supporting Business Syotema Plannliig Studies with the DB/UC Data Dictionary," IBM Systeme .Tournal (21il) 1982, pp. 54-80. 13. Schusael. George, "The Role of the Data Dictionary," Datamntlon (23j6), June 1977, pp. 129-142. 14. Semptevivii,'Phil, "Incorporating Data Dictionary/ Directory and Team Approaches Into the Systems Development Procesa," HIS Quarterly (4:3) September 1980, pp, 1-15. PROGRAMIRANJE V ADI I ANTON P. 2ELEZNIKAR UDK: 681.3.06 ADA:519.682 fSKRA delta; LJUBLJANA Članek opisuje programiranje v jeziku ADA, natanfineje v jeziku JANUS ADA, ki je v bistvu podje^ik ADE. JANUS prevajalnik se izvaja na operacijskem sistemu CP/M, ki ga uporabljajo tuđi mikroračunalniki Iskra Delta. Prikazani primeri kaiejo, da je moS v ADI programirati vrsto "vsakdanjih" nalog-. Članek (prvi del) prinaäa celotno sintakso JANOS ADE v obliki sin-taksnih grafov {dodatek A), tako da je vselej omogoCena takojSnja verifikacija napisanih stavkov. Članek opisuje' tudi omejitve in razSiritve jezika JANUS ADA glede na definicijo jezika ADA. V nadaljevanju članka bodo prikazani novi programski primeri, formalna sintaksa in vzdrževalne dopolnitve jezika (oziroma kompilatorja) JANUS ADA (nova verzija 1.4.4). .Programming in ada i. This article describes the programming in ADA language using JANUS ADA as an ADA sublanguage. JANUS compiler can be executed on CP/M operating system for a variety of microcomputer systems. E-xaraples shown in this article represent solutions of "every-day" problems and introduce ADA to a programmer in a simple manner. This article (Part I) deals with the JANUS ADA syntax using syntax graphs (Supplement A); in this way for each programming case the syntax verification by the programmer is posible. The article describes restrictions and extensions of the JANUS ADA in comparision with ADA standard definition. In the next part of the article further examples, formal syntax, and maintainance completions of JANUS ADA (Version 1.4.4) will be presented. 1. Nastanek jezika ADA ADA je programlrni jezik za raznovrstno uporabo, kot so npr. numerični izračuni, sistemsko programiranje in paralelno izvrševanje programov v realnem öasu. Jezik je bil poimenovan po Adi Avgusti Lovelace, hčerki pesnika Byrona in sodelavki Charlesa Babbaga, pionirki računalništva v 19. stoletju. Jezik ADA so razvili v Parizu po naročilu obrambnega ministrstva ZDA v letih 1975 - 1980. V zadnjem letu sta se pojavila tudi dva CP/M prevajalnika za jezik ADA: Janus (proizvajalec RR Software) in ADA (Super.soft) . Prvi prevajalnik je reducirana različica jezika ADA, kjer je realiziranega približno 50% standarda za jezik ADA, drugi prevajalnik pa obsega realizacijo pod 50% standarda. V tem članku bomo obravnavali primere in sintakso za prevajalnik Janus. Jezik ADA so načrtovali s tremi cilji« učinkovitost, zanesljivost in .lahkotno vzdrževanje, vendar s spoznanjem, da bodo ADA programe pisali poklicni- programerji (določena težavnostna stopnja programiranja). Čitljivost je poudarjena na račun lahkotnosti pisanja. Programske spremenljivke morajo biti eksplicitno deklarirane in njihov tip je določen, tako da obstaja zalčita proti avtomatični konverziji tipov. Ta lastnost zagotavlja namensko uporabo objektov. Čitljivost programov je podobno kot pri Pascalu zagotovljena s konstrukti v angleäkem jeziku. Poseben poudarek je bil dan neobsežnosti jezi- ka (to je razvidno tudi iz sintaksnih grafov y dodatku A tega članka). ADA ima vrsto konstruktov iz drugih programir-nih jezikov, kot so npr, Euclid, Lis, Mesa, Modula in Sue. Vsi ti jeziki so bili izvedeni iz Pascala. ADA je pravi proizvod jezikovnega načrtovalnega projekta in je v tem pomenu vrhunski jezikovni dosežek. Na koncept ADE sta vplivala tudi jezika ALGOL 66 in Simula, pa tudi Alphard in Clu, toda ne v tolikäni meri kot pascalske Izpeljanke, Vsak ADA program je sestavljen iz zaporedja vi-äjih programskih enot, ki se lahko vse posebej (separatno) prevajajo. Takäne programske enote so dejansko podprogrami, ki določajo izvršljive algoritme, nadalje tkim. paketni moduli (package), ki določajo množice objektov ali moduli o-pravll (tasks), ki določajo hkratne (paralelne) procese. Od CP/M prevajalnikov za ADO si bomo podrobneje ogledali le enega, in sicer.Janus, Jezik ADA je moč prevajati tudi z enostavnejäimi prevajalniki) ki temeljijo na uporabi rekurzivnega sestopa. Proti uporabi jezika ADA pa se oglaSajo tudi pacifisti, trdeč, da bodo ADO uporabljali za programiranje vojnih udarnih raket. ADA je spričo tega kot nov in visoko zmogljiv jezik tudi nevaren, čeprav ni namenjen le programiranju jedrskega orožja. Janus je določena implementacija jezika ADA ter je zaofcroìen sistem za razvoj ADA programov. Sestavljajo ga prevajalnik, zblrntk, povezoval-nlk in inverzni zbirnik. Ta sistem se izvaja na operacijskem sistemu CP/M 2.x s procesorji 8080A ali 8085 ali Z80. Januš zahteva 56k zlogov hitrega pomnilnika in vsaj eno enoto z upogljivim diskom. i3>TYPE PRIMES.PKO PRAGMA RANQECHECKtOFFJ) PRAQMA DEÜUmOFKlJ PACKAŠE BODY PRIMES IS FHOM BYTE SEPT. SI BEMCiWAHK EVALUATlOiJ. SISE ( gOMSTANT «- 8190J FLAGS ( AHRAyCa..SIZEJ of BOÜLEAM; countjK»phime i integer; 2. Primeri programov v adi Spoznavanje in učenje novega jezika je vselej izziv samemu sebi (preverjanje lastne sposobno-, Btl). Spočetka je vse novo in.doloèene konstrukte je potrebno še razumeti. Poäasl se oblikujejo pojmi, ki se jih postopoma oprijemamo in na katerih gradimo prihodnje znanje. Na sre&o imajo prograiTilrni jeziki đoloćene skupne lastnosti in tudi ADA ima podobnost z vrsto drugih-jezikov. Začnimo kar s primeri. 2.1. Uporaba. Eratostenovega sita S programom, ki opiguje algoritem Eratostenovega sita za Izračpn vseh praštevil od 'i ,1; ifiOOO, lahko ocenjujemo kvaliteto prevajaliilK^ Janua ((Ü)), s tem da merimo čas izvajanja prevedenega programa. Ta metoda izračuna praštevil so izogne deljenju ter i je Izredno Hitra, ker uporablja znanje o številih, ki né ^morejo biti praäteuila (npr. soda števila in mnogokratniki praštevil). Knuth ((!)) je že pred leti napisal program za tak izraiSun: V listi 1 imamo zbirko |z imenom PRIMES.PKG (tu je PKG pripona za ADA program, izvedena iz be-sride PACKAGE), pod td zbirko pa vidimo izvedbo ukazne zbirke PSIMES.iCOM, ki smo 'jo dobili s prevajalnikom, Progratrj [v listi 1 jp paketno telo, je kratek in enosifaven, tako da z njegovim raKumevanjem nimamo'pqsebnih težav. Na začetku paketnega telesa imamo deklaracije, tem pa sledi blok paketnega telesa (BEGIN, END, glej sin-taksni graf za package ^body v dodatku A). Stavki, ki se v tem bloku'pojavi ja jo, iso PÜ1?, FOR, BEÜIN PUTC"10 ITERATIONS-); NEW.L. I UE; TEN t FOR ITER IN I..10 LOOP trount 1= b; clear t for I IN B..S12E loop flagsci) (» true; EtgD ldüp clear; PHIHE i for I IN 0 .. sI ie loop if flausu; then PHlt4E i- i + 1 + 3j k t= 1 ♦ phiiIE; uhile k <= size loop flacs false; k i- k + prime; end loop; COUNT f COUNT i; PUT(-PRIME-); NEU.LliJE; END if; END LOOP PRIME; ENO LOOP TENJ put(count); putc'phiwes")f wew.lime; eno primes; B» b>prihes 10 ITERATIONS ie99primes B> Lista 1. Ta program v jeziku ADA izraSuna 1899 praätevil, kot se vidi iz izvajanja tega programa (ukaz PRIMES) na koncu te liste AI'TYPE »R0BI2.PKB PRAGHA RANGE:CH[:CK(0FF)Ì PRAGMA DeBljG t PArKARF BODY nBOBIZ 18 ! , — Tffl proärani wcita 0 celih stwvilit ki cretlstavl.iajo otevilB ko— vant'RV PO 5» iOr 20, 50» 100> 300f 500 In 1000 par. — Prođtaii. Is-plüe celotna vrednoiit kcivancew v dinarjih In parah. STET..KOU» nei^VREO, STETU-PAR, fiTEV^DIN J INTF.GER« WRE»..KÜV t ARRAY (U.8) OF IMTEGEBf PERTN VREn.KOUtO !- 5f VRFri.KOUO) != tO! UREFL.KOVO) t" 20t URFrÉ..K(.lU(/l> !» 50» VRFn..H:0V(5) IB 1009 URED_KOV CEI-.-MRFri 1= Oj ' PlITCypTBI f:TiTi.>r|.,^i pnBAMK:7NIH KOUANCEU')» NFU.:LINEf NEUJ.INEt KCiR NABI KO" IN 1 .. B LOOP P PI)T( "ItClUANCI PO •)! PUT ( WED..Kny< NARI, KOV ).-!)» (* POT C FrtF(! RFTtRTE r..KnU) i Nr.U.J.INf" r Cf-1. ..VREJi Ctri...VRIr:rj + yRED_KDU(NASL_KOV)»STET KOUf ENH tfinpf BTfTO .riiN }= cEi....yf;Fri / loo; STIE:U..PAR !.= TFI.....VREK REM lOOf MKUJ.TNES P()T< ■CFL.OTNft VREDNOST ZNASft DIN ">} PUTCSTEV^DIN) ( IF fiTEU .F AR < 10 THEN PUT«'tO') S P(JT(!5TEV..PAR)J El.fiE PUTC,'); PUT (ŠTEV.PAR ) » FNn IFi Fwn nROBiZf Lista 2. ADA progi:ara DHOBIZ. PKG v tej listi vèitava števila posameznih kovancev (od S par do 10 din). Vsebuje dve vrstici, ki sta na začetku oz-naöeni z znakom '* in ker ima na zaćetku PRAGMA COND-COKP(ON)f se tudi ti dve vrstici prevedete in kaiiiieje Izvajata (glej listo 3). Za FOR zanko včitavan.ja vhodnih podatkov se Izračunavata posebej dinarski in par ski del rezultata, ki ae kasneje sestavita v celotno vrednost z ustreznimi PUT stavki na koncu tega programa. V prvi vrstici programa imamo tri PRAGME, ki so navodila za prevajalnik, sam program pa ima obliko PACKAGE BODY (glej sintakso tega konstrukta v dodatku A na koncu člinka). Program uporablja osenmestno polje VRED_KOV (deveta vrstica), v katerem eo shranjei.e vrednosti kovancev, ki se določijo v vrsticah za rezervirano besedo BEGIN. Ta ' način določevanja, vrednosti ej-ementov polja seveda nI najbolj pripraven. IF, WHILE, prireditveni stavki in procedura NEW_LINE. Programer, ki obvlada jezik Pascal, z razumevanjem programa v listi 1 ne bi smel imeti teüav. Kot vidimo ia liste 1, je ta program sestavljen Iz zaporedja pragma, pragma, paketno telo. Z ukazom tipa PRAGMA damo prevajalniku določeno navodilo (v našem primeru izkljuiSlrao opciji RANGECHECK in DEBUG), paketno telo pa Je podobno podprogramskemu teleau in določa notranje (operacijske) podrobnosti. Kadar imamo na zaCetku vrstice snak ' , lahko 3 posebnim stikalom to vrstico vkljuCimo v prevajalni postopek; v naäem primeru je ostala ta vrstica izključena, kot je razvidno la izvaja--nja programa v listi 1, 2.2. Štetje drobiža Ta program, ki gä imamo v listi 2, včitava vhodne podatke, sicer pa nima izrazitih posebnosti (glede na program v listi 1), V deklarativnem delu programa Iraamo 4 spremenljivke tipe celo število (integer) in polje VRED_KOV z 8 elementi (indeksi 1 do 8). Ti elementi so celoštevilske konstante in predstavljajo vrednosti različnih kovancev (v parah), Preostali del programa je razumljiv sam po sebi; v stavku STEV_PAR j= CELVRED rem 100> pa se izračunava celoštevilski ostanek (rem) pri deljenju CEl._VRED.s 100. AXIROBIZ UPISI STrVILA POSAMEZNIH KOVANCEV knvftnct po 5 par! A knuanci po 10 pafäl 5 kquanci po 20 par! 6 kovanci po 50 par! 7 kquanci po 100 par i 8 knuawn po 200 par! 9 kovanci po 500 par! 10 kouanci po 1000 par! 3 CFIOTNA WrUNnST ZNAŠA niN lllr40 Lista 3. Ta lista kaže Izvajanje programa .DfiOBIZ z vhodnimi podatki in rezultatom v listi 3 je prikazano izvajanje zbirke DROBIŽ .COM. Tu se izvajajo tudi stavki v vrsticah, označenih z *•* , saj imamo na začetku programa v listi 2 PRAGMA CONDCOHP(ON)J V programu liste 2 bi lahko uvedli tudi tip kovanca, in sicer type KOVANEC is (petpar, deaetpar, dvajsetpar, petdesetpar, dinar, dvadin, petdin, desetdln); Polje VRED_KOV bi v tem primeru definirali takole: ~ VRED_KOV: constant array ""{petpar .. desetdln) of INTEGER ; = (pet^r = > 05, desetpar => 10, dvajsetpar => 20, petdesetpar =» 50, dinar => 100, dvadin " 200, petdin =■» 500, desetdln => 1000) > 2.3. Uporaba podprogramov üporaba posebnih procedur (podprogramov, sub-rutin) za vhod in izhod lahko ima več prednosti. V proceduro lahko programiramo želene formate In njihova specifikacije, ki jih uporabljamo potem avtomatično. Nekateri podprogrami so v Jeziku ADA definirani vnaprej (tako kot predpisuje standardno poročilo o jeziku ADA), vendar je implementacija zahtevanih vnaprejšnjih definicij ^oetlprogramov odvisna od posameznih prevajalniliov za jezik ADA. Priročni proceduri pri izdajanju teksta sta npr. SET_COL{M)} SPACE_OVER(N)j —pomakni se v stolpec M —pomakni se za N stolpcev v — desno Če teh procedur ni v prevajalniSkl knjižnici, si pomagamo na dva načina. Sami definiramo obe proceduri 3 procedurnima deklaracijama ali pa nadomestimo učinke teh procedur z ustreznimi PUT stavki, kot je razvidno iz programa CENIK. PKG v listi 4 (vstavimo ustrezno število presledkov). Program v listi 4 je sestavljen iz treh proce-durnih deklaracij (T1sk__NASL_1nfO, KTOLPNI^NA-SLOV in TISK_CEH) in glavnega programa, kjer ee te tri procedure pokličejo. V listi 5 je prikazano izvajanje zbirke CENIK.C(5M, ki smo jo dobili 6 prevodom zbirke CENIK.PKG v li eli 4. Pri uporabi stavka (procedure) PU'i' imamo tri razliöne procedure za izpis, katerih uporaba je Implicitno določena s tipom parametra (INTEGER, FLOAT, STRING). Ustrezna PUT procedura se izbira s pomočjo ugotavljanja enakosti tipov proce-durnega in pozivnega argumenta. Procedura PUT ima lahko tudi dva parametra, pri čemer drugi parameter določa število izpisanih meat {vodeče ničle ze zamenjajo 3 presledki; glej listo 5). 3. Sintaksa podjezika ADA za prevajalnik JANUS Že podnaslov pove, da lahko JANUS prevajalnik sprejme le podjezlk (in določeno razširitev) jezika AOA, kot ga določa ADA jeaikovno poročilo (glej slovstvo ((3)), ((6)) na koncu članka). Prvo vprašanje, ki ga v bej zvezi postavljamo, je seveda, kateri jezikovni konstrukti so pri JANUS implementaciji izvzeti (nedopustni, nelegalni) in kaj je k JANUS ADI dodanega. Razlike med ADO in JANUS ADO SO najprej razvidne Iz sintaksne liste (dodatek ß v drugem delu članka) oziroma Iz sintakenih diagramov (dodatek A). JANUS ADA ima glede na ADO omejitve pa tudi razširitve. Implementacijake omejitve JANUSa glede na ADO so teles 1. 2. 3. 4. 5. 6. 7. 8. Dinatnlčna polja z razsežnostjo večjo od I niso podprta. Najveöje Število vgnezdenlh podprograiTiov, blokov in zank je 25. Največje število vgnezdenlh procedur ali funkcij je 10, Največje vgnezdenje variantnih delov v zapisu je 10. Največje Število preštevnlh konstant v prestavnem tipu (enumeration type) je 100. Največje vgnezdenje CASE stavkov je 10. Dostopni (accesa) tipi niso implementirani. Tile jezikovni pridevki niso Implementirani; base, image, value, delta, actual_delta, bits, small, large, machine rounds, digits, mantissa, emax,. epsllon, ?irst(), lastO, niachioe_emax, machine_emtn. TYPE' nENIK.PKCi PRAGMA RAN«FnHFCKo wnapr»»vi pft;dpÌ put c -----•>« NFU,.t,INE;i NFCU^LINE« PIIT<* KOn I2))f!:LKA ! IKF-l?»-'»* ) f NFU.LINEf PDTC ■ TZPOEK ! RFGIJLATOR')? Nf:UJ.,INES PlITC CPNA rNOTr J ABCH NKU.J,.TNEf ENrii PRocfrmiRF: STni.PNi..NASLny is MCiTH nfi;u.a.ine:» nfwaine; PltT<" Kni.TCINA')(PUT(" CENAM) NFU..LINEf PUT C --------•);PUTC ----•>> NFU-LINEI fnht PROcrnuRE T.iSK..r:EN is rFNA..rNJ CONSTANT INTEGER «=13751 CENA, SII,tNr)I. «ROSI ! INTEGERt PEOTN FHR SKUP IN 1 .. 4 LOOP NEW...I..rNEt FflR KOL IN GROHl [K CENA REM 100» pure ■)) PUT (KOL. 3) J PUTC PUT (STLINßI,3>t PI.IT<*t')> IF (ßftOSI < tO> THEN PUT<'0'>J PUTf NEUa.INE» END IFf enh loop; END LOOP'« END TISK.-CEN» BEGIN — Plavni frođrani, kl poziva podproarsinef. TISK..NASL...INFO) STOLPNI ...NASLOV» TISK.XENJ ENn CENIK« machina_rađix, machine^mantlssa, machine^overfiows, . length, "length O, range, rangeO, constrained, position, flrst_bit, laet_bit, storage_size, terminated, priority, failure, count. 9. Agregati niso implementirani, 10. Preobrönicnjcvanjo (overlaoding) ni podprto. 11. Alokatorji nitio podprti, 12. Rezinaste prireditve za polja niso implementirane. 1 13. Izpustltt:!v dejanskili piiranictrov ni dovoljena. 14. Nepozicljski dejanski parametri niso dopustni. 1 5 RENAMES deklaraoija ni iniplümantirana, 16. Opravila (tasks) in moduli niso implementirani, 17. Optimizacije uporabnik ne more specificirati, 18. Izjemnostna obdelava ni implementirana, izjeme (exceptions) torej niso podprte. 19. Generitni paketi niso implementirani. 20. Reprezentacijske specifikacije niso Implementirane, 21. NestiSna preštevanja niso implementirana, 22. Naključni V/I dostop ni podprt. Lista 4. Ta ADA program je sastavljen iz treh procedurnih deklaracij, in sicer za izpis naslova cenika, za izpis dveh stolpnih naslovov ter konöno za izpis cen v odvisnosti .od količine izdelkov, kot kaže lista 5. Glavni program na koncu liste je sestavljen iz pozivov teh treh procedur. Glede na oblike izpisov (lista 5) bi bilo moö v tem programu uporabiti bolj učinkovite vgrajene funkcije, ki pa žal v JANUS ADI niso implementirane. Taki funkciji bi bili NEW_LINE(n), kjer je n parameter za n vrstic in funkcija SET_COL(m), kjer je m parameter za ni-ti stolpec. V programu smo pomanjkanje teh dveh funkcij nadomestili z zaporedjem funkcij NEW___LINE ter z ustrezno funkcijo PUT (glej osmo, deveto in deseto vrstico liste). . Spremenljivka SKUP v prvi FOB zanki določa štiri cenovne skupine (od 1 do 20 v listi 5) in spremenljivka KOL v drugi FOR zanki procedure TISK_CEN po pet elementov v vsaki skupini. Interval za spremenljivko KOL se tako spreminja v odvisnosti od vrednosti spremenljivke SKUP. CENIK KOIi I7riELKA ! IKE-1934 IZtJELEK I EEEttlLATOR CENA ENOTE I A8CH 13.75 KOLIČINA 1 2-.■3 4 5 A 7 B 9 10 11 17 l.T 14 15 16 17 18 19 SO CENA S I3f75 s 27,so s 41. s s5.00 s a8.75 S 02.so s eiio.oo s123.73 8137.50 s151.25 (ilAS.OO S178.7S b192ps0 s220.00 s247,fi0 saa 1,25 8275.00 Lista 5. Ta lista prikazuje izvajanja programa CENIK iz liste 4, ko je bil ta preveden (v zbirko CENIK.COM) a prevajalnikom JANüS 23. Tele jezikovnq definirane pragme so brea uölnka; controlled, pack, priority, suppress, Inline, Interface, t(i6mory_fltze, optimize, storage_unlt, system. JAHUS ima tudi razSlrltve glede na ADO. Pogojno prevajanje omogočp vkljufievanje In Izključevanje programskih vrstic v postopek prevajanja. Alternativi se izbereta pri pozivu prevajalnika. Ta lastnost 'je koristna pri preizkušanju programa in odpravljanju napak (te vrstice imajo znak 't' na sv^ojem začetku). ASM stavek omogoča vstavitev poljubnih podatkov v prevedeni kod (ki'ga je proizvedel JANUS prevajalnik) . I IN in OUT stavek óraogofiata hitri konzolni V/I pri preizkušanju programov. Njuni funkciji lahko podvojimo z GET in PUT pozivi. V dodatku A so zbrani aintaksni grafi (jezikovne definicije) za JANÜS prevajalnik, verzija 1,4.3. Pri pisanju programov in pri učenju jezika ADA lahko te giafe uporabljamo in se tako izognemu prevelikemu' številu napak v programu. V nadaljevanju članka bomo opisali nekatere izboljšave (dopolnltvö) jezika JÄNÜS ADA, ki so se pojavile v verziji 1,4.4. Slovstvo k prvemu delu (d)) D.E.Knuth: The Art of Computer Programming.' Vol. 2: Semi-Nuinerical lAlgorithras. Založba Addison-Weäley, 1969. , ■ ((2)) J.Gilbreathj A Hi,gh-Level Language Benchmark. Byte, Sep 1981, 180-198. (O)) Reference Man\jal for the Ada .Programming Language. US Dept' of Defense, July 1980. ((4)) P.Wegner: Programming with Ada. Prentice-Hall, 1960. ((5)) I.C.Pyle; The Ada, Programming Language. Prentice-Hall, 19BI. ((6)) H.Ledgard; Ada - An. Introduction, Ada Reference Manual. Springer-VerJdg, 1980, ((7)) Janus System User Manuals, SR Software, P.O.Box 1512, Madison, Wisconsin 53701. {(8>) M.Exel: Programiranje sprotnijh in vgnez-denlh sistemovi procesi v Adi.' Informatica 5(1981), štev.2, 6-18, <(9)) I.C.Pyle: Using Ada for Specification and Design. Informatica 5(1981), gtev.3, 410. Dodatek A V dodatku A imamo slntaksne grafe za gramatiko jezika JANUS ADA, kot je opisana v ((7)). Sin-taksni graf je slika gramatiCnega pravila in za vsako pravilo imamo po en graf. Formalna sintaksa jezika JANUS ADA bo opisana v dodatku B. Razlike med standardno ADO in JANUS ADO so še vedno velike. Te£ava je v tem, da vrsta kon-struktov standardne ade Se ni implementirana v JANUS ADI. Oba proizvajalca ADA kompilatorjev za mikroračunalnike obljubljata, da je njun cilj inipleraentaclja celotne ADE, Če smo se ufii-11 ADO Iz knjig, npr. Iz ((3, 4, 5, 6)), moramo biti previdni, ker bo sicer kompilator JAMUS javljal veliko Btevllo napak. Torej je priporočljivo, da najprej pogledamo, kateri konstrukti jezika ADA v JAHUSu niso Implementirani (točke 1 do 23 v podpoglavju 3 tega članka). Sintaksni grafi se pojavljajo v vrstnem redu, kot so zapisana slntaksna pravila v slntakani listi (dodatek B), Ta vrstni red je določen a priročnikom, kjer se posamezni jezikovni konstrukti obravnavajo oziroma pojasnjujejo. V drugem delu filanka bomo zgradili kratek priročnik, tako da bo učenje' novega jezika laSje. Abecedni red sintaksnlh kategorij je tale: accuracy_con8tralnt, actualjiararaeters, add-ing_operätor, adđreas^speciflcation, argument, array_type_đefinition, aam_statemant, assign-ment_statement, attribute base, based_integer, basic^loop, block case_statement, character literals, character^ _8tring, choice, compilation, component_decla-ration, component list, compounđ_statement, condition, context_ipeciflcation, constraint decimal_number, declaration, declarative item, declaratlve_part, derived_type_def inition, discrete_range enumeratlon_literaI, enumeration_type_đefinition, exception choice, exception declaration, exception handler, exlt_statement, exponent, exponentiäting_operator, "expression,,extenđed_ _diglt factor, formal_part, functionica11 goto_etatement identifier, identifier_list, if_statement, inđex_constraint, indexed_component, lnout_ _statement, integer, lnteger_type_de£inition, iteratlon_clause label, letter, letter_or_digit, literal, logi-cal_operator, loop_paraniet;er, loop_etatement mode, multiplying_operator name, null_8tatement, nuinber_declaration, numeric_literal ob ject_^declaratlon package_body, package_declaration, paokags_ specification, parameter_declaration, pragma, primary, private_type_đefinition, procedure_ _call, program_oomponent qual1fled_expr essIon range, range_constralnt, real_type_definition, record_body, record_type_de£lnltlon, relation, relatlonal_operator,~' representation_speclfloa-tion, return__statement selected_compone nt, 8equence_of _a ta tements, 8imple_expresslon, simplegatateraentT statement, subprograra_body, subprogram_declaratton, eub-program_s pecIfication, subt ype_đeclar at ion, subtype~indicatlon ~ term, type_conversion, type_đeclaratlon, type_ _deflnltion, type^mark ~ unary_operator, use_clau8e variant with clause icfent/^i'e y SINTMSNI GRAFI JEZIKA JANUS ADA O- __[—VjjJ—1 _ j ieiter- \ ^»j -» »'- "UHnEy Letter »•j c(e.ctmoć^ytumhey decimal »>j| upper^CAse^ieééey in tej e r exponent ——»>1 i'/ti-eye^ 4— •fin i eye r |- l>osed_ irtte^er- -^MHEhKĐ- --j ixt^r^cjeat^M^itr j-* —^^TV-'JLB^ zjct& v)cfecC}- heise l'I ini-e-ge r |- character^Uierctls exte» c(ed_ oiù^i t chcL ractcv^ S trùn^ ■o- £ forcfjmci —t o-—* 16 arcarne »t —»I enti fi er numher »j ofcfect-, afecta. rei± iro$>'amj3(edcLra.-tùoinr\ zcicLrcctCo oiijec-t^clechratioif) ____ ^^-^iclentiftec.Uit cf^ccci/oKi -»'^j)—^ ex/or£ss'oh 'yiuw)loer_clecjaratioio ^JPt^ cfec/arcitian --KS)-'•jtype^c^efmièion ictentifieri, t/si -G> irfentifiet" tio « mera ti o tyi» e. _ gfgyC jrjot^ j- of&finfHon ^ rea C _ e „ a/e ffti t Ho n re-card _iry/oe_o(efim'Hoifì o/e \rìv Z-cj ^ ìHgh U»j f^ri vaJre- „ hyp e _ t hi o n |— subty/sfi, c/ficlctriitùm -*>(suflrype)—-^(1?)-»4 [-„Q). suSatyfoiJneC'cn tì^h } Ce»Mstm.£nt --»»j W»>gg-cawifr»tnt|- e/e riv&cL^type „ qf c^rnr tto« ■»•a«^ CoMjt l^i Mt raw je -sLmf>t«^ zxpreaio u e Mam e ratt'oM—^ y/3 e_ o/ep"« (■ 11OM ' I I e « u.y» e t^atćo 11 tettai -G> Jqfewtl'fri 'er initjtr^ type^ cfef in i t i on -range _conibra.in^— reaL_iype_ c/efmtéLon > |gfc t/ co/> f QCCUYQcy_consiraini: - —----------- — • , ........- .......... -——1 const^a-i-^itr ocrya.y^i.ype^ciefinitLorì -coi^str-atnt \-*QOF^-J[siJÌe,iype ^ mo/ica t-ic-»nt j-w coti s traini I c^iscreće^ranje ye co rdj-yjoe „ ofefihiéìon range r^Corct_bocty —{recoTci^ body - coirijaonet^t^oiec/cLy-i^tLon compome-nt^List mpone ntjafec /» mfi b n [ . ^ "I icilehtìfìe.y^lt^t~]——Subtype ^CMoficutCort^^'^^^ ■)(■ __________________ choice^ J -(T)'i—(cAse 18 choice sèvìrtateptrssa/oei | ■ ' t> oth&v-s ofec/a j-ffi ti ve _ ^ea^rt Tn! ^ eLcktj. ^e^tji-dcLTa. t to n ij-^x \ jacLcka-^e.^ hooLy -1 i f'c/enćf-'f ter Ur-f^e/ec com fohe nt |)-c. %thctzcL^compons.nt Ut&roi.L nuyn&ric_LHre.Ta.L — eiriumeraiCon^iievci i cha-ra.cte.y^^tiriin^ f-s> ^elcutColri -H express/otì —^ re f>-res entatìon^s^efrific*^ Ùon d&c/a. ra i i. it^s^ -c^j US^^ ClcLU^SiS. ££0 ve h ti on eratov^ -c=| ^{tn^f exponent icii_opcyatör --^ fy^e^cpn version ej^/ore > CS5) 2UQ.Ufced._ejùi3ressÌoh stcLtemant "C if. --^---, —»I CLSii^riMent^stAtemei^t }- »] _ sia tennei^t j- cytout- ]— C0tytj:ìOUHci^stAte.yrìent tf _ s^g-t-e-yvient: La.heL HZHüilll-^ 20 statement if-state m en t comaLLi^Ccryi |- eohotitto*? segugwcg^of.j^Qéc/HCfi'és ^^ segcfgMst't^te^wewés con case. st«a.te went -^^Boeteai^^exfiKcssLon -»-(^SS)—»^ex]bregS60Ki j—-—-- mi Loop^ stcct&m&Yìt 'I , . , ^Tl I ^ loop^ ideiate^l'cr —' '-»\LbereLti:on_c{cLUSe |—I -Q> —I Loop- hcLiùc.ioop loop^ para.me.t&r .oop_ paratnettr «J-Jl^ ofi'screH^ranse | biook J —T^--——-3egueMce_of-Jt-a-tetyiewtsji*- ----' ha-hcac-T '|—J I .'rQ—^ U^ hlock_ tc/ent/fUr |—J exCt.sicLtement -'I --—^ Loop^nam^ j—' L^^ig)-cohoLct*:oi^\—J ^ ^ «s>n_5ta-će.f>ie»it ìnout^staieymeht ^ ^ _______________^ ^ ^ O iuhpy'og^airi^cieclaytìi'tion ^suhp ro^rntnjpeciffccLtion^— —O- mbprogrcLm^ specif ic^tioh \v9rialtle_name K- »^PjgOCCftm?^—m\io(e.yitCf''i-r' [-i (FWcrfOftjy-g-jj icjeintifi&r^ -Sformai]—J •^RSruR '"H äicatLOti^— formai ^p<ì.r t I--- ÌÌL "out] pčura weire cacciatiot^ —ie^emHfft. r, t ist woof T^-^^i^bf/jbg.j^f^^catfbtt — t ,. 'I ■ "pki/^ H CLctuai proceàure^ccU expression h^p^p-^ O spe.cij'-iCA.tLa d -KPACfc'AQg)-^ e Ki t /'f/ay f-HT^ e/ec/a to. 11 v e _ i te«i H rcpy€seti—f c(e,cle:crcLtLV«_tt^ni\—^ J -(ÉN^ i cmeriti fier 22 (sody pri Q. te.^ ^y/*®- itiam Wse_c/att5e _M.tIch con^iKt, speci fi cKtio^ cfecict TOlÌt to M texrt^ s ^-ectf/cci t lo T —I wìih^olause p ittčbh^c/cLuse. <3- except ion ^cho/'c e —1>| txce.ioh'on_choice ri.pireselr>tci.tLon_S joa.cificaHon a- -^orNeßsy J acfefress^sfiecificeiHo n xyz )— — - -term/Moif' -»(/Z, XX^ -if ; (tem/Mp/^i/ Sfmipit, ì-ezerwVa.Mfi à see/cj, opeirQÌoirji\ Ločithi — ineteirpvtif^aL ayz% [e^ef/yiitrtun iia ofrujem mssiuj (s/'fi6a4rs« :! s 7 l : ; = <;ime proceaa> Ulazno/izlazne naredbe specificiraju komunikaciju između dva kori0 and Pascal are property language«.. In this work a parsing nethod for property languages is presented. The Method is based on use of a recognizer, The finite state control of the recognizer itt coMpotted of a tranftition diagram and set of actions. 1 . UVOD U teoriji for«alnih jezik» p«inato je nekoliko netoda za provodjenje sintaktiCke analize: s vrba, odozdo, upravljana tabelon, sa rekurzi-vniM spuStanjeM, itd. Svaka od njih prinjenjuje se za odredjene klase bezhontekstnih granatika. Tako, na prinjer/ sintaktička analiza s vrha ttop~down> noie se prinjeniti kod granatika koje nisu lijeuo rekürzigne, a »intaktiffka analiza sa rekurzivnin spuStanjen kod granatika tipa ULp6>cificiran je jezika eu grawatike. Blobitdno govoreći, granatika je skup pravila ( "proilukci-ja") koja opisuju sintaksu jezika, odnosno odre djuju koje povorke iz V* pripadaju nekoM jeziku L nad V, Postiipiik ko ji« se is.pituje da li. neka povorka w iz V pripada neko« jeziku L, koriste ći pri torte pravila granatike, naziva se gintak li!^[<.a_ana 1 iza . Povorka a inboia w hoj;» je u L nj z i va Si? retenica . Drjjga netiidà' za specificiranje je/ikd pret-posiflvlja pr^oceduru koja na ula/u prihvata povorku w iz y i poslije konaSno nnogo ijrćiCuna-trtvrcljuje fJal.i je ' w eienen t tiri L, Takva procedura (néiSma, nehanj.zan) naziv,) üe' t!t!?[!!!.ž." O'iiVTlt ( r-tcognizer >, «^I.E!,!, a sastoji se'ód'uja 28 ifitì fróktì, eitaCà, hontrole kanijtfnos sianja i ptirtofifie rtonurjje; Procedura kuja unjttsio uJl«xntr trukc i firafri iha l^ìaiou tr«Ku i pis^C nditvii QeUèCdtar* ' ppepoinavatf i tienwrstor ^^jt^dno np/ivé;}u !>(! er,«JS,är,öfi < vr*n6illicer > . U. 3, GENERATOR JEZIKA SA SVOJfiTVIHA Generator u fcojen je Itontrola koniCnog tta-nj« u pulpurioatl 2ad«n« dijaqranon pralsza T 1 lisji, (jrertii Ti»M»t ne«4 ponoćne Menorlje, gtne-rira tiv, "reqularan Jeiik", III. Drugi« rij»-rsflularJtn Jeiik j« onaj koji »adrlil »«no povorke w » el "" " t-. sn iz kl* lä koje vrijediJ ql » *, P(0> gdje je P<(J) particija s^upa qD 6 Q poćfetno stanje 1 £ 0 skup konačnih stanja. PriHjer 2.1 Neka je Q = Cl ,2, i F- <4J, Oijagran predstavljen je sai y ta .b, c.dJ, qO - 1 za T « ,qO a b c d e 1 a 3 3 4 1 2 3 1 4 4 4 Kontrolu konačnog stanja generatora jezika sa svojstvina podjellt ćeno u dva dijelai dija-gran prelđia i skup akcija. DijagranoM prelaza T zadaju se sve noguče pronjene stanja, Ito Je definirano funkcijoh . fijf.cija je postupak koji. u ovisnosti od tekućeg stanja ql i informacija dobivenih od ponoćne nenorlje, vräi restr.i kciju nogućih prelaza iz stanja qi, ito je zada no funkcijon prelaza u trenutno ostvarive prelaze. Ako je prelaz Iz stanja qi u stanje qj prelazon sk uvijek ostvariv, snatrat ćeno c|a je takvon prelazu pridrutena prazna akcija. Genera tor regularnih jezika prinjer je u koje« »u uvi jek svi prelazi ostvarivi (otuda generator regularnih Jezika nena potrebe za ponoćnon nenori jon>, Definicij« 3.1 ieiik-Sä-feSSitlStiaa j» jediti «iji j« generator zadan eai - kontrulon konaćnog stanja, koja se sastoji od dijagrana prelaza T ^ i skupon akcija pridruženih svakon paru (ql>sj>, qi B Q, sj 6 V la fcojl je definirana funkcij« prelaza * i baren ji9dna akcija je neprazna, - ponoćnon nenorijon. Kontrolu konačnog stanja Jezika sa svojstvl-na i dalje ćeno predstavljati dijagranon prelaza, ali ćeno svakon prelazu dodati k4d njeno pridrufene akcije es inaćenjem Q (ili izostavljeno) - prazna akcija, 1,2,,., - neprazna akcija. Značenje funkcije prelaza vidljivo je li dija-grana. t Dljagran prelaza noie »e predstaviti 1 w obli'«" iäfeeiS^ecsUEä. kao It« Je pokazano u pret riodnon prinjeru. PrlMjtr 3.2 Generator jezika L <• i 0 < n 4 101 ina dijagran prelazat qdj* 1 tnaCix "brujati "<""i ee naCini »noliko prsla« m ">" i» J"' načinjeno s« »f«. Portoćn« «.««rij« Će ti infor«»ciJi. o (»roji» načinjenih ** •<-; CBneratoc ovog Jaiika ea ladati «llj» deein alfloritnoMi t Generiranje jeiika L-Ca,t»),(ta))».>.J J| br I" 0) br«»» i« lOt while br < brnaK de begin i 1 i lihlU 1 < br de begin 6trin8 1= "Cj i >- i+t end ; Btrlng i» i I«- tj uhile i i br da begin atrinq i= i i" t+t end) uriietatring)) br i" br+1 end 4. PREPOZNAVAĆ JEZIKA 8A BUOJSTVIHA üldiMO d» prepoinaMatfu prethodi Jedan pretvarač aSi^iCka analli.) k^^Ji prihvata va na «la«« i na iilaiu daje povBrh« «»«b«!». •dnimne po«»rku ci^l'brojnih küd««a pridrutenih tlMbollH« jeillia i klan«a idantifikatftra, «to •u iitovrenen« »tupci tabele prelaia prepoina- V B * Aki> Je 1ÄH k«d «čitane« »i«bola, tlUS nutno tekuće »t.anje kontrole konačnog ata«Ja, nogvč pre'iai ladan je »ii tran» " *<*iHate,«vh) a akcija kudort na «jentu (tiatuiiy«» tabele akcija. Tada, se kontrola Uot^atnog otaiija prapo-inavaCa Jeiika «a Bwo.1i»tvi«a «ole općenito na-piitati heoi ' eoi fđleet State i» tt while not aoi de begin { svni get »ynCstring>( , transi tran» t«b eoi 1= true el«e if action ° a then state 1 ■■ trans else C Iivodi te akcija «■<> liodon "action" 3 end Kod generatora jeiika sa fivoj&tvina akclJOH Je za svako »tanje dijagrana prelaia bio odre-djen skup ostvarivih prelaza, «to je u evakoM trenutku bilo uvjetovano infornacijana dobive* nirt od poMoCne heHorlje. U slučaju prepoznavača Jezika sa svojatvina postavljana pitanjei "Da li za sinbol ej 6 0 pa etoji ostvariv prelaz iz tekućeg qi w nek« «tanje qkT"< Prvi dio odgovora na ovo pitanje dat če nati dijagrai prelata. Ako Je qk«*(qit«j) definirano, prelaz Je noguć, a akcija pridružena paru i JI" l+ I < ter»>« I 11= l( (a-v«rijabla><>t .l <) II» doHlleblhibllowlhigh gdje su. i identifikator! prinitivne i varijable »a strukturo»* polja (array), respektivno. Prinjer povorke u VOH Jeiiku jei a«b. Pretpostavka je d« se leksičkoM analiioH od-redjuje evoj«tvo identifikatora, a povorh« do begin t sywì get syn( strinij ) | tran&i trans tab(&tate,syn)j action; act tab(3tate,syn) Ji if trans = 0 then wrlte< "Synt. error")> aynter true else 0 then state <= trans if action el&e if action 1= th«n Ibr else if action = then if Ibr > 1« Ibr+JJ state trans D then Ibr i Ihr-l j stale tran« else ur ite("Synt,errar">; eynter i true else if action = 3 then if Ibr E 0 then eoi i= true else writ0("Synt.error")J synter i= true) end) if aynter then writB<"Input string is not in L") else Hrite<"Input strina is in L"> 6. ZAKLJUČAK Predlotena netoda provodjenja sintaktičke analize prakti<;na je bila prinjenjena u realizaciji Dijkstrinog jezlksj prezentiranog u (4J, koji spada ti klasu Jezika sa evojstvinđ, SPREMLJANJE SISTEMOV V R RAČUNALNIŠKIH EALNEM ČASU B. KASTELIC, S. K LAN CAR, S. U RAN KAR UDK: 681.326.0 INSTITUT „JOŽEF STEFAN", JAMOVA 39, LJUBLJANA ISKRA-TELEMATIKA, TOZD ATC, KRANJ öianek opisuje apvamljanje (monitoring) delovanja va^unalniSkin aietemav v j^alna« Saeu. y spioSnam Je opiaano aunanja in notpa~ »je epyemljanje tv Hun a Ini Ski h gietemav. Zunanje appemljanj« omo-goSa dodatan apramlJaDalni vaSunalnik, ki pfako poaebnega poveao-tìalnaga vezja apremlja delovanje oanovnega računalnika.^ !ioti>anJa epramljetnje Je realiairano s nekaj dodatne-mtej^atne in program-eke oprema v eantam računalniku. Deluje na prinoipu dodeljevanja raSunalniSkega Saaa delovnim in apremljevalnim proffpamom. Opiaan Je primer notranjega spremljanja raSunalnika v realnem čaeu v te-lefonaki oentrali SI ŽOOO. . ifi'ili TIMU HONITORIliG OF COMPVTEF SXSTBf'fS - Pke paper deearihee in general real time external and internal monitoring of ootnputer eyatem. External monitoring ia perforrned by Uae of other monitor computer, uhi oh p.robee the operation of the examined ooiisputer eyatem. Internal monitoring ia performed with huilt-in^ hardware and eofiwave in the examined computer aj/etern. Thie monitoring ie exeouted bi; apportion of cormpter time to the vorking ana monitoring programs. The performing of internal monitoring is illustrated' by monitoring of computer oontrolled telephone exchange Syetem ISKIiA 2000. l^OVOD Razmah računalniških eia te me», ki delujejo v realnem Saeu (take računalnike lahko imenujemo tudi _ sprotni računalniki) Je botroval razvoju orodja, ki omogoča spremljanje (monitoring) materialne, predvee/it pa programske opreme računalniškega aiatema med delovanjem le-tega v realnem èaeu. Sprotni radunalnièki siatemi imajo ooiòajno Vgrajene mehanizme, ki oh detekciji napake avtomatsko sproSiJo obnovitev eiatema, '1'ake ai-steme prištevamo med sisteme, ki so neobSutli-Jivi na napake (fault tolerance), Toda poleg omenjenih mehanizmov, mora imeti tudi operater moSnoet spremljanja in poseganja V delovanje sistema, damen naäega Slanka ni opisati delovanje eiatema neoùSutlJivega na napake, ampak bomo govoriti o spremljanju in poseganju operaterja x> tak sprotni sistem, seveda medtem ko sistem svojo funkcijo v okolju na katerega Je priključen normalno opravlja, '."oko or'O'ìJ^ nmo-goda operaterju oziroma razvijalau programske opretr.e nepoereC.no kontrolo delnvanj" niet.firna v faai razvoja in yozneje nadaor nad nistumom ob lokalnih okvaraft, ki Jih sistem sam ni sposoben odpraviti niti .javiti. 2.SPiie:MJAiiJi: RASU/IALtiHiKin SISl'Li-'OV Zahteve neobSutlJivoBti eiotsma na napake ter moSnoBt spremljanja in poseganja operaterja v sprotni računalniški sintern so aslo o?.ko povs- ^ane. Te zanteve 8o lahko realizirane na dva naäina. iiaSunalnin lahko aam z nekaj dodatne materialne in programB-ke opreme Omogoča operaterju -spremljanje svojega delovanja v realnem oasu, ali pa obstaja poleg osnovnega računalniškega sistema Se neki dodaten spremljevalni ra-SunalniK., ki nadzira delovanje in prav tako omogoSa operaterju opremljanje osnovnega sistema. Govorimo o notranjem in zunanjem apremlja-tiju računalniških sistemov. Za äunanje spremljanje r'ačunalnika Je torej značilno, da imamo poleg osnovnega računalnika (object mashine) ne dodatni rpremljei'alni raču-»alriiri (laonitor maskine), ki Je povezan preko porebnefa povezovrlnega vezja z osnovnim raču-nalniKotii. Spremljevalni računalniki so praviloma mnofio manjši od osnovnega sistema in opravljajo fiinkcijo vzdrževalnega proaeaorja z naborom spremljevalnih funkcij za osnovni sistem, iiazen pega lahKo delujejo kot periferni procesor, komunikacijski procee.or, diagnostični procesor (ne v realnem časiO in kot povezovalna enota 8 centralnim diagnostičnim računalnikom. Zunanje spremljanje' računalniških'sistemov Je običajno uporabljeno pri računalniških siste-'min. Kjer sta zelo pomembni zanesljivost in hitrost, fri sistemiti, kjer si laitko privoščimo uporapo dela računalniškega časa za spremljanje samega računalnika, oD tem da se računalnik še vedno v dovoljenih časovnih, zakasnitvah odziva okolju 3 Katerim komunicira, lahko uvedemo notranje spremljanje, 'fo Je realizirano na principu preklapljanja računalniškega časa med delovnimi programi in programi, ki omogočajo a pi's mlj an j e pa3imalnika. Xg pvogfama bomo KvajSa imanovali epramtjevatni ppoßpami. Pri aunanja« spramtjanju raSunalnika amo napfavot ki jo oinogoóala epramljanje^ imenovali eppaw-Idevalni raäunatmü. pri notmniam pa Jo bome «erouiy.^ìiaZiìa konaota. u ötaHka uomo opioaZi prifiiàp notranjega apventl^anSa računalnika »a Iskrinem imkfetračunatniku 'f^saoc e-poudarkom, na moSno-etifl, ki Jih ima operater. Realiaaoija ngob-čutlJvvoat^ na napake istega raitmalnika ie bila Sa opiaana v Stanku (3), 3.Si>SEULJ£VALM JiO^ZOLA ' Mkroraäunalnik Tke800 J« grajen modularno in Je aaataoljen ia več ploSÖ (CVV, KAM, ROH,,,.}, K\ akupaj B epeoialnimi telefonakimi pioS3amt tvorijo en modul telefonska aentrale SI 2000, Spremljanje radunalnika pa omogoča vhodno/ia~ hodna enota (CHT, T/r) i» dodatno veaja^ ki ee nahaja na poeehni t plošči imenovani ÙSLf. To skupaj imenujemo aprißinljevalna konaola. CSLT ploSäa Je na eni a Srani priključena na aietem-aKo vodilo računalnika na drugi pa na vhod-no/iehodno enoto aprsmljevalne fccnnota^ o»irom na konmolno vodilo. \ Xànag;lno vodilo omogoča opremljanje veeh modulov telefonske óentrale' preKo ine V/I enoie. Proarampka in materialna, oprerà aa \apremljanje raóunalnlica -v realneM ä.ddu ae nahaja v vaeh modulici, skupna Je edind, vhodno/izhodna enota, Moduli ao aeri jeko veaani preko ACIk vmeanikov na V/I enoto. To pomeni, da Vadk poalani enak a V/I enote sprejmejo véi moduli poveaani na konuolno vodilo. Ha poalani anak. %e vedno od" nove samo tisti modul, a katerim Je vspoeSa-vljena pavesava. V đolcf'tSenem trenutku Je vpo~ etaDlJena komunikaaijeka 'pot a aampjenim modulom. Oatali moduli aiaèr apre je maj o oddajane »nake a V/I enote, vendar a e nanje, tie odaivajo. Hitrost prenosa podatkov po konaolneim vodilu Je 300 bitov/aekundo.' 101 RTJN ■ ■ .< ■ * ■ SLIKA S t iBhodno aporoSilo na 7/1 ottoH ops>o»r= IJovatne konaolo po oapoetavitvi poveaavo o me-dutem LOl, i, 1. SPaSMLJS VA LNB PUHKCIJS Spremljevalne fmkoije omogočajo oporatovju spremljanje materialne in progpamoke oprema mo» duta {mikroračunalnikaj Ì7t poseganje t> ievajnjo delovnih programov v modulu. Obe tajata dva vrati aprenljevalnih funkaijt ki tečejo na dvćh rabtičnih nivojih. latoSaono sa lahko isvejata dve spremljevalni fmkoiji in sioar ena na prvem in dfuga na drugem nivoju, S špreiiiljevatnimi funkaijami prvega nivoja apremljamo o si roma a ledimo na veS načinov potok delovanja programov in spreminjanje podatkov na določenih tokaoijah pomnilnika. Te fimkoijo oo vagane nà delovanje CSLf ploiSo in 90 nepooped-no odviane od prekinitev, ki Jih generira pro-kinitveno ve aJe te ploSSe, - Sledenje programa je realiairano e pomočjo veaja na CS IT ptćSSi, ki omogoSa ahranjovanja podatkov B adreanega in podatkomega vodita v posebni e ledi Ini pomnilnik. Prograt^eko Je potrebno nastaviti le uetreane registre CSLT ploSče in na konou iapieati reaulfato Blodenja i a eledilnega pomnilnika, V aleditnom pomnilniku ja proatora aa 120 podatkov a ađ~ reenega in podatkovnega vodila. Ločimo tri vrate in dva načina sledenja programa. Sladimo lahko vse veljavne podatka na obeh vodi" lih, oamo naslove in operaaijako kodo in~ etrukaij ali pa samo naelova in operaaijako PAGE 001 y/i "ÌA- . ■ , 1 1 1 L- -^r —-- ——zia HOffUL S jttODUL n SLXO J: Moduli ao poveäani preko konaolnega vodila a vhodno/iahodno enoto. Veak modul je lahko v dveh faaah delovanja, .7 prvi Je takrat, ko komunikaaijaka pot med modu~ lom in V/I. enoto apremljevalne konzole ni vapo~ stavljena. Modul V tej fasi aamo pričakuje ukaa oa preklop v drugo faeo delovanja. V trenutku ko se komunikaoijaka pot mad modulom in V/l enoto »«poetavi, preide modul v drugo faao delovanja in ispiSe na V/I enoti svojo identifi-kaaijsko osnako in sporočilo o stanju modula (tìUil, ICALT, TilSI,,,,}, Operater lahko Sele seda J uporablja spremljevalne funkoije ea spremljanje poteka delovnih programov, ki tečejo v dotičnem modulu. 30001 410(502 <50003 P000 5 gaßaOft. r00i0A 012 A 00013A M015A C0016A, 00017A amiBA pe0i9A mezzA 00»21A m&22K MtiSSA 00024 ft cmz?.- TOTAL FHEOHS 00000 EXAKPLJJ « 312a a. ht;moer .tvjii 4e00 8e 40? 0 a' begin ldb 42«3 4f 1 clüa 4304 5f loon c leb 42 b5 cd 612a A ldx «riemohy 4208 a7. 00 ■a 100p2 st a a 0,x 4 20 A 37 ps315 420 h c6 413 a lbab H'f. 420 d ì7 612a a, stab mwohy 4210 STI 0C 4211? bs? OUT 4212 33. puh, 4213 08 in il 4214 5g incb 4215 Cl 03 a cm?b 4217 se FF 420ß BMS loops 4219 8k 4 if. S A IBS /^htfiđ 421C £0 4204 bra loopl 01 out mop 421? 59 bt 3 md SLIKA 31 Delovni program na kataram a o biti narejeni podani primeri apremtjevatnih fvnkoij. kode akoSnih iMtrukaiJ UUP» BSA^ JSR^ STS,..,). Sladimo na dva naSina in tioar IIS podatkov p fed prekini tvanim m»atom aH pa 1S8 podatkov po prekini tvenem ineetu. Po »akijui!-ku al0denja as rezultati eledenja iapiSejo na V/l enoti. V kolikor je bila poveaava à dotičnim modulom prekinjena, ali Se te9e v modulu fwtkaija drugega nivoja» «• naetavi uetreana aaatavioa, ki povuroBi ob ponovnt v»poatavitvi komvnikaaijeke poti a modulom ali ob aakUvòku funkaije drugega mvoja, va~ pia aporoSila »a V/I enoti, da eo v eUdtln«™ pomilniku Se pripravljeni reaultati e ladanja. .lJena, prepišejo is vmesnega pomniInika na V/T enoto aprem- T! ^ M 6)0 BE 41? M 42 IJevalne konaola,. EC 4FIT 12 CB 4212 33 4213 fie .1 4f) m C12C 4.H1Ì' 45 08 4208 A7 ■ M. 06) m 512A éZiìV. Kf m SIiTJCA i! Sledenje zadnjih liS veljavnih podatkov na obeh vodilih do prekini tvenega meeta, Izpiaanih je aamo aadnjih 14 podatkov, V sadnji vratioi ao iapiaana Se vaebine registrov mi-kroprooeaorja na prekinitvanem mestu. . 14 42115 15 iSlf 16 4213 17 4 K13 IB 4214 5C le 4215 C1 lA . 4217 25 IB 4205 A 7 IC 420A 57 in 420B C6 SUKA Si Sledenje naslovov in operaoijakih kod 128 inetrukoij od prekinitvenega m^ata naprej. Ha aliki je zadnjih 30 podatkov. 8LIJCA Pogojno sledenje podatka na naslovu ' s812A, 9 prehodov preko.prekinitvenega mesta, br«» pogojev in na-kaenitve sledenja ter a iepieom podatka na naalovu a 6 ISA, - funkoija sledenja programa po posameznih in-strukaijah ne omogoäa delovanje raSunalnika v realnem 3asu. . Uporablja «e lahko eamo takrat, ko ao delovni programi v neki todki prekinjeni. Omogoda nam, da isvedmo eamo «no ali ve3 naslednjih inetrukoij delovnega programa. Na V/X enoti epremljevalne konzole se ispi Se naalov in operaoijska koda izvedene inetrukoije, vsebina regietrov mikroprooeaor-Ja po izvedbi instrukoij« in nastavljeni podatki. 15 Ar DR CODS C 8 A X PC SP 612A 42 lE m Dl 46 612G 42ir 4CEÜ 45 421P 39 Dl 45 m 612C 4212 4CT3T 15 4212 33 ti 02 m C1.2C 4213 45 4213 m BI 612D 4214 4Cy.21 ■ 45 4214 5C Dl iti 3 m 612D 4215 4CFK 45 4215 Cl D4 S12D 4217 4C?0 45 4217 2e Di 03 00 B12D 4219 4070 45 é219 3E D0 03 612D 421C 45 421C 20 D0 03 äß c;i£D 4204 4FF0 45 4E04 Sf 1)4 »0 01." 4205 4FF0 46 4205 CE D0 00 612A 42fìS 4TF0 45 4208 A7 D4 m ßl2A 420A 4FF0 ßß 420 fi 37 D4 03 S12 A 420B m 42011 ce BP 45 00 512A 420D 4JrF.F S3 <1200 T7 D0 45 Pip Ö12A 4210 4FRF 45 A DDR GODÌI G B A X PC SP 312A 421« eß 00 45 m 612A 421E 4FED 45 42111 ei IQ> 00 612A' 421T 4FED 45 421F ■39 45 e0 612A 4212 4 FE? 45 4212 33 ■nß 03 ßl2A 4213 45 4213 «e Dfl M 612D 4214 4 FF (; 45 4214 te D0 01 m 612D 4215 ÌFFf! 45 SiJJiA ?.. ukas aa sledenje programa po posameznih tnetrukaijah definira isvajanje naslednjih SI inetrukoij delovnega programa, nakar aede-lovni program aopet prekine. Spremlje-oalne fwikoije drvtgtga nivoja ve&inoma prav tak« ne ovit-ajo delovanja računalnika v realnem času. OmoaoSajo nam: - nastavitev pogojev za funkoijo poycjneya blodenja toSke programa ali pcdaika^ - nastavitev nae lovov podatkov aa fimkoiji pogojnega eledenja toäka programa ali podatka in aa sledenje programa po poaameanih in-strukoijah, - nastavitev aakaenitve eledenja, ~ iapia/apremembđ pomnilne lokaoije, - iapia vsebine pomnilnika, vmesnega pomnitika ali ale di Inega pomnilnika, - iapia simbola spremljevalne funkcije prvega nivoja, ki je v teku. Poleg teh obstajajo Se apremljevalne funkcije drugega nivoja, ki ne omogočajo delovanja računalnika v realnem öaeu, Oporabljajo ae lahko te takrat, ko ee delovni programi ne izvajajo. 3, li. POS E3 HA VHODU A SPOROČILA Ko je a modulom vzpoe tavljtina poveaava, ae ta o'daove v vsakem trenutku na poeebno vflodno epo-ro3ilo. Posebno vhodno aporoi^ilo predatnvlja en kontrolni anak in ima viSjo prioriteto kot apremljevalne funkcije /^rugena nivoja, ki jih vedno p re kin«. Ta vhodna sporočila nam omogočajo prekinitev poveaave s modulom, reatart modula, prekinitev iavajanja apremljevalne funk-aije prvega nivoja, ki je v teku ter ustavitev in ponovni etart delovnih programov. H.MAn^iilALf/A OPi{fMA CSLT ploSSa omogoča povezavo med V/I enoto in računalnikom ter spremljanje oairoma sledenje programov, ki tečejo v računalniku. VaSnejSi de U: - prekinitveno (break point) veaje. Generira prekinitev (TRAP 0), ko se pojavi na adreenem vodilu enak naalov kot je-v prekinitvenem regia tru. - sledilni pomnilnik velikosti 3xlä8 slogov. Vanj ee ehvanjujejo rezultati eledenja. - itevni sia tem aa naslavljanje sledilnega pomeni Inika - analiaator operaoijakih kod, ki omogoča shra-ujevanje določenih podatkov v sledilni pom, ni Inik, " V24 vmesnik a ACTA veajem aa komunikacijo a • V/I enoto. Prekinitvena aahteva ACIA veaja, ki ee generira ea vsak sprejeti in oddani anak, je veaana na paet TRAP 2. Sledenje programa je omogočeno tako, da ee med izvajanjem programa aapieuje Vsebina adresnoga in podatkovnega vodila neposredno brez sodelovanja procesorja v aledilni pomnilnik. Delovanje računalnika ni moteno. Po končanem sledenju ae lanko vaebina sledilnega pomnilnika prečita. Obstajajo naslednje rioSnosti eledenja: - eledenja programa do prekinitvenog a (break point) naslova - a ledenje programa od prekinitvenega naelova - sledenje oìkIov na prekinitvenem naolovu - iskanje neobstoječih operaci jakih kod, ìfri sledenju do prokinitvenega naalova se vsebina adresnega in podatkovnega vodila shranjuje v sledilni pomnilnik dokler program ne naleti nä prekinitveni naslov. Pri sledenju od preki- CHT SLIKA B: Blodna shema CSLT ploSča, ki je na eni strani priključena na sistemsko vodilo računalnika, na drugi pa na konaolno vodilo. nitvenega naslova ae sledenje starta, ko program naleti na prekinitveni naslov in se prekine, ko je sledilni pomnilnik poln. Ločimo tri vrste sledenja - sledenja vaeh veljavnih podatkov vključno a DMA oikli na obeh vodilih, - eledenja samo operaci jakih kod ükaaov, - sledenje samo operacijskih kod okočnih uJia-zov. S.PitOCRAMälCA OPRfM Omenili smo Be, da Je notranje spremljanja računalnika v realnem času realiairano na prinai-pu preKlapljanja računalniškega časa med delovnimi in Hpremljevalnimi programi, ftpremtjeval-ne programe torej iavaja isti procesov kot as-lovne, zato le-ti zahtevajo svoj del apomina (mu in SAti> v samem mikroračunalniku, V bistvu so spremljevalni programi aerviane rutino ca TfFekiniti>9 TMPO i» THAPl^ ki jih g«n«HrcL CSLT fioBSa. Dodeljevanja radunalniSkega iaaa epftmljavatnim in delovnim programom v modulu J« gaanovatio na osnovi prekinitev, ki jih generira ACIA apram-tjevaln« konaola. Pri hitroati 300 bitov/ee-kundo aa prekini ganerirajo, ob oddajanju anakov na V/I enotopribliSno veakih 33ine. V 33m» am«jo epramljevalni programi uporabiti aa evoje invajanje najveä Ime raBunalniBkega 3asa. Z vhodno/iahodno enoto epremljavatne konaota komuniairajo aamo apremljavatni programi. Delovni programi bi ,naäaloma lahko komuniairali preko taatne V/I enote, vendar je" V telefonakih oantralah na potrebujejo. Jedro epramljavalnéga programa opravlja naaled~ nje naloge/ prek lapIJa■modul v poaamaanfi fate delovanja in Jih iniaialieira, omoffoSa dodeljevanje raSunalniSkega Saea spremljevalnim in delovnim programom, iepiauje iahodna eporo/fila o a tan j u modula, eprejema vhodna. eporoSila, iSJ« naalooa spremljevalnfh funkcij v ukaani tabeli in omogoSa nadzor nad njihovim iavajanjem, Vaak modul Je lahko, '.v dveh faaah delovanja, V prvi fa»i je takrat, ko komunikaoijaka pot med modulom in V/I enoto'' epramljavalna konaola ni vepoBtavljena, V tem primeru je ACI,A apramlje-valna konzole progrofnirana tako, da^Je omogoSa-na eamo aprojemna " prekinitev (ratep bacauee every poii(iT close to ,an L-vertax has approximately the aéma number of neighbour excited cella» The procedure for extracting ferticea ia an follpwe: 1. Compute the deneity dj for th# outlina image and aaaign where L is number of bit-planes in which the denaity ia stored• (Notice tha^ this atap is very fast thanke to the parallel procesor.) ?. Asalgn e-.'i 3> Save cella with density equal to £ in a bit-plane A . If the bit-plane A is empty , go to 2. 41 In the bit-plane A remove those excited cells which lie in surroundings of already found vertices. 9. If the bit-plane A does not contain en edge, consider the cells in, A aa new vertices, add them to already found verticee and go to 2. 6« Smooth tha found vertices* 7> Create circles around the found vertices and computa the density dj^ for those cells of th« outlina image which lie inside these circles* Find nore praciae position of each vertex so that the new position of a vertex Is a cell with maximal value of the density (computed separately for each vertex)* The algorithm for extracting verttoea and edgea from an outline image is quite aim-pie and reliable aa many axperimenta have verified. 4. Ex ampi« The entire algorithm for extracting vertices end edges from a grey-level picture has been implemented on a CLIP emulator written in FORTRAN. As bit-plenea are treated in.parallel, the time for entire treatment is not dependant on the sisa of bit-planee. The described method for decomposition is, to a considerable extend, independant on complexity of a given scene (i.e. number of vertices and edges K Experimente have revealed that tha processor CLIP neede about 8000 inatructioni» for dacompoeition of a scene with about 8 to 19 vertices and 6 to 15 edgea. The hardware' OLIP-4 CO with about 10 ^e per an inatruc-» tlon would consume about BO me which ia enor-moualy short time for the primitivaa extraction. Fig, 3 shows a process of the decompoal-tion of a simple scene created by single prian. Discuaaion of this example follows. ^.Concluaion Parallel approach represents fundamental turn in image processing. I^rga speed of processing, independence on sise of bit-planea and only slight dependence on complexity of a ecene rpeak clearly for the parallel approach. On the other hand, detailed analysis of the method and evaluating many experiments has ra-véeled noma negative festiirea which"either have general character or ere typical just for the parallel approach. W« discuss tha most ' important onesi 1. The greatest and eeeentially unremovable disadvantage is both the laclc of information of one or more edges and too large noise In a grey-level picture (see Fig. 3a). It ia brought ebout partly by lighting, inaensi-bility of a camera or by the digltallzation. But human aye is able without problema to perceive a given scene with a larga noiae. Human being, however, uses visual receptors together with his brain and, for creating a repraaen- 40 ujiTvuMri'cur.-i-x»-^*«-irsci\'<»'t~u> ■HOXnqSvt^ irw t-mcvCMO -^fin f-t ID00voiniTi mOO co pg r-T^rf oi^ ffirt - J R o p o ft o m 'ggggg^- Ol t-t^ r-UMTMIN «j-ir-^n vOt-^OiÖlTilTi^r'l t-voi/MAifN w VO VO aM(Mt\M (M «J-^irMrf-^rMN nmrt (r.\ö -tnAnro cj tM M.' UMTMT» W CJ tVI «H rtrt rt «J O •H O. « I rt I i 11 m imiiniiii iiiimimii 11 11 1 i 1 1 1 1 1 1 i 1 1 1 1 1 1 11 11 e) «xtrected odge* 1 A / t) r«presentatIon of the actn« Pig. 3. An «ampi« of «xtröctln« vertices and edgea fro« a grey-Isvel picture. Cella with value O are depicted aa spscea. Numbers in Fig. «,b) are hexadeeinal, i.e. A, B, F mean lO, 11» 1? . doale of all figures Ìa tatlon of B percal«d eoene, he also raali-s«B a faad-baek loop. Kot evan the moat perfect algorithn for decoropoaition of a Rrey-level picture la able to extract thoaa edpea which It haa no information of. An error in extracted data must be discovered by the aeene analyaia (Fig.D* Walta'n Blgorithm for acene analyaia [4] itself fails for unaufficient data without lOea-ting an error. An ialgorithm, extending Walts'a method, which la able not only to locate an error but alao to complete an outline image by mlnsing edgea t5) haa been developed. It ie desirable to verify the added edges by a feed-back loop ao that the algorithm of de-eompoaition ie recalled - either for the aalne grey-level picture (with concentrating on an area of added edgea) - or for a new grey-level picture which arlaea front digitalizing the aame acene, but lighted from the other aide than the firat anapè J» Z. The implemented algorithm for extrae-ting an outline image haa ita weak placet removing a noise. The aijgorlthm aaauaea that a fane of a rcene haa approximately I the aame magnitude of greyneVa* txperimenta, however, I ' confirmed that reality does not agree with that assumption* 3. The aaaignment'pf an outlipe image from a gradient is not also convenient in many caaes. The outline image is fjormed by thoee cella which have iheir gradient bigger than a threshold (which; is conatant for all scenes). Detailed analyaia, however, demon-atratea that thia threshold should be changed «van for different linea of the aama image. It la not solved so far how to do It. 4. Architecture of parallel processor CLIP itaelf is not without commenls. Parallel processor ia aultabla in the first atepa of algorithm, when an input Image is proceaaed aa one unit. The more we reach the result of proceaslng, the more sequential character tha proeeaaing has. During these final steps, tha parallel processor treats only aome small part of blt-planea and it sequentially per-forma approximately the same procedure for all the verticea, all the simple objects etc. It would be the best to construct e aequential--parallel processor which could treat blt-pla-nea or similar formations both in parallel and In sequential manner. Referencea W Bniha.I.i One method of searching verticea and edgea by CLIP parallel processing, MIP-F-121, Machine Intel. Research Unit, Edinburgh University, 1977. [2j Duff,M.J.B., Watson,D.M.> A parallel computer for array processing. Inform. Pro-cet^aing, Holland, 1974. (3j Brftha.l.t Decompooition of outline imagea by means of parallel processor CUP. (In Ceech). Automatlzace 3NTL Praha,11, 1979, Walti,D.L.t Generating semantic deacrip-tlona from drawings of scenes with aha-dojwB. MIT, Al-TH-271, 197S. [9] Brùha,I,, WoBka,J,t Iiocating errors in an outline image representing a scene with polygona. (In Czech). Automatlaace 3NTL Praha, 1982. f6] BrOha.I.i Some e^eriences with the CIXP parallel processing used for the picture deeompoeition. Int Informatica 78, Bleđ, XIII. yugoRlav Interni. Symp. on Infom. Processing, 197«. ETHERWET-LO PRfHODNOSTI ALISIA MREŽA Rfl. KOVACEVIC, D. PEČ E K, 3. KASTE Lie, R. iVJURW UDK: 681.324 (SKRA DELTA, LJUBLJANA tWSTlTUT JOŽEF STEFAN, LJUBLJANA PoTJezaii ali. ne? To danes ni vaS vpraSanje, paS na potesba. VpraSanje je U kako? PviöujoSi ae-Biavek ho prikazal laetnoati lokalne mreSa imanovana EfHERSET, kaiepa razvoj kaSa na to, da bo postala Btandard. STHERSET - To aonneot or not to oonneot? It's no more th« queation naiìaydaya it's a neaeeeity. Sua the question ataye. Hou? Ths paper will a/iou. the aharaetarie tiae, featurae and faoilitiee of the loaal net - ETHERSET -, that has all the ohaneea to beoome atandard. UVOD Oeaet tet minilo odkar ao ae prviS pojavili nrCkroproaeaorJi, Oprema in naprava a ndkrofa-' àunalniSko podporo bo poetale eeetavni del H-vljenja drSaD razvitega aahoda in Japonake, fla-^ Vedimo V iluatraaiio da ja a amo aneriSki trg aa terminate_ v letu 1973 prodal 3, 3 li koeov in da V letu. 1984 pričakujejo prodajo 7.6 H koaov. TakSna gradina sama po eebi narekuje gradnjo moSnih komunikaoiJakih poveaav. Tako globalnih-kot lokalnih. V Stanku bomo prikasali reSitov problema lokalnih mreS, ki poveeujeo mad aeboj elemente o nekem sakljuSenem okolju kot e o na-primer poslovna atavba, tovarna, inatiiuoijat, etc. Oo danaSnJega dne Je, bilo vloSenih le preooj naporov aa otandardiaaaijo lokalnih mrei. Ena prvih pobud Je priBla a gtrani mednarodne orga-niaaaije za standarde(ISO), Odbor IEEE Ja ia-delal vrato priporodil aa atandardisaoijo arki-tekture, topologije, pranoane tehnologije in doatopa, ki ao znana pod imenom PROJECT BOS. Toda oanovni pogoj da neka ideja - predlog poetane standard, eo potrjeni teg ti v realnem ave tu, izvedba mora biti enostavna in uHvati mora podporo večine proizvajalaev. Prvi korak v resničnem razvoju in implamantaoi-Ji lokalnih mrei ao atorila tri tvrdke: DEC, XEROX in IlilTEl. XEROX Je izdelal oenovni prototip mre Se in Ji dal ime EThERUET, DEC je razvil oeloten aiatem povezovanja e poeebnim pov-darkom na prenoanih vezjih, 11/TEl pa je izdelal in realiziral projekt implementacije kompleksnih krmilnih in povezovalnih funkaij s mikrora-äimalniSko tehnologijo in VLSI komponentami. Združeno delo teh treh proizvajalaev predstavlja e lektriSne, logična in protokolske apeoi-fikaaije mreSe ETHEFIVET na dveh najniijiti nivojih. S^o a ta linijski in fiziJni nivo. V uvodu navedimo nekatere najbolj osnovna BtnOBti mreže ETHERNET, - enostavna izvedba - zanesljivost - fleksibilnost naslavljanja - velika prenosna hitrost - majhna zakasnitev - enostavno vzdrževanje - isJioristek mreMe je 90 oda toten la- 1. ETHERNET - arhitektura Arhitaktumi model mraSe je zasnovan na vrati vtaaanikova ki ea raalikujejo od tistihj, ki jih sroSitJemo pri dàjanaki raalizaeiji s eHke 1. Vmesniki dojanake realizacija morajo ustrezati sahtevam kompatibilnosti. Za^^o ja odgovoren prodvaam zadnji,, naJniSji nivo - sloj, fiaiöni nivo, ki vaebvje dva pomembna vmesnika: ntika 1, a J Vintanik koaksialnega kabla Komunikacije v mreSi aahtevajo atfogo upoštevanje kompatibilnoati imeanika koaksialnega kabla 0 aignali in fiaikalnimi laetnoetni kabla, b) Oddajno appejemni vmeanik i^ečina poataj u mre li bo loaii'ana V vaSji ali manjäi oddaljenosti od pi>iklju3ka na koaksialni kabel, tlinimalna matepialna opfema, oddajno sprejemni vmesnik, je loairana ob samem kablu, ostali del materialne oprarne (ktmilna veaja), pa V sami poiibaji. VeiS ptaama arhitektiiìvx QLavni poudarek v arhitekturi üTJ/t'iii/iiT Je na dveh cenovnih plav teh - nivojih linija ki nivo (DAÌ'A LIìiK LAÌHHÌ ni fiaiöni nivo (PHISICAL LAitH}, Vsi viSJi■nivoji, ki komuni-oivajo a linijskim nivojen, ao oinaäeni kot plaat - nivo odjemalcev (CLIi:«!' LAYfH). Slika 8. prikazuje veSplaatno strukturo mraSe, frikaaane plaati komunicirajo preko definiranih vmeenikov. Vmeanik med plastjo odjemaloev in linijsko plastjo omogoäa poSiljanje in apre-jemanje paketov ob eaaotavljanju a tatuanih informacij, ki jih uporabljajo procedure ta obnovo v višjih plasteh. Vmeanik med lini jako plaatjo in fiaiöno plastjo pa ovrednoti signale, ki ao potrebni sa ini-oialieaoijo oddaje- eprejema paketa, detakoijo koliaij na, vodilu, realiaira pa tudi čakalno funkoijo ea aadoatitav iSas ovnih aahtev. Priprava podntkov aa oddajo I Prf"rni}a podatkov ■4fi (irrVM'em linijnki nivo llrv.ieì't»-'!^ odda:inß povi^^ava I Ufßjet'iTnjß tiprejt^mnß povfmnve Vmnnnik frp.i'^ni nivo Uporahnii^ki nivo Vmeanik Linijski nivo Vmeitm'k Kodiran; BO O:. fri podatkov ìdfzjo \ ! Poaeo 1 /odd nc> kanalu 3.W Dekodiranje nprejetih podatkov I Pon(!(7 po kannlu /sprejem/ Slika S. J,1 Linijska plaot linijnka plaat Je definirana tako, da kar najbolj uatreaa apeaifikaoijain, ki eo podane V ISO modelu. Pripadata ji dve oanovni funkoi- Ji i - formiranje podatkovnih paketov - kontrola posega po prenoanam mediju Slika 3. podrobneje raalaga obe oanovni funkciji. Linijska plaat aayotavlja povezovanje dveh ati veS plaati viSJe^ja nivoja, ki Sele komuni-oirati med seboj. Sa ta naSin ustvarjena' ave-»a aa imenuje podatkovna aveaa (data link). Materialna programeka oprema, ki realizira to po-vaaavo ae imenuje krmilnik linijske poveaave (data link aontroller), pavesava pa eaiia fiiiS-no ateSe preko fiaiòne plaati, ki jo imenujemo fiaiSni. kanal (phyaioal channel). l,-3 Fi si Sna plaat Xf>n!:nialni l>0't mika 3. FiaiSno plaat predstavlja tako imenovani fisiä-ni kanal a kapaci te to 10 W bi tov/aea in Je prikIJ uäen na koaksialni kabel. Ha nivoju te plaati ao specificirana va» pomembne finikalno - logiSne karakteristike mreSe, kot no napri-merr kodiranje podatkov, ffaaovni poteki, nape-toatni nivoji, e ta. Podobno kot Hnijeka plaat ima tudi fiaidna plaat dve oanovni funkciji, ki ae neposredno veSeta na funkciji linijake plaati i - prelitje formiranih podatkovnih paketov v impulse in dodajanje uvodnih bitov - detekcija ùtanja kanala in poaredovanje parametrov linijakemu nivoju. 2,3 Punkoionalni modal mveie ä^KOlI'iUSKI POSTOPKI Opia pridnima « prtiđpoatavko da jo ia uporabniškega nivoja priSla aahtava ca oddajo pakaia. Zahteva je poéradovana linijski plaatit Na oe~ novi dobljenih podatkov ae formifa paketi ki ja dopolnjen o uvodntfcti biti, ki atuSijo aa dstak-aijo napak. Pokat ^otam ppeida tf dfUff dsl pla-9 ti, ki ima nalogo, poveeovanja in ki kontPoliea dostop do kanala. . 7o pomeni; iaogniti ea oddajanju pake tat Se jfl kanal aaeodon. Ta funkoija ja paoli sirana a otipavanj am linije CAßHIEü SfHSS. Kakor hitro je kanal proat^ ataSe oddajanja pakata. Linijska plaet poB.ilja eaporedje bitov fiaiSni piasti, ia pa poBlje formirane signale u koaksialni kabel. Vas 9aa oddajo ta-Se preverjanje signalne linije (ooliaion da-teoti, lia sprejemni strani sa aprejamnik e pomoòjo uvodnih bitov paketa einhronieira a oddajnikom, aprejati paket se dekodira in pretvori v linearna obliko in posreduje linijski plasti. Fa proaee kontinuirana «eda, dokler Je linija CAS" flJi'Ä i'ijVđi' aktivirana. Đe akti vi ran j a linija poVzroSi pregled oiiljnega naslova paketa in Sa ta uatreaa, aa ta posreduje plaati odjamàloev, VkljuSno e statusnimi informaoijami, ki oo ga-nsrirane »a oanovi kontrolnih bitov paketa. Koli ai ja v mreSi naatopii So voS postaj pgiaku-3a ietoSaano oddajati paketa, l^aka pootajß ima niolnoat detekcija koHoija v eaiaoia DeSctku oddajanja paketa (koUaijsko okno), (Pooteja saSne a oddajanjem. Zaradi konäna hièroeti Širjenja siffnalov po «radi, etora aadotok oddajnega paketa doaaSi najbolj oddaljeno poonajo/, da je le - ta informirana a oasedenocti kanala. Oaa, ki poteSa od aaSetka oddajanja pakaM do tranutka, ko najbolj oddaljene postaja ta pakoi pridne aprejemati, aa imonuje minimalno UoH-aijeko okno. J Se BOiöetek oddanega paketa yspeS-no preide koli sijeko okno, poataja predpostavlja, da je aaaadla kanal. Nadaljnje koliaija eo prepredene, ker vsaka poetaja čuti, da jo kanal aasaden, / primeru kolizije komponenta fiaikalne plasti detektira interferanoo na ' vodilu in aktivira koliaijski signal, obenem pa vsili Vodilu dolo-Seno aaporadja bitov, le - ti aagotovijo, da detektirajo kolizijo vse postaje. Oddajanja oe ustavi, iebere aa nakljuBni Saa čakanja sa ponovni poiskua oddaje pakata. Biti ki Ù0 rezultat kolizije ee sprejmojo in detektirajo enako kot veljavni biti, Koliaija ne aktivira koliaijskega detekoijskega aignala na sprejemni strani. Paketi sprejeti v pogojih koliaija ge loöijo od veljavnih paketov v lini jùki plasti. Fonavi jalno ves j e .J. m ir Ti — U) l J T Slika 4. e, Aphitaktupa mreSn in njena omejitve s fi-aiSneya nitìoéa POS'l'AJA - Terminalno appejamno/oddajno meato, ki ff al Jih) iiTlii!l<,ìli:T povüSe v aaloto. t-laksimal' no itevi lo poataj je omajano na 10 24. StlGMBUT - j0 pravilno aaktjuöen koaksialni bel, makaimalna dotSine .&00 m. ka- POHAVUALHO VH'iJS - je meenik, e pomočjo kata-pega paaSirimo oba.eg topologije- apele, vandap Bta lanko med dvema poljuLinima postajama najveS dva vmeenika, l^JiHNOSiU KABUL - Je ppikljuäek, ki vadi od postaje do koaksialnega kabla in Je lahko dolg največ 60 m, FONAVLJALHO VEZJE Zk OUDACJUflO POVilZAVO - Je veaja, ki omogoča povezati dva ralativno ppeaej oddaljena dela ntpeSe, vendap najve3 do raađalje 1000 m. ■iak Ijuòek' Ob eakljuSku ppikaaa lokalne mreSe KTULHtiKf na~ vedimo laotnoati, ki kapaktariaipajo mre So, tako poaitivne, kot negativne. a) t>oaitivna - anoutavnoBf - Vai eletnenti, ki bi lahko ka-kopkoH komplioiral lastnosti mpeSe in njihovo implementaoijo so inklJuSeni, ■ - niaka oena - Nanehno uniSevdnJe o«n po-etaj ftepminalov, ata. ) mora vplivati tudi na eniSevanje aene aa same poveaave, - kompatibilnoBt - Katerakoli implementaoija mreže omogoSa iamenjava podatkov na nivoju linijske piasti, - fleksibilnost naslavljanja - Mehaniaan naslavljanja (v Slanku ni ppikaaan aaradi HoenS-mh pogojttv omogoSa naslavljanje poaameanih objektov, akupina objektov, ali pa vseh objektov, ki bo povcaani v mpe&o). . - enakopravnost - Vai objekti mpeäa imajo v povppedju enakopraven dostop do nrrsJđ. - napredek ~ JCatepikoli objekt u mreäi, ki deluje v skladu e ppotokolidn to mora), na more ppepreöiti napredka drugih- objektov, - velika prenosna hitrost - Po mreäi aa prenašajo podatki a hitrostjo 10 M bitov oec, - kraika i^uiLnltia doba - stabilnost - UraXa je stabilna tudi v primeru maksimalne nbfemenittit! - vadrSavanjo - Kons iritkoija mreie omogoSa mnoäioo postopkov na vttdrSd vanje in planiranje mreže. - veSplaatna arhit^iKtura - Katerikoli naSrt mraSa mora biti opeoifioiran u smislu večplastne arhitekture, tako, da so logiSni pogledi in raamiSljanJa loöeni na dva nivojat linijski nivo in fiai-öni nivo. trenutku iàhko' prenaSamO 'paket po mre H 9 <^0 v eni -.emeri. Uvoamerni prenos je realiziran v arnisiu hitrih iamenjav paketov, ne pa kot ,,full duplex ". - kontrola napak - Indikaoija napak je omejena na naùlednje tipe t - odkrivanje napak poaameanih bitov paketa v kanalu, - odkrivanje napak sara- di koliaij. Odkrivanje tn ukrepanje v primepu 'katerihkoli drugih napak je prepuSöeno vi S jim nivojem arhitekture (plas ti odjemaloev), - varnost - Protokol podatkovne poveaave ne predvideva moinoeti so kodiranje podatkov V am iglu varnosti. Se Selimo varen prenoa V tem aminlu. Je to potrebno stopiti V plasti odjemaloev. - fleksibilnost prenosne hitrosti - V mreH Je možna' samo ena prenosna hitrost - 10 U bit/eeo. - prioriteta - Poa tajam V mreii ni moSno pped~ pisati vaaliSnih prioritet, - kvarni uporabnik - Mreia aama ni savarovana pred poaegi t.i. kvarnih uporabnikov na nivoju podatkovne plaati. SPfiEm BSSFDA Namen Slanka je bil seananiti bralaa a maloe bolj podrobnimi prijemi pri realiaaoiji danes ie popularne mreSa ETHIÌliUE'ì, ki vabuja veliko aanimanja pri vaeh potencialnih odjemaloih. Vse kasa, da bo postala svatovno priunan standard sa lokalne mreže. In kakSen Je fiaiSni iagled bistva mreSe, t. j., kakSna Je fiaiSna forma venij, ki reali-airajo funkcije a akioo 1? To eta dve dvostransko tiskani veaji, velikoati dvojnega evropskega formata. Že v letoSJem letu pa tvrdka ■ INTBL .najavlja novo VLSI integrirano vsaja .i'MtJWr COU'VHÖLLER, a paavojno oanako B2VXDX, ki bo adPuSevala tako rekoö vae funkoi-Je a alike 1, .. Literaturat CJìAU.C. ,VAF'f E.A. ,.P!iACTICAL CONSIV^MTIOHS IH LOCAL INfilHUATIONAL CONFUHKNCH OH S^STllM SCIENCES, JANUAR 19S0, HAU AH. " ì)SU OC H J,F.,HUPP J.A,,,MEA S VRED PERFORMANCE OF AH EÌ'UERHKT LOCAL HEIVORK". LOCAL ASHA' COUU~ iilCHnOMS HE'iVORK SÌUPOHIUM. HAJ 187B, B 0-äTO/f. S) Miri'CALft: R.N., BOGOS D, R,, .ETHERNET; DISTRI-SUITED PACKEU SyiTCUIMO FOR LOCAL COMPUTER flE-'iWORKS ".COMUtlA'IIÙNS OF THE ACM 19 7, JULIJ 1976, 4) pua LIKACIJA TVRDUe INfEL! ,,THE ETHERNET" VERSION 1,0 SEP f EMS ER, 1980. b ìtlegativne. - Operaoija ,,full dupUx " - v kat,■>rem koli ON AN [ M P L E iVi E N T A T O O N OF THE POP - 2 LÄNGUÄG UDK: ©81.3,0.6 POP-2:519.682 FACULTY OF ELECTRICAL ENGiWEERIWG ĆVUT ?RAHA, CZECHOSLOVAKIA Probleme of one implementation of the P0P»2 programmine languag® for the PDP-11 computerà aro presented, SBpecially the representation of data structures and tho way of compiling. Representation of POP-2 data etructuren hae been solvQfl together with propoBBl of the garbage collector in order to utilize the heap as much as possible,. It is shown how poP-2 functions and statemente are compiled» The PLP-11 inotructiono puch ae MOV , JS? , JOT , CMP , BNE , BEQ , TRAP etc. are direct uaed in the functioa body. The paper coneludee by comparing three known Implementatione of POp-a/PDP-ll, namely one from Prague, the others from Greet Britain® 1. Introduction The purpose of thia paper 1b to reveal the problems relating to a concrete implementation of the POP-2 programming language for the computers PDP-11« The reader is supposed to be in general familiar with the notion of data structures. Therefore, wc will not concern ourselves in theoretical aapects but will get acquainted with the probleme of a concrete implementation of data atructurea. The reader need not know nearly anything about the POP-2 language. Notice only that POP-2 was developed as a powerful language for non-numerical applications and Artificial Intelligence at Edinburgh University in 1969-70. Because of better comprehension, notice that the pnp-2 language is stack-oriented. It upee two stacks: - the system stack, where the system itself stores informati on such as return addreasea, current values of locals of functions etc., - the uaer stack, where s user pushes values of variablesj this stack is also utilized for passing values to formala of functions and for inserting results of functions. The POP-2 language for PDP-11 is implemented as a compilerò Tn additional, POP-2 is a conversational language allowing the user to communicate with his program and vice versa. For that reason, the compiler ae well as com»' piled funetione must be stored in the core when the system is running. The core is divided into - the syatem and user stacks, - the POP-2 aystom itself (lexical and syntax analysers, standard functions, garbage collector etc.)» - the heap (user's memory) for storing information about data structures end compiled functions. 2, Data atruetures of tho POP-2 language and thoir representation for PDP -11 2.I. Simple and compound items of the language The objects on which one can operate ond which one can obtain as results are called tens. They are divl'déd into two distinct cleseee: 1) simple items or numbers, which conaiet of integers and reals, 2) compound items or date structures, which consist of records, strips and functions. The POP-2 system must retain informetion not only about components of data structuros, but also about their type, length etc. Beceueo of simple orientation in the memory, this in- formation is stored in & continuous arse of ne-nory, called memory cell. Addraee of the memory cell is the address of Ite first byte. All references to a data structure sr« realized as a pointer to the memory cell which reprepenta the given dfita structure* We must strictly diatinguish the representation of data structures by means of memory cells and that by pointers to memory cells, A data structure as en item stored in the stack or a component of another data structure is represented by £ pointer only. Tn esse of PDP-ll, the information of data structures is stored in words so that the fiddreas of a memory cell is always the address of a word. The right-most bit of any pointer to a data structure is, thus, equal to O . The numbers as the POP-2 items should consequently heve their right-most bits equal to 1 in order to be distinguished from the compound items. Cin the other hsnd, we would futher have to distinguish integere and reals, for which another bit should be necieasary. Moreover, reels must be stored in at least 4 bytes- The above considerations have led to the following representations of the POP-2 items (T-ig. l)t 1) An item is the data structure if its rightmost bit is equal to O , i.e. it is a pointer, 2Ì An item is an integer if its ri^ht-most bit is equal to 1 . The value of the integer itself is placed in the remaining 15'bits (including the sign bit). The extent of pnp-2 integers is thus half in comparison with PPP-11 integers, but this is not any disadvantage because the main purpose of P0P-2 is not treating Integers. 3) Reels are considered as pseudo-data structu- t^ign bit _ (s) lotioooooftfiooolll 11) ^---- binary expression of integer 7 (b)[lOlOOlllOOlOlllOj binary expression of a pointer memory cell" octal expression of an address of a memory cell 123456/ 1234561- rest the value of a real is placed in two words of a memory cell, and the real as the POP-2 item is represented by the pointer to the corresponding memory cell. Data structures and reals are distinguished by,moans of a header of memory cell (see below). Besides the components of a data structure, the memory cell, which represents the given data structure, must contain this futher information: s) number of components, b) size of components, i.e. the number of bits • in which the given component is stored, c) dsta name of the data structure class which the given data structure belongs to, d) type of the data structure, i.e. whether it is a record, strip etc., e) siee of the memory cell, i.e. number of words the cell occupies. Some of the above information is contained in the memory cell implicitly, which depends on the type of the strue tura. The type of data structure and the size of the memory cell must, however, be involved always snd easily accesai-ble, because this information is necessary for the garbage collector. This demand haa led to introducing so-called header of a memory cell. Tt is the first word of the memory cell and contains« 1) key of the memory cell, a) size of the memory cell (1 to 2047 words), 3) CC-bit. utilized by the garbage collector (normally 0 )» see yig. 2. The type of a structure can be assigned either by the key or by the key and alee of the memory cell. 2.2. Pairs and lists Pairs create a standard record class. They are derived from the LISP language. The pair consists of two components, called front and back , each stored in one word t^J*£2}* The pair can't be represented by a memory cell of size 2, as in case of LISP, because each memory cell must have its header. The memory cell (4 key size of cell OC-blt bite) (11 bite) | memory cell Fig. 1. Renresentstion of (a) integers, (b) data structures. I E the addreas ^of the memory cell Fig. 2. Header of a memory cell. 48 [aaiiasgo j nòli faeck Fig. 3« Representation of a pair (0yfikey=in in the system key)o 001176 ayskey ij ......—t 1 pointer to "niJ Pf Flg. 4. Representfition of the list 2 • of & pair has aizo 3, see Pig. 3, Similnrly to LTSP, a list is reprepsnted by a chain of pairs, with the item "nil" at ite 0nd[ front of each pair ia ec^ual to an element of the list, beelc is the linfe to next pair of the chain. An example of lint reprepentation ia at Fif;. 4. 2.3. Words Word of pOP-2 lenfTuage'^^ ia a succession of letters and digita, beginning with a letter, or BÌS31B en * ~ 7 , and Sta length ia at moat 8 > Words of POP-2 mean not only data atructuree but alao identifiere. Therefore, their repr^aen-tation ie rather complicated than in case of pairs. The memory cell of a P0(P-2 word (Jig, 5> contains theae data; 1) value of a variable aaaociated with the given identifier, aT linfe of a dictionary chain, 3) value meaning, 4) type of identifier, 5) nuaiber of charsetera of the word. Word of POP-2 and word of memory ar® two different terme but one can diatinguiah them from context. eize (6 to 9) the number of oharactera (4 bite)c- 'czitas']. value of vnria'M able Txn^ meaning Bl . JL _ . lU -S4---- _ _ i--JSß_ _s__ST^JJ type of Identifier -(12 bita) 1 to e charactöra of ths word Pig, 5, Repreaentation of a word (wdkey=13g). 6) charaeters of the word« NOW Bome coramenta about that s 1. The POP-2 ayptem must have an aceesB to any identifier at any time. That enables so-cellad dictionary, which links all declared identifiers end words into P chains according to their lengths. Therefore, the memory call of a word must contain the link of a dictionary chain, 1.e. pointer to sequent word in the given chain, 2. Bach word can poarea another value, called meaning , which ia similar to p-liata of LTSP'a atoma« 3. Bach identifier obtaina aome syntactic property when it is declared« Thia property with additional information ia atored as the typo of identifier. According to thia typo, the sy-atsm recognizee syntax words, standard idonti-flers, user's identifiors, macros, operations, canceled identifiere etc, 2.4. Record a Paire and words are standard record cIqq-aee. The user haa possibility to introduco hie own record clasreo. A record claaa la ths set of records which have 1) the aame data name, 2) the same number of components and tho components in the given order have the seme eisoa, K.g. the statement recordclaas per {namosO,QSQi7,0QK»l)t ;pei2e of cell = number of record components ■c 2 psäa^l pointer to "per m ■f Ä offset (fi bita) IS-siae of component {4 blta) -position of component (4 bits) Pig. 6« The deecrlptors cell ( s triple ej/=16g) , |recke;^| flffl ZZstiH'pointer to the descriptors coll e bits not utilized aeic (1 bit) Fig. 7. Memory cell of a record of the class per (reckey=17g)« introduca* th» recoil cImb with the dat» nana •pep* , «hoae recorde haTe 3 component» (the 0ÌBa O indieatee thet tha given component ie »torađ in the entire memory word)» 1. eninponent hes size Of called name , 2. 7 age , 3. ^ • When e new record cleee Is introduced, oo-ealled deecriptora cell ia formed) it containB the data name of the record cleee and deecript-ore of all componente. Bach descriptor la eom-poeed - by word offset, of the memory cell where the ^tiven component ia atored, - by eiae of the component, - In case of eise > O alao by the component position, i.e. number of bite on the right aide of the component. The descriptor cell of the above record claoe ia at Fig. 6. The memoir cell of a record containe componente as well as the pointer to the deecrip-tore cell. A record of the claaa per le at Pig. 7. 2.5. Stripe Tf we want to handle itema of the aame else end not to diatinpiiah their aipgle components by different name o, etrlpe ci^n be used. A etrlp claaa ia the aet of atripa which have 1) the asme data name, 2) the aame component.aiae, but their lanp^tha (number of components) can be different. aia© of cell = length of the atrip + 1 I ■wiTninii component 1 1 2. component | 1 1 I n-th component J Fig. 8. Fepreaentation of a full strip of length n (f s!t:ey=l4Q) . a b t 1 ■length of the string size of componente jate nem« number of componente ki X ... i-th component ... not utilieed Pig, 9. Repreaentation of the etring 'go back I ' (pelcey=15g) . Pig. 10. Repraeentation of a otrip ^ cleee tt , lenght 12 (atripkey Two etrip cleaeee are standard in POP-a. The firet la full atripe with component aise O. Their representation ia at Pig. 8. The aecond is etringa with component aiae 6. Their componente are interpreted as ASCII code of eharnc-tera. An example of a etring ie at Pig. 9. The ueer can define hie own atrip claeeee with component aixe > O. E.g. the atatement etripclaae tt;3» introducee the etrlp claea with data name "tt" and component eize 3. Tn contradietinction to recorda» no deecriptore cell ie formed. All information ie retained in memory cella of atripa« Fig, 10 shows the representation of a atrip of claaa tt , length 12. i.6t Functione The P0P-Ž/PDP-11 language ie implemented aa a compiler. POP-2 funetiona are translated into machine code and must be comprehenalbly stored in memory eelle ae racorde and strips. Beriđee the function body, the memory cell for the function containe thie additional information*. 1) The user can, bee idea the function body, at- ' tach a special value fnprope (function proper-tiee) to any function. Fnpropa means the aame situation ae meaning of POP-2 words. Default value ia the function name. Z) To each function there can correspond another function, called updater, which haa the same function namei it doea not aelect but mo-diflee components of. data atructurea. Tha updater le eleo etored in the memory cell. Ite default value ie the dummy function "nil" * 3) The memory cell of a function containe eleo addreeeea of locals end formala of the function. That ie why, the POP-2 function la both m date atructurs (fnpropa, updater) and a control etructure (compiled function body). The shape of their memory celle and the way of compiling functione are deseribsrt in chapter 3* so- 2»7o Other types of memory cella Besidee above typeo of raamory cella, thoro exlat other types of calle, explicitly for re» ferencee (otanđarđ data Ptructura), coEspiled instruct ions, label neniea and their valuas, ■bacictraclcing, buffers for lexical anolyear and bufferà for input/output. This variety of mo-aiory cells brings about that tha garbage collector of the POP-2. eyatem must be rather 00- phiBticHtađ, 3oUay of compiling The memory cell of a function ie created in two etepe. In the first step, the test of the function ia translated into a certain lae-talen^usfie; th» inatructione of the metalanguQ« go are ordered in conformity wfith their proe«-dencee. In the second step, the system con-atruete a memory cell of corresponding aiao according to the number of the metslanguega inotructiona, end fills it by the machine code obtained by translating the metalanguage inat-'ructionco Notice thet the first otep le machina independent, only a code generator must be written for concrete type of the computar. Pig. 11 ahows both the metalanguage in-otructiona end their translation into the PDP-11 assembler► For better underatanding, notic® the use of the registers in the implemented POP-g syatemj r3 contains the ad dress of the memory cell 01° the function which ia being executed, r4 contains PDP-ll'e 1 , i.e. POP-s'o O or false (see representation of POT-2 inte-gefsT, p5 is the user atack pointer, ap is the eyetem etacK pointer® We can see from the shape of compiled atructions that each instruction of the meto-1 engage oc cupi ea two words in the memory call, type of the instruction is in the first word antì usually an address is in the second ocieo Thia order is made possible thanks to tho PDJP-ii" aaaembler. The garbage collector can orientato Itself easily within the memory cella of fun-eticns. Exampleo The conditional if s>l then alpha(z) elea bGta{x) cloee->aft is compiled as folloTJss JS© IPLftB ose t slanguage PUSH 2 PUSH! i CA Lia CSF assembler MOV MOV <1=2»1.<-Ìff-(R5) JSH PCoGT PUSH CALL IPLABt PUSH CALL X AIPHA CIJOSBLAB X BETA CMP BNS JM> MOV TRAP liir end io shoian at Fig, is, Hera x malB, p is an output local, end q1 y ero for-is a localo The first instruction of e^aeh function ia (^luaye jar r3pfnent » Tho subroutino fnoat insorta current value of regiater p3 and VQ-lues of all formalra and locale into the aystoB stack, aseigna new values from the user etae!: to iihe formale, and gete the addrepD of Eornos^ cell of the new function into the regietor p3c, She subroutine fnout , on the eontreryu reEO= VG0 the original values of formale and locaio and assigns thais io theso vari^tbloa, arid puts the original address into the register rs , number of formalo fnprope 'Updater ntry to function number of formala i localo addresass of formale and localo RETLABt pnr I IJSR rd. .J PiiMHll^^^Sai II MOV 1 I ^ttA'ill MOV aüAi II 11 PC. . 1 « MOV MOV ■ feiST II -ll ICflP ll II FMOÜ'i? li > tho function body pushins output loeaiQ exit fPoa function Pig. Igo Representation of the function ana (fnkey=01g)» etatemeat of POP-2 Ri consti IofO «IphaO ->alplM() ttrO goto lab return ayitch ... fif ...J <• then * *• flnd t»■ • * * Ol* • * • exDlenstion push the value of the vari-sble à onto the user Steele push a number or a structure constant onto the ueer stack pop the item from the ueer stack end eeeign it to the variable a assign a function from the top of the ueer stack to the macro/operstion m call B Btanóartì function call a user's function call^the updater of e user's .function cell a PORTRAK subroutine within 8 POT-2 program go to the label lab ors exit from a function switch conditional jump within if/while expression conditional jump within. unlese/until expreesion aeta-langiege PUSH A PÜSHI CONSS A POP conditional jump within end-expression conditional jump within or-expression 1) CHPOP A CAUS LOG CALL ALPHA CALLD AIPHA FCALL FTR J JB RBTUIW SWITCH S JBQ IFLAB 7) JUS iFLAB 7) JZL SE JNZL EE 8) e) ESEemtiler of PDP-11 M07 Qj}-A,-tlt5) MOV ^0NST,-{R5) K07 + TRAP RCHPOP^^ •WORD H JŠR TRAP .WORD TRAP •WORD TRAP .WORD JKP TRAP ■WORD JHP TRAP -WORD CMP BNE j1£p CISP BSQ. JMP TRAP .WORD TRAP WORD PC LOG 2) RCALL' ALPHA RCALLÜ ALPHA 2) RFCALL' FIR 2) 3) kSi'"!) LAB PROUT RSWITCH?? S 6) (S5)+,H4 .+6 n-LAacR3) (R5)+,R4 .+6 IFLAB(R3) RJZL®' EB RJNZL' 2) 1) Only functions can be assigned to macros or operations, therefore e cheek must be carried out. 2) PCHPOP , RCALL , RCALUJ etc, are relative addrerees of subroutines, which perform prescribed actions, referred to the address which the code jumps into when executing TRAP instruction. 3) LAB means the relative address of destination, referred to the beginning of memory cell. 4^) This statement is used when the label occurs before the goto-sta-tement in the function body. Therefore, underflow end overflow of the user stack must be checked. 5) If the compiled function has output locals, return is translated as JJäP RErLAB(R3) where RBTLAB labels the instructions for pushing the output locals. 6) S is the number of labels following the word switch . close , or else , If it exists. 7) IFLAB is peeudo-label behind expression befoi is sseless to evaluate juaps to the end EE of the entire compound expression* Pig, 11. Survey of instructions of the metelangusge and their translation into the essembler of PDP-11. version from Brighton Ed inburgh Prague author year of implementation S.Hardy 1977 W,Clocksin - 1979 I.Brùha 1981 operating system UKI2- UNIX,- .y RT-11 pSX-llM, RT-11 pystsm POPt£ occupies length of stacks user's memory 12 K words variable 20 K words^J 12 K words variable 20 K words?! 16 £ wordsi J 9 K words 1+1,5 Kword» 21 E words,V 17 K words"^* backtracking symbolic arithmetic no no no y«B yes no implementatifln-of PUSH instruction: number of words occupied in function body number of executed instmetions ■ 2 . 4 1 7 2 1 inplementation of CALIS instruction: number of words occupied in function body number of executed instructions 2 7 1 13 2 1 implementation of CALL ins true t i pat number of words occupied in function body number of executed instructions 2 40 1 46 2 11 size of the memory cell of a function 3; lJCH2v+2it-2r lO+v+u+i+r 8+v+2i+2r average number of executed instructions per one instruction of the metalanguage- lo 16 2 e) If the expression before and ( ^ ) is e(}u£l to false ( true ), it foliowii^ egressions, that is why the cod« 1) the first item is valid for ISX-llM or UNIX operation system, the other for ET-11. , ^ ■ 2) this value means the megnitude of both stacks and the user s memory, in all. - , 3) symbol i means the number of instructions in the function body, V the number of locals end formals, r the nimber of output locals, u the number of all other variables (including standard ones), numbers find (structure constants, occuring in the function 4.) the version for RT-11 has been modified by Ilona Bellos. Pig. 15. Comparison of three ia^jlementationa of POP-Z language for PDP-11. 52 siae = 2 tt number of frozen formels + 5 m fnpropa unrlater _upfiater m- entry to the function exit from the function Fi^;. 13. Ropresentntion of o closure (pafkey=02g). Th9 POP-2 language enables to Treeae one or more formale of functione. The result of freezing formsls is e function, called the cloaure. which is coincident with the original one but Bome of their formula hove fixed, so ceilled frozen veluen. Let e.g. function t{x,y,z) have 3 formalst the statement ■ fre(i the prohlem of spanlfi-ino ooöpIok proarara pnohanGO. Thon it deaoribes the advantages of u«lns loalo ss a formal speoifloation lonouoDQ ond PROLOG in partioulor as a simple runnnhle formalisK. Me describe our eKPsrienos with transfornino thò ISAC spooifieotions of B computer 1üed uarehouse system into e PROLOG prosram. We elsa qontion tho foodbsoh Proa testina and demonstrating the PROLOG prosram to the ohanae and further dewelopwent of spQolfloetlon. The advantaaea and anme ueahnesse? of PROLOO as a speoifinatinn lenauaae are prescnted, supportino our opinion that PROLOG is a very useful and effirient specifi nation tool. 1. UyODNI OPIS PROBLEMA Proaranshi Jezik PROLOG snn preizkusili Hat specifiKaciJsko orodJe pri razvoJu' ratiunalni^Kega ' sistema is podporo poslovanja sKladiseno prodaJnesa oentrs SloueniJales u «rnuflah. Sprva smo se lotili proar««irsnJa poenostavljenega modela sKladiStineaa posJnvnnJa v PROLOG« laoIJ iS »elJe PO -teatlrsnJu hitrosti proaramirsn Ja ter obnaSanJa PRni.OGovesa proarama pri simulaciji neKesa realnesa procesa. Ker pa se Je i?llazalĐ> da lahKn PROLfìCì uporabimo Kot jeJo uBinKovit speoifihaciJsKj JeziK (s stalisea hitrosti proaramiranJa). smo nadaljevali s proarB«iranJem use realneJSeaa modela sKladlSda. PriCaKuJemot ds na« bn podrobno rardelani proara» w PROLOGu trdno vodilo pri implementaciji sistema u izbrane« prosramsKe« Jeziku podanih v HaHInen loBl0n«M Pòrnallzwui J* njihova izvedljivost dana t utehanlxMOM doKasovanJa izreKou CS], ".'praSanJe» RaKjInq , ho -. obnaSanJe-------tiitenia . „g posamezne« priMerU) te namreB prevede ns upratanJ«. ali Je Formalni 2api« prvotneaa upratlanJa izreK laaiCneaa sistemai Kateresa tvorlJo »peoif i Kae iJsHl stav«!. Tahi» lahKo preverlwoi ali ee bo sistem u dolnSenem primeru res obnaSal taKo, Kot si to Selimo; (Ali) vhodu 1 ustreza izhod 1 7 Na enaK naBln lahKo izvemo. KahHne obnaSanJe predvidevajo tpeoiflHaoiJe pri doJoMene» yhod'j: (Katerl so lihadi Ki da) vhodu 1 ustreza M ? TaMo lahko enostavno odKriJemn nepravi Inoist ali nepopolnost speoiflHaoiJ in Jih ustrezno spremenimo,. Opisani iSattin preverjanja speolPlKaoiJ Je aotovo hitrejša In uCinKoulteJita alternativa obiBaJnemu preverjanju proaramou, saJ ' od liPorabnlHa dobimo povratne InForMaciJe dovolj zaodaJ - omejimo se zaolJ na vsebinske spremembe - pri te» se n«« ni potrebno ozirati na uflinhovltoBt. Ker se v KomunlKaoiJi z uporabnillOM prepriHamo v ustreznost (popravljene) formalne reSitvei na« pri preverjanju pravilnosti KnnHnnaa proaramai v nasprotju z nhldajnim preverjanjem proarninai preostane le 8e odHrlvanJe proaramershlh napah. Uporaba losUHnlh formalizmov ne nnreHuJe izbire proaramsheaa JeziKa Pri KonGni implementaciji. Dovolj podrobna loaitlna speo i f IKaol Ja se sioer s staiiSüa UPorabniKa ra^ljKuJij od Konttne voriiJe sistema naflelno samo po uBinllovitostl. Druaa«e reAeno, losiRna speoifiKaolJa Je «e lahKo znosno uBinKovita programska reSitev riBtlrtovaneaa sistema. Izvedljivost lositnih speoifihaoiJ taKo zabriKe tradloionalno razllKo Med speoif)Kani Jo in ustreznim programom C43i tllJ, 2apitfe:;:!Kat P :-, pi I P2. Pn. y posebne» primeru n"0 so to brezponojne trditve ali deJstvar Kar se v PROLDRnuem zapisu izrazi s P. PROLOQova omejitev na Hornove stavKe Ji Koristna predvsem zato. Ker ob enostavni Kontrolni struKturi omosoOa ' udinKovito izvaJanJe sKlePOV. hi slediJti fz postavljenih trditev,. 9 tem pridobi Hornov« loalha status vlsoKo-nivoJskeaai deKlaratlvnea« proaramsKesn JeziKa. LosiHa Hornovih stavUov Je tudi bliiJa standardni» formalizmom raduna In1Ske znanosti. PO svoJi prooeduralni jnterpretariJJ , Ker na'mreä Hornoul -stavht- redunlrn.if ■ reSewnrtiie problema P na reHevanJe podprobJemnv Pl,....Pnr lahho v PunkoiJi Pl-Jev vsaj do pojava Jetl predvsem Kot speoi-MoKnost direktne uporabe rakuna knt proaramsKeaa lala ne(zKori»«en« zaradi znlh doKaznvaloev izrekov, sprernenlla s pcJsvitviJo implementira «ibkeJSl, a en in uporaben podJezik ,Predihatni raBun Je v tim. Hornove stavke. Hi tve 9][ib)t> speolPiKaclJ od netleaa niiioJa da]J<>. V tej fazi razwoJa sistema smo zaBulili potrebo PO druaaBni sistematizaciji PunKriJ in sradniKov sistema. Hb doloditui sradniKov smo U30ta<^illr da se FunKoiJe JahUo realizirajo z razi ifinifrti 1; odib i nao i Jam i teh' aratIniKnv. Ker sp Je izKazalor đa Je u PROLOriu ennJn)Ke. 3MD sc lotili proF3r2|-«iran.i3 T.fif-, grsdn t Kov in sestaolJanJa posno?tau1 Jenesa modela sistema. 2a Pisanje proarama. Hi Je abspgii) prihliSno 150 i/rstio PROLOGotie Hode, ^imo porahiji pilila dva dneva. Zaradi hitrosti in prpcrostosii proaraMi ran Ja w PROLOClu smn morfei razvijali naproJ. Osnovne postoPKe smo pr i b t i Sa ) i r i?al ii 1 m zahtevam ter ijvedli 4e pren?ialn funhniJo sistema. naslednji fazi smo v (-ronramii uporabili taHo oraanizaoiJo pcidstKoy, KaHrflnn bo realizirana z . i z hran i m sistemom za JeJo s podatKovnlmi bazami (TOTflL). It nouin i (; an i J i z uporabniKoni smo se pribli^rtJ.i bndpC.i realni w^riiJi in razdelali sprpm) .Ifi.iofle nn.rl.itlioune strukture. Opisnni moiieJ r llaternan smo realizirali v približno one« mesen». Jb ohsna.Tl približno 1000 vrstic PffOl.nnovH Kode. Pri demonstraciji delovanja modela uporabniku smo ntf>iit..HO I Ji modnJa fi ri II i? aa ü K 1 ad i « Biieaa sistema so se poKaiale »narsiKatf^rn dobro lastnosti PROLOG;.! C9:: . y vel i Ki meri smn !-r' iiaslnnial) na ijsndnosti. Ki- sledijo iz naie Ine ' zadostnosti deK larati vncDa opisa proli lomov. PRCII On n.itiire« omoaofia Povsem deKlaratlvno /»r i r Jo . linr ima le varnJeno linntrolno s t r u i; T i.iro. Ra.ren možnosti, da Ohiejima sini^r ne d o t. r^rm i n j ? t i Bn o izvajanje proarama. PROi fin ne poti'phii ip nohtnih Kontrolnih Konstrv); tov i h i 1 nos t omenJanJa podatkovnih struUmr ponazarja prepis sirafa na sliki J v prosram ; previe» vnos.prBviemnicB ( Pre u : stun i 09-01. ganeriranJe-inKlatfiscnice {Prsvsentiica_0. VsKladiBonioa.Ot. vsftJadiscenjB. potrditev (Vskladiscnica-O. VsKladiscnica^l). azuriranJe-stanJa-sKlađisca (VsKlatfiscniiia.l J. aiuriranje.stanJa-ialoa Preužemnica.l ), V nJem so v PROLüflovi minimalni sintaksi posamezne aktivnosti arnfa proalriSene za procedure. oznake podatkovnih množic arafa pa 50 prevzete Kot formalni parametri teh procedur. Ti ojnaBuJeJo He nesponificirane podatkovne strutture. Ki se sevnda rassradijo na iiiSJih nivojih prosrama. TaKo smo npr. proceduro. Ki iz prevzemnice aenprirn vsli lad iäfln1 BO izrazili Kot rekurzivno relaniJn mod soznamoM artiklov 5 lioliHinami in seznasiom artifilou s pripada JoBim s0^n.^(nn» palet in kol i e in na nJih: aeneriraii Je. opkladi sen ice (Cl.Cl), seneriranJe-vsKladiscnice (CflrtiHel :KoliiiiiialPrewie«niiial. CflrtiKei;Palete-HoU(ìiiielVtitladiai!niDal) :-slanJB-sklndisca (Praine_palete„0>> predioa-praznih-palet (Arti*el. Količina. Palele.Rolloin». Prazne-paleie-ö, Praine.caletB_l)■ bri«: IstanJe.skLadisca (PraEne.ealete.OI)> vfisi (stanJe.sKladisca IPrazne.paletE.lJ asreriranJB-uiKladisiirieB (Prsuiemnica. VsKladi«oftioal. Kar so v PROLOGu vso spremenljivke lokalne stavku. v Katerem se nahaJaJo. Je prealednost in berljivost posameznih proaramov ustrezno vetja Kot v konvencionalnih proaramnilih Jezikih. Stavki enn profioilurfl so med selioJ neodvisiii* Kar pomeni, da Jih lahKo doda.lamo in odvzemamo. ne da bi morali spremin.iati Preostale. Seveda pa to ne velJa. Be imamo pri proarariii r2\n Ju pn Jiaritezn i h Btavliov pronedure Jp v mislih nJiho'vo postopkovno i n» errretan i Jn . Ta naSiii . proiaramiranJa smo sicer poansto uporabljali, saJ si z nJim prihranimo dodatno pisanJe in povfliiamo nr ea 1 e (In op t proaramov, Zaradi prealednosti prnsrawnv in lolialnosti spremenljivk Je laŽJe razbiti sistem v neodvisno module in aa 9t.ru/iM.irirati. Prauilnast proaramov v PROf-Ofiu Je razmeroma enostavno empirifino preverJ.tti. Ker ni nobene formalne rojlitle mod ppoorowl in podproornalt lahKo naposrcdno teotiratse in preuorJono posanetne dels giatens. Pri odhriwanju napati ol lehKo ponaaseto z Sfo voroJonla aohanlaoofn za olodenJe izuaJanJa praarnnat pri Hoiaretii Jo maina seleKtivno izloennJa nozaniraiMth dolov. V RT-11 PROLOGU rZ]i Itatereaa soia upnrablJaltr Jq to molno le do nette i«isre. OiAeJene uhodno-i zhpdno (tioSnosti PROLOGS nas niso ovlrele pri realiznoiJi modelar natifrotnor y laCetni Pa»i smo izKarietlli moStiost preprosteaa izpiaavan Ju poljubno hoop] eltsni h podathovnih struKtur. Podatkovne struHture ama n«nir»e preteSno re^Mzirali o obJihi torMOU» Ki so dirsKtno Izpisljivi. amenliao tie neKater« lastnosti PROLOGap tli so »o pri rta.Uem delu. izHÄzale Hot neuaodnoi. ei^ti PROLOGi Hat reSanor nltna slobslnih spremenljivk (Kar smo «u zsoraj Steli v dobro)> douDlJuJe p« njihovo aimulsolJa z dodatnini neta-lD9idnini HonstruKti. ZanaslJivo uporabo teh KonstruHtou zahteva dalotfeno «nero natanfineaa postopKouineaa rozoifllJanJa, Ki lahRo postane dellKatno zlasti pri rsalizaolJi podatKaunih struKtur v obllKi mnaSioa doJstou (namesto eneaa "seznaiMsKesa*' deJstvg), Zasledai;anJe IzvaJanJa proaraoia pri odKrlvanJu napah Je uHasih nell'oMKÒ teSJe Két slsdenJo izuaJanJa proarama v drugih prosrsnaKih JezJKih zaradi nJeaouesa nedete^miniZMa. Pri rt^alnih aplitiaoJJah bi se Kot PROLOOavo hiba izkazalo doJstvo. da PROLOG ne podpira realnih 4teuil. iMPlementaelJar Jtatero smo uporabljali slmuIaoiJo obnaitanJa sistema nattrtovalou In upj>rabniKu ter Jasno zasnovo realne prnaruMsHe feOitue. Pri bodoäih apliKaoiJah sa homo Qotovo lanooo prpJ lotili proeramiranJa modeia v PROLOGu. kar bo omoaodilo uCinkoviteJSo . interfiKoiJo 2 uPorabniKom in hitreJQò dsFinioiJo problema. e. LITERATUBÄ li I. Bratttor ti. Qovso: Proloo: Oanovo in prlnolpi struK tur iron Jet podotstieui Inforoatiao) lotnlK 4> Ot. 4. laao 2. U. F, CloKoini C. S. ^ìollish: Prosrneiadna in Prolosr eprinoor-yorlaa. 180Z 3. R. E. Devio! Runnabla qpqo i f i aat i on cid □ Oooisn Tool F Proooodinos oP t(io Looio Proaranaina Horttnhop. Debraoan. Hu.iuerv. 1900 4. R. Kousiotli: Loaio aa a Coraputer Lanauanoi DoPt. of Cotìputinar Irapsrial Conoco. London. ISSI 3.- B. KowoloHi: Loflio for Probleia Solvinaf ftl Sorios. eisovior North Rolland. 1878 6. L. W, Poroira. F, Poroirc. D. Harrc?n: Uoor'o Guide Por DEC-10 PROLOG! Đopt. oP Arti?ioiai Intolliaanooi Univoroitv of Edinburgh. SS7S 7. E. Santans-Toth. P. Szersdj: PROLOG ĐPPlloationa in Hunoorft Proeeodinns of (ho Loaio Proaraa(i)inQ Morkshop. Debrooan. Hunsorv. 1B80 e. P. Szorodi. K. Baloah' E. 8ontane-Tot(i. 2o. FerKasI LDR - a Looio Baaod Softuero Dovelopaont nethod! Prooeedlnss of the Loaio ProsrBKinina Workshop. Dobreean. Hungary. 18R0 9. P. Tanoia ot ci.: KoHoJ izKuDenJ a ISAC matodoIoBiJo razvoJa änformao1 Ja KI h siotsmov I. del (analiza IS). ZborniK radevo JuaoslpvongKoa aovatovanJa a Infarmaotonl» sistemiMa. Geosrad. 1880 10. M. M. Turoki: Dea ion of Lartie Proovacanf Motos for seminar InfarMatloa> Ljubljana. Vuaoolavio. ISBl 11. Q. WintoratQin. M. Dauotnann. G. Porooti: Derivine Difforont Unifiontion Alaoi'ithao from a Spooifioation in Loaio. Proaocjdinoo of the Loaio ProaraMMina WorMnhop. Dobruoon. Hunaarv. 1880 s I NO p T I K A VODENEGA MIKRORAČUNALNISKO PROCESA I. L ES JA K, R. TROBEC, M. ŠUBELJ UDK: 681.327.12 INSTITUT „JOŽEF STEFAN" LJUBLJANA Opisanr je interaktivna podporna programska oprema za realizacijo alike sinoptläne sheme industrijskega procesa na CRT ekranu. Avtomatsko tvorjenje sJike Je zahteven posel, zato je ta programska oprema uresniEena z mikroraäunalnikom. THE CONTROL PANEL OF CONTROL SYSTSMi A simple method of representing industrial systems via graphics CRTCs) is described. UVOD ENOTA IN STANDARDNI ELEMENTI NaSe vadilo je bila lelja, da bi operater dokaj enostavno, s pomočjo nabora standardnih elementov in skice ,o ustvaril sliko industrijskega procesa. V ta namen smo razvili; - simbolni jezik, ki otsogoča enostaven in skrčen slikovni opis standardnih elementov industrijskega proeeaa, - knjižico slik standardnih elementov industrijskega procesa, - program za oblikovanje in izdelavo poljubne slike, - interpreter, ki preslika sapis o sliki Industrijskega procesa v assemblerske tabele za mikroračunalnik. OPREMA Za prikazovalno enoto izberemo prikazovalnik, ki zadovoljuje naslednje zahteve: - brisanje znaka, vrstice, ekrana, levo in desno od kuriorja, - relativno in absolutno premikanje kurzorja po ekranu prikazovalnika, - premikanje (drsenje) vidnega polja, - risanje ravnih in vogalnih črt v grafičnem nsačinu, - izpis nabora ASCII inakou z at:~Lbmi. (utrip.nocativ, svetlobno poudarjanje, dvojna Tsirina). Grafičnemu prikazovalniku smo ss izognili zaradi njegovn cene in uvoza, medtem ko prikazovalnike z zgoraj navedenimi zahtevami ponujajo na cJoiniiSsm tr'Kiääu, Prikazovalnik s svojimi dimenzijami (24 vrstic in 80 ali 132 stolpcev) in abeceda standardnih likov ter boljša preglednost vsebine slike, so nas privedli do izbire enote prikazovalnega polja na ekranu. Enoto predstavljajo po trije znaki v treh vrsticah, tako, da celotno sliko sestavimo iz G x 25 "najmanjših" enot. Če moramo lik ploskovno opisati z veS kot devetimi znaki, to storimo tako, da ga rišemo preko meja enote. Nekaj likov iz abecede presega dimenzije enote In se ploskovno širijo .preko dveh,- štirih ali več enot v vse smeri. Rišemo ga tako, da dodajamo enote (3x3), dokler ni lik narisan. Industrijski procesi, katerih sinoptične sheme smo Seleli predočiti z grafično sliko, so vezani na predelavo odpadnih vod ali pa na upravljanje s pitno vodo (filterske postaje, čistilne naprave, kanalizacije, vodovodi). Zato smo s simbolnim jezikom opisali v knjižici standardnih likov elemente kot so: - CRVnvrtti - h i tiro for - rezervoar _ ZH-,sun - črpalka .. izvir - vodnjak _ /hjem - raerllna točka. Standardni elementi imajo različne oblike, tako da se lahko mozaično sestavljajo v celoto slike. Knjižnica vtiehuje več različnih oblik cevovodov, rezervoarjev, tako, da ss povezujejo z okoliškimi liki v smi.'jelno ceJ.oto slike. Abecedo standardnih likov se lahko dovolj enostavno spremeni ali dopolni !s standardnimi liki drugih j.nc3ustrl jskih procesov (kemična industri ja,el ektrodi-ntrihucija ...) hftcrtovftn.ie dtalo«A Z upoStdvanjein psihološke obravnave človeka operaterja irihko najbolje oblikujemo dlalo;^. Občasen, aktiven uporabni Ic podporne programske oproriie za realizacijo sl-lk ainoptlSne ehetsie mikroračundlniSko vodenih procesov Je bil naSa vodilo pri oblilcovanju dialoga. Dialog vodi operater sam. OmpgoSeno mu Je, da prekine z delora in kasneje nadaljuje na prekinjenem meatu. Program za oblikovanje allk nudi moünost izstopa iz programa, ohranitev do tedaj oblikovane alike in parametrov ter moiEnost ponovnega zagona s prlvaeto ahranjeno allko in parametri. Operater koiaunlcira b progrratom v "menu selection" tehniki, delno pa se dialog odvija z vpraSanJi in odgovori. procesa. Zato mu program nudi moStioat interaktlvnetjo risanja poljubnih likov v grafičnem nafilnu. Operatar preko tastatureMiaSa £rke, ki Jih program odda prikazovalniku v graflSnem nsälnu. Ob Interaktivnem risanju so sioSnl tudi relativni in absolutni poaikl kurzorjo, kar ocioaoaa hltreJBe risanje (premik s puSElco samo aa eno meato; levo, desno, gor, dol). Prav tako program omogoča operaterju vstavljanje poljubnega pojaonjavalnega tekata v katerikoli del slike. OBLIKOVANJE SLIKE OperutcT (ibllkujo sliko tako, de v prikazan koordinatni sistem a enoto (3x3) vstavlja like iz knjižnice In tako Jih kot lepljenko zloži v alnoptiSno shemo Industrijskega proccsa. Operater, najprej izbere položaj v koordlnatneni nistemu. Položaj Izbere tako, da vnese x In y koordinato toBke, ki predstavlja levi zgornji vogal enote. Slikanje lika poteka na enotakem prostoru doHno in navzdol od izbrane IzhodiSEne to(ke. Lik, ki bi ga rei(J naslikal Je določen z imenom lika (cevovod, hidroTor, £rpalka ...). Oblika lika Je v neposredni zvHZi z njegovo zaporedno Številko lege v tistem delu krijt/.tiioe, ki določen t, laienom lika. Ker Je od opornterja iiemugoCe zahtevati, da pozna vse oblike likov e Številkami, mu omogoči program listanje oblik iübranc:|',u Jik» na izbrano meisto v prikazanem koordinatnem atateiBu na tkrünu. Možnost za določitev oblike lika s Številko Je ponujena kot bljläniea v dialogu. Ob pogostejši uporabi prograoa, e1 lahko-zapomnimo nekaj Htevllk, ki predstavljajo določeno obliko lika. a.inS lqk Sli-Vmeis «-2.0X £ Slika 1.Zapis alamunta v knjižnici Nekateri liki s« v iiidustrljakih procesih in na elikl ponavljajo, zato ni dovolj, da ho opisani samo z obliko, temveč potrebujejo za mcdasbojno razlikovanje Se dodatne Informucije; SIMBOLNI JEZIK Program izpolnjuje zahteve s tem, ko prel)ere In pravilno odpoSlje prikazovalniku zapis o liku iz knjižnice. Liki v knjižnici so opisani z znaki iz atandsfdnega aacli znakovnegf) nabora. Nekateri od teh znakov imajo poaeben pomen i - oddaja niza za relativni pomik (ukaz: /i X,V/ relativni premik kurzorju X in y) - oddaja niza za absolutni premik (ukaz: /«X.Y/... absolutni premik kurzorja na koordinate X,y) "o" - izpis vrednouti meritve (ukaa! /o/ ... Štirimestno število izpisano v enem od formatov! O.XXXK, X.XXX, XX.XX, XXK.X, XXXX> - izpis vrednosti signala (ukaz: /h/ .... on-negativ, off-normalno, on In okvara - povefiana intenziteta in utrip, off in okvara - utrip) "Z" - izpis osnake lika (ukaz; /Z/ ... izpis oznako max. 5 znakov) "{" - oddaja niza za atribut negativ (ukaz: /(/ ... znaki ki sledijo bodo izpisani revorzno kot ozadje) "j" ~ odduja niza za izklop atributov (ukaz; /J/___ sledi normalen način izpisovanja znakov) - oddaja niza za dvojno Sirino znakov (ukaz: /■S'/ ... znaki v vratici so izpisani z dvojno Sirino) Ostali znaki Imajo običajen pomen Interpretiran v (jro-fifinem načinu (vodoravne in navpične Si-te, vogali, križ. .,.) - oznaka lika (Z-1 (zasun 1), B-3 (rezervoar 3), ... = tekst) • oznaka meritve (P (prltlKk), (pretok), T (temperatura), C (Klor)......arsali) - enota morltve(%,«, kg/cm3, mg/l, ... s anaki) - ime terminala (poatiben lik ... = tekst). Pr) avtomutekem Izdelavunju sliko mora operiiter sproti vnašati pravilne odßovot-e na zahteva, ki dodatno opisujejo Hk. Pravilne odRovore na oznake likov, meritev in enot meritev jioiRr^e operator v akieah projektantov industrijskega proces» (npr. hidravlične sheme, projekt energetike, projekt avtomatike ,,.), Iluzorno Je, da bi lahko operater samo z naborom standardnih likov izrisal katerokoJl shemo Industrijskega .ÌAPI3 O SLIKI Organizacija operacijskega Bistama in stallfiče preglednosti sta narekovala kratko, enostavno In prealedno Izhodno datoteka. V njej so shranjeni kazalci na elementa v knjižnici in vneäene ao izpolnjene dodatne zahteve za medsebojno razlikovanje likov (kazalcem eo prlpioano Se oznake, tipi in enote meritev in ime terminala). Ob interaktivne» risanju poljubnih likov v grariSnen neSlnUj program shranjuje te like v posebno datoteko. V zapisu o sliku so tudi kazalci v to datoteko s poljubnimi liki. Ob ponovnem zafionu programa ae lahko naelonioio na ustvarjeno sliko, lahko Jo privzamemo, lahkj Jo popravljamo, dopolnjujemo, Popravljanje pomeni sajao spreminjanje vsebine zapisa o sliki (drugi kazalci ali drugaCne oznake). Poznavanje sJike, elementov knJižniije in oznak nam omogoča, da manjäe popravke lahko opravijno kar a sistemskim editorjera v datoteki z zapiao» o allkl. CEV 1 1 1 Ò" 0 2 ■*> REZM n P-1 2 3 0 a ■ 2 't 0 0 2 5 CEV 7 2 6 CEV i 2 1 CEV 1 2 8 CEV b 2 7 i' ° a i 10 0 a ■r« 11 CRP 3 C-i 12 D 0 2 13 ... 0 0 7 21 OSTAOl 1 7 22 0 0 v 23 0 0 7 2A □ □ 7 25 a 0 a t 0 0 s 2 0 0 ii 3 0 D s IME ISEVER-A a 5 a 0 8 i Slika Z. V.ftpla o uiikl (prikas dela datoteke). INTERPHliTEn Struktura prograinov in atruktura tabel za riuanje oin-optike mikroračunalnlško vodenega procesa je opisana v prvem delu tep.a filanka. assidentni program za risanje slike se naslanja s pomočjo imenika na tabele, v katerih so shranjeni vsi liki in oznake, ki predstavljajo aliko 3Ìnopti£ne Rheme. Avtomatsko tvorjenje tabel opravi program interpreter, ki preslika zapia O sliki industrijBkejJH procesa v aesemblerske tabele za mikroračunalnik. Program iz vhodne datoteke najprej izlušSl vse specialne stiaka in jih prepiše v ukaze rezldantiiemu programu (npr. pogled v ram - spremenljive vrednosti). Operater interaktivno dopolnjuje ukaze. Vnašati mora naslove in maske spremenljivih vrednosti v ram pomnilniku. Z masko, ki Jo oblikuje operater, oinogoCimo bitno predistavitev podatkov {maska za oii-off, ma.^jka za okvaro}. frJ ukazih za izpis merjenih vrednosti mora opei^ator vnesti podatek o naiilovu meritve in o tipu obdelavo ali formatu ispisa. Tako proßram zgradi imenik in poimenuje vse ukaze za sliko na «kranu. Sliko proßram prevede v asHemblurske tabele tako, da v ustreznem formatu in z ustreznimi tabelami iz iisenika preslika inako iz knjižnice v izhodno datoteko. Rezidentni program za riuanje slnoptlke relativno (preko imenika) nnaiavi.jy uk.ìze in i.iko, ki jih ureaniäuje in riìie hci f^," i k;!'.-.ovLi Inil'.. Relativno naaJ avl janje preko imenika omoßoSa enostavno spreminjanje tabel v primerih povečevanja in spreminjanja slike aH dodajanja teksta...>. ■ ■ IMAUKO DC 2,UK0 (IMENIK UKAZOV SLIKE 'Ü') •SESMENT 1 UKQ DC DC ♦ LIK: REZ« D'I' 2>H'FCOD' 02NAKAIR-1 POLOŽAJ PIKE AORF.EA tlERITVE ilLIEKO DC H'7E:' AB50L(.'Tt41 POMIK PC H'04Ö7' DC RELATIVNI POMIK DC H'00' GMER DC 2.H'.Qiai' Y,X t>C. 5,C'R-1 OZNAKA LIKA DC H'2-',' RELATIVNI POMIK DC H' i r SMtR DC 2.H'0l0é' Yi X PC D'1D7' k OC D'120' * DC H' 20' SPACE DC H-20' ÜPACE DC H' 20' EfACE DC H'loa' t DC H' 2',' RELATIVNI POM J K DC H' Qt' SMER DC 2iH'01Dét' - Y.X DC D'120' * DC 0' 123' { DC H'20' SPACE . DC H' 20' SPACE DC H'20' SPACE DC H'20' BP A ce DC 0'125' > DC D'12Ü' * OC RELATIVMI POMIK DC H'Or EtIitR DC 2.H'0tD6' Y 1 K DC D'109' ID DC D'119' W DC D' 113' «1 DC D'113' <1 DC D'119' w DC D'104' j DC H'2A' RELATIVMl POMIK DC H'Ql' SMER DC 2.H'D1D6' Y, * DC 2.C »• IZPIS MERITVE DC P'77' m DC H'^0' KONEC EMIANA ' £ Clika 3. Prlkus deja tuienUa in tabel slabosti opisani: kjdpdunic proiiììamske ofhemk - Risanje od levu(;n zi.ornjup.n kota navzdol (neenakomerna velikost likov); - brcK poševnih in uki'oglih črt; - v koordinatnem siüLümu naslavljamo siamo Hkniiino /.nukuv (enota). UOBKE LASTNOSTI - Lahko poljubnii tipreminjaiiio like v knjižnici; (hitro in enostavno tipreminjanje) - lahko popi"-avljasiio ixi dopolnjujemo sliko, lahko prekinemo i: delom; - hitro iiL eno!.it(jvnu rltianje slike; - enortthvnfi komunikacija s programi; - yiitviirj.;i]n KÜka je hkrati ututiCnu ;;imulaci.)u iiinOfitiSfi« !ih«mo. IJTERATURA! U) A.B.Anue: Statua and trends in mari-machine comìnunicatlon realtime data handling and procnss control, North-Holland, pp 145-151, Brussels and Luxemburg 1980 (S) I.Lesjalc, M.ŠubelJ, n.Trnbec Načrtovanje dialoga človek računalnik pri vodenju procesov Referat 120 - Rnjiea I., V.Bosanskohercegovačkl slm-pozijuiii LK informatike, Jahorina 1981, Jahorina, 23.-27.,-area 1931 (3) Dokumentacija sistema z« zbiranje podatkov o kanaJizaciji Novi Sad US 1981 ftl I_I XXX M Z-2 Z-3 predvideno la ine teminala XXX H MJNAV Z-2 Z-3 predvideno za ine terMinala - XXX N DUNAV Slika 5. Dialog s pmoč-o prikyxnva!nP-.-, u p o R A [i NI I' R O G K A M I Konverzija sblrne mnetnonlka procesorja 8080A v mnemonlka procesorja Z80 **k********** i********** * Informatica UP 8 * Primerjalna tabela * avgust 1982 * Anton P. Železnikar Področje uporabe Pri programiranju v CP/K okolju, za katero sta predvidena procesorja 8080A in 28O, želimo večkrat pretvoriti obstojeSo Intelovo zbirno mne-moniko v Zilogovo. Mnemonika Ziloga je namreč lažje razumljiva (si jo lažje zapomnimo). Veä-krat želimo tudi obstoječe programe za procesor 8080A modificirati, imamo pa sistem s procesorjem zeo (tudi zbirnik za njegovo mnemoniko). V takih primerih se modifikacije lotimo tako, da prevedemo obstoječi kod za 80e0A z Inverznim zbirnikom za proceSor 280. V tem primeru seveda nimamo težav, saj se to delo opravi avtomatično. , Na praivo potrebo za konverzijo mnemonlke pa naletimo tedaj, ko so določeni programski segmenti napisani v zbirnem jeziku procesorja 8080A, In, v teh primerih lahko pokličemo pri modifikaciji programa na pomoč naSo tabelo. Konverzijska tabela nrnemonlke INR reg INR M IHX regpair JC NN JM NN JMP NN JNĆ NN JNZ NN JP NN JPE NN JPO NN JZ NN LDA NN LDAX rgpair LHLD BN LXI regpair,NN MOV reg,reg MOV M,reg MOV reg,M MVI reg,N MVI M,N NOP ORA reg ORA M ORI N OUT K PC HL POP regpair PUSH regpair fiAL RAR RC RET RIM RLC BM RNC RNZ HP RPE RPO V prvem stolpcu spodnje tabele imamo Intelov RRC zbirni format. V drugem stolpcu pa Zilogov. RST n RZ SBB reg ACI N ADC A,N SBB M ADC reg ADC A,reg SBI N ADC M ADC A, (HL) SHLD NN ADD reg ADD A,reg ■ SIM ADD M ADD A, (HL) SPHL ADI N ADD A,N STA NN ANA reg AND reg STAX rgpair ANA M AND (HL) STC ANI N AND N SUB reg CALL NN CALL NN SUB M CC NN CALL C,NN SUI N CM NN CALL M,NN XCHG CMA CPI XRA reg CMC CCF XBA M CMP reg CP reg XRI N CMP K cp (HL) XTHL CNC NN CALL NC.NS ------------- CNZ NN CALL NZ,NN reg CP NN CALL P,NN regpair ... CPE NN CALL PE,NN: CPI N CP N rgpair C PO NN CALL PC,NN N CZ NN CALL Z,NN NN daa daa n ... DAD regpair add hl,regpair DCR reg DEC reg M - # ♦ DCR M DEC (HL) * DCX regpair DEC regpair DI DI EI EI hlt KALT IN N IN a,(N) INC reg INC (HL) INC regpair JP C,NN JP H,NN JP NN JP NC,NN JP NZ,NN JP P,NN JP PE,NN JP PO,NN JP Z,NN ll> A, (NN) LD A,(rgpair) ld hl,(NK) ld regpair,NN ld reg,reg ld (hl),reg ld reg, (hl) ld reg,N ld (hl),N NOP CR reg OR (hl) OR N OUT (N) ,A JP (HL) POP regpair PUSH regpair rla RRA RET C RET • RLCA RET H RET NC RET NZ RET P RET PE RET PO RRCA RST n RET Z SBC A,reg SBC A, (HL) SBC A,N LD (NN),HL * LD SP,HL LD (NN),A LD (rgpair),A SCF SUB reg SUB (hl) SUB N EX de,hl XOR reg XOR (hl) XOR N EX (SP), HL A, B, C, 0, E, H, L BC, DE, HL, SP or (if PUSH/POP) PSW (AF in Z80) BC, DE 8-bitna vrednost (en zlog) 16-bitna vrednost (dva zloga) O, 8, lOH, 18H, 20H, 2eH, SOH, 38H (HL) (kazalec v pomnilnik) ukaz procesorja 8085,.ki nima Z80 predstavitve MARiENBAD: igra za otroke, ki spoznavajo funkcije tastature in zaslona .Tnfoi-niatica UP 9 MflRIL'MBflD okti^her .t9a£ B. Blatnik sistem CP/M, PflSCflL/Z Marienbad je eriostavna igra. Njèn Qlavr.i riamen JE sezrianiti i-ačuriair.iškega uporaör,ika-zaćetfiika e funkoijavdi tastature in sasJorta. Primei-na ja predv'gKm sa osi^ovnošolsko mladino. Idratile i eira proti računalnižkernu programu, Igralcc ( rat? una Irli U > pobira palice ii vrstic (fi,B,C,D). V eni poteši lahko vzame iz ene vrt.tiG« RVit* aH več^ palic. Zgubi tisti, ki nora pobrati zadnjo palico. L!'jorđbljei-. i raeunaJniäki program ni neoreniagl jiv. Kak» bi morali sprerjienit i a iijoi-item, da bi lahko igralec premagal računalnik le v prirfiera, Se bi igro jaiiel ? jBi'ijilRi! ivhtarf MVs+.it-o Irt vvr.BWi« i"/. rjJ« ,iii f-cit.pr . . » ft St.pviln >= i fl Cl « = /// r. « ///// n - ////// ft;iir'i iriPt l.rii k n^in t^-Ckt^H?« * * t A = F» -■ /// C " ///// n = ///// Tvri.jrti pn ti^vr^^ + ♦ * Utk t. i o. ■t'' li iOf)) ir'? Si f; A = n f /// r ///// n = Rariinfilntkciwa p«tn7,ì. .. A = Ft a /// r = //// . n = Two,in . » yritvc«!? A St.puiVn pal ir-? = 1 PoBiotJ). . t F'ortow 1 vno« ... . Tvo,)» . 1 . Vr-it.ics? = C Stivilo ii>!3l.io? = 2 A - Fl = /// C = // n ■= RiiirMtDftl.rn^cJVB pntfi-ÄH. . . A = 11°// n = Tvn.i« B St.PviJfi palir? 1= 1 A = n n / r, = // n " Rsnurisl ni kov« potu^ij,,, A = n = / r, « n a 7liphi.1 si... Ali Ili rsirt jMrslT (0/N) »» D ft « / F( B /// r; « ///// ri SI /////// Usta 1. Izvajanje prevedenega pro uhi lp rt=o fio he^in if p^-l (.hen player eia e cniiipu t,«> r $ ßt.n+.e . ericU Jf t.hfin heain urit,,^(l <5i... ' > fwfi te'ln »r.d ftlse b(»ifin uritec'IiRf.if.ial ai,., ' Hurl t.e] n und t urit.ef'flli hi rari se i.-jral? (D/N) " ' ) ì rpstUrhlii writeln» tf ohl = ').ì' then main Lista. Nadaljevanje programske Uste iz naslednje strani (desno) tiBfifin enri wri tslnl urit,w('Iflralp.:' ÌKhe,re vrstic« in vs:»n,e is nJe enn a] i vpr;')? u r .1 r 1 r"( y 'pulita. Kdor vzame ^fidn.iö palico. KSJuh.i . ' ) f Li r 1 tfi 1 n i nifiir, -fmniaaix hoclw nf msrierihstd fliSidiS«} ' If « V JC /S (p Li + « 4* n:^ n •h' I-. II 01 rt », [_■ It- Jj - £ ■P, 0 II II' C t C e j: 0' C JC C r E ■ ri t*. o m TJ / « C 1' C 7n a tt- -h c i-j +.' L C .C 0' Ì T-; e <1- II m irl f- L' <> C O 1. - 0 ■0 <■ ■C' 0' n XI ri 0 V rt. rt rt t L,r v U f- i ji 0 i: C n C J-) 0' C V 0 ^ C rt T-l -r rv II 9 II f II u t- J. ^ i- 'iL C II (■ C It i ES v -rJ Ü. - V 1 C ic C (- ITi C i. m Ol a. > JÜ e jj 'II c £ « ft l fi, V t "C' v ■C C t! C 3 0.' ■►1 G .Ü V 11 V rt N 01 *> O t. tti > O flp C 3 O K CK a*> o rt F-l rt »H r; LJ II JS > - 1» . r^ C C- ■ rt It a. • LJ JC HC A C 0 Ä Jt C •C * fC -f C C rt cv . o fS • iL m II v (t It «r A II 01 • 1« m £ ■ v N r( C ro ■ v n 0 rt- n 0 r-^ n rt •0 rt ■H tJ ■H V rt ■rt rt 0 T* - JI II LJ f-J LJ LJ LJ rc ^ tu f- J: rt JO rt JG, JC rt w ~ v n II ri 8 - ti » ~ C v «— rv rt C rt • i: " TO C ■rt 1- ■w w f-r + + U m rt i-i « rt C « C » Oi C 01 01 «J «J V JIl O £ JU — 0 J: r( 0 jC ff JI -ri v +> C n II TO V L v t (. « 4.- -0 rt' V ■ no Tflfi -rt ■PI rt -r- C 0 v C C O C ■H 0' t t (- n tv . 01 -«r v rt jS Ol 'rt ■o Ol 10 A' ■C i. C a n 0' lil C 01 C w C ■I JC rt 0: m n l/l t. 1/' t-' m JC rt jC 1—1 . 0 0- 01 01 ti tJ L- .KI C- I rj ■ w 1» i» rt I » II 0 " II X II 01 01 v k C •• t» Ü a> , "ri ■rt 01 01 X v v F*. ns ■»i 13 C rt Tt II D fr t- n) ■rt II ++ C 0. 0 tJ Ei K 01 L' B 0< 4- 3 k ■rt " 0 . (■ ■ 0 V ■C a> C r C C. 0' 01 t jC JS- m o 1» J rS JQ r,- ce XI a> - e e e. n Or o fc Ü 0. o v v (i, If J o s f' i. e Oi C o C . J aj 3 .H C Ol ^ m fi m j:- C *> m J- iil L' iC i, W ^ vt o v »1 m C C ■M -ri C C X V eoe v t i t-1 - 1 ij jt ! I! cue v vs- t. O! ti D Ü. o C e « n o « v t-' tJ » C C N 0 0 e. V D U 0.' C n B a ™ tc? 3 3 rt c o 13 0. 01 1- t t V ecco to m 1. L e o C. - (K rt 0 C • C V 1 • > t 0 n * 01 1» ■rt « ti C X o 0 t-i tt C II E C 0 ti •0 • . 0 0 m III « ■ o n Ù. n. ■p. *> rj Ii ■rt ^ C 51 rt X f. LJ.^ rt <5 0 X 01 Ol 01 rti 3 ^ -v ■p -tJ +> IL <- -O s C ■rt 'rt m Oi t- t (- ■rt v 0, II X 3 3 10 - ^ +1 » t- C •« * J-S v ■rt 10 » ■H O w 10 ■ Oi M rt A «i C C Ol U It C Ä Oi 'rt *> a m o s- (L ic o (J rt flj rt rt -3 > C IT Ol O ' TO 01 C Ul rt rt « 01 rt i. rt rj M A LJ (- H :> tO M .11 II II II r^ J fJ Ol - » X •■* ** ** ■p. rt X T ^ ■w - C 'rt ■rt -rt -rt LH t. 0 «i di 4) 01 . X £. ». rt -ti tJ f' 01 •• »t m rt a rt ■rt ■rt t/l « s s 's ■C " X t. (■«"<£ a tj C C v X LI 0 3 t- 3 3 0 » ttj -rt t. 3 ■C' 6 E U * C n 01 ft Ä O t-II « •• J ti « rt d. v ■C £ _ o (- TO 0' 4J * Ol TJ O V V » I». ^ -k s. A » ^ A - > v N .„•t. ^ - -V X -V V. U H It II ^ « ^ s v. v. s «.s v^VVN.VV''» ««Ufl o ) O' 4> 01 ci ' . rt Of Ol m OJ ^ Ol U tj 1 'H -rt -H Ji in «. «- = 10 » C o rt o m ti ■- o II C •• 01 rg O II Usta. Programska lista na tej in prejšnji strani kaže pascslskl program Igre Martetibad. Prevajalnik za Pascal/Z se izvaja v okviru operacijskega siatetria CP/M na tpikro-računalnikih Iskra Delta. INFORMATICA 3/1982 ************************************** Japonski nafirt računalniške dominacije ********»»«•#*»*******************«••* Desetletne raziskave in razvoj naj bi Japonsko pripeljale na vodilno mesto v računalniški industriji, in sicer s proizvodnjo računalniških sistemov pete generacije- Ta tehnologija naj bi se uveljavila na tržišču v začetku devetdesetih let. Japonci naj bi z njeno proizvodnjo dokončno prevzeli vodstvo na tem področju Združenim državam Amerike. Ideje za nov tehnološki preboj je pripravil Japonski razvojni center za obdelavo podatkov (JIPDEC), ki je izdelal tudi načrte in priporočila za projekte pete sistemske generacije v devetdesetih letih. Nabrt raziskav in razvoja za naslednje desetletje predvideva združitev in upoStevanje vrste inovativnih idej raziskovalcev iz ZDA, Japonske in ostalih dežel, s tem da te ideje razSirja in jih vključuje v nov računalniški sistem. Ta cilj bo verjetno uresničljiv tudi zato, ker gre za japonski nacionalni projekt, za katerim se skriva nacionalna računalniška politika, ki bo materialno podprta s strani vlade, kar ni običajno za druge dežele. MEHANIZEM ZA REŠEVAKJE PROBLEMOV Računalnik prihodnosti bo pokril potrebe uporabnikov ne samo s povečano zmogljivostjo in nižjo ceno, marveč z možnostjo reševanja vrste splošnih problemov; tega današnji računalniki ne zmorejo. Razen tega bo nov sistem naraven za uporabnike, saj se bodo ti z njim lahko pogovarjali v naravnem jeziku pa tudi s pomočjo slik. Sistem, ki bo opravljal to vmesno funkcijo, se imenuje inteligenčni vmesni stroj (glej sliko). Druga od treh osnovnih funkcij bo lastnost sistema za učenje, pridruževanje in sklepanje, podobno kot to dela človek. Računalnik bo sposoben razčiščevati zapletene zahteve in z uporabo svojega ogromnega informacijskega pomnilnika in pomnilnikov drugih računalnikov bo lahko izvajal sklepe in presoje, ki bodo znatno presegali obseg razmišljanja njegovega človeškega gospodarja. Računalnik bo sposoben voditi inteligentno razpravo z vprašanji in odgovori s poljubno osebo,' ki bo imela poljubne interese, osnovna funkcija, ki bo imela to lastnost, se imenuje sistem za reševanje problemov in sklepanje in ta sistem bo imel za opravljanje te svoje funkcije na voljo poseben stroj (glej sliko) . ZUNANJA POVEZAVA visok povpra- ševalni jezik dostop Z govorom v naravnem jeziku in s slikami jedrski zik pete računalniške generacije OS NOVNI PROGEIAMSKI SISTEM uprav- ljanje baze znanja sistem za reševanje problemov in sklepanje inteligenčni povezovalni sistem MATERIALNI SISTEM STROJ ZA BAZO ZNANJA rela- cijska algebra mehani- zem re- lacij- ske po- datkov- ne baze STROJ ZA REŠEVANJE PROBLEMOV IN SKLEPANJE logični progra-mirni jezik podporni mehanizem za abstraktne podatkovne tipe mehanizem procesiranja podatkovnega pretoka inovativni von Neumannov mehanizem inteligenčni povezovalni stroj ==X= ARHITEKTURA NAJVIŠJE MOŽNE INTEGRACIJE (VEZJA) povezava na mreSo drugih sistemov pete ge-racije Slika, načrtovani SISTEM: Inteligenčni vmesni stroj bo omogočal dostop v naravnem jeziku, imel bo možnost učenja in sklepanja ter razumevanja shranjenih podatkov Tretja osnovna lastnost bo sposobnost uporabe shranjene informacije. Računalnik bo enostavno razumel vsebino podatkovne baze; v tem se bo razlikoval od sistemov, ki podatke le shranjujejo, razpoznavajo in prenašajo. To bodo baze znanja za razliko od današnjih baz, ki so le podatkovne baze in na bazah znanja bo osnovana funkcija reševanja problemov. Ta del trodelnih možganov se bo imenoval upravljavski sistem baze znanja in tudi ta del bo imel svoj poseben stroj (glej sliko) z visoko stopnjo integracije (integrirana vezja). RAZLIČNE VELIKOSTI .RAĆONALNIKOV Računalniki pete generacije bodo imeli vse možne velikosti, od osebnih računalnikov do super računalnikov. Ti računalniki bodo praviloma povezani v lokalne in globalne mreže. Nékater no- ve metode bodo npr, nova arhitektura strojev za podatkovni pretok, zamisli umetne in naravne inteligence, novi jeziki ih za njih optimizirani stroji (npr. jeziki podobni jeziltu .LISP, PROLOG, ADA itd.). JIPDEC je priporočil 26 raziskovalnih/razvojnih tem, od katerih ima vsaka po več projektov. Teme so združene v sedem kategorij, kot je prikazano v naslednji tabeli. Vsaka tema ima ciljne specifikacije. Npr, ösebna delovna postaja bo lahko opravila 2 milijona ukazov v sekundi, imela bo pomnilnik za 0,5M do 5H zlogov in lOOM-zložni disk s povprečnim časom dostopa Ims. Druge specifikacije vsebujejo tkim. superhitri procesor, ki bo izvršil 1 milijardo do 100 milijard operacij s pomično vejico v sekundi in bo imel hitri pomnilnik obsega 8 do JßOM zlogov. ^ pregled projektov pete generacije Sistemi osnovnih aplikacij * Sistem za strojno prevajanje * Sistem za odgovarjanje na vpraSanja * Sistem za uporabno razumevanje govora * Sistem za uporabno razumevanje slik in podob * Sistem za uporabno reševanje problemov Tehnologija za podporo razvoja * Sistem za podporo razvoja . Sistematlzacijska tehnologija * Sistem za inteligentno programiranje * Sistem za na&rtovanje z bazo znanja * Sistematlzacijska tehnologija za raSunalniSko arhitekturo * Sistem podatkovne baze in porazdeljene podatkovne baze Arhitektura fiorazdeljenih funkcij * Mrežna arhitektura * Stroj podatkovne baze * Stroj za numerične izračune z visoko hitrostjo * Sistem za komunikacijo človek-stroj na visoki ravnini Nova vnaprejšnja arhitektura * Stroj za logično programiranje * Funkcionalni stroj * Stroj za relacijsko algebro * Stroj za podporo abstraktnih podatkovnih tipov * Stroj za podatkovni pretok * Inovativni von Neumannov stroj Tehnologija zelo visoke Integracije * VLSI arhitektura * Račune-ilniSko podprti načrtovalni sistem za inteligentno VSIil poznavala enoto znanja v nekaj sekundah uporabljajoč bazo znanja obsega 100 do 1000 giga zlogov . Za te funkcije se bodo uporabljala nova integrirana vezja z milijon do 10 milijoni tranzistorji v enem samem vezju. Zato bo razvit sistem za avtomatično načrtovanje takih integriranih vezij. Zaenkrat se v novi tehnologiji ne bodo uporabljali galijskoarsenidni in Josephaonovi spoji, saj raziskovalci predvidevajo, da ta tehnologija ne bo uporabna pred letom 1990. ' Vendar bodo budno spremljali razvoj in bodo te spoje uvrstili v novo tehnologijo, če bo doseženo stanje njihove praktične uporabnosti in superiorne zmogljivoati. Sistem za avtomatično načrtovanje vezij bo sestavljen iz treh delov: iz programske opreme za avtomatično načrtovanje VLSI, iz računalniškega sistema, ki ga bo ta programska oprema poganjala {tkim. System 5G) ter iz 5G osebnega računalnika, ki bo logična programima delovna postaja za načrtovalce. V prvi fazi (začetnih 5 let) projekta bo Implementiran jezik za hierarhično specifikacijo, ki se uporablja v laboratorijih podjetja Musashino EC grupacije Nippon T&T .Public,,Corp. Sistem z jezikom hierarhične specifikacije ima več modulov, ki si združeni v totalni načrtovalni sistem. Vsebuje jezik za opis vezij, prevajalnik, bazo podatkov, simulator časovnih oblik, logični simulator, simulator vezij, generator preizkuševaInih vzorcev, program za razmestitev elementov in njihovo povezavo in pre-izkuševalnik pravil načrtovanja. LOGIČNO NAČRTOVANJE Del projekta za avtomatično načrtovanje je razvoj delovne postaje za logično programiranje. Noben obstoječi osebni računalnik ne Izpolnjuje zahtev za hitro procesiranje govora, grafike, digitaliziranega vhoda podob in zmogljivosti osebnega sklepanja strojev, ki uporabljajo jezika LISP in PROLOG. Eden izmed najhitrejših navadnih univerzalnih računalnikov, ki zmore 40 milijonov ukazov v sekundi, je predviden kot gostiteljski računalnik sistema za avtomatizacijo načrtovanja, dokler ne bo dobavljiv nov sistem pete računalniške generacije. A. P. Železnikar Računalniška simulacija kriptografi je Sistemi osnovne programske oprome * Opravljavski nistem, osnovan na znanju * Sistem aa rtdevanjo problemov in sklepanja * Sistem za inteligenčno povezavo VELIKE ZMOGLJIVOSTI Načrtovalci predvidevajo, da bo mogoče oblikovati takšno funkcijo reševanja problemov in sklepanja, katere zmogljivost bo 100 milijonov, do 1 milijarde logičnih/sklepnih operacij v .sekundi (en logični sklep vsebuje od 100 do 1000 ukazov), Drugi primer je specifikacija sistema za' procesiranje naravnega jezika. Razen tega naj bi funkcija za upravljanje baze znanja raz- Računalniška simulacija klasičnih subatitucij-skili kriptografskih sistemov avtorja Rudolph F. Lauer ja je zbrana v BASIC programih, .ki omogočajo uporabniku simulacijo vsakega klasičnega substitucijskega Šifrirnega sistema. Opisana je v.i-sha kriptoanalitičnih programov, ki omogočajo reševanje problemov (lomljenje šifre). Nadalje j« dana informacija in seznam o ameriSkih kriptografskih patentih, predstavljena je kriptonnaliza in informacijsko ozadje različnih sistemov. Obravnavajo se tipični kriptografski problemi in njihovo reševanje. Naslov knjige je Computer Simulation of Classical Substitution Cryptographic Systems, cena broširane Izdaje je ^ 24,80 in naslov izdajatelja! Aegean Park Press,. P.O.Box 2837, Laguna Hills, Ca 92653 . À. P. Železnikar Miniaturni mikroprocesoraki kristali Podjetje Statek izdeluje kvarfine kristale v frekvenčnem intervalu IMHz do 1,25HH2, ki bo 48-krat manj SI .od industrijskega standarda HC-33. Ti kristali gasedejo na mikroprocesorski plošil le desetino t>roBtora navadnega kvarCnega kristala. Izvedba teh kristalov je prilagojena za namestitev na ploSäo 6 tiskanim vezjem. Podjetje Statek je anano po tem, da izdeluje tudi druge miniaturne kristale v simetriCnih in asimetričnih izvedbah, od niskih do visokih frekvenc, v ohiSjih tipa TO-5. Naslov proizvajalca je: Statek Corp., 512 North Main St., Orange, Ca 92668. A. P. Selezntkar Večnamensko upravljanje Večnamensko upravljanje (Management by Multiple Objectives) je procedura in naslov nove knjige avtorja Sang M, Leeja. NBMO je pristop za integracijo upravljavskih sistemov in sodobna upravljavska tehnologija, s katero se doseSe več upravljavskih namenov. MBMO obravnava slabosti upravljanja s cilji (nameni): kako obiti medsebojno izključujoče cilje (namene), da bi bili doseženi cilji celotne organizacije. Večnamensko upravljanje omogoča ' razumevanje konceptov, metod in virov, ki so potrebni pri oblikovanju in izvedbi take vrste upravljanja. Cena knjige je $ 17.50, izdajatelj pa je Van Nostrand Relnhold Co.,' 135 West 50th St., New Vork, NV 10020. A. P. železnikar t **ii**ii*ii ****** Utili,Ulli,* ta »i'^fti, Perspektive umetne inteligence Z japonskim projektom pete raČunalniSke generacije se ponovno postavlja vprašanje aktualnosti umetne inteligence kot raziskovalne, in razvojne dejavnosti. Uporaba računalnikov Ima že danes na voljo vrsto pripomočkov s področja tkim. umetne inteligence, Philips Research Lab (Nizozemska) je dal pred kratkim v uporabo sistem za vpraševanje in odgovarjanje v naravnem jeziku z imenom PHILQA 1. Te vrste sistemi sodijo med najbolj uspeäne na področju umetne inteligence (UI). iCLov center za vnaprejšnji razvoj in raziskave v Angliji se je prav tako začel intenzivno ukvarjati z metodami UI na področjih razpoznavanja govora in upravljanja podatkov. XEROXov raziskovalni center v Palo Alto, ZDA je za več let zamrznil splošne raziskave 01 v korist razvoja uporabnejäega pisarniškega sistema. Ta poteza se je izkazala kot zeko koristna, saj ima delovna postaja STAR visoke upo-rabnostne standarde. Inženirji podjetja DEC uporabljajo svoj UI sistem za pomoč pri konfiguriran ju sistemov. Texas Instruments preučuje UI za izboljšavo učinkovitosti programirnega okolja in VSLI načrtovanja. Tudi IBM aktivno ocenjuje z UI povezane sisteme s ciljem obvladovanja različnih nalog, kot sta avtomatično generiranje računovodskih programov in diagnostika napak. Seveda pa IBM ni bil vedno naklonjen tem novim metodam in prejšnji predsednik Thomas J. Watson ml. je črtal ui zaradi možnih obreko-valakih posledic. UI je bila eno redkih področij, ki je metodično proučevalo povezavo med človekom in strojem. Napredek na področju računalniških sistemov je mogoč na boljši povezavi uporabnika in siateroa in seveda na novih računalniških funkcijah, Te funkcije pa so motnost učenja sistema, nove povezave in zanesljivi diagnostični sistemi. Teh novih funkcij pa ni moč doseči z modifikacijo starega: učljivost in uporabljivost je potrebno razvijati z novih položajev, od samega začetka. Računalniški proizvajalci uporabljajo UI v svojih razvojnih dosežkih in nekateri, se tega zavedajo, drugI pa tudi ne. Uporaba UI v novih sistemih je značilna v zadnjih petih letih, prej pa se je na UI gledalo kot na znanost izven realnih meja. V 60-ih .letih je bil cilj UI tudi namera oblikovanja umetnega človeSkega bitja in taki cilji so bili nerealistični ter so UI prav gotovo škodovali. Leta 1958 ata pionirja UI H. Simon in A. Newell zapisala: Na svetu že obstajajo stroji, ki mislijo, se učijo in so ustvarjalni. Se več: njihove zmogljivosti za opravljanje teh operacij se hitro povečujejo dokler v skorajšnji prihodnosti ne bodo zmogli reäevanja problemov, ki eo na stopnji reäevanja Človekovih možganov. Ta skorajšnja prihodnost je Se vedno oddaljena, V zadnjih dvajsetih letih je UI pomagala uresničiti vrsto inteligentnih človekovih dejavnosti na računalnikih, toda se praktično ni pri-bli£ala posnemanju človekovega genialnega razmišljanja. Za dosego tega cilja so potrebne Se številne nove raziskave delovanja možganov in informacijskih procesov v njih, potrebno je poglobljeno znanje o nastajanju informacije v možganih, o njihovem paralelnem in diverznem delovanju, potrebni ao natančnejši Informacijski pojmi inteligence itd. V Združenem kraljestvu je bilo v letu 1972 pripravljeno poročilo, ki je dobesedno izničilo UI in raziskave robotov v tef deželi. To poročilo je Izdelal ugledni matematik Sir James Light-hlll na osnovi raziskav UI pod okriljem Odbora za znanstvene raziskave in nekaterih univerz. V tem Izročilu Je Lighthill razkrinkal UI tako temeljito, da je bilo njeno raziskovanje skupaj z robotiko zaustavljeno do konca desetletja. Vendar Je leta I960 Odbor za znanstvene raziskave spremenil svoje stališče in namenil 5 milijonov dolarjev za raziskave robotike, nekaterih področij UI, zavzel pa se je tudi za ustanovitev posebnega raziskovalnega središča, ki se bo imenoval Turing Institute. V 70-lh letih so raziskovalci UI znižali svoje teoretične poglede in povzdignili praktične elemente svojega dela. Niso več poskuSali oblikovati univerzalni stroj za razmišljanje, ki bi bil podoben človeku, temveč so se lotili specifičnih nalog, ki naj bi človeku pomagale oblikovati in uporabljati računalnike. Ta sprememba je bila podprta z zahtevo uporabnikov in raziskovalcev, da naj se olajSa uporaba računalnikov. Dotlej je bilo le malo raziskav za rešitev problema, ki so ga imenovali "uporabniška prijaznost." Tudi raziskovalci človekovega obnaSa-nja, kot so psihologi, so namenjali le malo pozornosti uporabi računalnikov. Celo dobro organizirane dejavnosti s področja ergonomike in tehnike človeSkega faktorja niso uvidele pomembnosti dela z računalniki. Računalniški praktiki so bili v tem razdobju zaposleni s tehnologijo In posebno uporabo računalnikov, Zaradi tega se je umetna inteligenca (UI) razvijala kot posebna veja kibernetike, ki nI bila povezana z računalniško znanostjo. Kibernetika pa se je ukvarjala a krmilnimi mehanizmi, ki omogočajo biološkim, organizacijskim in umetnim sistemom, da delujejo uspešno. Uporaba računalnikov v raziskavah UX je Ronfino oddaljila UI od klbernetlke, kl se je 3e vädno ukvarjala s preveS sploänimi sistemi. ■ Vendar so z UI prodrle v raČunalniSko znanost nekatere klbernetižne, Interdisciplinarne metode. Razvoj komuniciranja v naravnih jezikih z raSu-nalniki kaìe äe eno vrsto uporabe UI. V 60-lh letih je bil poudarek raziskav na programirnlh jezikih. V 70-ih letih je dominlral razvoj definicije podatkovne baze, jezikov za bazni dostop in metod za razpoznavanje podatkov; vsi ti napori so bili povezani z računalniško, usmerjenim pogledom na uporabniSko povezavo. ' UI al je prizadevala zgraditi komunikacijo z rafiunalnlki v naravnem jeziku. Tako je ameriški jezikoslovec Noam Chomsky preučeval moinost prevajalnika za angleški jezik. Vendar je Chomsky sklepal, da je učenje in razumevanje naravnega jezika preveč kompleksno za obravnavo na avtomatičnem sistemu In da mora temeljiti na podobnih lastnostih, ki so značilne za človekove možgane. Večina raziskovalcev UI je priporočala opustitev nadaljnih raziskav v smeri razumevanja naravnega jezika z računalniki. Zato pa je blja večja pozornost usmerjena v konteks.tno odvisne naravne jezike za komunikacijo z računalniki. V zgodnjih 70-ih letih je nastala vrsta interaktivnih dlalognih sistemov v ZDA. Pri tem sta se pojavili dve glavni razvojni smeri: prva je temeljila na. pojmu "skriptnega dialoga," druga pa na razpoznavanju informacije Iz baz podatkov. Oba metodi sta spočetka temeljili na enostav- .nih, trivialnih poskusih, pozneje pa sta se razcveteli v visoko razvite komercialne sisteme. V tkim. Bkriptnih sistemih je vnaprej definirana vrsta vprašanj in odgovorov, ki se lahko pojavijo na različnih stopnjah dobro strukturiranega dialoga. Npr. zdravnik-bolnik ali strež-nik-porabnik sta tipični skriptni situaciji. Taki sistemi se uporabljajo le v okviru zelo specializiranih kontekstov. Povpraševalni sistemi podatkovnih baz pa uporabljajo u I pri posplošenem sistemu upravljanja baz podatkov. Sistemi za odgovarjanje na vpraäanja, kot je Phl-llpsov PHILQA I in IBMOV OBE (Query By Example), BO tako ali drugače povezani z metodami UI na področju naravnih jezikov. V poznih 70-ih letih je.postalo jasno, da je baza podatkov osrednji problem, oziroma da je baza znanja tisto, kar je treba temeljito raziskati. Program lahko razume naravni jezik z .uporabo znanja "sveta", ia katerega prihaja informacija. Bkriptno dialogni sistem je relativno tog Ea opisovanje modela sveta. Potrebne so bolj prožne metode za graditev In ùporabo baze znanja. Baze znanja hranijo preSiSčeno bistvo {jedro) človekovega strokovnega znanja v obliki pravil znanja, pri čemeč so ta pravila strukturirana v vzorce človekovega sklepanja. Takšni sistemi z bazami znanja so znani kot izvedenski (ekspertni) sistemi. Takäen izvedenski sistem je npr. DiOCov i^iutCin HI, ki vsebuje znanje tehniških izvedencev. Tudi IBM izdeluje Izvedenski sistem DART na stanfordski univerzi. Cilj si-stetaa DART je zajetje znanja za posebno oblikovanja in diagnostiko tistih izvedencev, ki se ukvarjajo z oblikovanjem sistemov. DrugI ekspertni sistemi sistemi se gradijo za medicinsko diagnostiko, strukturalno analizo in geološke raziskave. Za področje računalništva bi bil izredno zanimiv ekspertni sistem, ki bi zajel znanje s področja programiranja. R. Quinlan z univerze v Sydneyu je uporabil Izvedenski sistem za pisanje programov, ki rešujejo posebne šahovske situacije. Ta program je bolj učinkovit kot program, ki bi ga napisal avtor. Seveda" 96 bodo v tem desetletju pojavili avtomatični generatorji programov, polavtomatični generatorji pa se prodajajo že danes. ■PolavtomatlČno programski generatorji ne opra- ^ vijo sami vsega dela ter eo interaktivno povezani s programerjem pri Izdelavi programa. TI programi postavljajo vprašanja uporabniku, večkrat pa tudi zahtevajo, da se določeni programski segmenti napišejo,ročno. IBM raziskuje te metode s ciljem, da bi omogočil programiranje nestrokovnjakom pri oblikovanju' računovodskih in poslovodskih programov, ki se prilegajo konkretnemu okolju. V zadnjih dveh letih se je pojavilo več polavtomatskih programskih generatorjev, ki generirajo programe v jezikih BASIC, COBOL in tudi v drugih jezikih (PEAHL, THE LAST ONE itd.). Ameriški futuristi verjamejo, da bo UI in Še posebej izvedenski sistem uporabljen kot "ljudski" ojačevalnik. Te metode bodo skupaj z novimi visoko integriranimi vezji povzročile različne ljudske ojačevalnike, kot bodo npr. knjiga-v-vezju, učltelj-v-vezju, zdravnik-v-vezju itd. Ti tehnološki doseii"kl bodo omogočili ljudem, da si priredijo lastne izvedenske sisteme. Skeptiki napovedujejo za ta tehnološki prodor Se nadaljnlh 10 let. Neglede na časovne zakasnitve in prehitevanja je več ali manj jasno, da prihodnost pripada ekspertnim sistemom; na tej predpostavki temelji tudi japonski državni projekt pete računalniške generacije. Ti sistemi bodo potrebni za golo preživetje človeštva, kot poudarja Donald Michle iz Enote za strojno inteligenco edinburške univerze. Vse večja odvisnost okolja od računalnikov povzroča nujnost uporabe teh sistemov. Ko bodo ti programirani za Človeku podòbno sklepanje, bodo po Hichiju oblikovali, "človekovo okno" v "skrivnostni" stroj. Ekspertni sistemi se bodo lahko uporabljali tudi kot inštruktorji, saj prečistijo strokovno znanje v jasno opredeljena pravila. V prihodnosti bodo izvedenski sistemi pomagali razrešiti vrsto problemov povezave človek-stroj, ki so trenutno največja ovira za široko uporabo računalnikov. Tako bodo nastali uporabniško prijazni sistemi. Sistemi z bazami znanja bodo zaradi velikega uporabniškega interesa morali imeti nekatere nove, še ne odkrite lastnosti človekove inteligence; to pa je zagotovilo, da bo UI tudi v prihodnjem stoletju imela osrednjo vlogo na računalniškem prizorišču. A. P. Železnlkar Svetovni računalniški center v Franciji Francoska vlada je na pobudo J.-J. Servan-Schreiberja ustanovila tkim. svetovni računal-.niškl center, katerega generalni direktor je postal Nicholas Negroponte, bivSl direktor za računalnike in telekomunikacije na MIT, V okvir novega centra je bil postavljen tudi profesor Raj Reddy, bivši direktor instituta za robotiko na Carnegle-Mellon univerzi in Seymour Papert, avtor jezika Logo za poučevanje programiranja otrok. Ker gre za tri vodilne ameriške računalniške strokovnjake, ki so se preselili v Pariz, so v 2da postavili vprašanje, zakaj podobnega projekta, ki ga je sprožil Servan-Schreiber, niso začeli v zda. Za kaj prevzaprav gre? Vzroki za izselitev vodilnih ameriških strokovnjakov so preprosti. Francoska vlada je uvidela, da je ustanovitev svetovnega računalniškega centra povezana s posredno ali neposredno koristjo vsakega državljana sveta. V zda takšne uvidevnosti tipično ni in v Washlngtonu že. ugo- tavljajo» da je zaradi odliva vrhunskih kadrov iz ZDA nekaj narobe z državno strategijo na po-drofiju računalništva. To pomeni, da obstaja za vrhunske strokovnjake mo£nejäa raotlvaclja l^ven ZDA. Američani, ugotavljajo obstoj določene krize računalništva, ki bi jo bilo nemudoma potrebno identificirati. Servan-Schreiber je v svojem predavanju v Wa-shingtonu nakazal, kje vidi slabosti ameriškega tehnološkoga napredka, ki je Izredno občutljiv na računalniškem področju. Tako ao npr. Japonci vstopili na tržiSče motorjev na reakcijski pogon. Prtìd tremi leti so sklenili sporazum 7. British Kolls-Royca v okviru oddelka za reaktivne motorje. V zadnjem času postaja očitno, da prevzemajo japonska podjetja vodilno vlogo na področjih, ki predstavljajo pionirst-vo amcjriSkega tehnološkega duha, spretnosti in podjetnosti. Tako se npr. tekoči kristali proizvajajo danes izključno na Japonskem, nadalje pa volja zadnja ugotovitev i.a avtomobilsko, ka-mersko, stereo, ladjedelnižko industrijo in še posebej za industrijo osebnih računalnikov. Svetovni računalniški center je nov, arabiciozen projekt, kateroga cilj je predaja računalniške moči v roke ljudstva (tu se očitno v določeni meri zrcali francoska revolucionarna tradicija) . Med predlogi novega centra je projekt za instalacijo osebnih računalnikov v 500 naseljih, ki naj bi bila s področja tretjega sveta, nekaj teh računalnikov pa bi postavili tudi na območje razvitih deSel. Servan-Schreiber, kt je trenutno Se direktor centra, se je trdo in dolgo boril s francosko vladno birokracijo in končno dobil pristanek za ustanovitev centra v Parizu. Negroponte je prišel z MIT zaradi bolj-äih delovnih pogojev, saj ima v centru na voljo dvakrat veČ ljudi, kot jih je imel na MIT v 15-letnem projektu. Američani priznavajo, da je zamisel Svetovnega računalniškega centra prava in kot običajno u-teraeljujejo to trditev s številkami. Te številke se nanašajo na procente delovne sile, ki je zaposlena na področju informatike v posameznih državah : Združene države Amerike Kanada Francija Japonska Venezuela 41,1 % 39,9 % 32,1 % 29,6 % 26,3 % Zanimivo je, da debele, kot je Venezuela, ki tehnološko ni preveč napredna, aaposljujejo znaten delež delovno sile na področju Informatike. Servan-Screiber poudarja nekoliko radikalno stališče, ko trdi, da ljudje že v nekaj letih ne bodo več delali na produktnih linijah. To delo bo v celoti prepuščeno robotom in strojem. V tej zvezi poudarja in svari, da se bodo ljudje morali naučiti procesirati informacije (biti v vlogi informacijskih procesorjev). Ta izjava se seveda nanaša na intenzivnost informacijskega procesiranja v možganih, saj bo po predvidevanjih Servan-Schreiberja prav ta Intenzivnost znatno povečana. Tudi roboti postajajo vse bolj zanimivi, saj postaja njihova uporaba cenejša, kot jß človekovo delo. Cena robotove ure znaša 3 4,80, za živo delovno silo pa veljajo tele urne cene: Združene države Amerike Zvezna republika Nemčija Japonska roboti $ 9,09 » 11,33 $ 5,58 a 4,ao hova vlada ne uvidi tega bistvenega pogoja preživetja. Odgovor na omenjeno dilemo bi bili vladal in drugi projekti, ki bi vzpodbujali programe za računalniško pismenost. To pa pomeni, da se morajo osebni računalniki pojaviti v domovih in äolah. Pred ameriškim kongresom sta dva predloga za finančno podporo proizvajalcem, poslovnežem in šolam za povečanje naporov, s katerimi bi se urGsnlčevali cilji računalniške pismenosti. Prvi predlog (sprožilo ga je podjetje Apple) je talei v razdobju enega leta naj bi računalniški proizvajalci dali računalnike v Sole s znatnim popustom. Toda eni šoli lahko da proizvajalec le en sistem, da s tem Šole ne bi bila zasute z računalniškimi sistemi, TI sistemi morajo biti najsodobnejši (ne starejši od dveh let). Drugi predlog predvideva 100 dolarski letni kredit na člana druSiine do 50 % cene domačega računalniškega sistema, s petletno odplačilno dobo. Na ta način bi si družina 4 čJanov lahko nabavila sistem z vrednostjo $ 4000 pri kreditu SS.2000. Cilj teh predlogov je, da bi bil računalnik dosegljiv vsakemu Američanu. A. P. Železnikar "IBIi/570 na onem inteBrirani;m vezju?" Iz tega izhaja, da ljudje morajb postati "računalniško pismeni," da bi v prihodnjem svetu lahko preživeli. Američani se jezijo, ker nji- To Je ßeslo poročila, ki fr'i ho podal povabljeni strokovnjak H. Painke iz IBM laboratorijev v ÜRN, na osmem simpcin.,)« Evropskega zdj'uSenJa za Mikroprocesorje in Biilcroprogrninironje ( EU KOMI-CHO), ki bo od 5. do 9. septembra vHwifi v Izraelu, Vastcoletni simpozij KURiOMICKO je vodilno evropsko arečajije strokovnjakov z univera in iz industrije 3 področj'1 mikroproeesornkih sistemov in mikroprogramiranja, UilelcKijo se ga poročevalci in obiskovalci iz skoraj vseh evropskih dežel, ZDA in daljnega vzlioda. Drugi povabljeni strokovnjak je H. Zoka, predsednik in natanovitfilj SYBEX-n. Hjegovo poročilo ima naslov "KikroracunalniSka industrija: preteklih deset let, naslednjih pet let". Po izkušnjah ia prejffnjih simpozijev je tudi lotos organiziran dan seminarjev, poslušalci pa bodo lahko izbirali med dveoa temama: " ì'irmwaru (vstdbina poianilnika HOM, ki določa lastnosti vezja), podpora progcnmsko opremo" od G. Chrouafca iz IBM, Dunnj, Avstrija in "Distribuirani mikroprocesorski siatemi in lokalne mrožii", 11. Saal iz Mestar systems inc., Palo Alto, Z3)A. V znanstvenem programu fiUJfOMIGHO f.ì2 bodo po-\ d.nni referati, ki so jih reconsirali trije vodilni strokovnjaki s posataoznih pCKlročij. Te referate je programski odbor izbral iz velikega šBevila prispevkov. Podana bodo tudi kratka sporočila o opravljenem delu, na področju programske in aparaturne opremo. Haas tava proizvajalcev bo ob simpOKiju.predstavljeni bodo mikroprocesorski sistemi, razvojni pripomočki, testni sistemi in periferne naprave. Hazstavljalci bodo svoja poročila podali v okviru po.-ißbnega industrijskeg" program n. Ka EUilOMlORO 82 bo finalno tekmovanje nataČK-ja "EUK0M0U2E o labirintu", lioboü - miška z mlkrokontrolo, se giblje v labirintu omejeni can. HiSka ima doset minut časa an raziskavo labirinta in u2enje, nato p« mora v čim Jcraj-šem času najti izhod iz laborintn. NifLi IV»i>i[- OKROGLA MIZA „INFORMACIJSKI SISTEMI ZA PRENOS ZNANJA' LJUBLJANA, 72.S. 7982 od 16,00-19.15 Zapisali: FRANC 2ERDIN, BORUT JUSTIN, SILVA PREDALIC, BRANKA F RAS Uredil: BORUT JUSTIN Ob priliki simpozija in razstave INFORMATIKA '32. (10.14.5.19Q2) je bila organizirana okrogla miza, anmenjena izmenjavi ranenj o računalniško in nikrofilmsko podprtih informacijskih sistemih za iskanje znanstvenih, tehniSnih In strokovnih informacij. Okroglo mizo je vodil dr. Borut Justin, direktor informacijskega centra, v sodelovanju s prof. dr. Aleksandro Kornhauser, predstojnico Specializiranega INDOK centra za kemijo (KEMINDOK)- in mag. Valentinom Jarcem, vodjem specializiranega INDOK centra za strojniStvo (SICS). Na okrogli mizi je sodelovalo 60 udeležencev iz gospodarstva, raziskovalne, izobraževalne, upravne in informacijske dejavnosti, v razpravi pa je poleg voditeljev okrogle mize sodelovalo deset razpravijalcev (nekateri od njih po veEkrat): B, Grabnar, J, Španring, T. ßanovec, M. Stele, L. Kristan, M., Šlajpah, J. Mogilnicki, V. Ambrožic, J. Kranjc, G. Galunifi. Predvseni dva razloga obstajata, da so se pred približno 20 leti zaSeli hitro razvijati in uveljavljati raSunalniäko in mikrofilmsko podprti informacijaki sistemi za iskanje in pretok znanstvenih tehničnih in strokovnih informacij in poilatkov: - prava eksplozija in poplava informacij kot posledica vse hitrejšega razvoja - razvoj računalnikov in njihove uporabe ter mikrofilmskih sistemov, oboji pa so se izkazali kot izredno primerno orodje za uvajanje povsem novih prijemov, tehnologij in načinov dela Zaradi prvega .razloga, pa tudi zaradi čedalje večjega pritiska na produktivnost razsikovalnega, konstrukcijskega in podobnega intelektualnega ustvarjanja, predvsem v smislu potrebe za zmanjševanje porabe časa za informiranje po klasičnen načinu v strokovnih knjižnicah, se je pojavila akutna potreba po IWDOK dejavnosti, kot jo danes pojmujemorazbremeniti uporabnika Informacij mučnega in zamudnega iskanja, ter vzpostaviti siatene, ki mu bodo omogočili z veliko selektivnostjo, hitrostjo in točnostjo seznanjanje z novostmi in iskanje informacij na njegovem področju, ob pomoči specializiranili strokovnjakov in informacijskih služb. ; Kot je v takme in podobnih primerih običajno so se najprej pojavili zametki informacijskih služb, procesov in sistemov znotraj velikih organizacij aii projektov (na primer: 11 ASA), ki brez tovrstnih uslug niso mogli več norm, Ino delovati. Kme.lu se jo pokazalo, da zaradi zelo hitro rastočega števila informacij potrebujejo tovrstni informacijski sistemi sorazmerno velika računalniške sisteme, zlasti na področju eksternega spomina (^.agiietni diski ali podobno), pokazala se je pa tudi kmalu omejena vrednost paketnih računalniških obdelav in nastopila potreba po modernejšem in zahtevnoj sem načinu direktnega dialoga z računalnikon v realnem času- - online delo. Ta zahteva je seveda dvignila celotno znlitevo na tovrstnih projektih še na dveh nivojih: potrebna je bila izdelava specializirane progtai;'.:;ka opro;ne in izgradnja telekomunikacijskih možnosti za daljinski dostop do baz podatkov. Paralelno a tom se je spremenila tudi filozofija dosedanjega sekvenčnega pregledovanja baz podatkovv inJekssakvenčno oziroma invertirano, za kar je bilo seveda potrebno razviti dodatne pripomoSke. Ob takih razmiäl'jajijili je bil okoli leta 1965 v sodelovanju ameriäke firme Lockheed in NASA razvit prvi online informacijski software pod invenoi« HECON, ki je omogočal online iskanje informaci■«. Približno istoSasno pa se je po sevorno-iir.ierläkem prostoru zabelo Siriti prvo javno omrežje za penoa podatkov (AKPANET), kar Jo bil drugi pogoj, da je Lockheedov in formacijski sistem pod ieinnora DIALOG začel prodirati v javno uporabo, ter v kratkem Caau postal komercialno dostopen -aa uporabnike na severno - araeriškem področju. Presenetljiva uspeanost tega projekta je kmalu rodila tudi konkurenčne proizvode, pa tudi sila hiter in uspešen nadaljnji razvoj DIALOG sistema, ki tudi danes äe ni kon£an. Danes je mogoče v svetu najti tri kategorije programskih paketov za oni ino uporabo znanstvenih, tehnlCnlh in strokovnih informacij (Information Retrieval Software)s 1. Specializirani programski paketi za komercialne operacije v valikem obseeju (praviloma mednarodne informacijske sisteme). Kot no primer ! DIALOG, ORBIT (oba USA), BUS - CATASTAR (USA -ävica),USA - OÜEST-(evropska prostorska agencija. Frascati, Italija - nadaljnl raavoj NASA -HECON softvjaröa) 2. Programski paketi proizvajalcev računalniške opreme, prirejen tudi - a ne samo - potrebam is-» kanja ananstvenih, tehničnih In strokovnih informacij online, kot na primer: lOM - Staira, UNIVAC - Unidaa ali SIEMUNS - Golem. 3. Neodvisni proijroniskl paketi poBameznlh velikih družb, ki navadno poleg information ratrievel funkcije zadostujejo tudi potrebam izmenjave informaolj znotraj druf.b - na primer telekon-feriranje. l'rlmor: ICI - Assassin, Seveda ae vse te tri kategorije niso odvijale neodvisno ena od druge, saj je na primer ÜRS -DATASTAR gpftware Izvedenka lUMovaga Stairsa. Približilo od leta 19VO dalje je ülio tudi pri nas precej naporov vloženih v razvoj informacijskega softwarea, ki bi ga pa le težko postavili ob bok zgoraj navedenim primerom, saj je v zaöetku bil pretežno paketno orientiran,, danes sicer že omogoča določeno online delo, vendar na bistveno nižjem nivoju kot zlasti prva kategorija navedenih sistemov, kar pa je tudi povsem razumljivo in v celoti niti ni mogoče slabže funkcionalnosti pripisati zgolj softwareu, temveč tudi (ne)raspo-ložljivosti zadostnih strojnih računalniških kapacitet.' Pri nas doma je prvi paket razvila ISKRA; SMDC, nato Republläkl računski center - UORS in kasneje Se Računalniški center Univerze v Ljubljani - IBIS, Ceni se, da dober Infornacijaki software (Information Ket»-ieval Software) zahteva okoli 60 Človek - let(man years) dela zelo dobro kvalificiranega, specializiranega in kvalitetnega kadra, kupiti ga navadno ni mogoča, saj je vodno skoraj izključno razvit za potrebe lastnih komercialnih kjijfracij v veilkora obsegu. Upoštevajoč taka dejstva ob trenutnem stanju naäe Informacijske dejavnosti ter njenih perspektiv ne bi bilo realno pričakovati doseganja nivoja mednarodnih inforamcijskih sistemov v naäem okolju. Poleg obsežnosti in zahtevnosti programske opreme pa je potrebno pri zagotavljanju takega Informacijskega .sistema upoStevatl tudi obsežnost In s tem ceno potrebne strojne opreme In telekomunikacijskih možnosti za uporabo sistema. Trenutni status DIALÒC, informacijskega sistema (začetkom 1902) jo naslednji: stalno je online na razpolago približno 130 baz podatkov s skupno cca 60 milijoni pretežno bibliografskih referenc. Ob oceni, da Ima povprečna referenca (bibliografski zapis) 300 znakov in ob upoštevanju potrebnega prostora ne tiskovnih pogonih za Indekse in kazalce, se da oceniti, da je potrebno za normnlno delovanje isstcma najmanj 100 verjetno pa več velikih diskovnih pogonov. Trenutno ima DIALOG informacijski sistem 20.000 upo- rabnikov po celew svutu, tako, da j« pottabiio ža zagotovitev iiorraalne operativnosti omogočiti hkraten dostop (vsaj v konicaK} vcC- tisof; terniin.-jlov, Nadaljna ostra zahtovEi jo postavljena na zanesljivost sistema, kar jo v bistvu mocjtice doseči- le z ciupliciratijem najpomembnejših funkcij in elementov, zato je iiorornlno, da so■ vüllki informacijski giatemi grajeni na oanovi duploks. ra Čunalnižklh sistemov (dvojni procesorji), od katerih jo v sili vaak sposoben prevzeti celotno funkcijo - seveda z ustreznim podaljšanjem odzivnega časa. Rezultat takih kalkulacij Je nedvoumen sklep, da je smiselno graditi (pa tudi uporabljati) veliko, v principu.mednarodne Informacijske sisteme, kar pa ne izključuje'možnosti distribuirane gradnje posameznih baz podatkov. Razvoj v svetu, zlcisti pa v Uvropi ne gre povsem v smirslu takili razmišljanj, to pa predvsem-);pt posledica različnih regionalnih in- nacionalnih pogledov, znaćilnosti, opredelitev in apetitov, katerih razlogi pa so jiretcžno- politiCne narave. l'a'trenutek so' uporabnikom v svetovnem merilu na razpolago trije veliki informacijski sistemi v Združenih državah Amerike, ter okoli 10 v iiahodnl tivropl (velika Uritanlja 2, Zahodna Nemčija 2, Italija 1, Francija 2 + 2 v'jradnji, Švica 1). fitevilöno stanje teh sistemov daje precej nenormalno podobo ob upoštevanju dejstva, da se trenutno porabi nad 80» celotnih svetovnih informacijskih uslug na Severno-ameriSkem področju, dobrih 10% v evropskem prostoru, preostanek pa odpade predvsem na Japonsko, Avstralijo in Movo Zelandijo, £epirav so ti sistemi donogljivi in se - sicer ^iiarginalno - uporabljajo tudi vAfriki, /Vziji in Južni Anioriki. Pri:!d dobrim letom dni opravljena tržiia analiza iii Studija do leta 19U5 (li. Collier, Learned Inforiiuition, Oxford, Velika ßritanija) ugotavlja, da ja v evropskem prostoru mesta za dva informacijska sistema, ali z drugimi besedami, da je trenutno stanje si la■nerncionjlno in ekonomsko neupravičeno. Glede na realno stanje pri nas, je povsem realno mogoče postaviti trditev, da je prepad rtied nami in Zahodno Evropo še bistveno večji kot nied 2ahodiio Evropo in Ameriko, zato se sam od sebe vsiljuje zaključek, da je za nas edina alternativa (povsod tam, kjer je to politično in tehnično mogoče zagovarjati)čim direktnejša navezava na mednarodne informacijske sisteme in njiiiova trajna uporaba, saj eo kakrSnakoli druga razmišljanja-brez vsake stvarne podlage in torej nerealna. Tak zaključek pa seveda s precejSnjo ostrino in takoj postaavlja vprašanje, kaj storiti z naäimi domačimi podatki, informacijami in bazami podatkov, -ki jih delno že gradilo. Povsem nesprejemljivo'bi namreč bilo, če bi se jim odpovedali, saj bi s tem potencirano 'in čedalje hitreje zapadali v vaevečjo in večjo odvisnost od tujine na tem verjetno najbolj perspektivno pomembnem področju bodočnosti, zaradi tega seveda, iz nacionalnega stali5ča gledano, pri gradnji oomačih baz podatkov in informacijskega sistema za njihovo uporabo ekonomski način razmišljanja ne sme biti mcrodajen, vsaj v tem trenutku ne. -Ocen ju jemo ,■■ da je brezpogojno potrebno ne le v istem tempu naprej graditi domače b.-jzG podatkov kot je to bil primer doslej, temveč te napore še biatvisno ojačiti, tako v smislu obsega in temat^kegn pokrivanja baz podatkov kot njihove kvalitete (abstrakti), paralelno s tem pa je seveda"potrebno posodobiti tudi metode uporabo teh baz podatkov, saj moramo stremeti k cilju, da čimbolj zmanjšamo razliko med tehnološkim nivojem uporabe tujih in domačih virov informacij. Pet delujoči slovenskih INIJOK centrov, ki že več let oskrbujejo uporabnike z informacijami iz računalniško ali. mikrofilmsko podprtih informacijskih sistemov, so je v preteklem letu dogovorilo skupno pripraviti in kasneje realizirati projekt posodobitve Informacijskega sistema za znanstvene tehnične in strokovne informacije, sredstva za projekt bodo centri delno združili sami, seveda pa pričakujejo pomoč od prirstojtilh in odgovornih organov in organizacij v republiki, predvsem Ka'iiskoyalne skupnosti, Gospodarske zbornice, Izvršnega sveta, Univerze in proizvajalcev računalniške opreme, üledu na to, aa je pretežni del danaSnjih uporabnikov informacijskih siste-uiovomenjenili petih centrov iz gospodarstva (okoli 90% vseh uslug, ki jili centri nudijo) in ob pričakovanju, da bo tak trend več ali manj nespremenjen tudi v bodočo (saj je v tujini tako), jo prevzela vodilno vlogo pri organizacijskih pripravah projekta fiospodarska zbornica Slovenije, cilji projekta so zastavljeni v skladu z zgoraj navedeninii razmläljanji, trajal naj bi dve leti, program pa je sestavljen modularno, z nnnitinoin, dn su doini rezultati čimpreje prenesejo v vsakodnevno prakso. Rezultati projekta naj bi omogoSlll domačim uporabnikom online uporabljati doRiafie baze podatkov, njegov dejanski uspeh pa je v precejšnji nori odvisen od nekaterih spremljajočih, predvsem infrastrukturnih faktorjev, ki ijiso sestavni del projekta, kot na primer: - vzpostavitev javnega omrežja za .prenos podatkov - vsaj v Sloveniji, ie ne na podrofiju celotne SFRJ, najkasneje' <|o leta 1985 - razpoložljivost , primerne caCunalniSke opreme, na kateri bi bilo mogofie permanentno Instalirati baze podatkov za online delo in, ki bi imela ustrezne telekomunikacijske moìnosti za daljinsko online delo - razpoložljivost (na trSläfiu) primernih terminalov, ki bi jih uporabniki za tako delo lahko kupili in uporabljali - izboljäana knjiSniCna mreSEa, primerno oskrbljena z revijami, knjigami in drugim primarnim materialom, iz katere je v zadnji fazi (online) mogoče dovolj hitro in učinkovito pokrivati potrebe po narofillih kopij dokumentov. To organizacijsko £e obstoja, problematična pa je iz znanih razlogov (restrikcija uvoza) preskrbijanoat z dokumenti. Trenutni problemi tovrstne Informacijske dejavnosti pri nas so predvsem naslednji: - izriädno nizek nivo! uporabe - pomanjkljivo Soljanje uporabnikov, oziroma pomanjkanje kakršnekoli sploSne Izobrazbe v tej smeri - slabo rüSeno financiranje dejavnosti v. celoti, kar nalaga redkim osveäöenira uporabnikom, ki usluge izkoriščajo nesorazmerna finančna bremena , -slabo opremljenost jinformacijsklh centrov in uporabnikov - stalni in- kronični problemi pri uvozu informacijskih uslug in materiala (plačevanje računov za ba::e podatkov, za onlliie informacijske usluge, in za dokumontacijo) - slal^a koordinacija in premalo sodelovanja mod posameznimi INDOK centri - slaba koordinacija it| j povezava struktur odgovornih za sfero in odsotnost kakršnekoli konkretnejše politike in ciljevi na tem področju. ' i V resnici v zavest vodstvenih in strokovnih ljudi pri nas Se ni prodrla resnica o neusmiljeni potrebi po sistematični gradnji in uporabi .modernih informacijskih sistemov v celoti, sprotne gospodarske teäave pa vsakodnevno ponovno odvračajo pozornost od te, za bodočnost ključne problematike. Paradi praktično popolne i odsotnosti tega problema v izobraževalnih programih povzroča zadrege neznanje na tem področju in!sila meglene ter ter neizdelane predstave o moänoatih, trenutnem stanju v svetu in perspektivi informacijskih sistemov. Mistifikacija računalništva je Se vedno prisotna, nepoznavanje procesa in sistema pa uporabnikom v bistvu onemogoča ali vsaj otežuje primerno uporabo ie danes razpoložljivih uslug. I ■ ^ Da se to stanje čimhltreje in čimmanj boleče pruseSe, Je potrebno razmišljati O nekoncancionalnih prijemih, nekonvencionalnih predvsem za knjlinično in IHDOK dejavnost. Pasivno nuđenje uslug ne zadojSča, potrebno je aktivno sodelovanje s potencialnim ali rednim uporabnikom, predvsem aktivno sodelovanje v smislu rcSevanja konkretnih uporabnläkih problemov, to pa implicitno vsebuje tudi sodelovanje uporabnika pri uporabi informacijskih sistemov in procesov, oziroma njegovo sprotno izobraiievanje, ter seveda prilagajanje procesa dela v INDOK centrih konkretnim, včasih na žalost tudi kontradiktornim zahtevam uporabnikov. Profesionalci na področju informacijske dejavnosti moramo bolj upo&tevati dejastvo, da je čas (vsaj v primeru gospodarstva) za uporabnike dobesedno denar, zato je potrebno informacijsko uslugo oplemenititi tudi v tej smeri, kar seveda pomeni več konkretnega Intelektualnega sodelovanja ob konkretnih problemih in na konkretnem mestu (pri uporabniku). V približno dve uri trajajoči razpravi je bilo IsneSeno precej misli, sugestij in ugotovitev: V zadnjih letih je v sploSnem zelo veliko govora o informacijskih sistemih, takih in drugačnih, obstoječih in bodočih, vendar je povprečnemu občanu iz vseh teh razprav čedalje manj jasno kaj želimo in predvsem kako želimo, bomo imeli en sam vseobsegajoč mamutski informacijski sistem ali tisoče informacijskih sistemčkov, bodo le ti med seboj sploh in kako povezani? V bvetu se porajajo nove tehnologije in aplikacije, nekatere od teh Izgledajo zlasti zanimive za naä družbeni 8l8tem, na'primer VIDEOTEXT (PRESTLL, BIl.DSCilIRMTEXT, TELETtL) . Vlclootèxt tehnologija daje možnosti za sploSne informacijske sisteme za Javno uporabo, aaj je kot àparàturno opremo zanje mocjoče uporabiti domač televizor in t^slefon, i dodatno vgraditivj. jo adaptor ja v teloviicor In uporabo tastarure. To omogoča uporabo raöunalniSko podprtega informacijskega sistema vsakemu posamezniku, povsem fleksibilno glede na njegove želje, razpoložljiv öas in lokacijo. O tem In podobnih sistemih pa pri naa praktično nV niäeaar znanega oziroma je poanavanje teh sistemov omejeno na ozek krog strokovnjakov. Potrebno bi torej bilo äiräo javnost seznaniti s tovrstnim razvojoni, pri razpravah o informacijskih sistemih pa od razpravijalcev in predlagateljev zahtevati ve£ strokovnosti in poglobitev znanja. ... Nakazano je bilo, da celo na področjih, kjer so vsaj po formalni plati doseženi določeni sporazumi in dogovori teh ne izvajamo, oziroma jih tolmafiimo vsak po svoje, predvsem pa je mnogo premalo, medrepubližke koordinacije. fjoötvoti je počaui potreba začeti pojma baze podatkov in informacijskega sistema. Slcar je res, da onega broz drugega ne moremo vzpostaviti, drugi del resnice iia je, da operativno nimata praktično ničesar skupnega. Prav tako je povsem jasno,, da v SirSem Kontekstu razprav o družbenem sistemu informiranja nedvomno vanj sodijo tudi informacijskih sistemi za znanstveno, tehnično in strokovno Informiranje in prenos znanja in čas je, da nehamo razprave o DSI ' omejevati samo na informacijske sisteme statistike, SDK in morda Se Narodne banke. Povsem jaono je tudi, da nam je projekt posodobitve informacijskih sistemov za znanstvene tehnične in strokovne informacije nujno potreben, in nikakor so ne'sme zgoditi, dà bi iz kakršnihkoli razlogov v neskončnost odlagali njegovo realizacijo. Pri stikili z uporabniki ae da mnogokrat ugotoviti, da za sistematičnej So in obsežnejšo uporabo informacijskih sistemov za znanstvene in tehnične informacije ni prave motivacije, včasih pa je celo potreba po takih informacijaii vprašljiva "saj shajamo tudi brez njih", treba bo torej temeljiteje oklestiti našo nagnjenost k improvizaciji in poslpoäevanju, ki omogoča tako zgrešene zaključke. Poleg tega.ne obstajajo norme za izvajanje določene aktivnosti (na primer investicijskih projektov, raziskovalnega dela ali licenčnih dogovorov in pogodb), ki bi eksplicitno zahtevalo porabo informacijskih sistemov za nujno dviganje startne osnove teh aktivnosti, preprečevanje podvajanja, s tem pa zmanjševanje tolinoloških razlik med domovino in tujino. Ni se uveljavila potreba po povratnih Informacijah od uporabnikov k informaclSskim siatemom, kar bi zadnjim šele omogočilo prilagojevanje potrebam uporabnikom, uporabnikom pa dajalo občutek ali morda celo garancijo o smiselnosti In koristnosti informacijskega sistema (kakršnegakoli), Opazno je kronično pomanjkanje znanja in razumevanja principov informacijskih sistemov, to pa povzroča kritično zaostanke, zlasti kadar se to neznanje pojavi na nivoju poslovodno, upravne alitehniäke in tehnoloSke vodilne strukturo kadrov. Zaradi tega je potrebno paralelno tudi za funkcionalno izobraževanje, prudvsam vodilnih in tehnlSkih in tehnoloških kadrov, na primer v zborničnem in izobraževalnem sistemu. V primerjavi z ostalim svetom (predvsem razvitim, pa tudi že nekaterimi deželami v razvoju) mnogo premalo sistematično skrbimo za družbeno sofinanciranje te dejavnosti, pretirane zahteve po dvobpuiii wunjdvi oziroma konkretnem plačevanju storitev s strani uporabnikov pa preveč obremenjuje tiste redke osveščene uporabnike in jih v bistvu odvračajo od uporabe informacijskih storitev. Poleg toga pa med uporabniki dodatno ustvarja slabo kri naravnost ignorantsko obnaäanje določenega dela gospodarstva (pa tudi negospodarstva) za katerega izgleda, da ga informacijski sistemi preprosto sploh no zanimajo. Resnici na ljubo pa je potrebno povedati, da redkim osveäCe— nlm uporabnikom tudi v lastnem okolju ni postlano z-rožicami, saj vsakodnevni pereči, predvsem gospodarski problemi prevpijejo kakriinokoli dolgoročno načrtovanje in financiranje. Izredno nizka informacijska kultura v naäi deželi se -kaže tudi skozi mnenja, ki jih jo mngokrat sliSati, da bi informacije Iv spložnem) morale biti zastonj. Ob tam se navaja argument, da pregledovanje strokovnih knjig, revij In poročil v knjižnicah nič na stane, pozablja pa se na dejstvo, da to stane ogromno časa, poleg tega pa je efekt takega ročnega dela slab. Se zlasti ob upoäte- vanju trenutne auäe pri uvozu literature in na sploäno siate zalo£enosti knjiänic. Družba kot celota se Se ne zavoda, da se danes v svatu informacijska storitev postavlja ob bok zagotovitvi energije, surovin in hrane, da pa ae.celo predvideva, da bo v bližnji bodočnosti ravno informacijska storitev postala glavni iootot nadaljnjega razvoja In konkurenčnosti v mednarodnem pogledu. Ob koncu okrogle miie so bili soglasno sprejeti naslednji zaključki» 1. Mikakor ni mogoče dovoliti nadaljnjega zaostajanja na področji) znanstvenega in tehničnega informiranja. Potrebno se je čimprej lotiti prej predstavljenega projekta, ob tem pa selektivno - sredstvoiii, kadrovskim ,in drugim moSnostim primerno ter čimbolj združeno stremeti k doseganju rezultatov na vnaprej zaokroženih celotah, ter jih čimprej sprovesti v vsakodnevno prakso. 2. Ni niogočc čakati na zamudnike, pač pa jim je potrebno ob primernih pogojih (ob tem jih je potrebno vzpodbujati) omogočiti vključevanje v delo pri razvoju in uporabi informaci-iskih sistemov. 3. Pri zagotavljanju informacijskih potreb uporabnikom na tem področju se jo potrebno čimbolj svetovno orientirati in izrabiti možnosti, ki so nam ponujene, doma pa dograjevati tisto, česar v avetu ni 'mogoče dobiti oziroma je nacionalno pomembno. 4. lieapaiiietno je delati dolgoročne vseobsegajoče programe, pač pa biti fleksibilen in odprt za nove alternative, potrebe in pojavljajoče se tehnoloSke možnosti. 5. Uvajati je potrebno'določene standarde, predvsem za nivo storitev, formate zapisov, roke in podobno. AVTORJI IN SOOELAVCI A. Milton Jenkins, M.B.A,, Ph.D. Is an Associate Professor of Management Information Systems at the Graduate School of Business, Indiana University vhere he has developed Graduate Prograns In Nanagement Information Systems, He has twelve years of Industrial experience and is active as a consultant with various Business and government organizations, and as a researcher In systems analysis and design, and MIS user systems interface. He has lectured on these topics in over thirty countries. He Is a member of the American Institute for Decision Sciences, Society for Management Information Systems, Association for Computing Machinery, and Association for Systems Management, PDP-11 RSX, RSTS/E RT-11 andTSX-PIus Execulion time (seconds) Quicksort benchmark executed on a PDP-11/45. The Pascal-2 system consists of an optimizing compiler, a high level debugger and other utiiit^ci;. Write to us for benchmark details. Special SoAwMvLtd., Kipscomhe. The Old St<.bl«, INGE5TRE. SrattorJshifi-.STJii DRE. Teh 0889271027 Special Software Harko KovaSevlć (1953) Je diplomiral na Fakulteti za elektrotehniko v LJubljani (1976) na smeri Računalništvo in informatika. Že med diplómo ae je zaposlil na Oddelku za elektroniko IJS, kjer Je delal na nalogi Izdelava makroprocesorja za zbirni jezik mikroračunalnika. Kasneje je sodeloval pri razvoju za industrijo v okviru nalog Razvoj mikroraSunalniškega sistema Iskra Data 1630 in Razvojni telefonski sistem TK 6800. V okviru teh nalog Je delal na podroSjih operacijskih sistemov, materialne in programske računalniške opreme. Leta 1981 se je zaposlil v DO Delta (kasneje Iskra Delta), kjer je razvil videoterminalni modul za mikroračunalnike ter sodeloval pri razvoju sistemske programske opreme za mikroračunalnike. Marko KovaSevič je sodeloval tudi url vrsti raziskovalnih nalog s področja razvoja in uporabe nikroraču-nalniških sistemov. Vrsto svojih prispevkov Je objavil v časopisu Informatica. N A V O D ( L O ČLANKA 2A PROPRAVO Avtorje, prosi ino, da polljejo uredništvu nasiov in kratek povzetek činnka ter navedejo približen obseg članka (štavilo strani A 4 formata) , Uredništvo bo nato poslalo avtoi jem ustreano število formularjev % navodilom. Članek tipknjte na priložene dvokolonake formularje. Če potrebujete dodatne fornuilarje, lahko uporabite bel papir istili dimenzij. Pri tem pa se morate držati prodpisanerja formata, vendar pa ga ne vrišite na papir. Hodite natančni pri tipkanju in temeljiti pri korigiranju. Vas rtanek bo s (olo postopkom pomanjšan in pripravljen tisk brez kakršniliholi dodatnik korektur. Uporabljajte kvaliteten pisalni stroj. Če le tekst dopušča U|X)ral'j|jaJtc enojni presledek, Črni trak je obvezen. Članek tipkajte v prostor obrobljen /. niodrimi črtami. Tipkajte do črt - ne preko njih. Odstavek ločite z dvojnim presledkom I n brez zaniikanj« pi-ve vrstice novega odstavka, Prva stran članka ; a) v sredino /gornjega okvira na prvi strani najiišite naslov flanka k velikimi žrVami; b) v sredino poii naslov članka napišite Imena avtorjev, ime podjetja, tneslo, državo; c). na označenom mestu Čez d>a stolpca napišite povzetek flanka v jeziku, v katerem je napisan članek. Tovzolfik naj ne tm daljši od Hi vrst, rt) če članek ni v angleščini, ampak v katerKm iici jugtialft-vanskili Jezikov izpustite 2 <;ni in napišite |)uvzetek tudi v aii(ile5f ini, l'rtKl povzetkom napišite angleški naslov članka z velikimi črkami. 1'ovzetek jiiiJ ne lio daljši od K) vrst. Te je članek v tujem jeziku napišite jiovzetek tudi v enem tid jugoslovanskili jezikov j e) l/pnstite 2 f.ni In pričnite v levo koltMio pisati članek. Druga in naslednje strani članka; Kol je označeno na fornuilarju začnite li)>ktili tekst driuje In naslednjih strani v zgreslikali. Ilustracije morajo bili osti e, jasne in čriniliele. t e jili vključite v tekst, se morajo skladali s priidpisaiiim fm-niatom, t,ahkii jia jib vstavite tudi na koner članka, vi;n-dar morajo v tem primeru oslati v jnejab skiijMiegii dvii-kolonskoga formata. Vse ilusliai ije morate ( nalepili} vstaviti sami na ustrezno njestn. Najiaktj pri tipkanju se bitiko pnin avljajo s k^ai Ki ijsKn folijo ali belim tušem, Napačne besede, stavke aH lalsta-vke pa lahko ponovno natipkate na neprozoren papir in ga pazljivo nalepite na mesto na|)ake, V ztjonijem desnem kotu iüven modro o/načeneija roba oštevilčile strani članica s svinčnikom, tako di« jili je mogočo zbrisati. Časopis INFOUMAflCA Uredništvo, 1'arnjova 41, filOOl) Ljtibljaiia Naročam se na časopis INI'-OliMATICA. I'iedplačil.. bum izvršil po prejemu Viiše položnice. Cenik: lelna naročnina za ilolovne organizacije r)U(l,U(i din, za |v>samfiznika 200,Ü5 • 10® preklop. radna temperatura -10 do 60 radna snäga <5 VA radni napon <100 V= struja prekida <100 mA probojni napon >300 V= kontaktni otpor <300 mn iztitravanje kontakta 3 m sec vrsta kontakta 1* radni ili 2* radni □IGITRON tvornica elelctroniCkih urađafa - 61460 buJe • lugoflavUa ■ tel.; (QS3) 71-202,71-222,71-242, tlx.: 25-128, 25-175 db yu PHEOSTAVNIStVA: BEOGnAD,TBra7iia3/V,Te1.: tOII) 320-039,Tbìb*; 11-933 - SARAJEVO, Va» PelagiiSa br. S.TbI.: (0711 24-329, T»1sx: 41-401 yu db - SKOPUE Gradski ziđ blok br. 3, Tei.: (091) 223-873 ■ TITOGRAD, Bulevar S. Kowe«vlća 143, Tel.: 1081) 51-076 ZAGflEB, Cajava br. 69/1.(041) 440-844, 440-845, Telex ; 21.119 Fotoliil: "PL UT AL" TOZD GRAFIKA, Ilirika Bliuica - Tisek: "OFFSET TISKARA", Buie EEjülü Trst, U I. F. Severo 89 - Te!. 574090 CENTER ZA VAŠO OSEBNO UPORABO - ATOM - BBC z mikroprocesorjem 6502 - TEXAS TI 99/4 A 16-bitni, z najugodnejšo ceno - EPSON HX-20 osebni procesni računalnik - APPLE računalniki - OLIVETTI M 20 T l6-bitni italijanski mikroračunalnik - SIRIUS grafični računalnik - ALTOS poslovni računalnik Dodatna oprema: tiskalniki (EPSON, OKI, TALLY, CENTRONICS, HONEYWELL, OLYMPIA, ANTARES) monitorji 9 in 12 eolski, z zelenim fosforjem 14 eolski, barvni računalnika oprema (FLOPPY DISKI, KASETE, magnetni trakovi, pohištvo za terminale in tiskalnike, pisalni trakovi) Garantiramo tehnične usluge in servis za računalnike, kupljene pri nas. Smo avtorizirani za servis APPLE računalnikov.