Informatica A Journal of Computing and Informatics The Slovene Society INFORMATIKA Ljubljana A Journal of Computing and Informatics Subscription Information Informatica (YU ISSN 0350 - 5596) is published four times a year m Winter, Spring, Summer and Autumn (4 issues). The subscription price for 1989 (Volume 13) is US$ 30 for companies and US$ 15 for mdividuals. Claims for missing issues will be honoured free of charge within six months after the publication date of the issue. Printed by Tiskarna Kresija, Ljubljana. Informacija za naročnike Informatica (YU ISSN 0350 - 5596) izide štirikrat na leto, in sicer v začetku januaija, aprila, julija in oktobra. Letna naročnma v letu 1989 (letnik 13) znaša za podjetja 48000 din, za zasebne naročnike 12000 din, za študente 4000 din; posamezna šte\alka 16000 din. Številka žiro računa: 50101-678 - 51841. Zahteva za izbijeno številko časopisa se upošteva v roku šestih mesecev od izida in je brezplačna. Tisk: Tiskarna Kresija, Ljubljana. Na podlag mnenja Republiškega komiteja za informiranje št. 23 - 85, z dne 29. 1. 1986, je časopis Informatica oproščen temeljnega davka od prometa proizvodov. Pri financiranju časopisa Informatica sodeluje Raziskovalna skupnost Slovenije. A Journal of Computing and Informatics EDITOR-IN-CHIEF Anton P. Železnikar Iskra Delta Computers, Ljubljana ASSOCIATE EDITOR Rudolf Mum Jožef Stefan Institute, Ljubljana The Slovene Society INFORMATIKA Ljubljana Letnik 13 Številka 3 July 1989 YU ISSN 0350-5596 Časopis za računalništvo in informatiko VSEBINA Design and Testing of Homogenous Single Bus Tightly Coupled Multiprocessor System for Real Time Simulation ISDN User-Network Interface Layer 3 Informacijski principi in formalizacija Mogućnosti proceduralnog programiranja u programskom jeziku Prolog Merjenje paralelnosti algoritmov Implementacija poizvedovanj v mrežnih datotekah Neural Network Based Parallel Expert System Forum informationis Novice in zanimivosti Torkovi pogovori Informacijska kozerija Some Recently Published Papers in Foreign Professional Periodicals K Cosić I. Miler I. Rašeta G. Dreo B. Horvat R. Slatinek A. P. Zeleznikar /. Z. Race B. Jereb L, Pipan V. Mahnič S. Prešam L. Gyegyek A. P. Zeleznikar Sonja Jeram 14 21 41 46 50 61 65 68 79 83 DESIGN AND TESTING OF HOMOGENOUS SINGLE BUS TIGHTLY COUPLED MULTIPROCESSOR SYSTEM FOR REAL TIME SIMULATION Keywords: multiprocessor system, real time simulation, single bus, parallelization of mathematical models Krešimir Ćosić, Ivan Miler i Igor Rašeta VVTŠ KoV JNA Zagreb ABSTRACT - The real time simulation for hardware or man In the loop testing presents the cost effective way for design, development, modification and testing of a complex and sophisticated weapons and Industrial systems. This simulation technology is a constant challenges for roost powerful computer systems. Therefore one short chronological review of computer architecture for time critical real time simulation is given. For such kind of application one homogenous single bus tightly coupled multiprocessor system based on 8086/8087 single board computers has been designed. Furthermore, this article presents one concept for parallelization of mathematical models given by ordinary differential equations in real time environment. Simulator design for one spinning missile system, according to the accepted procedure, illustrate the abilities of realized multiprocessor simulator system. SAŽETAK - Simulacije u realnom vremenu za testiranje realnog hjirdvera ili operatora u zatvorenoj petlji, predstavljaju efikasaui put za projektiranje, razvoj, modifikaciju I testiranje kompleksnih sofisticiranih vojnih 1 industrijskih sistema. Ovakva simulaclona tehnologija predstavlja stalan izazov za naJsnaJniJe računarske sisteme. Iz tog razloga dan Je Jedan kratak kronološki pregled računarskih arhitektura za vremenski krltlCne simulacije u realnom vremenu. 2a takvu vrstu primjena, u okviru ovog rada, realiziran Je Jedan homogeni. Čvrsto spregnuti multiprocesorskl sistem s Jednom sabirnicom i nizom procesorskih ploCa baziranih na procesorima 8086/8087. Pored toga, izveden Je i prikazan Jedan koncept za parale11zaciJu matematičkih modela zadanih oblCnlm diferencijalnim Jednadžbama. Projektiranjem simulatora, prema usvojenoj proceduri za Jednu rotlraJuCu raketu, prikazane su mogućnosti realiziranog multlprocesorskog simulatora. 1. INTRODOCTIOM The increasing complexity and sophistication of modern process control and weapon systems has established a category of real-time simulation which uses hardware components integrated In the process of simulation. This kind of simulation, so-called hardware-ln-the-loop (HID simulation technology, has proved to be a very cost effective method in design, development, modification, and testing of complex weapons and industrial systems [1,2,3,4]. In HIL simulations, for example, adequate, computer equipment can be used to simulate the aerodynamics and flight equations of the missile, while the real hardware subsystem such as RF sensors, IR sensors, fin actuators, autopilots, guidance and homing on board computers can be embedded and used for design and testing of a closed-loop system. In this case, HIL simulation provides a reproduction of what the real hardware subsystem (missile seeker) really processes in real environment, on the basis of simulation of the missile aerodynzimics, flight equations and targets movement simulated by suitable pseudo-target generator. In a this way It Is possible to perform nondestructive testing, verification and validation of actual missile or process control subsystem in near realistic environments. This preflight check and similar industrial testing in the early phase of design and development provides effective way to analyze the overall performemce capability of the closed loop system and to predict a performance at minimal cost. 2. COMPUTER ARCHITECTURE FOR TIME CRITICAL REAL TIME SIMULATIONS Hardware-in-the-loop and man-in-the-loop simulations, which require time critical real-time simulations have proved to be constant challenges for the most powerful computer systems. Demands for more Eind more fidelity and accurate simulation of dynamic system chzu-acterized by ordinary differential equations, slgnlfIcEmtly increase demands for additional speed and power from simulation computers. These demsinds have increased at the rate at least as fast as the rate of development and Improvement In computer technology. Thus, today, available simulation capabilities have the same relationship to the requirements as 10 years ago [3]. Furthermore the speed requirements of the more challenging simulation applications, very frequently exceed the capabilities of even the most powerful mainframe computers. During the I960's hardware-in-the-loop simulation of time critical processes depended on analog computers, such as EAI 231, EAI 781. In analog computers parallel operations of many computing elements provide very high speed of processing which is the most significant for time critical real-time simulation. Programming of these processors was a memual process using the patch boards and fixed point scaled equations. In early 1970's hardware-ln-the-loop simulations has predominantly shifted to hybrid computations i.e. combination of analog and digital hardware, such as EAI PACER 100, to provide the required computational capabilities. In the middle of 1970's with the advent of fast mainframe digital computers the emphasis in application is based exclusively on digital hardware. But at that time the speed requirements of more challenging simulations frequently exceeded the capabilities of even the most powerful mainframe computer such as IBM 360, CDC 7600, Univac 1108 and so on. Today, currently available mainframe supercomputers such as CRAY-1, CRAY X-MP-1, CRAY X-MP-2, IBH 3090/VF-200. NEC SX-IE, NEC SX-2, CDC CYBER 205, Amdahl 1200, Hitachi S-810/20 and so on, in majority of cases provide necessary computational power, but very often doesn't provide the cost effective approaches for such applications. Therefore in the late 1970's the trend in architecture of a digital computer system for time critical real-time simulations was toward the more specialized architectures. The first of these devices was peripheral array processor AD-10 (1979) manufactured by Applied Dynamics Inc. It was simulation-oriented peripheral processor Intended primarily for the simulation of systems of ordinary differential equations. Performances of this system are given in Table 1. They are related to estimation of computer power necessary for development of helicopter simulator. Impressive speed of the machine when applied to ordinary differential equations results from Its advanced technology which provides very high processing speeds and by the extensive pipelining and parallelling and from specialized computing and memory units suitable for solving nonlinear ODE-s [7]. New version of this system AD-100, which is chziracterized by slgnlflcEint Improvement In performance (Table 2) has appeared on the market in 1984. TABLE 1 TABLE 2 HELICOPTER SIMULATORS [SI computer Eind achieved frame times CYBER 17S 45 ms FPS AP-120B 4.5 ms CDC 7600 15 ms AD-10 0.8 ms MODEL OF A WHIRLING FLEXIBLE BEAM [6] computer and AD-100 advantage ADI AD-100 1.00 IBM 3033 7.45 CRAY 1-S 3.35 FPS 164 17.95 IBM 3081 5.40 HEP H-1000 36.65 But very often hardware-ln-the-loop real-time simulation requires simulator systems that are more cost effective and portable. The first cost effective way for attaining analog computer speed leads to parallel operation of multiple digital microprocessors. However, the price/performance ratio of multlmlcroprocessor system was very attractive and therefore a number of attempts to Interconnect relatively Inexpensive general-purpose microcomputers have been made over the past years for designing a complex simulator systems. With the IncreEislng availability of very fast and very economical single board computers. It becomes feasible to design the construction of network of microprocessors which will form specIal-purpose simulator. This approach was very attractive and more favorable In speed/cost ratios In relation to other solution. Therefore a number of microprocessor networks were developed for real-time simulation throughout 1980. The real-time multiprocessor simulator (RTMPS) project at the NASA Lewis Research Center for the simulation of Jet engines (1984) was one of the first and most significant [8]. The recent introduction of powerful multiprocessor systems by a large number of vendors (1985-1987), such as Ametek Computer Research Division, Alllant, BBN Advanced Computers, Elxsl, Encore Computer, Flexible Computer, Intel Scientific Computers, Ncube, Thinking Machines and so on, hais Increased the interest of engineers and scientists in this approach to high speed real-time scientific computations. But it Is necessary to maintain that this approach Is not cost effective and quite attractive for the majority of customers and simulator vendors. Today, very cost effective approach to parallel digital real-time slmulatlorf is based also on the network of transputers 19,10]. The T800 Transputer contains a 10 MIPS 32-blt processor, on chip RAM, timer and I/O Interfaces which are based on serial communication chemnels. T800 have four links per chip and they use a clock rate of 20 MHz on the serial link, so that the communication channel between two Transputers requires only the connection of two wires for the link. Two TSOO Trsmsputers with floating point hsj-dware with a speed of 1-2 MFLOPS, In the simulation of 2-nd order system by the RK 4 integrators Is approximately twelve times faster than the Intel 80386/80287 and six times faster than the Motorola 68020/68881 [10], Further evolution of transputer networks by Inmos Inc. and Micro Way provides abilities to design sind build arbitrarily large parallel processing machines. The 32-tr8msputer array has been used In simulator design for modelling the flow through a jet engine's turblne-blsule cascade by the Rolls-Royce at Derby [11], This model has required ten minutes to run on a 32-trsinsputer array and two minutes on a Cray XMP-48. Since the Cray cost over 125 tines as much as 32-transputer array, the price performance ratio Is 25:1 In favor of the transputer network. But parallel operation and parallelism doesn't guarantee performEince, and may. In fact, limit It. Example for this Is successful replacement of 64-processor system Illlac IV with higher performance serial processor Cray I. The number of processors, Interprocessor communications, memory organization and numerous other factors Interact to.limit or to enhance processor performance. The effective utilization of a network of processing elements or microcomputers poses difficult scheduling and allocation problems. This means that the major difficulty In using parallel processor Is the effective software support, so that the total performeince Improvement In relation to the serial processing Is dependent In the same time on the numerical procedures which are used I.e. techniques of discretization, techniques for decomposition and then, on the power of hardware for simulation. 3. ARCHITECTURE OF THE REAL-TIME MPS-AMS MULTIPROCESSOR SIMULATOR The real-time Multiprocessor Simulator - MPS orgemlzed on a shared single bus -AMS, shared dual-port memories I.e. on tightly coupled multiprocessor topologies [12] Is shown In Figure 1. Modular design of this system provides a number of benefits which are related with Its flexibility In modification, reconfIgurratlon and maintenance [131. Four Siemens 8086/87 based single board computers (SBC) AMS->®-A8 are used to realize simulator heirdware on principles of master/slave relationship. SBC's boards are connected through the 16-blts data bus AMS-M (European realization of the IEEE 796 Multibus I) which supports the real-time processing features. Access to the analog I/O world has been provided by the 16/32 channels analog to digital input board 12-blts AMS-230-A1, and by the four digital to analog channels 12 bits, realized on AMS-M596 standard bus interface board. Such system Is characterized by low functional complexity, physical compactness, and relatively low-cost. Communication among the processors is performed via message passing in "mailboxes" that reside In distributed dual port memory. Access to this memory occurs via a single time shared bus. In the phase of the configuration of real-time multiprocessor simulator, development of the simulation real-time software requires selection of the modules, their editing, compiling and linking on the host PC XT system. The following step In the procedure Is related to the assembling modules according to the block diagram of simulated process or system and their testing, evaluation and validation. After that the tested modules are downloaded onto the master processor board and finally, created modules are mapped from the msister boards to the slaves boards of MPS according to the accepted decomposition schemes (14]. Furthermore the host system provides the overall control of the simulation activities through the suitable graphic language. With additional multiuser microprocessor development system Tektronix 8560 I.e. through different Integration station Tektronix 8540, this system enables efficient development of custom design hardware and software modules [IS]. Two processors, host and master, communicate using interrupt system via a PC bus window, through the high speed SMP - PC Interbus SMP-E570-A1. This technique is selected as the fastest available communication between the two processors, which allows one system to access the address on a companion system's bus as through the address on its own bus. To prevent conflicts In sending and receiving data between PC-XT and AMS system through PC memory, the synchronization mechanism uses the flag test-Eind-set procedure (semaphore) [161. YBCn CDC 170/aB0 111! PC-bus fÜTERrScE C'PC-BUS^ 1 Is DEVELOPHEHT SYSTEM COKVERI I I I I III......I Figure 1. Multiprocessor architecture for Heirdware-ln-the-loop testing AMS-M bus protocol defines master-slave communication and multiprocessor arbitration which Is strongly problem dependent. A real-time monitoring SMF-M bus Is 8/16 bits data bus architecture with Its own bus Interface on SBC board but without multiprocessor zo-bltration. The local bus on the AMS boards connects the processors to all on board Input/output devices (24 lines PIO 8255, RS 232 SIO 8251), local memory (EPROM 2764, StlAM 6116) and communication memory (dual port memory SRAM 6116), as shown In Figure 2. This bus permits Independent execution of onbocu-d eu:tlvltles. rail . ■•re 11 m«r U«IT eyolfl. general ni mM goes-2 .C|!fì i '^itlh TIRER g2S9A 8293 ""CfeL I/O e2BSÀ fm RAH eiis jm oard«l ntarn IZ 1/0 82B1A □n v SHF SUS IDTrRFACE a h S - k Figure 2. Single board computer AMS-MB-A8 A backplane provides the physical connections of AMS-M and SMP-M bus signals and priority resolver lines to set the priorities. Each board has a fixed priority which can be changed through Jumpers on the backplane. BUS rrrrr KEfignr rcooo DUAL PORT RAN U iCSvE USED m ' USED 2 USED h > USED !er PROCRAH HEMORr nOMITOR nEHORy AHS HEKOnr SHARED MEKORY SHP KEKORY ~PC HlRDOll" DUAL-P HEKORY DATA HEKORY Figure 3. Multiprocessor memory organization In this tightly coupled multiprocessor configuration, the processors communicate over the parallel bus, AMS-M, through a common I.e. shared memory. Generally speaking the common memory can be concentrated or distributed. In the accepted configuration, common memory Is partitioned on each processor board £is dual-port memory (DPM) to reduce bus occupation. Additionally, e£u:h processor board has a local memory which Is especially Interesting In loosely coupled decomposition algorithm which frequently use only local memory and seldom common memory. Furthermore, at the saune time, this type of memory organization allows parallel access to shared memory without using the AMS-M real-time bus through the local bus. In addressing DPM all read accesses are local and do not use common bus. AH write accesses use two different addresses. Onboard addresses are used to address its local memory and local dual-port RAM. Addressing DPM on the other boeirds are provided through AMS bus controller in memory space OxOOO-OxFFF depending on the selected boards. The memory organization of this system Is shown In Figure 3. To access the shared memory. It Is necessary to gain the AHS-M bus, which then Is locked-on through stcmdard protocol. The most Important aspect of the bus Interconnection topology used In this MPS Is the bus arbitration technique. The priority level Is determined by user through wrapping technic on backplane according to the Figure 4. Figure 4. AMS-H bus arbitration Each SBC has two arbitration lines, bus request (BREQ) and bus priority In (BRPN), which are used to gain access to the AMS bus. BREQ line comes from a SBC to priority resolver and indicates a request for control of the AtE bus. BPBN signal comes from priority resolver to a SBC and Indicates that the processor may go ahead and use the bus since there Is no other higher priority request for the AMS bus. I ERTACE JläFIL llRO^T INTERRUPT NATniX mi= iiii=iii?ö I«I7-INTB-» Figure 5. Interrupt system of MPS-AMS To optimize the communications efflcléncy and to provide real-time processing of the real-time clock request, MPS system Is predominately Interrupt driven. The Interprocessor communication begins by passing an Interrupt request signal from one processor to ajiother. The priority assignment In the Interrupt system is problem dependent and Is shown In Figure S. for one typical closed loop guided missile system. The Interconnection strategy Is adapted to this structure, so that request for each processor Is wrapped to the corresponding Interrupt level. AMS system bus uses the non-bus-vectored mode for Interrupts, When an Interrupt request line Is activated the Interrupt controller generates an Interrupt vector address and transfers It to the processor over the local bus (171. 4. ONE CONCEPT FOR PARALLELIZATION OF MATHEMATICAL MODELS GIVEN BY ODEs IN DIGITAL REAL TIME SIMULATION 4.0. Real time simulation in Dultiprocessor environcient The abilities of parallel real time simulation predominantly depend on the , pierformance euid architecture of parallel multiprocessor system, types of Interaction between parallel processors, on the problem under consideration I.e. Its inherent level of parallelism, on numerical methods for numerical integration, strategy of task allocation and finally the cooperation between parallel au-chltecture and parallel discrete time model of a original continuous system. But it Is impiortant to note that the main contribution to the improvement of efficiency in multiprocessor real time simulation depends on decomposition of model, on a process of discretization and on mapping of given problem onto parallel multiprocessor architecture. This process usually Involves several ph^es that start with decomposition of mathematical model given by algebraic equations (AEs) and ordinary differential equations (ODEs) or by partial differential equations (PDEs). Since these equations are defined over continuous time domain in the second step some kind of discretization or numerical approximations must be employed in order to enable digital Implementation. Finally, It Is necessary to perform suitable partitioning of derived discrete time model onto multiprocessor environment. Mapping of decomposed and dlscretlzed model onto parallel architectures can be performed In a different way. In dynamic load balancing, discrete time models are allocated to microprocessors at run time. Discrete models automatically migrate from heavily loaded microprocessor to lightly loaded ones. By attaining a well-balanced load, better processor utilization CEin be achieved and thus higher performance of complete system. In a static load balancing method, models are allocated to microprocessors after compile time i.e. before start up run time. Such static techniques require fairly accurate predictions of the resource utilization for each model. For programs with unpredictable run-time resource utilization, dynamic load balancing Is more desirable because it allows the system to continuously ttdapt to rapidly changing run time conditions. As a populau-measure of load balancing it is possible to use CPU time utilization, communication time, the number of concurrent microprocessors in active operation, the number of concurrent models etc.. In real time simulation correct prediction of the computational requirements and resource demands for each software module I.e. for each program must be known in advance to enable real time Implementation. This estimation can be derived after the process of discretization. On the basis of this Information, algorithm for task allocation provides well load balance and real time execution. Therefore the concept of static load balcuicing in the real time simulation is a natural one. In simulator design, what is primary interest of our research, the objective function must provide real time simulation of related problem with desired accuracy and with minimal number of microprocessors. The system, which enables developments of the simulator in this way can be considered as development system for simulator design and realization. The accepted objective function is natural in designing and realization of digital simulator for operators training or hardware In the loop testing. Real time simulator described In this article hosted on IBM PC/AT has been realized In order to provide the user with such abilities and furthermore to allow generation of real time machine code for target processor based on Intel microprocessor 808B and eirithmetic coprocessor 8087. Through attached peripheral homogenous tightly coupled multiprocessor system based on single board computers, such simulator system provides user with different experimental abilities in operator training or control system design and testing. The software support of such simulator development system provides the abilities of extensive non real time simulation which leads to such decomposition technique, numerical integration and task allocation strategy which guarantees the minimal number of parallel processing units i.e. ■ minimal hardware complexity necessary for realization of a different kind of simulator system. This hardware complexity strongly depends on desired level of accuracy In process of simulation, so that with increasing level of approximation the number of microprocessor can be significantly Increased. The substantial Influence on this facts have choices of decomposition techniques and procedures for numerical integration. Therefore special attention will be dedicated to the relationship between hardware complexity on one side and decomposition techniques, numerical methods for discretizations and algorithm for task allocation on the other side. Now wo can define the procedure for real time simulation in multiprocessor envlronjnent with following steps: Step 1. Structural and dynamics decomposition of system corresponds to physical partitioning of problems into a sequence of modules with lower level of complexity. Step 2, Tuning between numerical methods and sample rates for discretization and mathematical modules according to its nature; linear or nonlinear, time variant or time Invariant, stiff or nonstlff, with or without discontinuities, spectral characteristics of input signals and so on. Step 3. Task allocation process follows physical arrangement of system and in cooperation with numerical methods for discretization determines desired level of granularity In order to achieve equal load balancing between processors, minimal hardware requirements and real time execution. Presented procedure is not straightforward. It may be Iterative one and all these steps must be taken Into account very briefly In order to achieve optimal real tline simulation of given problem In accordance with the accepted objective function. 4.1. System đecoq>osltion The first step In the above procedure requires decomposition of a mathematical model of complex dynamic system into a number of hierarchical functional modules or blocks of different complexity. With such a modular or block approach a realistic complex problem can be subdivided into a sequence of smaller modules or blocks. By applying this formalism, complex mathematical models can be easily transformed Into one block level distributed structure which enables Isolation of standeu-d mathematical models and their further efficient processing. Decomposition scheme, which we shall prefer, is heuristic one and is mainly based on physical partitioning of complex system. Now we shell define the parallelism degree of model on level of block diagram,as the maximum number of functional blocks that can be executed at the same time on different processors if necessary in real time execution. For very fast system I.e. for time critical real time simulation, inherent parallelism degree can be further increased by peirtltloning from block level to an equation level or even an arithmetic operation level. If It Is necessary. It is possible to determine computation of the longest execution time I.e. critical data flow trajectory In running through the block diagram. The efficiency of modular partitioning is problem dependent, but only with such an approach it is possible to perform the optimal adaptation of numerical methods of discretization to each module of distributed system. Such decomposition of a complex system into multiple low level computational modules which enables adaptation of numerical method and period of discretization to each module is most Important for digital real time simulation. After structural decomposition which corresponds to physical topology of the system, suitable dynamic decomposition is necessary in order to adapt periods of discretization or integration to each module. The concept of multlrate sampling enables different sampling rates In different modules or in different loops, and leads to the significant reduction of computatioiuil load i.e. CPU time savings and to Improving the numerical conditioning. Such structural and dynamic decomposition detects the level of parallelism which is very often Inherent in complex original continuous system. Separation of differential equations according to their type, particularly linear differential equations from nonlinear e.g. nominal trajectory from perturbated, separation according to the spectral char^terlstlc I.e. separation of fast portions from slow ones and separation according to the frequency contents of input signal are substantial for the aähleveaent of high efficient digital real time simulation. A heuristic method for system decomposition used in this concept is based on the fact that the modules that follow from partitioning of the overall system are very similar to the physical topology of the system. The main advantage of this approach is that the processing blocks are associated with physical sections, and model implementation and verification can be easily done. In addition, variables used in the interprocessor communication have physical meaning, which csm aid in the understanding and Interpretation of the model. Furthermore by exchanging only the output variables between blocks it Is possible to reduce significantly communication requirements between processors. Because decomposed system is similar to the physical system, this method Is problem dependent. However, the advantages of the method far outweigh this dlsadvsjitage. The main advantages of this method are: - Decomposition is easy to make, since It follows the physical arremgement of the system. - Highly modular approach Is very flexible In the case of structural or modules modifications. - Interprocessor communication requirements are minimized. - Program design is simplified, which is a direct consequence of modular structure. - Program coding is straightforward. It is easier to code the small modules that result from the decomposition than complex ones. - Checking, testing and debugging Is also easier, especially message Interchange between microprocessors during Interprocessor communications. This decomposition ha£ been applied on original continuous models and its abilities are determined by the nature of the problem. Modules or blocks that are independent enable simultauieous or concurrent calculation and provide parallel decomposition. Modules or blocks that are sequential lead to the cascade decomposition. This level of parallel or sequential computation is predominately determined by the nature of the problem, but in the following steps It will be shown that this Inherent level of parallel or sequential properties can be significantly modified by the choices of numerical methods for discretization or integration. 4.2. Numericel integration This step transforms original continuous mathematical model into equivalent discrete one, that must guarantee desired level of approximation with minimal arithmetic complexity normalized on some common frame time. By this transformation using different techniques of numerical integration it is possible to additionally Increase the degree of model parallelism from the inherent one to some desired level which enables real time simulation of related problems on given multiprocessor configuration. It means that the complete parallelism in discrete time model for implementation depends not only on efficiency of functional decomposition i.e. topology of system, but also on nuioerical method for discretization. The level of parallelizatlon which will be added or extended with the choices of numerical methods determines the final level of granularity of discrete time model for implementation. The level of granularity In equivalent discrete time model can vary in a range from Instructions and statement level to program or a group of programs level. This depends on the complexity of mathematical model and Its dynamic characteristics i.e. real time constraints and architecture of multiprocessor system that would be used for implementation. For example, If a model of some problem is represented by a sequence of sequential modules or blocks which require sequential computation, by using any of explicit numerical methods for integration, they can be easily transformed to parallel procedures until the desired level of greuiularity is reached. Assignment of the suitable Integration or discretization method to each module or block, and suitable period of discretization require extensive non real time euialysls, checking, testing and verification. In the following part of this article we shall focus our attention on numerical methods that can be considered as suitable for digital real time Integration of ordinary differential equations and on dependance analysis between the parallelism of simulation models and numerical methods used for discretization or numerical Integration. For a linear or linearized problem given by x(t) = A x(t) + B u(t) , x(0) = Xg (1) some modification of standard discretization methods can be considered as optimal one. Modification of standard step invariant method [20,21) is given by the following equations «(A.T.W) x* + r(A,B.A.r.T.W) uj^ (2) where the state vector, and system matrices are determined by V «■"''k » = r = 1) + DIB State space version of T-lntegrator is given by [221 *k+l° A'(A,L,r,T.U)x* + B*(A,L,r,T,B,W)Uj^^j+ + B*tA.L.r,T.B,W)Uj^ (4) (3) where is ,,-1 '^k' " A A'= [I - LTrA)"^[I + LT(I - DAI B*= [I - LTFAJ'^ LTPB [I - LTFAl"^ LT(I - DB For general nonlinear problem given by x(t) = f(x(t),t,u(tn . x(0) = xq (6) following numerical integration algorithms can be considered as suitable for real time digital simulation [23]; • Single-pass integration algorithm - Euler explicit n+1 n n n n - AB - 2 n+1 n n n n n-1 n-1 n-1 - AB - 3 n+1 n n n n n-1 n-1 n-1 n-2 n-2 n-2 • Real time Runge-Kutta version - RK - 2 ''n " ^ ^^Vl/2'^+1/2'V1/2' - RK - 3 <+1/3= ^n ^ f(x„.t„,uj V2/3= ''n ^ 2T/3 („) • Adeuns-Moulton serial predictor-corrector - AM - 2 vr V * (5) -AM - 3 P n+1 n n n n n-1 n-1 n-1 n-2 n-2 n-2 (13) n+1 n n+1 n+1 n+1 n n n n-1 n-1 n-1 For complex nonlinear modules or blocks, which unable further physical decomposition and single processor real time Implementation, It Is necessary to use some technique for equation segmentation or numerical methods for parallel integration. Standeu-d approach for solving such problem (24) requires partitioning the set of n equations and then allocation of a certain number of the n equations to each of the microprocessors to achieve the speed needed for real time simulation. Each microprocessor vrould be responsible for performing the function evaluations and Integrations associated with its assigned equations. Such subset of equations can operate In ptirallel, only the values which are necessary in the other equations would be transferred periodically between microprocessors. Since the function evaluations I.e. the computation of derivative would be done in parallel, a good deal of time can be reduced in compaa*lson with a single microprocessor implementation. Just how much time Is saved depends on; - How closely coupled is the system of equations; - How the equations are allocated to the microprocessors; - What Integration algorithm Is used for discretization of each subset of equations; - What types of communication channels and protocols are available between microprocessors. Alternative solution to the above standard approach is concerned with utilization of parallel predictor-corrector methods. In this case partitioning is performed in the sense of the algorithm i.e. numerical method but not in the sense of the system of equation as In previous approach. One possible parallel predictor-corrector method has been presented by Miranker and Llnlger (241 for system ^ = f(x,y) and is given by y^ = h/24(9fP+ 5f^.3+ f^.3) For parallel real time simulation parallel block implicit methods can be also very useful. One version of a fourth-order block presented by Shamplne and Watts [24] is given by: - Predictor equations (IS) ^1+2° yi)+h/12(29fj_2-72f^_j+79f^) - Corrector equations ^1+1= + srl^- rl^) The choice of the optimal discretization method i.e. tuning the method to each separate module requires (14) well understanding of the character amd dynamic of each module and well understanding of numerical characteristics of all of the above mentioned numerical methods. But this can be done only on the basis of separation between linear differential equations, and nonlinear, fast portions of the problem from slow portions, time invariant from time variant. It means that the decomposition of problem has great influence on the efficiency of the complete procedure. By such approach we caui significantly increase the solution bandwidth of the problem, which is the most important in real time simulation. 4.3. Task allocation The last step in the presented procedure requires distribution of derived discretlzed modules ajnong microprocessors in multiprocessor system and can be used In iterative fashion with previous two steps. This process of a task allocation i.e.process of assigning software modules which constitute distributed dlscretized mathematical model of original continuous system to each processing element, requires an understanding of data or block dependencies that exist among problem vairiables. There su-e two different ways In task allocation strategy which depend on applications. In the first case, architecture of the multiprocessor system is completely defined and determined by the type and number of available processors, their performćuice and way of their communication. The computing tasks Involved in solution of simulation problem, in this case, must be partitioned on the available processors in order to minimize Idle time of each processor and to minimize the time lost in the communication of program segments. Furthermore special constraints and limitations on real time processing are not supposed I.e. solution can be generated faster than real time or slower then real time, which depends on the problem and performance of multiprocessor system. In such environment It Is necessary to attain such load balancing which leads to a better multiprocessor resource utilization. Well-balanced load provides a higher performance of complete system I.e. minimal total run time. Meeisures of load balance In this case may Include the CPU time utilization for each processor, communication time In relation to the computation time, the number of concurrent processes or modules in simultaneous processing and so on. The combination of these different objectives can be expressed by the fzLst Improvement achieved on multiprocessor system. This improvement ceu\ be characterized by fE«:tor S, which is ratio between solution times using one processor and N processorsI27). S = Tg/T„ C17) where Is: Tg - single processor solution time, T„ - multiprocessor solution time. m The efficiency of complete multiprocessor implementation can be defined by: E = S/N (18) where H denotes the number of microprocessors, and S Is given by (17). Efficiency Is expressed as a percentage by multiplying the above expression by 100. The assignment must be made so as to optimize relation (17) and (18), i.e. to enable minimization of execution time. The second approach to the problem of task allocation Is related to design and development of digital real time simulator for operator training or hardware in the loop testing I.e. restricted on real time simulation. Therefore in such applications It may be assumed that the architecture of multiprocessor system Is not given in advance and must be determined by this procedure. In this context, task allocation strategy on the basis of results generated in first two steps must provide high fidelity real time simulation and minimization of hardware requirements, since for some kind of simulator system such computer configuration must be duplicated In high number of copies. As already pointed out. In this system all progreon segments are known In advance as its time required for their execution and therefore static allocation concept will be appropriate one. If the execution times for each module and communication times between processors are known, then the problem of task allocation is to determine such distribution of modules on parallel processors which support real time simulation with minimal hai-dware requirements. The number of software modules which form one task which will be assigned to one microprocessor depends on arithmetic complexity of problem modules and real time requirements. Possible assignment can be several modules to one microprocessor, or several microprocessors to one module. This relationship depends predominately on the processing power of each processing element, complexity of dlscretlzed modules and their dynamics. Intensity of Interprocessor communication and so on. At the beginning of the procedure we start with allocation of task to first microprocessor on the basis of block level critical path method [281. For some common frame time we add modules to first microprocessor until the sum of periods of implementation of these modules is less than or equal to this common frajne time T. After that we are going on, with assignment of a tasks to the following microprocessors. So that for each microprocessor must be valid n Ft ' (19) disc đil where T,^ denotes the period of implementation module inp 1 normalized on common frame time T and n denotes the number of modules assigned to each microprocessor. In this way It Is necessary to continue with the process of task allocation for each succeeding microprocessor, until all modules have been allocated. If equation (19) is valid for all modules, single processor Implementation of related problems Is possible. With such aji approach it is possible to reduce idle time of each microprocessor in multiprocessor configuration. But on the other side this approach increases time delay due to finite computation time. This delay may cause the effects of instabilities In closed loop simulation with Included external hardware or In the operator training applications. In the case of fast and complex modules it Is very often necessjury to assign several microprocessors to one module. Using the equation segmentation methods or some form of peirallel predictor corrector algorithms or block implicit methods It is possible to achieve the speed of real time processing. The level of granularity in the process of task allocation depends predominantly on the architecture of multiprocessor system, decomposition techniques, complexity of modules, their dynamic real time constraints, numerical methods used for discretization and BO on. On one side very fast modules lead to the fine level of granularity, for example statement level or instruction level. Massively parallel processor In order to achieve the high efficient utilization of available processing power needs fine level of greinularity. On the other side relatively slow modules lead to the high level of granularity preferred In single bus multiprocessor configuration. Different level of granularity leads to the different level of intensity in Interprocessor communication. Communication time Is not negligible specially in fine level of granulations since communication time is comparable with computation time. In such circumstances, task allocation optimized only on maximization of parallel operation would not be at all optimal one, when communication times Bre taken into account, especially if a large amount of data is to be a shared. Therefore parallel multiprocessor simulation requires detail consideration and analysis in order to reduce i.e. to minimize interprocessor communication. Waiting for intermediate results and delays during communication time decreases throughput per processor as the number of processors grows. With careful decomposition schemes which follow physical topology of problems and with choices of suitable methods for numerical discretization and task allocation strategy, hardware requirements for real time simulation can be significantly reduced. It is therefore desirable to perform extensive non real time simulation and sinalysis in order to determine the best msmner of allocating program modules and to achieve the 10 most cost effective solution. 4.4. Sinulaior design for one spinning missile system The above presented procedure can be illustrated by the following example which requires simulator design that must provide real time simulation of one spinning missile according to the desired level of accuracy. After linearization of 6-DOF model about corresponding nominal tratjectory and suitable physical partitioning, block diagram form of one spinning ■Issile can be shown by Figure 6. u. servo group X1.X2 Tjr Xl,X2 Si'-' «nZ S.2 Uy hi: TOT ■ iero XT,Xa,XB,Xl0 "äynamIcB Xil pitch ehann«! Xa.Xa Xl2,Xl3 =23'" yaM ehannol Xm.Xib.Xib,XI7 =28'" V/T., Xig Figure 6. Bloclc diagram of spinning missile in nonrotatlng coordinate system Servo group mathematical model can be defined by the following system of ordinary differential and algebraic equations [2Sl, ° «ml = V2 "l ^ Vl 6. = KD- X, + KD, x_ 3? 2 p 1 2 (20) «m = S^i 'S ^ p ■p-2 ^ "n2 - Vl * V2 or In state space form with, = V *pic ^ V V ypk = '^pk V (21) In this case state. Input and output vectors correspond "2 V = '"z "y'"" '22) ^pk = ^n)' ■ while system matrices A. . , B . and C ' follow directly pk pk pk from (20). Dynamics equations for pitch channel are given by Xg = Xg «mn = ■'.r ''s ^ ^ ° (23) = ''g ^10° - '^B - ''s - "io ^^^«m " «mn^ " = »^q ^ Vi ''s " "^qPa "9 " "^qPs "lO ^1= - 1^2 "11 ^ ^^ ^ ^a^ V T = Xj^ State space form of equation (23) is determined by X. - '........ + U^ "dz = '«m V ^dz = ^dz "dz ^k ''dz (24) ^ °dz "dz Dynamic of yaw channel Is identical and Is given by, "dy" '"l2 *13 "u ■•• "is' *dy ° *dy "dy ^ ®dy "dy fyk = '^dy "dy ^ ''dy "dy Non real time simulation of the above equations has been performed on Cyber 170/850 using standard routine for niimerlcal Integration of ODEs from IKSL library (DVERK) In order to generate reference solution. With common period of Integration of 1ms, and with 6-order Runge-Kutta methods reference solutions have been obtained and are shown In Figure 7. Derivation of discrete time model for real time simulation requires careful choice of a method for numerical Integration and period of discretization. For this linearized problem one of suitable numerical methods for discretization is the approach given by equation (4) and (5). After detailed dynamic analysis of original continuous system based on eigenvalues Inspection and their distribution, the concept of multi rate processing has been accepted. Real time processing In servo group has been performed with 1ms period. In simulation of rigid body dynamic equations the period of discretization Is 5ms. The complete discrete time model has been tested through extensive non real time simulation which are shown In Figure 7. Program for testing discrete time model Is based on equations (21),(24),(25) and (4) is given by for 1=1 to ---- •servo block for J=1 to S ^"P"«^ V.k "pk.k-r *pk,k "pk,k-l° "pk.* next J •dynamic of pitch and yaw channel "dz.k" Jdz ''dz,k-l^ Sdz'^'pk.k* V.lc-l^ ''dy,k= V "dy.k-l^ ^pk.k-l' ^dz ''dz.lc ^ '^dz ypk.k • • '^dy ''dy.k °dy V. k output f^j^. *dz,k-l° *dz,k "^dy.k-r *dy,k next 1 Comparative analysis of results presented In Figure 7, shows a good tuning of discrete time model that has been provided with compensation matrices L=I and r=l/2I (bilinear transformation) and corresponding periods of discretization. Strategy of static task allocation which follows physical decomposition of problem and choices of the numerical methods for discretization must meet requirements for real time simulation with minimal hardware requirements. Computational load I.e. speed up factor of first module-servo group Is determined by period of discretization (1ms) divided by execution time of sirlthinetlc operations needed for Implementation of this discrete time model. The speed up factor computed for this module gives K "1.0013. This servo means that real tine simulation of this module Is possible on only one microprocessor board and that the load balamclng for this microprocessor is near ideal. The speed up factor for the following group which presents dynamics of pitch and yaw channel is 00124. This means that real time simulation UZ=10 „ t-t ■m CI UZ=10 , UY=0 UZ=0 , UY=I0 (0- s a o ■ z ® ^ HH - o - z . a: in •10" —I-1-1-1-1 e ee 8 se •<• UZ=I0 , UY=0 a _ 7"" I-1-1-1-1-1-1-1-1-r-1 : o e ee e se i 2s i se ; 3 ee M 0,- UZ=10 , UY=0 o ' 0 00 A —I- I. te 2.40 a. SB UZ = 0 , UY=10 _ _ q: S o 1-1-1-1-1-r ^ IB I 28 ® or Figure 7. Time responses of continuous and equivalent discrete time models (T = 1ms, Tj = 5ras, L = I, T = 1/2 I) servo dynam of this module is also, possible and that It also needs only one microprocessor with near Ideal load balancing. From the obtained results follows that the real time simulation of the model given in Figure 6, Is possible with two neeir Ideal equally load balance microprocessors. Assignment of tasks Is determined by allocation of the discrete time model of servo group to microprocessor no.l, while pitch and yaw dynamic equation to microprocessor no.2. The Intermediate results computed by first microprocessor must be transferred to the second one. However second m'lcroprocessor must check that Intermediate results or sequence of computation and require synchronization between microprocessor no. 1 and microprocessor no. 2. To Insure correct synchronization and acceptance of correct results, source microprocessor also broadcasts a ready flag with its results. The destination microprocessor i.e. the second microprocessor waits for ready flag before using the result broadcasted by the first microprocessor. Thjin It resets the ready flag after it detects that ready flag is set. Procedure executed by a source and destination microprocessor in transferring and waiting for exchange data and variables are standard in such oases. 0.064 Uz = 0 Uy = 10 fzk fzk 0 0.2 0.4 0.6 O.S I 1.5 Figure 8. Real time simulation of one spinning missile system data have been received before using them. In this example we have used for Integration implicit method from accuracy ajid stability reason. But implicit Integration methods are not suitable for parallel simulation, since they require careful consideration to Insure correct synchronization between microprocessors. In execution of iteration k, first microprocessor must compute the output of servo block y^^ ^ and broadcast the results to second microprocessor as soon as possible. The second microprocessor In corresponding iteration for computation of its state vector and output equation must wait for values y . from first pk, k microprocessor. These data dependencies that exist among servo block and dyneunlc block determine the Program for parallel real time simulation for these two microprocessors is coded in assembly language according to the following relations. •microprocessor no. 1 - servo block « •interrupt routine (real time clock - 8253 - 1ms) input u pk.k *pk,k "pk.k ^pk.k"' Sk *pk,k (from a/d converter over AMS-bus) ^pk V.k output y pk,k *pk,k° V "pk.k ""VV.k (to microprocessor no.2 over dual port memory) idle (wait for next real time clock) •microprocessor no.2 -dynsunlc of pitch and •yaw channel • •interrupt routine (real time clock - 8253 - 5ms) Input y (from microprocessor no.1 over dual port memory - wait for semaphor synchronization) P • Xj , = Xj , + B. y , , dz.k dz,k dz'pk.k P • "dy.k"" *dy,k * ^dy^pk.k ^zk,k= '^dz.k ^ ypk.k • • ^yk,k° ^dy *dy,k °dy ^pk,k output f,. . . f zk.k' yk.k (to d/a converters over AKS - bus) ''dz.k" *dz ''dz.k* ®dz V.k * • Xj , = Aj Xj , + Bj y , , dy,k dy dy,k dy 'pk.k idle (wait for next real time clock) The obtained real time solutions that satisfy the accepted objective function are shown In Figure 8 and can be considered as near optimal ones. 5. CXJNCLUSION Presented methodology enables high efficient real time integration of complex dynamic system described by ordinary differential equations on multiprocessor system. It means that in the simulator design It is the most important to find the optimal combination of decomposition techniques, discretization algorithms and strategy of task allocation, that leads to the minimal number of microprocessors necesseiry for simulator realization in agreement with desired accuracy specifications. Through the attached peripheral homogenous single bus tightly coupled multiprocessor system, realized digital simulator provides a user with different experimental abilities in control system design, testing, modification and In the operator training. 6. REFERENCES ID W. H. Christal, D. C. Mackey: Guidance and Control Simulations for Laser Guided Weapons, Proceedings of the Conference on Aerospace Simulation, SCS, February 1984. [21 K. Cosie, S. Deskovskl: Digitalna simulacija prostornog kretanja rotirajuöe rakete u realnom vremenu, XXVIII konferencija CTAN-a, Split, 1984. [3] K. L. Hali; A simulation system architecture for real time applications, The Proceedings of the Summer Computer Simulation Conference, 1986. [4] K. Ćosld, S. Deskovskl, I. Mller, M. SlamiC ; Digitalni simulator za razvoj i testiranje PO sistema vodenja, XXXI konferencija ETAN-a, Bled, 1987. [5] J. W. Karplus: Computer hardware in the simulation. Lecture notes, ETH Zürich 1986. [6] R. J. Hickman; Hardware-ln-the-loop simulation of dynamics system with high performance multi -purpose digital computers. The Proceedings of the Summer Computer Simulation Conference, 1987. [7] A. C. Watts: Aerospace system simulation at Sandla National Laboratories, The Proceedings of the Summer Computer Simulation Conference, 1987. [8] R. A. Bleck, D. J. Arpasi; Hardware for a real-time multiprocessor simulator. The Proceedings of the Summer Computer Simulation Conference, 1985. [9] R. Cluck: Hope for simulating flexible spacecraft, Aerospace America, November 1986. [101 J. 0. Hamblen: Parallel continuous system simulation using the Transputer, Simulation, December 1987. [Ill K. Owen: Rise of the supercomputer. Aerospace America, July 1988. [121 D. Chosal, L. M. Patnlak: SHAMP: An Experimental Shared Memory Multiprocessor System for Perfornance Evaluation of Parallel Algorithms, Microprocessing and Mlcroprogramaing 19, 1987. [13] E. Pearse 0*Grady, C. H. Wang: Multibus-based parallel processor for simulation. Proceedings of the Conference on Aerospace Simulation, SCS, February 1983. [141 K. Cosie, I. Mller, D. HadZiomerović: Koncept multiprocesorskog simulatora za testiranje sistema vodenja u realnom vremenu. Zbornik MIPRO 88, 1988. [151 K. Cosić, S. Deskovskl, I. Mller, M. Slamlć, I. Kopriva: Razvoj multiprocesorskog ekspertnog sistema za projektiranje sistema vodei\Ja i upravljanja, XXXII konferencija ETAN-a, 1988. [161 M. C. Gilliland, B. J. Smith, W. Calvert: HEP: A semaphore - synchronized multiprocessor with central control. Proceedings of the Conference on Aerospace Simulation, SCS. February 1976. [171 H. Kirrmann: Events and Interrupts in Tightly Coupled Multiprocessors. IEEE Micro. February 1985. (181 K. Ćosić. S. Deskovskl; PC-based development system for simulator design. 3rd European Simulation Congress, Edinburgh 1989 (to be published). [19] J. R. Plmentel; Real time simulation using multiple microcomputers, Simulation, March 1983. [201 K. Cosiö, I. Kopriva: Sinteza diskretnih modela za digitalne simulacije u realnom vremenu. Automatika, br.5-6, 1987. [211 K. Cosić, I. Kopriva; Design of the optimal discrete time model for digital real time simulation, European Simulation Multiconference, Roma 1989. 1221 K. Ćosld: Design and Implementation of discrete time model for real time digital simulation. All About Simulators, Simulators series, vol. 14, No.l, 1984. [231 R. M. Howe: Special considerations In real time digital simulation. Summer Computer Simulation Conference, 1983. [241 M. Franklin: Parallel solution of ordinary differential equations, IEEE Transactions on Computers, vol.c-27, No.5. May 1978. [251 0. A. Palusinskl: Simulation of dynamic systems using partitioning and multlrate integration techniques. Summer Computer Simulation Conference. 1983. [261 0. A. Palusinskl: Simulation methods for combined linear and nonlinear systems. Simulation, March 1978. [271 E. Pearse O'Grady, Chang-Hsein Wang; Parallel processor performance In a Jet engine simulation. Summer Computer Simulation Conference, 1984. [281 A. Makoi, W. J. Karplus: ALI: A CSSL/multlprocessor software interface, Simulation, August 1987. [29] S. Deskovskl, M. Slamlć: Matematički modeli i simulacije sistema upravljanja rotlreijućlh raketa, NauCno tehnlCkl pregled, vol.XXXIV, br.1., 1984. ISDN USER-NETWORK INTERFACE LAYER 3 Keywords: ISDN network, ISDN user-network interface, ISDN user-network interface layer 3 protocol. Gab! Dreo Bogomir Horvat Rado Slatinek Tehniška fakulteta Maribor Abstract: The Integrated Services Digital Network (ISDN) offers access to a wide range of services over a single subscriber line. An important part of the ISDN is the ISDN user-network interface. The main feature of the ISDN user-network interface is to support the various service capabilities, including voice and non-voice applications in the same network. Comprehensive interface standards are therefore very important for achieving universal deployment and worldwide compatibility. This paper presents the signalling procedures, according to Recommendation I.451/Q.931, for circuit-switched connections using the B-channel at the ISDN user-network interface layer 3, also mentioning the new features developed in these Recommendations, according to the CCITT Blue book. In the last section of the article a possible conceptual software structure of the lowest three ISDN layers is presented. Povzetek: Mreža ISDN ("Integrated Services Digital Network") omogofia uporabniku dostop do razlitnih storitev (prenos govorne, podatkovne, tekstovne in slikovne informacije) preko ene narofinièke linije. Pomemben del mreže ISDN je ISDN vmesnik uporabnik-mreia, ki omogoäa dostop do njenih storitev. Enotni standardi vmesnikov so zato eden od pomembnih dejavnikov za dosego svetovno enotnega razvoja mreže ISDN. V ćlanku je predstavljen protokol 3. nivoja v ISDN vmesniku uporabnik-mreža za tokokrogovno komutacijo in dvotočkovno povezavo po standardu I.451/Q.931 (CCITT Modra knjiga). Zadnji del članka je namenjen predstavitvi možne programske strukture prvih treh nivojev ISDN. 1 Introduction The Integrated Services Digital Network (ISDN) is a telecommunication network composed of a wide range of network capabilities which are described by standardized protocols and functions /7/. The key to handle such an all-embracing coverage of services in a single network is service integration. This approach permits the ISDN to be viewed as a whole, regardless of whether only the part of the functions supported by the ISDN are needed for a certain service. So, the main progress, from the economical and technical point of view, is a single network which forms the basis for supporting various voice and non-voice applications, instead of having a separate network for each service. Comprehensive interface standards are one of the key elements in achieving the universal deployment and worldwide compatibility. The ISDN will also be recognized by the characteristics observed at the user-network interface rather than by its internal arhitecture, configuration or technology. Therefore, interfaces are central to ISDN and determine most of ISDN's principal features. To achieve the idea of integrated use of speech, data and image requires complete end-to-end digital transport, although the process of change ia considered as an ongoing evolutionary process; or vice versa, digital information standardization leads to integration of the transmission, switching, and control functions-hence the concept of ISDN /2/. We already mentioned two fundamental elements for the ISDN, digital connectivity for information transfer and the multipurpose capability of user-network interfaces. The third element is common channel signalling in which signalling information relating to a multiplicity of circuits or functions or for network managment is conveyed over a single channel by addressed messages /7/. In our discussion we will first briefly describe the ISDN user-network interface. Our attention will be directed to the layer 3 protocol according to Recommendation I.451/Q.931 which contain the signalling procedures for establishing, modifying and terminating network connections /4,6/ across an ISDN between communicating application entitles. Call control procedures may be divided into functional and stimulus procedures. Functional operation is more convenient for autonomous user equipment meanwhile stimulus operation is more appropriate for manually operated user equipment. Therefore our discussion will be directed to the functional call control procedures for the establishing and clearing of circuit-switched connections using the B-channel /4,8,9/. the ISDN user-network interface Recommendations in the I-series apply to physical interfaces at these reference points. Now we can also explain the term user-network interface as the interface between the TE and the NT. The TE is the equipment that provides the functions necessary for the operation of the access protocols by the user meanwhile the NT provides the functions necessary for the network access. 2.2 Communication contexts 2 General 2.1 ISDN user-network interface An objective of ISDN is that a small set of compatible user-network interfaces can economically support a wide range of user applications, equipment and configurations (Fig.l.)/7/. Fig.l. ISDN user-network interface examples Fig.2. illustrates a more datailed view of the reference configurations for ISDN user-network interfaces /9/. 1 TE1 1 1 - NT2 1 NT1 1 trans- J ffitfisirin line TE2 Tfl 3 - NT». non-ISDN terminal functional grouping refsrenoe point TE1-i©rralnal equipment- iype 1 (dlgllol lelephonee , dato termi noi equipment- and Integrated wort: stations) NT2-network termination 2 Message type identifies the function of the message, d) Mandatory and optional information elements which contain the required information. The coding of information elements is formulated to allow each equipment to process the information elements important to it, and yet remain ignorant of information non-important to it. After the user has initiated call establishment (similar as pick up the receiver), he enters data via a keyboard (the called party address). Layer 3 (of the terminal) sends now a SETUP message to the network (context B in Fig.3.) /1,4,8,9/. The SETUP message may contain all or part of the called party address, depending on whether en-bloc or overlap sending is being used respectively. If en-bloc sending is used, the SETUP message will contain all the information (complete called party address) required by the network to process the call. In case of overlap sending only a part of the information will be sent. If the network determines, after receiving the SETUP message or during overlap sending, that the call information received from the user is invalid, it will initiate call clearing. If the user terminal can monitor the status of channels in use, he shall not transfer a SETUP message across the user-network interface in case all appropriate channels controlled by the D-channel are in use. In the opposite case, when the user terminal does not monitor the status of channels in use, he may send a SETUP message during an all channels busy condition. The network responds with a RELease COMPlete message. Protocol dlacrlmlnator Length of the call reference volue Call reference value Message type Mandatoru ''nd add 111 ona 1 1 nf or mat 1 on elements aa required Octet 1 stc. Fig.5. General message structure. The information elements are the most important part of the message because they carry the user information meanwhile the protocol discriminator, call reference and the message type are used for control functions. There are two categories of information elements : acceptable alternative is In the SETUP message the user terminal can indicate one of the following: a) channel is indicated, alternative; or b) channel is indicated, any acceptable; or c) any channel is acceptable. If no indication is included, alternative (c) is assumed. The selected B-channel is indicated in the first message returned by the network. If the specified channel in case (a) is not available, or no channel in cases (a) and (b), a RELease COMPlete message with an appropriate cause is sent by the network. The terminal selects a call reference for the call which is unique within the scope of a call. In case of en-bloc sending the network will send a CALL PROCeeding message to the user terminal to indicate that the call is being processed. If overlap sending is used, the SETUP message contains either: a) no called number information; or b) incomplete called number information; or c) called number information which the network cannot determine to be complete. On receipt of auch a SETUP message, the network sends a SETUP Acknowledge message to the user. After receiving the SETUP Acknowledge message, the user terminal sends the remainder of the information {if any) in one or more INFOrmation messages. An INFOrmation message may contain, besides the possible called party number, also aditional call information (i.e. for supplementary services). After the network has received a sending complete indication or has analyzed that all necessary call information has been received, it shall send a CALL PROCeeding message. The CALL PROCeeding message indicates that access to the requested service and supplementary service is authorized and available. The originating exchange will transmit the call through the network to the destination exchange and then to the called terminal. During call establishment, the call may leave an ISDN environment because of interworking with a non-ISDN network (context C in Fig.3.), The calling user terminal shall be informed with a SETÖP ACKnowledge/CALL PROCeeding/ALERTing/CONNect message and change the state of a call or with a PROGress message when no state change is appropriate. If the interface at which the message originates is the point at which a call enters the ISDN environment from a non-ISDN environment, appropriate progress indicator information elements shall be included in the SETUP message sent to the network. After receiving the SETUP message, the called terminal will check the compatibility and respond with an ALERTing message. The called user will be informed with ringing (similar as the telephone ringing), and a ring back indication will be sent back to the calling user (analogy with the telephone - the calling user hears the ringing at the called party). If the called user answers (e.g.,picks up the telephone), a CONNect message will be sent to the destination exchange and then through the network to the originating exchange and the calling user. Now the connection is established and the call at both sides of the interface enters the Active state or the maintaining phase of the call. To confirm that the call is in the maintaining phase, a CONNect ACKnowledge message is sent from the originating to the destination exchange. During the maintaining phase, the user notification procedure allows the network or the user to notify, by sending a NOTIFY message, the remote user of any call-related event. Another possibility, during the maintaining phase, is also to change the bearer capability for a call with a MODIFY message. or the called user is unable to accept the call, the network shall initiate call clearing. 3.4 Call clearing Under normal conditions, call clearing is usually initiated by the user or the network. We will only explain the call clearing initiated by the user (calling or called user hangs up). The signalling procedures for call clearing initiates by the network are almost the same. The terminal forms and transfers a Disconnect message across the user-network interface, starting a timer, disconnecting the B-channel and entering the Disconnect Request state. After the network has received the Disconnect message, the B-channel used in the call is disconnected and a RELease message is sent back to the user and a timer is started. On receipt of the RELease message, the user shall, cancel the started timer, release the B-channel and the call reference, and send in response a RELease COMPlete message. After the network has received the RELease COMPlete message from the user, it shall stop the started timer and release both the B-channel and the call reference. If the timer, started by the user, expires, the user shall again send to the Jietwork a RELease message with the cause number originally contained in the Disconnect message; start again the same timer and enter the Release Request state. The network will, after the expiry of its timer, again send a RELease message and restart the timer. After the second expiry of the timer (e.g., no RELease COMPlete message was received), the network shall place the B-channel in a maintaince condition, release the call reference and return to the Null state. The B-channel in the maintaince condition can be activated with the restart procedure. 5 A possible software implementation of the first three layers of the ISDN Fig.7. illustrates a possible task based conceptual software solution of the ISDN. The principle is siroiliar to the concept of the MINIX operating system. The first layer is a compound of software drivers which have to manage the appropriate hardware unit. Therefore software drivers are strictly tied to the hardware structure. The adjacent higher layer consists of tasks. They do. not have to know the physical structure of the hardware but only the logical functions of every hardware unit. Managers are the logical highest units which communicate with the hardware with the assistance of tasks and handlers. The hierarhy concept is similar to the TOP DOWN design. The basic program structure of all three types of units is trfe same: they operate in an endless loop. An example of thè pseudo-cod is represented. Upon receiving an indication that the network Fig.6. Call establishment and release repeat wait_£or_requeBt; Caafi request af req_l : actionB_.l; req_2: aotions_2; req_n: actions_n; fgreyer; When a logical unit (handler, task, manager) executes the procedure wait_£or_requeBt and no request is present the process (executive unit) ia suspended - it is in the HAIT state and so the process is not burdening the processor. The process can be reactiveted with a software (from a higher) or hardware interrupt (from a lower layer). S I 5 s W K ft « E S ? D R I W V 5 R H A R 0 W A R E TtnnlMl (Trac«r and Damo) Fig.7. Conceptual software structure for the first three layers of the ISDN 6 Conclusion Over the years, the concept of the ISDN has evolved from a vision to its technical realization. The current state of a part of the ISDN user-network interface layer 3 has been presented in this paper. We have concentrated on the signalling procedures for establishing, maintaining and clearing of circuit-switched connections using the B-channel, according to Recommendation I.451/Q.931, Blue book. In the last part of the article a conceptual program solution for the three lowest layers of the ISDN has been presented. References /1/ T.O'Toole, "Aufbau eines ISDN-Terminals", Elektronik, Vol.3, pp.129-134, Muenchen, March 1989. /2/ IEEE Journal on Selected Areas in Communications, vol.sac-4. No.3, May 1989. /3/ CCITT Recommendation I.450/Q.930, "ISDN user-network interface layer 3-General aspects," McGraw-Hill's Compilation of Data Communications standards, Vol.1. /4/ CCITT Recommendation I.451/Q.931, "ISDN user-network interface layer 3- Specification", McGraw-Hill's Compilation of Data Communications standards, Vol.1. /5/ CCITT Recommendation 1.320, "ISDN protocol reference model", McGraw-Hill's Compilation of Data Communications standards, Vol.1. /6/ CCITT IXth Plenary Assembly, "Report of study group XI to the CCITT Plenary Assembly, part III.14: Digital subscriber signalling No.l (DSSl), Data Link Layer (R. Q.920 and Q.921)", Document AP IX-123, Dokument AP IX-124, Melbourn 1988. /7/ A.M.Rutkowski, "Integrated Services Digital Networks", Artech House INC., 1985. /8/ R.Slatinek, "D-channel layer 3 protocol on ISDN access (in Slovene)",Tehniàka fakulteta, Maribor 1988. /9/ R.S.Kole and C.Stacey, "Integrated Services Digital Networks, Protocol and Implementation", Frost and Sullivan Seminar, London 1988. /10/R.Slatinek, "Voice terminals concentrator and ISDN network", to be published. fhit «ori «as suppocUđ b; teseacch CouunitieB of Slovenia and IStU {eleDatika. INFORMACIJSKI PRINCIPI INFORMATICA 3/89 IN FORMALIZACIJA^ Keywords: informational principles, formalization of principles, informational formulas Anton P. železnikar^ Ta spis obravnava principe in iz njih izhajajo£e posledice in primere t.i. informacijskih oblik in informacijskih procesov. Kot temelj razprave se konstruirajo informacijski principi, ki obsegajo informacijsko spontanost, pojem informacije in protiinformacije, za njimi pa §e več principov informacijskega procesiranja, kot so informiranje, vme-gčevanje, nastajanje in protiinformanje informacije. Opredeljujejo se t.i. cirkularne lastnosti informacije in sicer cirkularnost, rekurenca, vzporednost in zaporednost (posledičnost) informacije. Informacijska oblika in informacijski proces sta opisana z uporabo informacijskih principov in informacijskih posledic in kot posebna, informacijsko strukturirana in organizirana pojava (informacijsko postavje). VeC informacijskih oblik in informacijskih procesov je prikazanih s primeri v obliki formul, ki kažejo na možnosti mehke, vendar formalno striktne formalizacije informacijskih konceptov. Raziskujejo se primeri inteligence kot informacije, informacijskega stroja, informacijskega programa in žive informacije, o katerih teče razprava v okviru že razvitih principov informacije. Na koncu je dodana kratka razprava o možnostih striktne matematične formalizacije (teorije) informacijskih principov. Za posamezne principe, posledice in primere, zapisane v verbalni obliki, so izpeljane tudi pripadajoče simbolne formule, ki kažejo na možnosti splošne formalizacije informacijskih principov. INFORMATIONAL PRINCIPLES AND FORMALIZATION. This essay deals with principles, consequences, and examples of informational forms and informational processes. First, the principles of informational spontaneity, information, and counter-information are posted and then several principles of information processing are revealed: informing, embedding, arising, and counter-informing of information. The so-called circularity properties of information for these principles are investigated, which explain the circularity, recurrence, parallelness, and serialness (sequentialness) of information. Informational form and informational process are described on the basis of informational principles and informational consequences, and as particularly, informationally structured and organized phenomena (informational enframing). Several informational forms and informational formulas are presented as examples, explicating the possibilities of a soft informational formalization. Examples of intelligence as information, of an informational machine, an informational program, and living information are examined and discussed in this framework of developed principles of information. At the end, a short conclusion concerning strict formalization (theory) of informational principles is given. To given principles, consequences, and examples explicated in a verbal form, adequate symlsolic formulas are derived, pointing out some possibilities of a general formalization of informational principles. 1 Snov tega spisa je bila v svoji osnovni obliki (brez simbolično formalnega dela) ob- __ javljena pod naslovom "Principles of Information" v časopisu informatica 11 (1987) 3, 9-17 2 ^nton P. Železnikar, Iskra Delta, Stegne 15C, [s popravkom v Informatica 11 (1987) 4, 26] in Ljubljana v časopisu Cybernetica (1988) 3, 99-122 v angleškem jeziku. Pričujoči spis dodaja formalni (ali formulski) del, v prevodu pa je prilagojen možnostim slovenskega Jezika. ... Osnovni pogoj uporabe jezika je, da je poslušalec pripravljen vstopati v konverzacijo z govorcem. Pri tem ni pomembna količina logičnega ali lepega ali vznemirjajočega govorjenja, če to ni posluSano. Brezsmiselno je govorjenje, če sta ozadji govorca in poslušalca preveč različni za oblikovanje odprtega in resnega poeluäanja; celo če se besede berejo, bo lahko njihova reinterpretacija preveč oddaljena. Winograd [OUC] 257 čeno artikuliranje in Izpostavitev informacijske pojavnosti kot dovolj splošnega izkustva zdravega razuma in dokaj regularnega principa (praktične oblike) sodobnega mišljenja. To mišljenje se utemeljuje in vmešča s spontanim in cirkulamim razumevanjem (rekurentnim opazovanjem, raziskovanjem in spoznavanjem). V prihajajoči informacijski dobi se bo razvilo informacijsko mišljenje in razumevanje skozi informacijo tudi s posebnim namenom strukturiranja in organizacije nove filozofije in uporabe novih (inteligentnih) tehnoloških možnosti. Ha poti k informaciji se prav gotovo skrivajo novi pojavi, ki jih bo mogoče podrobneje raziskovati. UVOD Eden od namenov tega spisa je odpiranje pogovora, s katerim bi bilo mogoče artikulirati spremenjene možnosti pojmovanja informacijske pojavnosti in s katerim naj bi se odkrivale posledice in znanstvene in tehnološke koristi predloženih principov. Ta konverzacija in njena moč naj bi bili utemeljeni z informacijsko fenomenologijo, utemeljeno z informacijskimi principi in posledicami teh principov. Informacijske principe in njihove posledice v tem spisu je mogoče razumeti tudi kot nastajajoči začetek, promocijo, hipotezo in temelj duhovno in arteficialno nastajajočega ali tudi kot perspektivno odprtost razvijajoče se filozofije informacije. V splošnem velja, da so naravni principi (logično, ontološko) nekonsistentni. Ali velja to tudi za predložene informacijske principe? Na določen način vselej uporabljamo spretnost proste Izbire, ko se igramo s formalnimi ali celo metafizičnimi pojmi in njihovimi simboli. Principi so le konstrukcije in realnost mora biti konstruirana, saj ne čaka, da bi jo odkrili [SCC]. Termin "informacija", njegov pojem, pomen in njegovo spoznavanje se navadno razumejo kot dani (pri-ročni) in zaradi tega ne vstopajo v razumevne (perceptivne in spoznavne) podrobnosti informacijske fenomenologije. Na določeni stopnji razvoja zavesti postane pojem informacije tudi procesiranje (informiranje), komuniciranje (interakcija) in Informacijski sistem, še posebej v kontekstu nevralnih znanosti (nev-rolingvistika, nevrofiziologija), socialna komunikacija (sociologija, lingvistika), računalniško možne interakcije človek-stroj (umetna inteligenca, nevralne mreže), informacijske uporabe (ekonomija) in raziskav v kontekstu kognitivnih znanosti (psihologija, psihiatrija). Z vpraševanjem o principih informacije se lahko razvijajo nova vprašanja, ki povzročajo nove odgovore z zadostno splošno, naravno jezikovno in formalno strogostjo. V tem spisu ne bo pokazana epistemologija pojma informacije, ki je bila delno obravnavana v spisu [OWI], podrobneje pa še v spisu [IDI]. Informacija ima semantično cirkularen in dinamično spontan pomen in ta pomen je mogoče spremljati skozi zgodovino človeka (npr. od grškega "eidos", "morfe" in "poiesis" do latinskega "informatio" in do današnjega občega pomena informacije, informiranja, informativnega, informacijskega, procesno informacijskega itd.). v pričujočem besedilu bo sistematično in jezikovno formalno razvitih nekaj osnovnih principov informacije. S tem razvojem bo omogo- INFORMACIJA IH PROTIINFORMACIJA ... Vsaka zmagovita teorija preživi tri obdobja: najprej je odklonjena kot neresnična; potem je zavrnjena kot nasprotje religije; končno je sprejeta kot dogma in vsak znanstvenik poudarja, kako je že dolgo cenil resnico. Gould [ESD], ko citira embriologa Von Beara Informacijo izkušamo kot spontano razvijajoči miselni pojav našega uma. Ta izkušnja nam govori, da informacija ni samo razvijanje, spontano prihajanje v bivanje in nastajanje, temveč je tudi izginjanje, spreminjanje itd. V teh okoliščinah se informacija pojavlja kot skrajno svoboden in dinamičen proces našega uma. To raznovrstno informacijsko procesiranje je neomejeno cirkularno glede na celotno informacijo bitja. Vobče privzemamo, da informacija informira spontano in da se na svoji poti (razvoja) sooča s svojim lastnim opazovanjem, raziskovanjem in spoznavanjem, kar vse ima za posledico novo nastalo informacijo, ki jo imenujemo protiinformacija. Na poti k informaciji (lahko) postane protiinformacija regularna informacija zaradi vmeščanja protiinformacije v obstoječo informacijo; potem informacija kot informacija spet infotmira na opisani način. Informacija kot informacija informira v različnih domenah. Bistvena domena Informacije je očitno t. i. domena razumevanja, v območju katere informacija opazuje, raziskuje in razpoznava sebe in drugo informacijo. Skladno s to razumevajočo informacijsko komponento (domeno) lahko informacija rojeva nov, kontroverzen del same sebe in druge informacije, ko nasprotuje celotni obstoječi informaciji in povzroča pojavljanje protiinformacije. V tem pomenu ni nastajajoča protiinformacija ničesar drugega kot razumevajoča informacija informacije. Vobče je informacija informacijska in hkrati protiinfor-macijska. Ker je informacija samorazumevajoča, je tudi protiinformacijska. V svojem informacijskem obsegu je informacija tudi neinforma-cijska oziroma se nahaja izven obstoječe informacije, ko rojeva protiinformacijo. Upoštevaje to okvirno informacijsko pojavnost je mogoče oblikovati troje začetnih principov informacije. Princip Informacijske spontanosti Informacija je clrkularno spontani pojav informacije. Cirkularna informacijska spontanost je informacija tudi sama. □ S tem principom je mogoSe informacijsko cirkularno spontanost razumevati kot osnovno informacijsko lastnost, ki ni še na noben način omejevana, vezana, pogojevana ali prepreSevana informacija in je nepredvidljivo svobodna v svojem nastajanju, vmeSčanju, protiinformiranju in cirkuliranju. Spontanost se tako nahaja izven in nad katerim koli avtopoetičnim {samoprodukcijskim) sistemom [AAC], ki je avtopoetifino konsituiran. Navadno se spontanost razumeva tudi kot kaos ali priložnost, kot kaotično dinamičen, naključen ali neregularen pojav, kot turbulenten pretok, nepredvidljiva evolucija (bioloških vrst, ekonomskih cen), kot nereverzibilna evolucija [CCH] itd. V spontanem se nahaja zgoščeni pomen prihajanja v bivanje, volativnega, svobodnega, nepričakovanega. Biti spontano je nemogoče brez prihajanja v bivanje nečesa, kar prihaja, kar se dogaja. Spontano ima pomen zaenkrat Se neznanega, zakaj in kako bo spontano nastalo, celo kadar se ugotavlja, da je nekaj bilo spontano. "Je bilo" že ni več spontano, je svojo spontanost izgubilo takoj, ko je postalo ugotovitev. Spontano kaže v prihodnost, za katero ni vnaprej dano, kaj se bo pojavilo, zgodilo, nastalo, priSlo v bivanje, protiinformiralo itd. Spontano kaže v "bo", toda v sedaj neznano "bo". V tem pomenu se spontanost npr. ne sooča z znanostjo (ali celo z ideologijo), saj je znanost lahko le to, kar je znano. Na ta način znanost ne more (ne sme) biti spontana. V nasprotju z znanostjo pa je prvi princip informacije informacijska cirkularna spontanost, ki presega kateri koli princip resnice, krive vere, pravilnosti, identitete, objektivlzma, tradicionalizma itd. Spontanost kaže v odpiranje, slutenje obzorja, v zavest, ki sega izza obzorja vedenja (znanega), v odpiranje k novim obzorjem in ostaja tako vselej odprta. Informacijska spontanost je cirkularna. To kar spontano nastaja kot protiinformacija, se vmeSča v obstoječo informacijo in iz te informacije spet napreduje (informira) kot spontano nastajanje informacije v obliki posledičnega procesa. Tako je delovanje spontanosti kot informacije cirkularno. Če informacijska spontanost označuje neko informacijsko lastnost (obliko) spontanosti, potem nastajanje označuje nek informacijski proces spontanosti, s katerim nastaja (prihaja v bivanje) informacija na spontan način. Formule informacijske spontanosti V okviru principa Informacijske spontanosti se srečujemo s tremi osnovnimi pojmi, in sicer: informacija, spontanost In clrkulamost informacije. Označimo informacijo kot operand s simbolom a. Hkrati se dogovorimo, da bomo informacijske operande označevali z malimi grškimi črkami, tj. za, ß, ••• • Spontanost in clrkulamost informacije a bosta implicitno zajeti v operatorju ki bo splošen informacijski operator, imenovan tudi metaoperator in bo označeval proces informiranja oziroma informiranje. Operator )= bo eksplicitni operator informiranja. Da bo splošnost formalne izražave še večja, bomo uvedli Se simetrični operator informiranja tako da bomo v primeru operatorjev in =j lahko rekli, da informira ^ na en, =j pa na drug način. Princip informacijske spontanosti, se glasi: "Informacija je cirkularno spontani pojav informacije. Cirkularna informacijska spontanost je Informacija tudi sama." Ta princip zapišemo formalno takole: a ((a t=) v a)) V ((=j a) V (« H)) Definicijska ekvtvalenca označuje defini- cijski konstrukt na desni strani znaka za njen levi označevalec. Ta definicija pravi, da informacija a informira tako ali drugače (r^) na spontan in cirkularen način. Spontanost je zajeta že v operatorjih in clrkulamost pa tudi v sami krožnosti definicije kakor tüdi v paru a t= in a za en način v paru a in a za drug način informiranja. Odtod je namreč mogoče izpeljati t.i. aksiomatično krožnost, in sicer z implikacijama ((a N) v {)= a)) ^ (a 1= a) ((H ot) v (aH)) ^ (a =1 a) in Iz teh formul bi res sledila clrkulamost informacije a v obliki formule « ((« t= a) v (a =j «)) ki ni krožna le definicijsko temveč tudi rezul-tatsko v svojem desnem delu. Oklepaja '(' in ')' sta običajna separatorja oziroma mejnika, logična znaka (operatorja) V in pa označujeta disjunkcljo in implikacijo. Na koncu verbalnih principov, posledic in primerov postavljamo znak '□' , na koncu formalnih opisov pa znak Princip Informacije Informacija informira tako, da cirkularno in spontano rojeva informacijo kot svojo proti-informacljo, da cirkularno in spontano vmeSSa novo informacijo v obstoječo informacijo, ali da informacija cirkularno in spontano nastaja, prihaja v bivanje, se spreminja, izginja, vmeSča itd. s sauno informacijo. Informacija ima lastnost obvladovanja (oblikovanja in procesiranja) saune sebe. □ Na podlagi tega principa je mogoče razvijati filozofijo ali teorijo informacije v podrobnejši obliki. Iz tega principa izhaja ugotovitev, da predstavlja narava cirkularnega in spontanega oblikovanja in procesiranja informacije nek (matematično, algoritmično, formalno in tudi jezikovno) nenavaden (racionalno nelogičen) problem govorjenja in formalizacije, ki se nahaja (navidezno) izven t. i. racionalisti-čne tradicije (npr. jeznega ali zadrtega zdravega razuma). Formule informacije Že v prejšnjem formalnem opisu spontanosti smo zapisali dve definicijski formuli informacije, in sicer a =!,£ ((« t=) v (t= a)) V ((H a) v (a =j)) in a ((a 1= a) V (a =j a)) S tema formulama smo potrdili načelo spontanosti in krožnosti. Pri tem velja poudariti, da sta tudi sami definicijski formuli informacijski, da ohranjata načelo spontanosti in krožnosti. Informirata pa tudi sami po sebi, torej sta informacija. Tudi vsi v teh formulah nastopajoči operatorji so informacijski (tipa [= in =j), le da 80 partikulazirani na znane logične operatorje. Skladno s prejSnjim principom informacije moramo k tema formulama dodati Se načelo nastajanja (rojevanja, prihajanja v bivanje, spreminjanja, izginjanja) in vmeščanja nove informacije in protiinformacije. Označimo protiinfor-macijo s črko w. Kadar protiinformacija w nastaja Iz informacije a, lahko uporabimo Se oznaki u^ ali w(a). Prvo oznako preberemo proti-informacija w informacije a, drugo pa kot protiinformaci ja co, ki je funkcija informacije a. Tako lahko zapiSemo formalno (u)^ V «(a)) = ((a t= w) V (co =j «)) To formulo preberemo takole: protiinformacija co informacije a, ki jo označujemo kot co^^ ali w(a), je logično ekvivalentna (znak =) nastajanju protiinformaci je u iz informacije a na en (operator ali drug način (operator H)- Nastajanje informacije, ki je zajeto v operatorjih ^ in (tudi v okviru samega pojma informacije a), ni le nastajanje v dobesednem pomenu, temveč je tudi rojevanje, prihajanje v bivanje, spreminjanje in izginjanje informacije. Tako nčuti preostane Se pojasnilo o vmeSčanju nove informacije in protiinformacije. VmeSčanje ® druge Informacije ali zunanje informacije ß v informacijo a nastaja v okviru informiranja 3 informacije a. Informiranje in vmeSčanje informacije c sta lahko tako implicitni (3^ in kot eksplicitni operaciji (fs^j^, (=g, l=g, =|(j(» =lg/ Iniplicitne operacije ali funkcije v okviru informacijskih operandov bomo označevali z velikimi gotskimi črkami. Velika gotska črka bo tako vselej označevala neko obliko informiranja (informacijskega procesa nad informacijo kot operandom). Zunanja informacija ß se vmeSča v informacijo a 2e z njenim informiranjem, ko velja ((ß .1= a) v (a =1 ß)) ((ß t=(g(a) ^ t« To formulo preberemo takole: informacija ß se lahko vmesti v informacijo a na en ali drug način le do stopnje, kot jo dopuSča vmestitvena nastajalnost in ) informacije a. V informiranju zunanje informacije ß informacije a je treba upoStevati dvoje: prvič, zunanja informacija ß informira tako, kot vobče informira vsaka informacija, torej ß ali ^ ß; drugič, Informacija a Je lahko informirana tako, kot Je lahko informirana vsaka informacija, torej ^ a oziroma a Dejansko imamo opraviti z opera-torsko kompozicijo (znak o), tako da veljata v primeru, ko informacija ß informira informacijo a, naslednji ekvivalenci; (ß N «) s (ß (a ^ ß) = (cc ß) Namesto teh ekvivalenc lahko za ta primer za-piSemo §e dve smiselni ekvivalenci, in sicer (ß N a) = ((ß (t=„ «)) V ((ß |=g) 1=^ «)) («=|ß) H (((a ^ ß) v (a ß))) ki sta procesni izražavi, ko informacija ß informira s svojima načinoma |=ß ali =U informacijska procesa a ali a ali ko je informacija a informirana z informacijskima procesoma ß ali =(o ß. To pa omogoča vpeljavo sploSnej-Sih ekvivalenc, ki sta (ß t= «) = ((ß t= (1= «)) v ((ß 1=) 1= a)) (a =j ß) = (((« =1) =1 ß) v (cc ^ (^ ß))) S to posploSitvijo primera smo uporabili informacijski princip operatorske univerzalizacije, o kateri bo 5e govora. Tako kot informira zunanja informacija, informira tudi protiinformacija. O tem specifičnem primeru informiranja bomo govorili v formulah, ki zadevajo protiinformaciJo. S pravkar opravljeno razpravo pa smo zaenkrat izčrpali vsebino principa informacije. ■ Princip protiinformacije Informacija prihaja v bivanje kot protiinformaci Ja skladno s principom informacije. Protiinf ormacija informira kot informacija. Proti-informaoija prihaja v bivanje kot razumevanje informacije z informacijo, kot regularna informacijska oblika ali regularni informacijski proces. Tudi protiinformacija je informacija sama po sebi. □ Formule protiinformacije Protiinformacijo smo označili z co, če pa je nastala iz informacije « pa Se z co^ ali co(a). Protiinformacija je informacija, torej nastaja spontano in cirkularno, tako da velja co =, Df ((co v ((= W)) v ((=1 co) v (co =1)) in w =Df ( 1= V (co ^ co) ) Vendar nastaja protiinformacija co kot informacija v okviru informacije oc, in sicer tako, da se iz « oziroma z vplivom a formira in da tudi sama formira informacijo a in seveda samo sebe. Informacijski sistem, ki je proces oblikovanja protiinformacije iz informacije in proces njenega vpliva na informacijo, je tedaj tale: a ^ co; co a; a a; co |= co; co a; aH"; a =j a; co =i u) Ta sistem je informacijska množica osmih procesov in zapiSemo ga lahko v kompaktnejši obliki kot sistemsko formulo «, co t= a, to; co =1 «I w in preberemo takole: Informacija a informira sebe in svojo protiinformacijo na en ali drug način in protiinformacija co informira sebe in informacijo iz katere nastaja na en ali drug način. Seveda pa je treba odgovoriti zadovoljivo 5e na vpraSanje, ki je povezano s samim za5et-kom nastajanja protiinformacije w. Pojav informacijskega zaCetka je mogoSe opisati s posebnim operatorjem začetka pojavljanja protiinformaci-je na en (operator L) ali drug naCin (operator J). Tako imamo formulo (a L w) v (w J «) Protiinformacija w se zaSne pojavljati kot posledica informiranja informacije a na en ali drug način. Uporaba simetričnih operatorjev (npr. t= in L in J itd.) ima še to dobro lastnost, da razen izražave raznovrstnosti informiranja omogoča še korapaktejSi in nazornejäi formulski zapis. Sedaj pa je mogoče razpravo o protiinformaciji strniti v naslednjo implikacijo: ( (a L w) V (w J «)) (a, w a, u; a, u H "< o») Ce se je protiinformacija w že pojavila, potem obstaja zapleteno medsebojno in lastno informiranje informacije a in protiinformacije na en ali drug način. ■ Doslej opisani principi nikakor niso zaprte izjave, saj so odvisni od povsem odprtih pojmov, ki jih bomo opredeljevali v naslednjih principih, posledicah in primerih. Razen tega bodo tudi kasnejgi principi odvisni od prejä-njih, tako da bodo vsi rekurentno med seboj prepleteni in hkrati odprti za nadaljnji razvoj razumevanja. Posledica informacijskih principov Tudi sami informacijski principi bodo protiinformaci jski . To pomeni, da bo neglede na informacijski princip v tem spisu, nek informacijski princip imel lastnost informacije, njenega cirkularnega in spontanega razvoja (mišljenja, nastajanja, vmeSčanja) v carstvu informacije. □ To posledico potrjujejo tudi doslej zapisane informacijske formule, saj so v svoji pomenski zasnovi protiinformacijske, omogočajo ne le nastajanje novih formul, temveč tudi razvojno modifikacijo njih samih. Formalni sistem informacije ostaja vselej odprt in njegova formalna podoba je posledica trenutka oziroma dosežene stopnje formalnega razvoja. Formalni informacijski sistem ni zakonit matematičen sistem, vendar je matematičen sistem vselej le posebna, statična oblika formalnega informacijskega sistema. Posledica informacijskega objekta ^ informacijskega subjekta Informacija je informacijski objekt in/ali informacijski subjekt (obvladovanje same sebe). To ugotovitev je mogoče izraziti v formalizirani obliki, kjer je mogoče razumevati informacijo kot informacijski operand in/ali kot informacijski operator (operacijo).- Informacijski objekti so tako informacijske oblike kot informacijski procesi, ki so hkrati informacijski operandi in informacijski operatorji. Informacijske objekte (operande) je mogoče formalno izraziti kot enote v oblikah, kot so informaci jska_oblika, informacijski_proces, biti_v_ob-liki, biti_v_procesu itd. Podobno je mogoče informacijske subjekte (operatorje) izraziti z različnimi verbalnimi kompozicijami, kot so npr. informirati, generirati, nastajati, dajati, spreminjati, prihajati_v_eksistenco, priha-jati_v_sedanjost, inteligentno_mođifidrati, vmeščati itd. □ Posledica protiinformacije Protiinformacijski objekti in protiinfor-macijski subjekti so npr. protiinformacijska_ _oblika, protiinformacijski_proc6s, naBtala_in-formacija itd. kot objekti in informirati_z_o-pazovanjem, generirati_s_spoznavanjem, nastaja-ti_z_raziskovanjem kot subjekti itd. □ Princip informacijske formule Informacijo je mogoče formalno izražati z informacijskimi in protiinformacijskimi formulami, ki so sestavljene iz informacijskih ope-randov (objektov) in informacijskih operatorjev (subjektov) v jezikovno svobodni, nevezani obliki. Informacijske operacije in njihove kompozicije se lahko uporabljajo kot informacijski operandi (objekti) in kot informacijski operatorji (subjekti). Čeprav je informacijska formula svobodno zaporedje (serijska izražava) informacijskih operatorjev in informacijskih operandov, je z njo (formalno-jezikovno) mogoče izražati cirkularnost, spontanost, paralelnost itd. oblik in procesov, ki se pojavljajo v informacijski formuli. □ V okviru te razprave je mogoče pokazati primere primitivnih in sestavljenih informacijskih formul. Princip informacijske formule omogoča naravno in formalno izražavo informacijskih oblik in procesov, uvajanje simbolov za informacijske operande in operatorje in naposled tudi formalistično (aksiomatsko, logično, matematično) oblikovanje informacijskih formul. Primer osnovnega Informacijskega sklepanja Naslednja formula je deduktivno sklepanje, ki ima t.i. če-potem obliko oziroma je implikacija: (informacija informira lastno_in_drugo_informiranje ; informiranje informira informacijo;) informacija informira informacijo; Posamezne izjave se končujejo s podpičjem. Seznam izjav lahko predstavlja vobče izjavo, ki povezuje dele seznama z vezmi tipa "in", "ali" ali z "in/ali" itd. □ Formula enostavnega informacijskega sklepanja Zadnji primer je mogoče zapisati enostavno tudi v formalni obliki. Informiranje informacije a označimo z 3„, informiranje druge informa- cije ß pa z . Črta pod formulama pomeni informacijski operator ekstracije. Podobno črtno operacijo uporabljamo npr. pri sklepanju po načelu modus ponens. Formulo za zadnji primer lahko zapiSemo takole: ((« 1= 3ß); 3ß ^ a); 5ß t= a); ((« ^ 3p)) a a; a a Ta zapis dodaja zapisu iz zadnjega primera še Informiranje na en ali drug način. Takšno obliko sklepanja v obliki formule bomo imenovali modus informationis. Ti modusi bodo vselej povezani z nastajalnim ekstrahiranjem informacije iz danih informacijskih agregatov. Zadnjo formulo lahko zapiSemo tudi tako, da zamenjamo vodoravno črto (operacijo ekstrakcije) z informacijskim operatorjem "/", ki je ustrezna parti-kularizacicija metaoperator ja ■ Primer informacijske ekvivalence V Tale formula opisuje ekvivalenco: informacija informira inteligenco je_enako_kot informacija informira informiranje; informiranje informira inteligenco; Operande in operatorje formule je mogoče konstruirati s svobodno izbiro. Izjava pred operatorjem se ne končuje s posebnim znakom. □ Primer formule za informacijsko ekvivalenco Zadnji primer lahko opiSemo formalno z uvedbo naslednjih oznak: a označuje informacijo, 5 inteligenco in informiranje; = je znak za operator "je_enako_kot"'. Dobimo: ((« 5) v (3 «)) = (((« ^ A N 3)) V ((3^ ^ «) a ((3 =1 3^))) Operator a označuje povezavo "in". Ta formula seveda ni kak končen dosežek, saj smo v njen izpustili vpliv inteligence na informiranje informacije. To konstrukcijo pa si lahko bralec po tem, kar je bilo povedanega, naredi že sam. Ha mestu pa je Se ena pripomba. Od nekako še vedno informacijsko statičnih konstrukcij, ki so bržkone posledica matematične tradicije simbolizma in njegovega dojemanja, je mogoče tudi pri izražavi formul ubrati t. i. dinamično interpretacijo oziroma tudi izražavo. ZapiSimo zadnji primer Se v bolj živi obliki! ■ 26 (2) informacija informira inteligenco je_enako_kot informacija informira, generira, modificira inteligenco je_enako_kot informacija informira inteligenco, informacija generira inteligenco, informacija modificira inteligenco; V tem primeru se nekatere izjave končujejo z vejico, ki predstavlja posebno "in" povezavo itd. □ Formalizacija dveh smiselnih formul Zadnja dva primera lahko zapišemo v simbolični obliki takole: (1) 3 = 3, 3 , 3 ^ gen' ^mod To je Informacijska formula s partikularizira-nima implicitnima oparatorjema in ki imata zaenkrat nedoločene argumente. Entiteto 3 in njeni partikularizaciji je mogoče razumeti kot informiranje. Informacijski operator = je v bistvu partikularizacija operatorja f= (konkretno bi lahko zapisali . Zaporedje 3, ^mod informacijska množica na desni strani operatorja =. Formula je sama na sebi rekurziv-na. Njena logična dekompozicija bi bila tale: 3 = 3; 3 = 3 = Lahko pa bi osnovni informacijski zapis pojasnili tudi v obliki logično ortodoksne formule: {(3=3) A (3=3g^„) A (3=3^^^)) (2) V tej formuli označimo z Š inteligenco kot informacijo. Tako lahko zapiSemo: («^=3) = U« Nt=gen°t=mod = ((a 1= 3) A (a Ngen 3) A Ta formula je med drugim tudi primer možnosti dinamičnega informiranja, saj se iz prvega člena glavne ekvivalence na desni strani informira ekvivalentno drugi člen kot konjunkcija treh členov. V tem primeru smo tudi pokazali, kako je mogoče oblikovati operatorske kompozicije, ki bi bile lahko posledica verbalnih oblik izražanja. Takšna kompozicija je "operatorski" izraz • Seveda bi bilo mogoče ope- ratorske kompozicije obravnavati kot posebne oblike informacijskih formul, npr. kot informacijske podformule. ■ Primer dveh smiselnih formul Tile dve formuli sta smiselni: prva opisuje operacijsko kompozicijo, druga pa ekvivalenco dveh formul: (1) informirati je_enako_kot informirati, generirati, modificirati; Posledica oblike operatorja "informirati" Najsplošnejši (in morda najmočnejši) informacijski operator je operator "informirati". Ta operator, ki je metaoperator za poljubni operator, se razumeva kot kompozicija poljubnega zaporedja drugih informacijskih operatorjev. Vsaka operatorska kompozicija lahko ima pomen njihove čiste paralelnosti, mešane paralelnosti in serialnosti ali čiste serialnosti. Vrstni red posameznega operatorja v sestavljenem zapo- ređju je lahko ali pa tudi ne določen glede na posamezne formalne povezave. Informacijski metaoperator je mogoče vselej partikularizirati ali univerzalizirati skladno s potrebami, uporabo, ali zahtevo. Informacijski metaoperator v formuli se vede kot informacijska spremenljivka. D Formalni pomen in oblika operatorja "informirati" Z operatorjema ^ in ^ smo označevali kompleksnost informiranja informacije na en ali drug način. Ta metaoperatorja smo uporabljali kot spremenljivki, ki bosta dobili konkretno funkcijo v konkretnem primeru. Izza njiju smo "skrili" Se princip partikularizacije in uni-verzalizacije, in seveda t.i. možnost kompozi-cioniranja. S tem smo metaoperatorjema podelili kar največjo moč spontanosti in cirkularnosti. Praktično vprašanje, ki se ob vsem tem lahko pojavi, je, kako bi bilo mogoče nek spontan informacijski operator realizirati. Ali je to sploh mogoče? Odgovor na to vpraSanje bomo dali v epilogu tega spisa, ko bodo bolj znani Se drugi informacijski pojavi oziroma njihovi principi. ■ PRINCIPI INFORMIRANJA INFORMACIJE V tem poglavju bomo preučevali več principov, ki izhajajo iz pomena glagola "informirati" in nekatere odvode teh principov. Naj glagol "informirati" vključuje pomene vseh mogočih glagolov in verbalnih kompozicij. V tem primeru lahko predstavlja glagol "informirati" poljubno zapleten operator. Naj bo ta pomen transparenten tudi za samostalnik "informacija". Tako je informacija lahko razumevana kot poljubna oblika, poljuben proces ali oboje. Tako lahko predstavlja informacija poljubno zapleten informacijski operand (objekt) in informacijski operator (subjekt). Informiranje informacije zadeva kot možno razumevanje štiri osnovne oblike ali procese informacije, ki so: informiranje, vmeSčanje, nastajanje in protiinformiranje informacije. Ta refleksija daje naslednje Stiri principe. Princip informiranja informacije Informiranje informacije, kjer je informiranje inherentno sami informaciji, pomeni, da informacija informira z informiranjem skladno s principom informacije, da prihaja z informiranjem v eksistenco protiinformacija skladno s principom protiinformacije in da se protiinfor-macija vmešča v obstoječo informacijo skladno s principom vmeščanja informacije. Informiranje cirkularno in spontano obvladuje informacijo skladno s principi cirkularnosti, rekurence, paralelnosti in serialnosti informacije (glej naslednje principe). Informiranje informacije je tudi samo informacija. □ Formula Informiranja informacije Prejšnji princip našteva tale dejstva: (1) informiranje 3(a) je inherentno informaciji a; pojavlja se torej proces (a t= 3(a)) V (3(a) h «) v (3(a) =j a) V (a ^ 3(a)) ali sploSeje inherenten (tudi notranji) proces (2) Z informiranjem 3 prihaja v obstajanje protiinformaci ja (o: (3(a) L w) v (w J 3(a)) V (3(a) 1= w) v (10 =i 3(a)) Za ta primer je mogoče uporabiti tudi operatorski kompoziciji, in sicer: (3(a) Lo^ w) V (co Ho-J 3(a)) Vendar je mogoče tudi skladno z definicijo operatorja ^ in operatorja =( predpostaviti, da je pojavitev informacijskega v njima že vsebovana, torej (L) C (t=) in (J) C (=i). (3) Nastala protiinformacija se vmešča v informacijo. Ta proces je mogoče izraziti dinamično s procesoma ((3(a) Lo[= (<£(«) H 3(a)) Ta primer preberemo: če je informiranje informacije 5(a), ki je opazovanje, raziskovanje in razpoznavanje informacije a in informiranja informacije (po definiciji pojma informacije), generirano (operator z informacijo, potem protiinformiranje £(a) izvira ali je generirano (operator z informiranjem informacije. ■ Seveda je mogoče zapisati še več drugih formul za protiinformiranje tudi v bolj podrobni obliki. slednjih vrsticah. Princip cirkularnosti informacije Informacija je spontano cirkularna glede na informacijo. Informacijska cirkularnost je lastnost celotne informacijske domene (protiin-formacije, informiranja, vmeščevanja, nastajanja, protiinformiranja) in je informacijsko transparentna. Različne oblike in procesi informacijske cirkularnosti so rekurenca, para-lelnost, serialnost (posledičnost) pa tudi neidentificirane oblike in procesi informacije. Cirkularnost informacije je informacija sama po sebi. □ Formule cirkularnosti informacije Informacija a je spontano cirkularna glede na samo sebe. Ta cirkularnost se izraža tudi s sistemsko (ne z disjunktivno) definicijo informacije a =Df N; \= a; H «; « =i) ki pravi, da informacija a odprto informira in/ ali je odprto informirana na en ali drug spontan način. Spontanost je zajeta v naravi operatorjev in ^ in s tem v sami informaciji a. Iz definicije informacije, tj. iz njene cirkularnosti, je mogoče izpeljati tudi formule a t= a; a (= (a t=); a t= (|= a); (a ^ a; (t= a) \= a; a a; (H «) H a; (a =i) =j a; a =1 (^ a); a =| (a =j); (« a) t= (a a); ... Formule je tedaj mogoče izpeljevati do poljubnih rekurzivnih globin. Zaradi informacijske transparentnosti se spontana cirkularnost prenaSa na poljubno informacijo, torej tudi na protiinformacijo w, informiranje 3, vmeščanje E in protiinformiranje I. Tako imamo npr. w w; a 1= (w t=); co t= (=4 a); ((= I) =i a; w t= (C (® f= (3 h «))); • • • Če se s formulo a a izraža rekurenca, se t.i. sploSna paralelnost informacijskih procesov opisuje z operatorjema in in njunimi parti-kularizacijami in univeralizacijami. Z njima (ali prek njiju) se informacijski procesi paralelno in medsebojno informacijsko prepletejo, kot kaže primer paralelnega cikličnega informiranja informacije: a IM; 3 4 «; 3 lt= a; « 4 3; a, 3 11= C; informacijsko entiteto "informacijska_rekurenca", a informacijo, co protiinformacijo, C vmeščanje ter "nastajanje_in_vmešCanje informacije". Operatorji i" ^spon pomene "nasta- ja_iz", "kot", "vmeSča_v" in "je_spontano". Tu so še logični operatorji =, a in s standardnimi pomeni "pomeni_da", "in_pri_tem" in "po-tem_se". Eden od možnih simbolnih zapisov je potem tale: (p = (((a a) t= w) (w t=« «))) A ^spon) Formalisti seveda lahko trdijo, da je ta zapis ne le preglednejši od njegovega verbalnega primerka, temveč da tudi več pove, ko eksplicitno opozarja (izraža) specifično, tj. informacijsko rekurenco. ■ Princip informacijske paralelnosti Informacijska paralelnost ' je cirkularna razvejenost ali razcepljenost informacije, ki je prostorska (topološka), časovna (temporal-na), alternativna (pluralna), multiserijska, paralelno generativna, paralelno spoznavna itd. Informacijska paralelnost je tudi sama infor- macija. □ ima lahXo natančnejSi pomen, in sicer "se vme-šča v". □ Formule informacijske paralelnosti Za eksplicitno izražanje informacijske paralelnosti smo predvideli dva posebna tipa informacijskih operatorjev, in sicer p in za sploSno paralelnost in 1)- in -1| za paralelno ci-kliSnost. Seveda pa je mogoče eksplicirati z operatorji tudi specifično neparalelnost, in sicer splošno neparalelnost (H<, in nepara-lelno necikličnost ,^1). ■ Posledica informacijske paralelnosti Obstajanje in nastajanje paralelne informacije potrebuje možnost paralelnega pojavljanja informacijskih oblik in informacijskih procesov. V tem primeru pomeni beseda "možnost" pojem paralelne strukture, ki omogoča paralelno informacijsko pojavnost. Strukturna paralelnost je na določen način prostorska, časovna, pluralna, spontana itd. Obstajanje in nastajanje paralelne informacijske strukture kot informacije je potreben pogoj informacijske paralelnosti. To velja dobesedno za paralelno informacijo v živem, kjer je informacijski parale-lizem mogoč le v paralelni biološki strukturi. O Populacija živih bitij je dober primer informacijskega območja, v katerem se paralelna informacija pojavlja spontano in raznovrstno. Ta paralelna informacija vpliva na bitja in njihovo interakcijo, tako da so ta bitja do določene stopnje informacijsko prepletena. Ta primer kaže, kako je paralelna informacija kot informacijska populacijska enota nepredvidljiva v svojem obstajanju in nastajanju, odvisna od informacijskih okoliščin in od nastajanja okoliške informacije. Paralelnost informacije se pojavlja, ko se obstoječe informacijske poti (oblike in procesi) razcepijajo v raznovrstne (pluralne) nastajalne smeri. Formula dveh paralelnih procesov Označimo prvi in drugi informacijski proces z

({K A ((? L «(?), a(5), 3^, 3^))) t= Označimo proces desno od operatorja = s đ. Potem imamo za gornji proces vpraševanja: (a^ = ?5) t= Tu pravzaprav vidimo, kako lahko neka dinamična definicija sama informira svojo opredelji- vost. Za serijsko vpraševanje bi bil mogoč tudi t.i. sistemski zapis, in sicer v obliki (a^ = (^ (5 L to^) t=g «(5), a(T)), 3^; T) |=; (T) L a(T)), 3^, 3j,; Za paralelni proces (sistem) vpraševanja Un pa imamo: (o-|l = (5, ri, ^ Ih (?, t), j; 4 co^, wj.) r), K, 3^, 3j,)) |t= > cr)))) V tej formuli pomeni a vse možne arhitekture informacijskega stroja, operator O beremo kot "je_mogoče" inoperator kot "pogojuje". Operator . lahko v tem primeru beremo kot "kot" (ali tak_...,_da_je) in operator p kot "je_pri-lagojeno". Operator || tako ne pomeni le para-lelnosti, temveč izraža tudi določeno pogojnost med operandi (operator ->). Zaradi jasnosti pre-berimo definicijo informacijskega stroja takole: informacijska struktura a je paralelna k programski informaciji :t tedaj in le tedaj, ko obstaja takšna struktura a, da če je > {% >>0-)) ^ (Ow.((w >> ß) >>0-))) ^ (C>a.(((a >> co) >> ß) >> CT))) Stroj S je nastajalen v vseh svojih komponentah, tj. v (7 in K oziroma podrobneje v ß, co in a. Komponente cc, w in a so informacijski programi, torej informacija. ■ Formalne možnosti inteligentnega stroja Označimo z rjg inteligenco informacijskega stroja S, ki nastaja iz svojega informacijskega okolja e = (o- II Tc) in IT = ( (ß || co) || a), ko velja S 1= T)g. Strojna inteligenca T)g pa povratno vpliva tudi na stroj S, iz katerega nastaja. Osnovna formula inteligentnega stroja je tedaj ...(...((S t= T,g) t= 6) Tig ...) 1= S ... kjer je e = (a || ( (ß |i co) || a)). Tu se pokaže možna kompleksnost inteligentnega stroja S. Strojna inteligenca ima svojo specifiko (inten- cionalnost, jedro) S(r)g) C S. Strojna intenca !ft(T)g) lahko deluje kot cilj strojne inteligence T)g, kot njena strukturirna, arhitekturo in programsko informacijo oblikovalna informacija. Tako pomeni R(r)g), da obstaja informacijski proces, ki oblikuje stroj in njegove programe in je opisljiv s formulo •■• ((T)g sft(V) t= i= ^^-ne^ ■■■ paralelno k procesu, opisanem s prejSnjo formulo o nastajanju inteligence Tf)g iz informacije S itd. Zapis sploänega paralelnega sistema strojne inteligence bi bil e- rÌQ, «(T)g) 11= 6, T]g, K(T)g) kjer vsaka operandna komponenta oziroma komponenta v operandu informacijsko vpliva na vsako operandno komponento. Ta formula je tedaj ne le okrajSani zapis za devet paralelnih formul (S ||: S 11= r)g; S Ih «(T)g); rjg |h S; 77g T)g; r^g «(ng); «(rig) IN S; «(Tjg) IN r)g; «(r^g) S(T)g) ), temveč je iz nje mogoče izpeljati tudi prejjnji "inteligenčni" formuli. V teh devetih formulah moramo seveda upo{tevati strukturo stroja S = (o- II ( (ß II co) il a)). Uporaba raznovrstnih transformacijskih pravil iz informacijske domene modus rectus [IL.4] pa omogoča, da v danem informacijskem procesu, opisanim s formulo inteligentnega stroja, iSčemo tudi njegovo inteligenco oziroma inteligenčnono jedro kot implicitno Informacijo v informacijskem procesu. O T.i. nevralna vezja oziroma nevralne mreže pa so tehnološki dosežek, ki je na poti do informacijskega stroja, saj naj bi omogočal t.i. arhitekturno genezo, tj. nastajanje strojne strukture v odvisnosti od informacijskih potreb. Nujno bo začeti še vrsto novih raziskovalnih in razvojnih projektov, da bi si izmislili gradnike informacijske arhitekture z lastnostjo raznovrstnejše informacijske spremenljivosti, še posebej paralelnosti in njune uporabnosti v dinamični arhitekturi. Te arhitekture bi se lahko časovno spreminjale, nastajale ali razvijale kot posledica informacijskih sprememb in nastajanja v arhitekturnih okoljih. Princip informacijskega programa Informacijski program bi bil enostavno informacija, ki spontano informira, vmeSča, nastaja in protiinformira na informacijsko cirku-laren način v okviru informacijskega stroja. Informacijski program informira samega sebe in druge informacijske programe in se uporablja in je vmeščen v informacijskem stroju za produkci-'jo informacije (npr. inteligence, namenskih informacijskih funkcij itd). □ Očitno obstaja bistvena razlika med računalniškim in informacijskim prograunom. Prvi je al-goritmičen (matematičen, proceduralen, informacijsko statičen in definitorno predvidljiv), medtem ko je drugi informacijski (nematemati-čen, inteligenten, informacijsko dineimičen in definitorno nepredvidljiv). Računalniški program ima praviloma stabilno, nespremenljivo programsko strukturo in programsko organizacijo. Njegove definicije (deklaracije) ni mogoče spreminjati dinamično med njegovim izvrševanjem s pomočjo paralelnega izvajanja njega samega in drugih programov nad samim seboj in nad drugimi delujočimi programi, podatki itd. Posledica principa informacijskega programa Informacijski program se vede kot informacija. V tem primeru je program tudi informacijski objekt, ki se lahko informacijsko spreminja med svojim procesiranjem drugih objektov. Značilen računalniSki program se vselej vede kot subjekt, s katerim je mogoče spreminjati neprogramske objekte, nastaja pa lahko le z zunanjimi posegi. Zamisel o informatizaciji programa pripelje Se do bistveno novih zahtev o programirnih orodjih, ki jih je nemogoče primerjati z danaSnjimi orodji za programiranje. □ Primer tehnološkega informacijskega stroja Tehnološki (umetni) informacijski stroj naj bi imel v glavnem arhitekturo, ki je bistveno različna od arhitekture in njenih komponent današnjega računalnika. T. i. možganska ali nevralna arhitektura je le ena izmed možnosti nove usmeritve. Kaj naj bi pomenila nevralna arhitektura? V grobem so komponente nevralne arhitekture nevroni in funkcionalne enote nevronov (regije, jedra, območja, korteksi) oziroma nevronske populacije. Nevron je živčna celica (specializirani procesor) s svojimi raznovrstnimi in kompleksnimi informacijskimi procesi. V živih možganih tudi dva nevrona (ali bazična celična procesorja) nista enaka. Signali (informacija) vstopajo v nevron iz drugih nevronov prek sinaps (sinapsnih procesorjev). Nevroni lahko nastajajo pod vplivom učenja, zamenjujejo obstoječe (postarane) nevrone [BSN] in izginjajo tako funcionalno kot fizično. Sinap-tične povezave med nevroni se lahko pojavljajo v odvisnosti od različnih notranjih in zunanjih strukturnih In procesnih pojavov. Nevralna arhitektura se razvija skladno z življenskimi možnostmi pod pritiskom in z vplivom notranjih in zunanjih okoliščin. Ta arhitektura nastaja dinamično in se vede kot informacija na strukturalni (substancijski, tehnološki) in organizacijski (procesni) ravni. □ Primer informacijskega programa Primer informacijskega programa je korteks-na (nevralna) funkcija. Ta program ne deluje le kot informacija, temveč vpliva tudi na zadevno živo substanco (arhitekturo), v kateri se razvija (v kateri procesira). Tako je mogoče razumeti, da um (kot informacijski program) vpliva na razvoj možganov (kot informacijsko arhitekturo z njenimi komponentami) in da takšno nastajanje arhitekture nudi nove možnosti za nastajanje uma. □ ŽIVI PRIMERI INFORMACIJE V prejšnjih dveh primerih smo nakazali informacijske možnosti živega informacijskega stroja (možganov) in živega informacijskega programa (uma). Maturana in Varela [AAC] sta pokazala s teoretsko obravnavo, kako je žive organizme mogoče razumevati kot avtopoezijo (autopoiesis). Princip živega informacijskega stroja Živ informacijski stroj predstavlja le podskupino možnih (zamisljivih) informacijskih strojev. Živ informacijski stroj je omogočen v okviru biološke strukture in organizacije, z njuno avtopoezijo. Takšen stroj je organiziran kot informacijska mreža informacijskih oblik in procesov za produkcijo, transformacijo in destrukcijo svoje lastne informacije. Živ informacijski stroj upravlja z življenjem stroja, ohranja svoje lastno življenje in producira sebe in svojo informacijo. □ Očitno imajo živi informacijski stroji kot produkti svojega lastnega delovanja nekaj, kar zadeva njih same, njihovo lastno identiteto, enotnost (lastnost informacijskega kot enote) in življensko procesiranje, Delovanje, ki se ne tiče samega stroja, je npr. značilno za umetne, alopoettčne stroje. Ti stroji se sami po sebi ne razvijajo in ne ohranjajo sami sebe, toda producirajo funkcije za druge, nesvoje namene (npr. računalniki, mehanični stroji). Princip živega informacijskega procesiranja Živo informacijsko procesiranje je biološka pojavnost avtopoetlčnih informacijskih sistemov v živem in obdajajočem svetu, in sicer do te mere, ko je to procesiranje tako ali drugače odvisno od avtopoezije (biološke samoprodukci-je) ene ali več avtopoetičnih informacijskih enot. Domena vseh interakcij, v katere avtopoe-tičen sistem lahko vstopa, je njegova kognitivna domena. V okviru te informacijske domene ne more biti presežena avtopoetična identiteta informacijske enote in njene interakcije. □ Primeri živih informacijskih strojev in živega informacijskega procesiranja Očitni primeri živih informacijskih strojev so molekule življenja, celice, celične populacije (organizmi), korteksna jedra, korteksi, možgani in živo bitje kot celota (enota). Živi informacijski procesi v teh strojih so npr. beljakovinska sinteza, imunost, evolucijsko učenje, evolucijske spremembe, selekcija, re-plikacija (razmnoževanje), um itd. □ FORMALIZACIJA INFORMACIJSKIH PRINCIPOV V nekaterih primerih tega spisa smo že pokazali možnosti oblikovanja informacijskih formul za opisovanje informacijskih oblik in informacijskih procesov. Pokazali smo, kako je mogoče te oblike in procese formalizirati z linvističnimi pripomočki. Informacijo smo osnovali kot informacijski koncept, ki ga je mogoče zadovoljivo formalizirati le z informacijskimi sredstvi. Tudi sama informacija se kaže kot neke vrste sistem v sami sebi. V okviru tega sistema lahko informacija nastaja in se vmešča cirkularno in ima pri tem svojo strukturo. ■organizacijo, oblike in procese. Informacija je vržena (metana) v informacijsko okolje iz nekega informacijskega vira, iz katerega je nastala in se razvija še naprej, nastaja, raste, propada, izginja itd. kot specifičen sistem, ki je v relaciji s samim seboj in s svojim informacijskim okoljem. S pojavitvijo informacije začne nastajati tudi njen sistem. Vprašanje, ki se postavlja, je, kako bi bilo mogoče formalizirati sisteme, ki so informacijsko relacijski, informacijsko značilni ali informacijsko substancialni. Bolj ali manj je evidentno, da takšna formalizacija ne more več obdržati zgolj tradicionalne oblike matematične, algoritmične ali logične formalne interpretacije. Tradicionalna interpretacija je informacija, ki ne razpolaga s sredstvi, formalnim aparatom ali matematičnim formalizmom, ki bi bil pripraven (instrumentaliziran) za postavje nastajajoče informacijske pojavnosti. To pa seveda ne pomeni, da ni mogoče obstoječega matematičnega formalizma uporabljati za interpretacijo sistemov, ki so značilno terminirani, informacijsko statični in na današnji stopnji razvoja tudi še tehnološko sprejemljivi. V predhodnih primerih nismo uporabili formalnega simbolizma; ki bi lahko zamenjeval verbalne opise v naravnem jeziku. Namen te verbalne formalizacije je bil v interpretaciji informacijskih principov z naravnimi zaporedji informacijskih operatorjev in operandov. Tako formalizirani primeri so le nakazovali pot, kako bi bilo mogoče vpeljati sistem informacijske logike, ki bi omogočal aksiomatizacijo principov in gradnjo partikularnih informacijskih teorij, ki bi lahko upoštevale pojme, kot so spontanost, cirkularnost, informacijsko nastajanje in vmeščanje, protiinformiranje, paralel-nost in posledičnost informacije, informacijsko prepletenost, strukturo, organizacijo itd. Določene študije prav v tej smeri pa so bile medtem že opravljene [ILI, IL2, IL3, IL4]. Formule informacijske logike Informacijske principe je mogoče postaviti v simbolno logično postavje. V prejšnjih primerih smo vselej lahko opazovali tipe formul, ki so bile zaporedja informacijskih operandov in informacijskih operatorjev (in ničesar drugega). Imeli smo sistem petih tipov formul, ki so bile rekurzivno razSirljive do poljubne kompleksnosti. Ta logični sistem formul je bil a, t= a t=, o( t= a, a t= ot K temu sistemu je potrebno še kratko pojasnilo. Formula a je lahko enostavna ali rekurzivno sestavljena iz formul sistema. Začnemo lahko s formulami a, ki so osnovne oblike ^ a |=, a t=> a in a a. Seveda je formula tudi logični sistem formul, ki ga kot formulo moramo še pojasniti. Druga formula sistema a omogoča izražavo formule (a) in tudi a(a), kjer je operator ^ partikulariziran kot in kot [=> oziroma kot znak "(" in znak ")": Tudi vejica in podpi~je sta npr. partikularizaciji v kombinaciji a S tem smo v glavnem pojasnili strukturo logičnega sistema formul. K temu dodajmo le še princip partikularizacije in univerzali-zacije operatorjev. S tem je povedano domala vse, kar je potrebno za t. i. aksiomatizaci jo sistema informacijske logike. ■ EPILOG O metaoperatorju ^ njegovi implementaciji Uvedba pojma informacijskega metaoperatorja 1= in njegovih izvedenk (=|, lt=, ÌV, 4, h. H. Ih- HI, 4 itd.) je omogočila razvoj formalizacije koncepta informacijskega nastajanja. Ta operator se je v formulah lahko pojavljal le vezan na informacijski operand a, in sicer v sploih oblikah a « in a ^ a ali v operatorskih kompozicijah, kjer je kompozicija prevzela vlogo operatorja. Kaj pomenijo posamezna oblike izražave? Oblika a f= izraža lastnost informacije a, da informira, da iz sebe oddaja ali odpošilja informacijo kot informiranje same sebe. Če bi zapisali a bi rekli, da informacija a lahko informira; vendar a vselej informira. V okviru t.i. modalne logike [ML] bi imeli tole informacijski definicijo za naš primer: (a (V(5It, ß e Sì).(a . Tu je SDt t.i. model možnih svetov in ß možni svet. Operator Nj; ß Je tedaj že partikularna oblika operatorja Lahko bi rekli enostavno, da je operator ^ določen za informacijsko domeno (SK, ß), ki je vselej lahko splošna, skladno s trenutno potrebo ali uporabo. V tem primeru ima vsaka informacija a možnost, da odpošilja informacijo, da informira. To je aktivna vloga informacije in tudi podatka, a \= pomeni, da a informira v vseh modelih možnih svetov in v vsakem možnem svetu modela. Oblika 1= a izraža lastnost informacije a, da je informirana, da je na določen način občutljiva za sprejemanje informacije kot informiranja v sami sebi. Če bi zapisali oc, bi rekli, da je informacija « lahko informirana. Podatek (kot posebna, omejena informacijska entiteta) po definiciji ne more biti informiran (velja npr. a), ne more sprejemati informacije. V okviru modalne logike bi lahko postavili tole informacijsko definicijo: (;= a) (3011, ß e a)) v tem primeru obstaja informacija a, ki ima možnost, da sprejema informacijo, da je informirana (v sebi informacijsko spreminjana). Ta vloga informacije je aktivnost informacijskega sprejemanja. a pomeni, da obstajajo takšni modeli možnih svetov in v njih možni svet ß, da je a informirano. Oblika a a izraža lastnost informacije, a, da informira in da je informirana. Definicija tega pojava bi bila (a ^ a) ((V(3n, ß e St).(a p)) V (3(Sl, ß e 3)t).(N3j^ß'a)) Vprašanje, na katerega moramo zadovoljivo odgovoriti, je še, kako si je mogoče implemen-tacijsko zamisliti naravo informacijskega operatorja )= oziroma neko njegovo partikularizaci-jo.Pri enostavnih, informacijsko statičnih (matematičnih, tradicionalno logičnih) operatorjih je odgovor npr. ta, da je vselej mogoče kon- struirati programe/operatorje, ki opravljajo funkcijo zahtevane operacije. V teh primerih še ne gre za operatorje, ki bi imeli lastnost informacijske nastajalnosti kot bistvo svoje operacijske narave. Informacijski operator \= - tudi ko je par-tikulariziran - mora opravljati svojo operacijo ekspertno, ko se lahko po svoji naravi vede kot "avtonomen" ekspertni sistem. "Lahko" zaradi tega, ker dinamičen ekspertni sistem ni edina operativna oblika, ki bi si jo bilo mogoče zamisliti. Operator mora imeti dovolj generativne svobode, da se v okviru informacije razvija, postavlja, oblikuje z matično (svojo) in drugo informacijo. Tudi kompleksnost operatorja ^ ni omejena, je pa lahko intencionalna (npr. inteligentna). Iz tega izhodišča je mogoče raziskovati in snovati operatorje tipa ^ konkretno, aplikativno in funkcionalno. Odgovor na možno kritiko koncepta informacije Obstajajo glasni in tihi kritiki predloženega koncepta informacije oziroma informacijskega. Njim in kritičnemu umu nasploh je namenjen naslednji odgovor. (A) Ta spis dokazuje, da je mogoče verbalno (ali filozofsko) zasnovane principe informacije tudi formalizirati na način dobre (matematične, filozofske) formalizacije (simbolizma, aksioma-tizma). Zavedam pa se, da je predlagani koncept informacije filozofsko nezadosten in premalo izčrpen, ker je morda preveč konstruiran, postavljen, instrumentaliziran in verbalno še prešibek. (B) Često prevladuje prepričanje, da ni smiselno ali potrebno razglabljati o tem, kaj informacija je. To prepričanje je dokaj razširjeno med matematiki, ki jim je informacija zgolj neko področje matematičnega postavja in med t. i. informatiki, ki razumevajo informacijo že kot danost in priročnost, o kateri se več ne razpravlja. Informacija je za njih samorazumljivi afribut realnega sveta, računalniške manipulacije in morda še dogajanja v možganih, če je temu sploh verjeti. Med matematično usmerjenimi informatiki (teorija informacije) pa je verjetno najbolj sporna predložena redefinicija informacije, ki zahteva kompleksnejši pogled na informacijsko pojavnost, kot so ga bili vajeni doslej v svojih teorijah in predstavah. (C) Če se predloženi koncept informacije približuje tudi informacijski pojavnosti v živem, potem ta koncept lahko zadeva vrsto znanstvenih postavij, ki temeljijo npr. v kognitivnih znanostih, psihologiji, psihiatriji, nevro-lingvistiki, nevrofiziologiji, umetni inteligenci itd. Ta področja navajam zato, ker sem prejel številne zahteve za separat članka "Principles of Information", objavljenega v časopisu Cyberentica. Predloženi koncept informacije je seveda šele začetek nekega postavja, ki pa se lahko razvija kot logika informacije v številne nove smeri v posameznih strokah. In tu se kaže informacijsko brezno, tudi kot odprtost za doseganje do včeraj racionalno nedosegljivih pojmov in pojmovanj. SLOVSTVO [ML] Chellas, B.F., Modal Logic; An Introduction, 1988 (reprinted) (Cambridge University Press, Cambridge). [AI] Clancey, W.J., Hook Review, Artificial Intelligence 31 (1987) 232-250. [see] Denni.ng, P.J., The Science of Computing, American Scientist 75 (1987) 2, 130-132. [ESD] Gould, S.J., Ever since Darwin, 1977 (Norton, New York). [ESN] Nottebohm, P., From Bird Song to Neurogenesis, Scientific American (1989) 2, 56-61. [CCH] Jensen, R.V., Classical Chaos, American Scientist 75 (1987) 2, 168-181. [AAC] Maturana, H.R., and Varela, F.J., Auto-poiesis and Cognition, The Relation of the Living, 1980 (D. Reidel PC, Dodrecht, Holland). [UCC] Winograd, T., and Flores, F., Understanding Computers and Cognition, A New Foundation for Design, 1986 (Ablex PC, Norwood, New Jersey). [OUC] Winograd, T., On Understanding Computers and Cognition, A New Foundation for Design, A Response to the reviews. Artificial Intelligence 31 (1987) 250261. [OWI] Železnikar, A.P., On the Way to Information (Na poti k informaciji). Informatica 11 (1987) 1, 4-18. [IDI] Železnikar, A.P., Information Determinations I, Informatica 11 (1987) 2, 3-17 and Cybernetica 31 (1988) 3, 181-213. [ID2] Železnikar, A.P., Information Determination II, Informatica 11 (1987) 4, 8-25 and Cybernetica 32 (1989) 1, xx-xx. [ILI] Železnikar, A.P., Informational Logic I, Informatica 12 (1988) 3, 26-38. [IL2] Železnikar, A.P., Informational Logic II, Informatica 12 (1988) 4, 3-20. [IL3] Železnikar, A.P., Informational Logic III, Informatica 13 (1989) 1, 25-42. [IL4] Železnikar, A.P., Informational Logic IV, Informatica 13 (1989) 2, 6-23. MOGUĆNOSTI PROCEDURALNOG PROGRAMIRANJA U PROGRAMSKOM JEZIKU PROLOG Keywords: procedural programming, Prolog, matrix multiplication Iztok z. Race, Mašinski fakultet, Beograd SAŽETAK Programski Jezik PROLOG kao deklarativni programski Jezik se bitno razlikuje od proceduralnih programskih jezika, Jer prvenstveno opisuje posmntrani problem, a ne način kako se rešava neki problem.. U skladu sa tako koncipiranim programskim. Jezikom, bitno se razlikuju programi pisani u PROLOG-Jeziku od programa pisa.nih u proceduralnim Jezicima. Zbog toga se mora govoriti i o drugačijem načinu razmišljanja programsra prilikom izrade programa u programskom. Jeziku PROLOG. U radu ■Je dato moguće rešenje za neke uobičajene programske strukture i strukture podataka iz proceduralnih Jezika, te ilustracija mogućnosti proceduralnog programiranja u PROLOG-Jeziku na primeru množenja matrica. 1. PROLOG KAO DEKLARATIVNI PROGRAMSKI JEZIK naglim razvojem njenom primenom u aktivnostima, za kao oruđe u ovoj Poslednjih godina, veštačke inteligencije i raznorodnim ljudskim programski jezik PROLOG oblasti, izuzetno raste interesovanje. PROLOG-jezik je nastao iz ideje da se predikatska logika posmatra kao programski jezik. Zbog toga, program u ovom jeziku opisuje relacije između pojedinih objekata, i pravila na osnovu kojih se iz postojećih relacija mogu dokazati nove. To je bitna razlika koja odvaja ovaj jezik od proceduralnih jezika kao što su npr. FORTRAN, BASIC ili PASCAL. U proceduralnim jezicima se program sastoji iz niza koraka u kojima se opisuje kako da računar izvrSi određena izračunavanja. U PROLOG-Jeziku Je program opis problema koji se posmatra, dok se sam način na koji se problem reSava direktno ne opisuje. Drugim rečima, proceduralni programski Jezici opisuju kako se rešava pojedini problem, dok deklarativni programski Jezici opisuju šta Je posmatrani problem. PROLOG-jezik se od proceduralnih Jezika razlikuje u nizu osobina. 'Promenljive u PROLOG-Jeziku dobijaju vrednost samo u toku pokušaja zadovoljenja određene rečenice PROLOG-jezika. Njihova vrednost Je trenutna i vezana je za trajanje razmatranja date rečenice. Na taj način promenljiva ne predstavlja striktno određenu memorijsku lokaciju. Sa druge strane, proceduralni Jezici imaju velik broj sličnih programskih struktura ili struktura podataka koje ne postoje u PROLOG-Jeziku poput if-then-else strukture, petlji ili nizova. Nasuprot tome PROLOG-jezik ima svoje osnovne mehanizme koji ga izdvajaju od ostalih jezika kao Sto su automatski backtracking i cut-predikat. Ovi mehanizmi omogudavaju da se pojedini problemi u programskom Jeziku PROLOG reSe na drugačiji i bolji način, što sa svoje strane može predstavljati teškoću prilikom pisanja programa u ovom jeziku, pogotovu ako se prilikom programiranja koriste načini razmišljanja iz drugih programskih Jezika. Ponekad Je, u kompleksni Jim problemima koji se rešavaju u PROLOG-Jeziku, potrebno izvršiti određena izračunavanja, za koja su proceduralni Jezici daleko efikasniji. Od načina na koji se problem postavi u PROLOG-Jeziku vrlo često zavisi i brzina, a ponekad i ukupan uspeh datog rešenja. U radu se ukazuje na neke od mogućih pristupa tom problemu.' 2. PREDSTAVLJANJE NEKIH STRUKTURA PROGRAMSKOM JEZIKU PROLOG PODATAKA U Promenljive. U mnogim programskim Jezicima promenljive predstavljaju određene memorijske lokacije, čiji sadržaji ostaju nepromenjeni sve dok se ne izračuna neka druga vrednost i memorise kao novi sadržaj posmatrane memorijske promenljive. Za razliku od tog pristupa, promenljive u programskom Jeziku PROLOG imaju naglašeno lokalan karakter, tj. one su aktuelne samo u okviru rečenice u kojoj se spominju. Takođe je karakteristično da svaki pokušaj izmene vrednosti već postavljene memorijske promenljive, u ovom programskom jeziku završava neuspehom. Zbog ekstremne lokalnosti promenljivih u PROLOG-Jeziku, prenos parametara se vrši na jedan od sledeća dva načina; - funkcijskim pozivom - upisivanjem vrednosti promenljive kao Činjenice. Primer funkcijskog poziva u PROLOG-jeziku bi bio: alCPl,P2.. . .D. alCPl.PS,. . .3:-. .. .aaCPl.P2.. . .5,. Cime se vrednosti promenljivih Pl.Pa,... u predikatu al, postavljaju na vrednosti promenljivih u predikatu a2, pa se na taj naCin i obavlja prenos parametara. Upisivanje vrednosti promenljive kao Činjenice u bazu podataka PROLCXS-Jezika se vrSi pomoću sistemskog predikata asserta ili assertz. Tako bi npr. reCenica: asser tzC vr ednostC a2,10003 3. u bazu podataka Cna njen kraj? upisala PROLOG-Cinjenicu vrednostCaS,10005. Na taj naCin se, formiranjem ovakve strukture , u bazi podataka PROLOG-jezika, može predstaviti promenljiva a2 kojoj Je pridružena vrednost 1000, odnosno relacija vrednost koja se uspostavlja između atoma Cimena premeniJiveD a2 i atoma Csadržaja promenljive^ 1000. Promena ove vrednosti, na recimo 500, se vrSi, pomoću sistemskih predikata retract i assertz, odnosno tako Sto se prvo obriše stara vrednost, a zatim upiSe nova, odnosno, u PROLOG-jeziku: retractCvrednostCa2,_)3, asser tzC vr ednostC a2,5003 3. To, dinamički gledano odgovara Činjenici da atomi a2 i 1000 više nisu u relaciji vrednost, i da je ta relacija uspostavljena između atoma a2 i 500. Tako se pomoću relacija može predstaviti izmena sadržaja memorijske promenljive u proceduralnim Jezicima. Pri tome se mora naglasiti, da za razliku od situacije kod proceduralnih Jezika, atom a2 CoznaCava ime promenljive^ može biti u relaciji sa više atoma koji označavaju vrednosti istovremeno. Sto može korisno poslužiti pri rešavanju nekih problena. Nizovi. U PROLOG - jeziku nema nizova za razliku od mnogih drugih Jezika. Zato se, ukoliko je potrebno određene podatke strukturirati u niz, oni unose u bazu podataka PROLOG-Jezika slično promenlJivama: assertzCvrednostCaCl,23,55035. liste, ili kao niz činjenica. Stek se predstavlja pomoću naCin što se oformi struktura stekC[vrh,...,dno]3 liste na taj gde su elementi liste, redom elementi u steku, od elementa na vrhu steka CoznaCenog sa vrh3 do elementa na dnu steka CoznaCenog sa dno3. Dodavanje novog elementa na stek se vrši zadovoljenjem predikata push, koji može imati sledeći oblik: pushC Element.Stek,C Element :Stek]3. dok se izbacivanje elementa sa vrha steka može realizovati na sledeći način u PROLOG-Jeziku: popC_,[],[]3: -writeC'Stack underflow'3. popC Element,C Element!Stek],Stek 3 . Prva reCenica kojom Je opisan predikat pop odgovara stanju kada se pokušava da izbaci element iz praznog steka, dok druga reCenica odgovara izbacivanju elementa u regularnom sluCaJu. Stek se može predstaviti i kao niz činjenica u PROLOG-Jeziku, oblika: stekCvrh3. stekC elementm3. stekCdno3. Pri tome se ubacivanje elemenata u stek vrši zadovoljavanjem predikata push koji ima sledeći oblik: pushC Element,Stek 3 : - Struktura=.. CStek,Element], assertaCStruktura3. Zadovoljavanjem predikata pop s izbacivanje elemenata iz steka: popC Element,Stek3 : - Struktura=. . CStek,Element], poplCStruktura3 . popi C Struk tur a3 : - retractCStruktura3,!. poplCStruktura3: - writeC"Stack underflow'3. vrši Strukturiranje se može izvršiti i na druge slične naCine. Pokazivači. Pokazivači se u PROLOG jeziku realizuju na taj način Sto se doda joS jedno polje u postojeću strukturu promenljive koje ukazuje na neku drugu promenljlvu. Tako strukturi sana promenljiva ima oblik; aCindexm,. . . ,indexp3 gde promenljiva u nizu a sa indeksom indexm ima pokazivač koji pokazuje na promenljlvu sa indeksom indexp. Stekovi. Stekovi u programskom jeziku PROLOG, uglavnom se predstavljaju ili kao Zadovoljavanje predikata pop se vrši na taj način Sto se prvo zadovolji univ-predikat i tako formira struktura čiji Je funktor sadržaj promenljive Stek Ckoja za vrednost ima ime nepostavljena se zadovoljava steka3 a jedini argument promenljiva Element. Zatim predikat popi. Ukoliko postoji u bazi podataka PROLOG-jezika struktura sa gore određenim funktorom Cprva takva na vrhu3 se izbacuje iz baze Ci iz steka3. Time se, ujedno i postavlja promenljiva Element u strukturi i predikatu pop. U slučaju da u bazi podataka takva struktura ne postoji, javlja se odgovarajuća poruka. Niska Cqueue3. Niske se mogu implementirati u PR0LCX3-Jeziku kao liste, pa se formira slededa struktura: niskaC [ početak.....kraj D međutim takvo rešenje ima svojih loäih strana, koje se uočavaju prilikom umetanja novih elemenata na kraj niske. Da bi postavili element iza elementa koji je na kraju liste, moramo zadovoljiti predikat insert koji može imati slededi oblik: insertCElement,[],[Element]3. inserte Element.[GIR],[GIR1]3:-i nser tC Element,R,Ri 3. Izbacivanje elemenata iz liste u takvom reSenju je daleko jednostavnije obzirom da je element koji se izbacuje iz niske prvi element liste kojom Je niska predstavljena. Tako bi predikat delete kojim obezbeđujemo tu funkciju mogao da ima oblik: deleteC_, [],t]^:- writeC'Queue underflow'D,!. deleteCPočetak,[Početak IR],R3. Mnogo efikasnije reSenje se postiže upotrebom sistemskog predikata assertz, u kojem se niska predstavlja u obliku činjenica u PROLOG-Jeziku tipa: niskaCpočetak^. niskaCelementmD. niskaCkraj3. Predikati insert i delete koji nam služe za manipulaciju sa niskom bi u ovom slučaju imali oblik: insertCElement.NiskaD: - Struktura=..[Ni ska,Element], assertzCStrukturaJ. deleteC Element,Ni sk aD: - Struktura=. . [Niska,Element], deletelCStruktura^. deletelCStrukturaD:- retractCStruktura3,!. deletelCStrukturaD:- writeCQueue underflow'3. Drveta i grafovi se mogu predstaviti na razne načine koji variraju od rešenja da se celo drvo Cili graf: predstavi kao lista do reSenJa da se prvo čvorovi drveta ĆgrafaJ predstave u obliku činjenica u PROLOG-jeziku a potom, takode i veze koje postoje među tim čvorovima. Tako se graf može predstaviti sledećom strukturom u PROLOG-jeziku: grafC[ [čvorl, [čvorll.....čvorik] ]..... [[čvorn,[čvornl,. . . .čvornm]]]3 gde su čvorl.....Cvorn imena čvorova u grafu uz koje Je pridružena lista imena čvorova sa kojima Je svaki od tih čvorova u vezi Graf se može predstaviti i na slededi način- grafCčvorl,[čvorll,. grafCčvorn.[čvornl,. .,čvorlk]D. ..čvornm]D . ili: grafCCvorl3. grafCčvorn3. grafCčvorl,čvorll3. gr af C č vor n.čvor nm3. gde se činjenice sa funktorom graf i jednim argumentom odnose na čvorove grafa, a one činjenice sa istim funktorom i dva argumenta na veze koje postoje u grafu. Ovo su samo neke od varijanata predstavljanja grafa Cdrveta3 u PROLOG-jeziku. Svaka od varijanata mora. da bude prvenstveno prilagođena problemu. U zavisnosti od izabrane varijante su i predikati koji omoguduju manipulaciju tako predstavljenim grafovima ili drvetima. 3. PREDSTAVLJANJE NEKIH UOBIČAJENIH PROGRAMSKIH STRUKTURA U PROLOG JEZIKU if-then-else Cif-therO struktura se javlja u formi: if uslov then naredbal else naredba2 if uslov then naredba. Prvi oblik se u PROLOG-jeziku implementira ili kao: if_then_elseC:Uslov,Naredbal ,Naredba23: -Uslov,!, Naredbal. if_then_elseCUslov,Naredbal,Naredbaa: : -Naredba2. ili: if_then_elseCUslov,Naredbal,NaredbaE^: -C C Usiov,!,Nar edbalD ; Nar edba23. Ovde su Uslov, Naredbal i Naredba2 promenljive koje se postavljaju na imena predikata koji opisuju traženi uslov i odgovaraj ude naredbe. U drugom obliku Cif-then3 se javljaju problemi u slučaju neispunjenja uslova. Tada se mora obratiti pažnja na to da predikat bude zadovoljen i u slučaju da postavljeni uslov nije ispunjen, poSto bi pad predikata mogao da prouzroči i neizvršenje programa. Tako bi odgovarajudi predikat imao oblik: if_thenCUslov,NaredbaD: -Uslov,!, Naredba. if_then. ili: if_thenCUslov,Naredba3: - CCUslov,!,Naredba3;true3. Očito Je da se ovakve strukture mogu dalje usložnjavati i da se na sličan naCin može predstaviti i naredba višestrukog grananja C case naredba u PASCAL-jezi ku5. while-do petlja ima oblik: while uslov do naredba. Ukoliko petlja nije beskonačna, uslov je funkcija argumenata koji menjaju svoje vrednosti unutar ciklusa tokom izvräenja naredbe. Jedan od mogućih pristupa je da se ova programska struktura u PROLOG-jeziku predstavi rekurzivnim reäenjem: whi1e_doC Us1ov.Nar edba3: -notCUslovD,I. while_doCUslov.NaredbaD:-Naredba, while doCUslov.Naredba?. svoje nedostatke u reSenju programskog memori sanju koje je mehani zma Ovo rešenje ima rekurzivnom pristupu ciklusa u PROLOG-jeziku parametara u rekurzivnom pozivu potrebno zbog obezbedenja backtracking-a. ReSenje mo2e da ima i slededi oblik u kome se koristi sistemski predikat repeat: while_doCUslov.Naredba:): -Uslov, r epeat _whi 1 eC Nar edba, Us 1 o v) . while_doC_,_D. repeat_whileCNaredba,Usiov5 :-repeat, Naredba, note Usi ov3. U ovom rešenju je izbegnuto nepotrebno memorisanje parametara u rekurzivnom pozivu koje Je glavni nedostatak prethodno navedenog reäenja. Komponovane naredbe visokog nivoa u velilcim sistemima se javljaju kao poseban problem prilikom izgradnje aplikacija u PROLOG-jeziku. Naime, vrlo često se dešava da Je potrebno po određenom redosledu zadovoljiti neke predikate, bez potrebe memorisanja puta kojim se prošlo Cradi eventualnog backtracking-a3. U ovakvoj situaciji predikati u PROLOG-jeziku se ne posmatraju u svom deklarativnom, već prvenstveno u proceduralnom značenju. Tako se predikati posmatraju kao procedure koje obavljaju odredenu akciju. Memorisanje puta kojim se prošlo se prekida sistemskim predikatom fail. Parametri koji se prenose između tako posmatranih procedura se mogu upisivati u bazu podataka PROLOG-jezika pomoću sistemskih predikata asserta i assertz, kao i Citati i brisati pomoću predikata retract. Primera radi komponovana naredba: begin naredbal;naredbaE;...;naredbak end bi bila realizovana zadovoljenjem predikata komp_naredba: komp_naredba: -naredba!, fail. komp_naredba:-naredba2, fail. komp_naredba: -naredbak. Na ovaj način Je moguće, vodeći računa o tome kada Je potreban pojedini predikat u svom proceduralnom, a kada u deklarativnom značenju, izgraditi dosta velike sisteme koji imaju i proceduralne delove. 4. PRIMER PROCEDURALNOG PROGRAMIRANJA PROLOG-JEZIKU - MNOŽENJE MATRICA U Klasičan proceduralni problem je izrada programa za množenje matrica. Neka su matrice a i b date u obliku činjenica u PROLOG-jeziku, na način koji je naveden predstavljanje nizova: vr ednostC aCl,1D.Vali 3. VTednostCaCl, ND , ValM3. vrednostCaCa,13,Vaai5. vrednostCaCN,M3.VaNM3. vrednostCbCl,13,Vbll3. vr ednostC bCl. K3 , Vbl K3 . vrednostCbC2,l),Vbai3. vr ednostC bC M, K3 , VbMK) . i neka su promenljive Vali,. . . ,VaNM,Vbll.....VbMK konkretne numeričke vrednosti, množenje tako zadati h matrica tekstu za N, M, K i postavljene na Program za i formiranje odgovarajućih činjenica o matrici-rezultatu u bazi podataka ima sledeći oblik: mnozenJe_matricaCA,B,C3:- Struktura!=..[A.Al.AE], Strukturaa=..[B,A2,Ba], Struktura3=..CG,Al,Bai, vrednostCStruktural,V13. vrednostCStruktura?,vaD, el ement _pr odC Str uk tur a3, VI, va. V3 , assertzCvrednostCStrukturaS, VD5, fail. množenje_matricaC_,_._3 . elementjprodCStruktura3,Vl,Va,V5:- retractCvrednostCStruktura3,V335,!, V is V3+VHfVa. element_prodCStruktura3,Vl,V2,VD:- V is vi*va. Pozivom mnozenje_matricaCa,b,c3 u PROLOG bazi podataka se formiraju strukture vrednost koje odgovaraju matrici c koja Je rezultat množenja matrica a i b. Koristeći univ-predikat i ne postavljajući promenljive Al.Aa i Ba formiraju se odgovarajuće strukture koje odgovaraju onim elementima matrice koji se trenutno množe CStruktural i StrukturaS) i koji se trenutno izračunava CStruktura33. Kao elementi ovakvih struktura, nalaze se promenljive koje dobijaju vrednosti koje odgovaraju indeksima matrice. Pomoću tih promenljivih se uspostavljaju i relacije unutar baze podataka PROLOG-jezika i tirne obezbeduje množenje odgovarajućih Članova matrica i upisivanje rezultata na odgovarajuće mesto. Zadovoljavanjem predikata vrednost dobijaju se konkretne vrednosti za elemente matrica sa konkretnim indeksima. Zadovoljavanjem predikata element_prod se sraCunava proizvod vrednosti dva odgovarajuća elementa matrica i dodaje na ukupan međuzbir pri izračunavanju elemenata u matrici-rezultatu. Tako izraCunata vrednost Cmeduzbir ili konaCni element matrice-proizvoda3 se pomoću sistemskog^ predikata assertz upisuje u bazu podataka' PROLOG-jezika. Nakon ovoga predikat množenje_matrica pada Csistemski predikat fail3 i pokuSava da se ponovo zadovolji postavljajući nove vrednosti promenljivih A1,A2 i B2. One su odredene Činjenicama vrednost u bazi podataka PROLOG-jezika. Nastavljajući tako,- iscrpljujući skup svih proizvoda elemenata matrica definisanih Činjenicom vrednost koji zadovoljavaju relacije određene u defini sani m strukturama, dobija se konaCan rezultat. Druga rečenica koja definiSe predikat mno2enje_matrica služi iskljuCivo da bi predikat na kraju bio zadovoljen. Interesantno je primetiti da Činjenice o vrednostima elemenata matrice u bazi • podataka ne moraju uopSte biti poredane ni po vrstama ni po kolonama, i da matrice ne moraju biti kompletne C mogu nedostajati pojedini elementi 5 da bi bilo izraCunato ono što se u tom sluCaju može izraCunati u množenju takvih matrica. Važno je takođe primetiti da se koriSćenjem sistemskog predikata fail može postići da se neprekidnim ponovnim zadovoljavanjem željenih predikata ponavlja određena procedura Cposmatrajući proceduralno znaCenje tih predikata^. Izmenom nekih elemenata Cupisivanjem ili brisanjem u bazi podataka PROLOG-jezika pomoću asser ta,assertz i retracts može se razliCito uticati na trajanje tih ponavljanja. Na taj naCin se mogu dati rešenja u programskim ciklusima, a time se i izbegava odgovarajuće rekurzivno reSenje koje je nepogodno zbog memorisanja predenog puta. je da procedura bude taCno završena C da ne "padne" tokom izvršavanja^. U ' većini programskih jezika se takva mogućnost "pada" ni ne razmatra. "Side"-efekti tokom izvršenja procedure se uglavnom posmatraju kao nepovoljna osobina, pa se ili i zbegavaj u, ili upotrebljavaju u ograniCenim koliCinama. Otuda je Cesto mišljenje koje ide linijom manjeg otpora da se "side"-efekat izbacuje iz razmišljanja tokom izrade procedura. 0 "padu" procedure tokom njenog izvršenja se u poCetku pisanja programa u PROLOG-jeziku uglavnom ne razmišlja. Rešenje koje je dato za problem množenja matrica ilustruje neprestano "padanje" predikata množenje_matrica Cposmatranog kao procedura^ kao i "side"-efektG dobijene tom prilikom Cupis novoizraCunatih međuzbirova u bazu podataka PROLOG-jezika pomoću sistemskih predikata assertz i retracts. Usvajanjem ovakvog naCina razmišljanja prilikom pisanja programa u PROLOG-jeziku bitno se doprinosi poboljšanju stila pisanja tih programa, a i efikasnosti njihovog izvršenja. 6. LITERATURA 1. Bratko, Ivan, Inteligentni informacijski sistemi, Univerza Edvarda Kardelja v Ljubljani, Fakulteta za elektrotehniko, LJubljana, 1984 a. Clocksin, W. F., Melish, C. S., Programming in Prolog, Springer Verlag, Berlin Heidelberg New York. 1981 3. Munakata, Toshinori, Procedurally Oriented Programming Techniques in Prolog, IEEE Expert, Summer 1986, str 41-47 4. Race, Iztok Z., Programska implementacija ekspertnog sistema za dijagnostiku u PROLOG-jeziku, magistarski rad. Univerzitet u Beogradu, Prirodno matematički fakultet. Matematički fakultet, Beograd. 1988 5. Sterling, Leon. Shapiro, Ehud. The Art of Prolog: Advanced Programming Techniques, The MIT Press, Cambridge, Massachusetts, London, England, 1986 5. UMESTO ZAKLJUČKA Ovaj rad ima dve namene. Prva je da programerima koji su početnici u pisanju programa u PROLOG-jeziku omogući da svoje proceduralne programe lako prevedu u PROLOG-jezik. Ipak se mora naglasiti da tako prevedeni programi nisu najsretnije rešenje. Bez obzira na to dosta velik broj programera razmišlja proceduralno prilikom izrade svojih programa. Na taj način se dolazi i do druge namene rada. Naime, radom se želelo pokazati da se iskusan programer u drugim programskim Jezicima, prilikom programiranja u PROLOG-jeziku mora osloboditi nekih ranije stečenih dogmi u gledanju na pojedine probleme. Lep primer za to je množenje matrica. Uobičajena navika iz drugih programskih Jezika MERJENJE PARALELNOSTI ALGORITMOV . INFORMATICA 3/89 Keywords: parallel algorithms, measuring of parallelism, task graph, simultaneous degree, coupled degree Borut Jereb Ljubo Pipan* Institut J. Stefan Fakulteta za elektrotehniko in računalništvo*, Ljubljana Paralelne algoritme lahko predstavimo z grafom opravil. Iz grafa opravil je možno enostavno razbrati stopnjo sočasnosti in stopnjo povezanosti algoritma, ki ga graf predstavlja. Ti stopnji predstavljata pomembni značilnosti paralelnih algoritmov. V tem članku je podan predlog za izračun mere sočasnosti in mere povezanosti. Opisane so tudi nekatere značilnosti obeh mer. Izračun mer je neodvisen od arhitekture, na katerem bo tekel algoritem; sami meri pa lahko predstavljata velikost vložka, ki je potreben za sprogramiranje algoritma. MEASURING THE PARALLELISM Parallel algorithms could be represented by the task graph, which is at the same time a simple representation of the simultaneousness degree and coupled degree of an algorithm, represented by the graph. The above mentioned degrees are most important features of the parallel algorithm. This study suggests a method for calculating the simultaneousness degree and the coupled degree. Included are some of their main characteristics. The calculation of the degrees does not depend on the architecture within which the algorithm will operate; the degrees themselves though represent the size of the insert required for the algorithm to be programmed. UVOD Ko začnejo človeka zanimati paralelne arhitekture, paralelno procesiranje,... in sploh vse, kar naj bi bilo par-alelnost, vzame v roko literaturo in prične s Studiranjem le te. Literature v obliki knjig in člankov je ogromno, saj je to že vrsto let popularna tema, ki je Se vedno do neke mere ovita v plašč misterioznosti in zato tem bolj buri duhove. Pri prebiranju literature si ustvarjamo svojo predstavo o stvareh, ki so predmet avtorjevih razmišljanj. Eni takšno, drugi drugačno -pač odvisno od osebe. No vrnimo se nazaj k paralelnosti. V literaturi, ki obravnava paralelizem je ničkolikokrat omenjena SOČASNOST in medsebojna odvisnost ali POVEZANOST v zvezi z opravili, procesi, instrukcijami. Ne mislim se spuščati v definicijo(e) paralehiosti, saj jih je veliko, če ne celo preveč; vsakemu pa je intuitivno jasno kaj to je. Podobno je s sočasnostjo in povezanostjo. In kaj je z mero za sočasnost in mero za poveztinost? V tem članku bom skušal podat ti meri. Naj se imenujeta stopnja sočasnosti in stopnja povezanosti. Kakor je ob praznih kozarcih brezpredmetno govoriti o kvaliteti vina, ki naj bi bilo v kozarcih, tako je brezpredmetno govoriti o bolj ali manj paralelnih algoritmih. V tehniki je potrebno pojme oceniti. Ocena pojma je dobljena po točno določenem algoritmu in je v veliki večini primerov predstavljena s števili iz intervala, ki jih ta ocena lahko zavzame. Postavlja se vpraSanje, kako oceniti paralelizem, ki smo ga izbrali oziroma določili v nekem algoritmu. Sem prepričanja, da mera za sočafenost in mera za povezanost programskih modulov, dajeta dobro osnovo za oceno paralelizma v poljubnem algoritmu. Pri tem sta ti meri neodvisni od arhitekture na kateri se naj bi izvajal algoritem in s tem daje sploäno primerljive rezultate. PREDSTAVITEV PARALELNEGA ALGORITMA Najprej bo opisan način predstavitve paralelnega algoritma (način določevanja paralelnih modulov in določevanje njihove medsebojne - večkrat podatkovne odvisnosti - naj nas ne zanima). Paralelni algoritem naj bo predstavljen z grafom. Takäna predstavitev je v literaturi splošno uporabljana.'-' ' Slika 1 Predstavitev paralelnega algoritma z grafom opravil. Ker je paralelni algoritem predstavljen z grafom, si oglejmo lastnosti grafa tako, da jih bomo primerjali z lastnostmi paralelnih algoritmov. VozliSče grafa predstavlja programski modul. Vsi programski moduli, pri katerih je mišljeno sočasno izvajanje, imajo isti nivo. Nivo je utež vozlišča. Pri tem velja, da ležijo na nivoju ena vsi tisti programski moduli, ki se izvajajo sočasno in so neodvisni med seboj in neodvisni od ostalih programskih modulov. Sočasno izvajajoči programski moduli, ki so med seboj neodvisni in odvisni od programskih modulov na nivoju ena, ležijo na nivoju dva. Nivo tri predstavlja množico, med seboj neodvisnih programskih modulov, ki so odvisni od prograskih modulov na obeh nižjih nivojih in se izvajajo sočasno; itd. Odvisnost med programskimi moduli je v grafu predstavljena z usmerjenimi povezavami med vozlišči grafa. Povezava poteka vedno v smeri od vozlišča, ki leži na nižjem nivoju, k vozlišču na višjem nivoju. Pri tem lahko ostanejo nekatera vozlišča v grafu nepovezana. Graf je acikličen, saj lahko ciklično izvajanje nekega programskega modula predstavimo s podvajanjem tega programskega modula. Definirajmo Se višino grafa, ki naj bo enaka največjemu nivoju, ki ga ima katerokoli od vozlišč grafa. Rekurzivno izvajanje programskih modulov rešimo s podvajanjem vozlišča, ki predstavlja rekurzivni programski modul. Za primer predstavitve nekega paralelnega algoritma z grafom, si oglejmo Sliko 1, ki predstavlja algoritem, razdeljen na deset modulov. Pri tem je možno sočasno izvajanje modulov, predstavljenih z vozlišči 1, 2 in 3, ki ležijo na nivoju ena. Nivo ena vsebuje tudi nepovezan programski modul, oziroma izolirano točko. Na nivoju dva sta dva medsebojno neodvisna sočasno tekoča programska modula, ki sta odvisna od modulov prejšnjega nivoja. Ker obstajata še dva nivoja, je višina grafa enaka štiri. DEFINICIJI MER Najprej bom opisal vrednosti, ki jih ti dve meri lahko zavzameta. Obe naj bosta iz množice racionalnih števil na intervalu med nič in ena. In kako dosežemo skrajni točki pri obeh merah? Mera za sočasnost naj bo enaka nič, ko je algoritem popolnoma sekvenčen (zaporeden). Vrednost ena pa naj zavzame takrat, ko je možno raizbiti algoritem na neskončno modulov, ki se bodo izvajali v istem časovnem intervalu, oziroma trenutku. Mera za povezanost naj bo enaka nič, ko so vsi programski moduli med seboj neodvisni in enaka ena, koje vsak programski modul odvisen od vseh predhodno izvedenih programskih modulov, pri popolnoma sekvenčnem programu. stopnja ^ povezanosti i sto časnosti Slika 2 Področje v katerem je definirana dvojica (stopnja sočasnosti, stopnja povezanosti). Če so laistnosti paralelnih algoritmov predstavljene z dvema številoma, lahko dvojica (stopnja sočasnosti, stopnja povezanosti) zavzame, glede na vse dosedaj povedano, vse vrednosti, ki ga določa šrafirano področje in poudarjena črta na sliki 2. Definirajmo: 1. Stopnja sočasnosti: CD = n-TH n pri čemer je n > 1 in predstavlja število vozlišč grafa. TR predstavlja višino drevesa. 2. Stopnja povezanosti SD^ EN "(■>- o pri čemer je n > 1 in predstavlja število vozlišč grafa. EN predstavlja število povezav v grafu. Iz teh dveh definicij sledi nekaj trditev: 1. Maksimalno stopnjo sočasnosti dobimo v limiti, ko smo problem razdelili na neskončno programskih modulov, ki se izvajajo sočasno. Limita stopnje sočasnosti je takrat enaka 1. 2. Minimabo stopnjo sočasnosti dobimo pri popolnoma sekvenčno organiziranem algoritmu in je enaka 0. 3. Pri SD = O je možno vse module paralelnega algoritma izvajati obenem. Velja tudi obratno. 4. Pri = O je i < 5D(n) < 1. 5. Pri dani stopnji sočasnosti je spodnja meja za mero povezanosti enaka visnih modulov. Zgoraj definirana stopnja sočasnosti upošteva to razliko. T H - 1 Z definicijo neke nove mere na osnovi pravkar definiranih stopenj bi izgubili na enostavnosti in jasnosti predstavitve s tema dvema, za paralelizem pomembnima lastnostima paralelnih algoritmov. LASTNOSTI DVOJICE {CD, SD) Vrednosti obeh mer dajeta slutiti obliko grafa, ki predstavlja algoritem. Potrebno je tudi povedati, da smo pri tem izpustili dodatno utežitev vozliSč, ki bi predstavljala čas izvajanja. Čas bi lahko bil absoluten, izražen v časovnih enotah ali relativen glede na čas izvajanja nekega opravila v sistemu. Takšna merjenja so v literaturi obdelana.' So zahtevnejša, ter nemalokrat zavisijo od podatkov in ostalih težko predvidljivih situacij, ki nastanejo med izvajanjem programa. Vrednosti mer za algoritem, ki ga predstavlja eno samo vozlišče ni definirano. Pred točnim definiranjem obeh mer smo omejili področje, ki ga ti dve meri lahko zavzameta. Toda nekatere kombinacije CD in SD so nesmiselne. Na osnovi trditev in primerov si oglejmo vrednosti, ki jih lahko zavzame dvojica {CD, SD). Pri tem bomo pregledali vse možne vrednosti za CD in SD, pri razbitju algoritma na n modulov. Točke, ki bodo predstavljale mejne vrednosti, naj bodo povezane z daljicami. Ker vrednosti mer za algoritem, ki ga predstavlja eno samo vozlišče, ni definirano, si najprej oglejmo primer, pri katerem smo algoritem razbili na dva modula. Slika 3 predstavlja vse možne načine izvajanja algoritma z dvema moduloma. (o.5.o; O O TW O Ö Slika 3 Vsi možni načini izvajanja paralelnega algoritma z dvema moduloma. Vidimo, da sta možna le dva načina: popolnoma paralelen in popolnoma sekventen način izvajanja. Slika 4 predstavlja vrednosti, ki jih dvojica {CD, SD) lahko zavzame v CD - SD diagramu. Če mejni točki pove- žemo, dobimo med njima daljico. Iz primera je razvidno, da je pri popolnoma paralelnem načinu izvajanja algoritma mera za sočasnost enaka 0.5 in mera za povezanost enaka 0. Morda je na prvi pogled presenetljivo dejstvo, da ima 'popolnoma' paralelen algoritem stopnjo so asnosti enako le 0.5. Toda, če smo algoritem razbili na dva modula, je to čisto nekaj drugega kot, če smo ta isti algoritem uspeli razbiti na npr. 20000 med sabo popolnoma neod- 1 CD Slika 4 Daljica, ki povezuje obe možni vrednosti (CD,SD) paralelnega algoritma z dvema moduloma. Kakšne so vse možnosti izvajanja in katere vrednosti lahko zavzame dvojica {CD, SD) pri razbitju algoritma v tri module, podajata sliki 5 in 6. wm o o o (1/3.1/: 3) /o v o\ ÖJT^ Slika 5 Vsi možni načini izvajanja paralelnega algoritma s tremi moduli Če povežemo med seboj mejne točke, kot je to prikazano na sliki 6, dobimo nek lik. 1 CD Slika 6 Lik, ki nastane s povezovanjem vrednosti (CD,SD) paralehiega algoritma s tremi moduli. Slika 7 prikazuje možne vrednosti dvojic {CD,S D) v CD - SD diagramu pri razbitju algoritma na štiri module. Lik, ki ga dobimo a povezavo vseh mejnih točk, spominja na lik, ki smo ga dobili v prejänem primeru. 1 CD Slika 7 Lik, ki nastane s povezovanjem vrednosti (CD,SD) paralelnega algoritma s Stirimi moduli. Slika 8 prikazuje možne vrednosti dvojic {C D,S D) pri razbitju algoritma na večje število modulov (deset). Vse možne vrednosti na sliki niso narisane, oblika lika pa približno podaja območje, v katerem se te vrednosti lahko nahajajo. Tudi z rastočim številom programskih modulov oblika lika ostaja podobna prejšnima dvema. 1 CD Slika 8 Približen lik, ki nastane s povezovanjem vrednosti (CD,SD) paralelnega algoritma z desetimi moduli. Na osnovi primerov smo se prepričali, da so mnoge kombinacije vrednosti stopnje sočasnosti in stopnje povezanosti nesmiselne. Pravtako je iz primerov razvidno, daje oblika lika, ki ga dobimo s povezovanjem mejnih točk, podobna od primera do primera. Še posebej je razlika, ki nastopi pri različnem številu programskih modulov zelo majhna, ko sta ti števili veliki. Pri tem je treba izvzeti enostavni primer z dvema programskima moduloma, pri katerem se lik poenostavi v daljico. Znćičilnost vseh likov je to, da imajo na CD osi (takrat je SD = 0) le eno točko. Ta točka z večjim številom programskih modulov potuje od CD = ^ do CD = 1; vendar slednje točke nikoli ne doseže. Od tu gre meja po daljici, ki vsebuje spodnje mejne točke povezanosti, do točke na SD osi. Z večanjem števila programskih modulov, se najnižja točka na SD osi od vrednosti SD = 1 približuje vrednosti SD = O, ki jo pa nikoli ne doseže. Vsi liki vsebujejo točko 5D = 1 pri CD = 0. Za vse like je tudi značilno, da so zgornje mejne točke povezanosti nad premico SD = 1 —CD; in to tem bolj, čim večje je število programskih modulov. Pri vseh CD > O mejne točke nikoli ne dosežejo vrednosti SD = \. SKLEP Zgoraj opisani meri bosta morda v pomoč pri medsebojni komunikaciji, pri izražanju in pri razumevanju drugega človeka, kadar bo govor o sočasnosti in povezanosti poljubnega paralelnega algoritma. Ker opisujeta le graf opravil, ki smo ga določili na osnovi razbitja nekega algoritma, sta neodvisni od arhitekture ter časov izvajanj posameznih opravil - programskih modulov. Algoritem za izračun obeh mer na osnovi danega grafa je zelo preprost, sam graf pa ima lastnosti, ki praktično ne predstavljajo omejitev pri opisovanju paralelnega algoritma. LITERATURA 1. K. Hwang and F. Briggs Computer Architecture and Parallel Processing McGraw Hill, New York, 1984 2. L. Kleinrock Distributed Systems IEEE Computer 18, 11 (Nov 85), 90-103 3. B. Kruatrazchue and T. Lewis Grain size determination for paralel processing IEEE Software, jan 88, 23-32 4. J.L. Peterson and A. Silberschatz Operating system concepts Addison-Wesley pub. comp., 1984 5. D. Baje in T. Pisanski Najnujneše o grafih Presek, letnik 12, 84-85 6. S. Jajodia, J. Liu and P. A. Ng A sheme of paralel processing for MIMD systems IEEE Software engineering, jul 83, 436-445 IMPLEMENTACIJA POIZVEDOVANJ V MREŽNIH DATOTEKAH Keywords: grid file, file query, implementation Viljan Mahnič POVZETEK: V članku je opisana implementacija sistema za vzdrževanje mrežnih datotek, ki omogoča učinkovito izvajanje različnih poizvedovanj, značilnih za relacijske podatkovne baze. Uvodni rsizlagi osnovnih značilnosti mrežnih datotek sledi opis algoritmov za omejevanje iskalnega območja v podatkovnem prostoru in ovrednotenje selekcije nad izbrano relacijo. V relćicijskih podatkovnih bazah se najpogosteje pojavljajo poizvedovanja, sestavljena iz selekcije, projekcije in stika. V članku sta opisani dve strategiji, ki omogočata realizacijo tovrstnih poizvedovanj. Na koncu sledi še opis programskega paketa, v okviru katerega je bila izvedena implementacija vseh navedenih algoritmov. IMPLEMENTATION OF QUERIES IN GRID FILES: We describe an implementation of the grid file system which enables efficient evaluation of various relational queries. At first, the basic concepts of grid files are explained, and then the algorithms whose purpose is to restrict the search region in the data space and to compute the selection operation are described. General queries involving selection, projection, and join operations are often used to retrieve information from a relational database. Two strategies are proposed to evaluate such a query. Finally, a description of the software package in which all these algorithms were implemented is given. 1. UVOD Mrežne datoteke (angl. grid files) predstavljajo podatkovno strukturo, ki omogoča učinkovito iskanje podatkov po večjem številu atributov. Za reizliko od standardnih načinov fizične organizacije podatkov (n.pr. indeksno-sekvenčne datoteke, razpršene tabele) se v okviru mrežnih datotek vsi atributi, po katerih vršimo iskanje, obravnavajo enakovredno (simetrično), kar pomeni, da primarni ključ ni privilegiran v primerjavi z ostalimi atributi. Poleg tega pa se mrežne datoteke s sprotnim spreminjanjem svoje strukture (razcep oziroma zlivanje podatkovnih blokov in s tem povezano ažuriranje mrežnega direktorija) dinamično odzivajo na vstavljanje novih oziroma brisanje že obstoječih zapisov. Osnovni koncepti mrežnih datotek so bili prvič opisani v članku [NHS84], ki pa je pustil odprta še nekatera vprašanja v zvezi z implementacijo skal in mrežnega direktorija kot tudi glede izbora algoritmov za razcep in zlivanje. Odgovore na ta vprašanja je poiskal Hinrichs v [Hin85a, Hin85b], ki je imple- mentiral sistem za upravljanje mrežnih datotek in opisal možnosti njihove uporabe za hranjenje geometričnih podatkov. Schikuta [Sch86] pa je predlagal, da bi mrežne datoteke uporabili kot osnovo za implementacijo relacijskih podatkovnih baz. Z namenom, da bi proučili možnosti uporabe mrežnih datotek na področju relacijskih podatkovnih baz, smo v Laboratoriju za programsko opremo in informatiko, ki deluje v okviru Fakultete za elektrotehniko in računalništvo, implementirali sistem za upravljanje mrežnih datotek in algoritme za izvajanje poizvedovanj na osnovi operacij relacijske algebre. Pri implementaciji postopkov za vzdrževanje mrežnih datotek smo se v veliki meri oprli na ugotovitve iz [Hin85a, Hin85b], s to razliko, da smo namesto enostavne sheme, vhodno-izhodnih vmesnikov vpeljali fleksibilnejšo, ki omogoča boljše izkoriščanje razpoložljivega prostora v glavnem pomnilniku, s t^m pa zmanjšuje število dosegov na disk, potrebnih za realizficijo poizvedovanj. Na novo pa smo implementirali postopke za omejevanje iskalnega območja in realizacijo poizvedovanj na osnovi operacij relacijske algebre. Za boljše razumevanje članka podajamo v nadaljevanju najprej kratek opis temeljnih značilnosti mrežnih datotek. Nato sledi opis strategije za omejevanje iskalnega območja, opis algoritmov za izvajanje poizvedovanj v mrežnih datotekah in nazadnje še opis strukture programskega paketa. 2. OSNOVNE ZNAČILNOSTI MREŽNIH DATOTEK Datoteko d smatramo kot zaporedje zapisov z=(ai,a2,.",ai), kjer so ai,a2,.".ajfc vrednosti posameznih atributov. Vsaka vrednost a,-pripćida neki linearno urejeni domeni A,-. Vsak zapis lahko ponazorimo kot točko v k-dimenzionalnem podatkovnem prostoru, tako da vrednosti atributov uporabimo kot koordinate v posameznih dimenzijah. Z uvedbo primerne pravokotne mreže lahko podatkovni prostor razdelimo na celice, ki imajo obliko hiperparalelepipeda, in poskrbimo, da so tiste točke (zapisi), ki se nahajajo znotraj iste celice, shranjene na disku v okviru istega bloka podatkov. Za predstavitev mreže potrebujemo k enodimenzionalnih polj, kijih imenujemo skale, in eno k-dimenzionalno polje, imenovano mrežni direktorij. Vsaka skala vsebuje več mej, pri čemer vsaka meja predstavlja (k-1)-dimenzionalno hiperravnino, ki deli podatkovni prostor na 2 dela. Mrežni direktorij skrbi za povezavo med mrežo v podatkovnem prostoru in dejansko organizacijo podatkov na disku. Vsaki celici v mreži ustreza en element mrežnega direktorija, ki vsebuje naslov tistega podatkovnega bloka, v katerem so shranjene vse točke (zapisi), ki se nahajajo v tej celici. Da bi se izognili nizki zasedenosti podatkovnih blokov, lahko isti podatkovni blok hrani točke iz več različnih celic. Celice, ki jim pripada na disku isti podatkovni blok, tvorijo t.i. območje podatkovnega bloka, ki mora (zaradi algoritmov za razcep in zlivanje) imeti obliko hiperparalelepipeda. Pri vstavljanju novega zapisa najprej s pomočjo skal določimo tisto celico v mreži. kamor se zapis preslika kot točka v podatkovnem prostoru, nato pa s pomočjo mrežnega direktorija dobimo naslov podatkovnega bloka, v katerega je treba zapis dodati. Ce v podatkovnem bloku ni več prostora, se izvrši razcep podatkovnega bloka, ki lahko poteka na dva nsičina, odvisno od tega, kakšno je območje podatkovnega bloka, t Če območje podatkovnega bloka obsega eno samo celico, moramo v eno izmed skal dodati novo mejo, ki razdeli območje podatkovnega bloka na dva dela, in skladno s to mejo porazdeliti zapise med dva podatkovna bloka. Nova meja povzroči, da se mrežni direktorij poveča (vriniti je treba (k-l)-dimenzionalno rezino), kar zahteva prestrukturiranje mrežnega direktorija in ustrezno ažuriranje naslovov podatkovnih blokov, ki pripadajo posameznim celicam. Če območje podatkovnega bloka obsega več celic, odpade potreba po dodajanju nove meje, saj se za razcep lahko uporabi ena izmed mej, ki že sekajo območje podatkovnega bloka. V tem primeru se mrežni direktorij ne poveča; poskrbeti moramo le za ažuriranje naslovov znotraj prvotnega območja podatkovnega bloka. Struktura mrežnega direktorija in vsebina mrežne datoteke se dinamično prilagajata tudi pri brisanju zapisov. V primeru, ko zasedenost nekega podatkovnega bloka pade pod predpisano mejo, pride do zlitja s sosednim podatkovnim blokom, kar ima zopet za posledico ažuriranje naslovov v mrežnem direktoriju. Če meja, ki je ločevala območji obeh podatkovnih blokov, ni več potrebna, jo izločimo, pri tem pa se mrežni direktorij zmanjša (izločiti je treba (k-l)-dimenzionalno rezino). Pri implementciciji mrežnih datotek povzroča največ težav implementacija mrežnega direktorija. Le-ta je v splošnem prevelik, da bi se lahko v celoti nahajal v glavnem pomnilniku, zato ga moramo hraniti na disku. To pa pomeni, da je prestrukturiranje mrežnega direktorija v primeru dodajanja novih mej (oziroma brisanja že obstoječih) precej zamudno. V naši implementaciji rešujemo ta problem podobno kot Hinrichs' [IlinSöa, Hin85b] z uvedbo dvonivojskega mrežnega direktorija. Zgornji nivo (v nadaljnjem besedilu glavni direktorij) skupaj s pripadajočimi skalami predstavlja skalirano verzijo prvotnega enonivojskega mrežnega direktorija in je dovolj majhen, da ga med obdelavo hranimo v 52 glavnem pomnilniku. Spodnji nivo, ki ustreza prvotnemu direktoriju, je razdeljen na strani in se nahaja na disku. Vsaka stran vsebuje del prvotnega direktorija (v nadaljnjem besedilu poddirektorij) in pripadajoče skale (v nadaljnjem besedilu subskale). Ta organizacija omogoča, da se prestrukturiranje mrežnega direktorija omeji samo na tisto stran poddirektorija, v kateri je prišlo do spremembe, ostale strani pa niso prizadete. Obenem pa nam ta organizacija zagotavlja, da sta za dostop do iskanega zapisa (ob predpostavki, da poznamo vrednosti atributov, po katerih je zgrajena mreža), potrebna dva dosega na disk: branje ustrezne strani poddirektorija in branje ustreznega podatkovnega bloka. Dvonivojska organizacija mrežnega direktorija zahteva dopolnitev prej opisanih postopkov za razcep oziroma zlivanje podatkovnih blokov, saj se lahko spremembe zaradi dodajanja oziroma odvzemanja mej odražajo na dveh nivojih: v glavnem direktoriju in v poddirektoriju. Pri razcepu podatkovnega bloka je treba najprej ažurirati subskale in poddirektorij na tekoči strani, to pa lahko privede do prekoračitve velikosti strani. V tem primeru moramo razcepiti stran ter ažurirati glavni direktorij in skale glavnega direktorija. Podobno velja tudi pri zlivanju podatkovnih blokov: Eliminacija nepotrebne meje v poddirektoriju povzroči zmanjšanje zasedenosti tekoče strani, kar ima lahko za posledico potrebo po zlitju dveh strani, to pa se spet odraža v prestrukturiranju glavnega direktorija in njegovih skal. 3. POSTOPEK OMEJEVANJA ISKALNEM GA OBMOČJA Učinkovita realizacija poizvedovanj zahteva, da se pri iskanju podatkov omejimo samo na tisti del podatkovnega prostora, v katerem se nahajajo zapisi, ki ustrezajo zahtevanim pogojem. Tipičen primer poizvedovanja, pri katerem pridejo lastnosti mrežnih datotek še posebej do veljave, je intervalsko poizvedovanje. Pri tem poizvedovanju iščemo tiste zapise z datoteke d, ki imajo vrednosti znotraj (za vsak atribut posebej) predpisanega intervala. V mrežnih datotekah dobi to poizvedovanje enostavno geometrično interpretacijo: vsi zapisi, ki usterzajo zahtevanim pogojem, ležijo v podatkovnem prostoru znotraj hiperparalelepipeda, katerega stranice so določene z vrednostmi intervalov v posameznih dimenzijah. Operacija relacijske algebre .selekcija (v nadaljnjem besedilu jo označujemo v skladu z notacijo iz [U1180] kot cTp) predstavlja posplošitev enostavnega intervalskega poizvedovanja. Kot rezultat omejevanja iskalnega območja dobimo pri tej operaciji seznam iskalnih območij, ki v splošnem lahko obsega večje število hiperparalelepipedov. Formula F, ki ji morajo zadoščati iskani zapisi, je sestavljena iz: - predikatov oblike atr op konst, kjer je atr ime atributa, op aritmetični operator (=,<>,<=,>=,< ali >) in konst konstanta, katere vrednost pripada isti domeni kot vrednost atributa atr, - logičnih operatorjev and, or in not, s katerimi so posamezni predikati povezani med seboj. mrežni direktorij zap. stev. intervalov 1 2 3 4 5' 4 •H 4 H-1-1-1 j 2. skala I 1. iskalno območje 2. iskalno območje spodnje meje: [2.2] spodnje meje: [1.5) zgornje meje: [4,3] zgornje meje: [2,5] Slika 1: Predstavitev seznama iskalnih območij v mrežni datoteki z dvema atributoma V naši implementaciji operacije selekcija je formula F interno predstavljena v postfiksni obliki, za določitev iskalnega območja pa uporabljamo sklad seznamov iskalnih območij. Vsako iskalno območje v seznamu ima obliko hiperparalelepipeda in je predstavljeno z dvema poljema: poljem spodnjih mej iskalnega območja in poljem zgornjih mej iskalnega območja. Polje spodnjih mej vsebuje zaporedne številke najnižjih intervalov, polje zgornjih mej pa zaporedne številke najvišjih intervalov v posameznih dimenzijah (glej sliko 1). Omejevanje podatkovnega prostora, ki ga je treba preiskati, da bi našli zapise, ki ustrezajo formuli F, zahteva dve vrsti aktivnosti: obdelavo predikatov in obdelavo logičnih operatorjev. Obdelava predikata Pri obdelavi predikata določimo iskalno območje, ki ustreza tekočemu predikatu, in postavimo to iskalno območje na vrh sklada. Vsak predikat, razen tistega, pri katerem je operator op neenačaj, prispeva k omejitvi iskalnega območja v tisti dimenziji, ki ji pripada atribut atr. Iskalno območje za posamezen predikat določimo v skladu z naslednjim algoritmom: inicializiraj iskalno območje predikata tako, da obsega celoten direktorij; s pomočjo ustrezne skale poišči interval, ki pripada konstanti konsf, case operator op of >: spodnja meja iskalnega območja je enaka zaporedni številki intervala (ali za 1 večja, če konstanta sovpada z zgornjo mejo dobljenega intervala); >=: spodnja meja iskalnega območja je enaka zaporedni številki intervala; <,<=: zgornja meja iskalnega območja je enaka zaporedni številki intervala; =: spodnja in zgornja meja iskalnega območja sta enaki zaporedni številki intervala end; Isti algoritem se uporablja tako na nivoju glavnega direktorija kot na nivoju poddirekto-rija, s to razliko, da na nivoju poddirektorija pred iskanjem intervala preverimo, če vrednost konstante sploh pade v tisto območje, ki ga pokrivajo subskale. Obdelava logičnega operatorja Pri obdelavi logičnega operatorja se v primeru operatorja and izvrši presek seznamov iskalnih območij, v primeru operatorja or pa unija seznamov iskalnih območij, ki se trenutno nahajata na vrhu sklada. Pri uniji iskalnih območij lahko dobimo seznam iskalnih območij, ki se med seboj prekrivajo. Ta problem rešujemo tako, da med postopkom pregledovanja mrežne datoteke vzdržujemo dva bitna vektorja: vektor pregledanih strani in vektor pregledanih podatkovnih blokov. S tem dosežemo, da se neka stran oziroma podatkovni blok, ki nastopa v dveh ali več različnih hiperparalelepipedih, pregleda samo enkrat. Naša implementacija zaenkrat ne podpira operatorja not, saj se je temu operatorju moč izogniti z ustreznim preoblikovanjem formule F. Lahko pa bi op>erator not implementirali tako, da bi poiskali negacijo seznama iskalnih območij, ki se trenutno nahaja na vrhu sklada. Negčicija mora poleg komplementov prvotnih iskalnih območij vključevati tudi mejne intervale prejšnjih iskalnih območij. Postopek omejevanja iskalnega območja v mrežni datoteki z dvema atributoma a^ in aj je ea formulo F (ai>3) and (ai<6) anc/((a2=4) or (a2>14)) prikazan na slikah 2a do 2g. Na sliki 2g je poleg iskalnega območja vrisano tudi poizvedovalno območje, t.j. tisti del podatkovnega prostora, v katerem se dejansko nahajajo zapisi, ki zadoščajo formuli F. V splošnem je poizvedovalno območje pod-množica iskalnega, kar pomeni, da pri ovrednotenju poizvedovanja največkrat pregledamo nekoliko večji del podatkovnega prostora, kot bi bilo potrebno. Zato moramo imeti na voljo mehanizem za izločanje tistih zapisov, ki sicer ležijo v iskalnem območju, niso pa znotraj poizvedovalnega območja. Slika 2a: Predikat ai>3 Slika 2b: Predikat ai<6 Slika 2e: Predikat a2>14 O •• 2 " • 5 7 10 i i i i i i i i H-1-1 10 15 20 Slika 2c: Operator and Slika 2f: Operator or O •• 2 • • 5 •• 7 •• 10 •• i i i i i H-1-i-h 10 15 20 Slika 2d: Predikat a2=4 Slika 2g: Operator and 4. ALGORITEM ZA IMPLEMENTACIJO SELEKCIJE Implementacija selekcije zahteva, da se zgoraj opisani postopek omejevanja iskalnega območja uporabi na dveh nivojih: na nivoju glavnega direktorija in (za vsako stran posebej) na nivoju poddirektorija. Ko je obdelava formule F končana, dobimo vsakokrat na vrhu sklada ustrezen seznam iskalnih območij. Strani, ki se nahajajo v iskalnem območju glavnega direktorija, in podatkovne bloke, ki se nahajajo v iskalnem območju poddirektorija, lahko obdelujemo v kakršnemkoli vrstnem redu, saj v mrežnih datotekah - v nasprotju z običajnimi načini organizacije podatkov (glej n.pr. [BE77, SACLP79, Yao79]) - problem izbora najcenejše pristopne poti ne obstaja. V našem programskem paketu je selekcija realizirana v skladu z naslednjim algoritmom: na podlagi formule F določi seznam Iskalnih območij glavnega direktorija; while niso obdelana vsa iskalna območja gl.dir. do while niso obdelane vse strani iz tekočega iskalnega območja do if stran je v celoti v poizvedovalnem območju then obdelaj vse podatkovne bloke, ki pripadajo tej strani -(vsi zapisi v teh podatkovnih blokih zadoščajo formuli F} else begin na podlagi formule F določi seznam iskalnih območij poddirektorija; while niso obdelana vsa iskalna območja poddirektorija do while niso obdelani vsi podatk. bloki iz tekočega iskalnega območja do if podatk. blok je v celoti v poizvedovalnem območju then vsi zapisi v podatkovnem bloku zadoščajo formuli F else za vsak zapis posebej preveri, ali leži znotraj poizvedovalnega območja end; Iz opisa algoritma je reizvidno, da se testiranje pripadnosti poizvedovalnemu območju izvaja na treh nivojih: na nivoju strani, na nivoju podatkovnega bloka in na nivoju zapisa. Ce je stran v celoti v poizvedovalnem območju, so tudi vsi pripadajoči podatkovni bloki in v njih shranjeni zapisi v celoti v poizvedovalnem območju, t.j. zadoščajo formuli F. Če pa stran ni v celoti v poizvedovalnem območju, je treba omejiti iskalno območje tudi na nivoju poddirektorija in pregledati samo tiste podatkovne bloke, ki se nahajajo znotraj dobljenega seznama iskalnih območij. Vsak od teh podatkovnih blokov je lahko v celoti ali pa le delno v poizvedovalnem območju. V zadnjem primeru je treba za vsak zapis posebej preveriti, ali zćidošča formuli F. Preverjanje pripadnosti poizvedovalnemu območju izvajamo (podobno kot omejevanje iskalnega območja) s pomočjo sklada, le da so sedaj elementi sklaida logične spremenljivke. Vsak predikat formule F povzroči, da se na vrh sklada postavi vrednost true ali false, medtem ko operatorja and in or izvršita konjunkcijo oziroma disjunkcijo vrednosti, ki se trenutno nahajata na vrhu sklada, in dobljen rezultat zopet postavita na sklad. Ko je obdelava formule F končana, nam vrednost na vrhu sklada pove, ali je tekoča stran (podatkovni blok, zapis) v celoti znotraj s to formulo določenega poizvedovalnega območja. Pri ugotavljanju, ali je tekoča stran v celoti v poizvedovalnem območju, privzamemo, da je vrednost atributa atr, ki nastopa v predikatu formule F, enaka vrednosti spodnje oziroma zgornje meje območja strani v tisti dimenziji, ki ji pripada atribut atr. Če je operator op > ali >=, uporabimo vrednost spodnje meje, če pa je operator op < ali <=, uporabimo vrednost zgornje meje območja strani. Kadar je operator op neenačaj, morata biti vrednosti obeh mej območja strani (spodnje in zgornje) manjši ali večji od konstante konst. Če pa je operator op enačaj, vedno velja, da stran ni v celoti v poizvedovalnem območju. Analogno postopamo pri obdelavi podatkovnih blokov, le da sedaj namesto vrednosti spodnje in zgornje meje območja strani upoštevamo vrednosti spodnje in zgornje meje območja podatkovnega bloka. Pri ugotavljanju, ali je zapis znotraj poizvedovalnega območja, pa se atr nćudomesti z vrednostjo tega atributa v tekočem zapisu. 5. ALGORITMI ZA IMPLEMENTACIJO SPLOŠNIH POIZVEDOVANJ Splošna poizvedovanja v relacijskih podatkovnih bazah so najpogosteje sestavljena iz operacij selekcije, projekcije in stika [BE77]. Za učinkovito realizacijo stika je pomembno, da velikost relacij pred stikanjem čim bolj omejimo. Zato pri implementaciji splošnih poizvedovanj (če se le da) uporabljamo hevristično pravilo "Izvrši selekcijo takoj, koje mogoče" [SC75, WY76, UllSO, KS86]. V običajni fizični organizaciji podatkov je možnost za izvršitev selekcije crp pred stikom odvisna od tega, ali obstajajo indeksi po atributih, ki nastopajo v formuli F. Vsak od teh indeksov omogoča omejitev iskalnega območja po enem samem atributu, kar pomeni, da moramo za vse zapise iz tako dobljenega iskalnega območja dodatno preverjati, ali ustrezajo preostalim predikatom iz formule F. Če imamo na voljo večje število indeksov, pregledujemo relacijo po tistem indeksu (pristopni poti), ki terja najmanj stroškov v smislu števila dosegov na disk in obsega procesiranja v glavnem pomnilniku [SACLP79]. Lahko pa s preseki razpoložljivih indeksov zreduciramo iskalno območje [AD75], vendar na račun dodatnega procesiranja, ki je potrebno za izvajanje presekov. Sistematičen pregled različnih strategij za evaluacijo splošnih poizvedovanj z uporabo običajne fizične organizacije podatkov je podan v [Yao79]. Mrežne datoteke nudijo v primerjavi z običajno indeksno-sekvenčno organizacijo podatkov naslednje prednosti: - Vedno je možno izvršiti selekcijo pred stikom. Omejitev iskalnega območja lahko izvršimo ne samo. po enem, temveč po vseh atributih, ki nastopajo v formuli F (ob predpostavki, da je mreža generirana po vseh atributih relacije). - Odpade problem pristopnih poti: V mrežnih datotekah se vsi atributi obravnavajo enakovredno, zato je vseeno, v kakšnem vrstnem redu pregledujemo strani in podatkovne bloke. V okviru naše implementacije mrežnih datotek smo razvili dva algoritma, ki omogočata evaluacijo splošnih poizvedovanj naslednje oblike: [X I crp^(S)) Posamezni simboli imajo (v skladu z [U1180]) naslednji pomen: - R in S sta imeni relacij, ki nastopala v poizvedovanju. - ali >=) oziroma zgornjo mejo (ko je 0 < ali <=). Omejevanje iskalnega območja relacije S zopet izvršimo na dveh nivojih: na nivoju glaynega direktorija in na nivoju poddirektorija. Za vsak podatkovni blok Bp pregledamo samo tiste strani in podatkovne bloke relacije S, ki pripadajo tako omejenemu iskalnemu območju. Za ta algoritem je značilno, da vsako stran in vsak podatkovni blok prve relacije pregledamo samo enkrat, medtem ko strani in podatkovne bloke druge relacije obdelujemo večkrat. Zalo lahko v primeru, ko je število, pomnilniških vmesnikov, ki jih imamo na razpolago za hranjenje podatkovnih blokov oziroma strani. majhno, pride do znatnega povečanja števila dosegov na disk. Stik po rezinah V praksi je stik na podlagi enakosti najbolj pogost prinner operacije slikanja dveh relacij. Za realizacijo te vrste stika je bila v [JSBS83] uporabljena strategija stikanja z zlivanjem, ki zagotavlja, da se vsaka stran in vsak podatkovni blok obeh relacij obdela samo enkrat. Pač pa ta strategija zahteva, da obe relaciji pred zlivanjem sortiramo, saj v mrežnih datotekah ni moč vzdrževati urejenosti relacije po določenem atributu oziroma skupini atributov. Algoritem za stik po rezinah, ki smo ga implementirali v okviru našega programskega paketa, ne zahteva predhodnega sortiranja obeh relacij, obenem pa zagotavlja (ob predpostavki, da imamo v glavnem pomnilniku dovolj prostora, da hranimo tekoči rezini obeh relacij), da vsak podatkovni blok in vsako stran obeh relacij preberemo z diska samo enkrat. Zasnova algoritma temelji na dejstvu, da je moč vsako mrežno datoteko razdeliti na rezine. Na nivoju glavnega direktorija so rezine določene s tisto skalo glavnega direktorija, ki pripada atributu stika. Na enak način lahko vsako rezino glavnega direktorija "razrežemo" še naprej z uporabo subskal na nivoju poddirektorija. Vsaka rezina je omejena z dvema zaporednima mejama v skali. To pomeni, da vsaka rezina vsebuje samo tiste zapise, pri katerih je vrednost atributa stika znotraj intervala, določenega s spodnjo in zgornjo mejo rezine. Da bi izračunali stik dveh relacij, obdelujemo rezine po parih: eno rezino relacije R in eno rezino relacije S. Na ta način se računanje stika prevede na zaporedje stikov parov rezin, ki so mnogo manjše od prvotnih relacij in jih lahko v večini primerov hranimo v glavnem pomnilniku. Obdelati je treba samo tiste pare rezin, ki vsebujejo zapise z istimi vrednostmi atributa stika. Par rezin lahko staknemo na različne načine (z zlivanjem, z gnezdenjem iteracij itd.). V naši implementaciji smo se odločili za uporabo binarnega drevesa kazalcev na zapise prve rezine, ki ga zgradimo v glavnem pomnilniku in s tem pospešimo iskanje zapisov, pri katerih se vrednosti atributa stika ujemajo. Čeprav lahko isti podatkovni blok nastopa v več zaporednih rezinah, ga beremo z diska samo enkrat. To dosežemo na ta način, da vsako rezino preberemo v glavni pomnilnik v dveh korakih: - Najprej sprostimo prostor, ki ga zasedajo podatkovni bloki, ki ne pripadajo naslednji rezini. V pomnilniku tako ostanejo samo tisti podatkovni bloki prejšnje rezine, ki pripadajo tudi naslednji. Organizacija mrežnih datotek zagotavlja, da nobenega od sproščenih podatkovnih blokov v nadaljnjem postopku ne bomo več potrebovali. - Nato preberemo z diska še preostale podatkovne bloke, ki spadajo v tekočo rezino, a jih še ni v glavnem pomnilniku. Vsak podatkovni blok se tako prebere z diska samo takrat, ko ga prvič potrebujemo, nato pa ostane v glavnem pomnilniku toliko časa, dokler ne obdelamo vseh rezin, v katerih se nahaja. Podrobnejši opis obeh algoritmov je podan v [Mah89]. C. OPIS PROGRAMSKEGA PAKETA Programski paket za vzdrževanje mrežnih datotek in izvajanje poizvedovanj na osnovi operacij relacijske algebre, ki smo ga razvili v okviru naših raziskav, je napisan v programskem jeziku Turbo Pascal [Bor87] in je prilagojen za uporabo na osebnih računalnikih tipa IBM PC XT/AT. Vsaka mrežna datoteka je predstavljena z dvema Pascal-skima datotekama v skladu z naslednjimi deklaracijami: const Dol2ÌnaBloka=:512; type BloK=array [l..DolzinaBloka] of char; var PodMD.DirMD: file of Blok; Datoteka PodMD hrani podatke, t.j. zapise, ki pripadajo neki releiciji. V vsakem bloku je lahko večje število zapisov, maksimalna dolžina zapisa pa ne sme presegati dolžine bloka. Na datoteki DirMD je shranjen mrežni direktorij, ki je razdeljen na strani. Vsak zapis datoteke DirMD vsebuje eno stran poddirektorija. Poleg poddirektorija so na datoteki DirMD shranjeni tudi podatki o glavnem direktoriju, podatki o strukturi zapisa (tip, začetek in dolžina vsakega atributa) ter vektorja zasedenih strani in podatkovnih blokov. Ob kreiranju mrežne datoteke moramo definirati strukturo zapisa. Za vsak atribut navedemo njegovo ime, tip in dolžino. Ce želimo po tem atributu graditi mrežo, pa moramo podati tudi minimalno in maksimalno vrednost, ki jo ta atribut lahko zavzame. Ti dve vrednosti se uporabita kot spodnja in zgornja meja v pripadajoči skali. Naša implementacija podpira zaenkrat naslednje tipe atributov: byte, integer, word, real in character (niz znakov). Dolžina atributov tipa byte, integer, word in real je določena skladno z interno predstavitvijo podatkov tega tipa v Turbo Pascal-u in znaša 1, 2, 2 oziroma 6 bytov. Dolžino atributov tipa character določa uporabnik, vendar le-ta ne sme preseči 255 znakov. Programski paket je sestavljen iz 8 programskih enot (angl. units) z naslednjo vsebino: - Programska enota DEKL vsebuje deklaracije konstant, tipov in spremenljivk, ki so skupne za celoten programski paket in jih uporabljajo vse ostale enote. - Programska enota SKUPNE obsega vse skupne podprograme, ki jih lahko kličemo iz katerekoli druge enote. Med te podprograme spadajo: podprogrami za pretvorbo numeričnih podatkov (tipa byte, integer, word ali rea/) v znakovno obliko in obratno; podprogrami za vpisovanje podatkov v glavni direktorij, poddirektorij pripadajoče skale; in podprogrami za rekonstrukcijo podatkov, ki so zapisani v glavnem direktoriju, poddi-rektoriju in pripadajočih skalah (n.pr. število mej, vrednost in položaj posamezne meje, vrednost in položaj posameznega elementa v glavnem direktoriju oziroma poddirektoriju, število vseh elementov glavnega direktorija oziroma poddirektorija itd.; podprogrami za prenos podatkovnih blokov in strani z diska v glavni pomnilnik in obratno; podprogrami za določanje koordinat tiste celice v mreži, v katero se preslika zapis kot točka v podatkovnem prostoru; podprogrami za ugotavljanje območja strani in območja podatkovnega bloka itd. Programska enota VZDR vsebuje podprograme, ki so potrebni za vzdrževanje mrežnih datotek. To. so podprogrami za kreiranje, odpiranje in zapiranje mrežnih datotek. Novo datoteko lahko kreira uporabnik, lahko pa jo dobimo kot rezultat nekega poizvedovanja. V tem primeru se struktura mrežne datoteke generira avtomatsko v skladu s seznamom atributov, navedenih v sklopu projekcije. Programska enota VST vsebuje podprogram za vstavljanje zapisov v mrežno datoteko, v okviru katerega so implementirani vsi potrebni algoritmi za dodajanje novih mej, razcep podatkovnih blokov in razcep strani. Programski paket omogoča tako interaktivno dodajanje posameznih zapisov kot tudi dodajanje zapisov z druge datoteke, ki mora biti tipa text, podatki na njej pa morajo biti pripravljeni v skladu s strukturo zapisa na mrežni datoteki. Programska enota BRIS vsebuje podprogram za brisanje zapisov iz mrežne datoteke, vključno s podprogrami za zlivanje podatkovnih blokov, izločanje nepotrebnih mej in zlivanje strani. Programska enota SKPOIZ obsega podprograme, ki so skupni za različna poizvedovanja. V glavnem gre za podprograme, ki omogočajo interpretacijo formule F pri selekciji, omejevanje iskalnega območja in ugotavljanje, ali je tekoča stran, podatkovni blok oziroma zapis v celoti v poizvedovalnem območju. Programska enota POIZ vsebuje podprograme za izvajanje različnih poizvedovanj. Na voljo so podprogrami za izvajanje selekcije in splošnih poizvedovanj, sestavljenih iz projekcije, selekcije in stika. Splošna poizvedovanja, ki vključujejo stik dveh datotek, so realizirana s tremi različnimi podprogrami: z bločno orientiranim gnezdenjem iteracij, s slikanjem po rezinah glavnega direktorija in s stilcanjem po rezinah poddirektorija. Pri stikanju po rezinah glavnega direktorija se rezine formirajo samo na osnovi skal glavnega direktorija, zato je ta metoda hitrejša, vendar daje večje rezine in je primerna samo za manjše datoteke. Pri stikanju po rezinah poddirektorija pa pri oblikovanju rezin upoštevamo tudi subskale ter s tem zmanjšamo velikost posameznih rezin. Zato je ta metoda primerna za večje datoteke. Vse opisane algoritme smo implementirali v okviru programskega paketa, ki omogoča vzdrževanje mrežnih datotek in izvajanje ustreznih poizvedovanj. Način predstavitve mrežnih datotek in zgradba programskega paketa sta opisana v zadnjem razdelku. 8. SODELAVCI Programska enota INFO vsebuje podprograme za izpis vsebine mrežne datoteke in mrežnega direktorija. Izpisujemo lahko celotno datoteko, posamezne podatkovne bloke in posamezne zapise: Od podatkov, ki so shranjeni v okviru mrežnega direktorija, lahko izpišemo strukturo datoteke (tip, začetek in dolžino posameznih atributov), glavni direktorij in posamezne strani poddirektorija. V to enoto spadajo tudi podprogrami za izračun raznih statističnih podatkov (n.pr. število zasednih strani in podatkovnih blokov, povprečna velikost območja strani oziroma podatkovnega bloka, povprečno število elementov v poddirektoriju itd.). 7. SKLEP V članku so opisane osnovne značilnosti mrežnih datotek in algoritmi za implementacijo poizvedovanj na osnovi operacij relacijske algebre. Bistvena prednost mrežnih datotek je, da omogočajo učinkovito omejevanje podatkovnega prostora, ki ga je treba preiskati, da bi našli podatke, ki ustrezajo posameznim poizvedovanjem. Postopek omejevanja iskalnega območja predstavlja izhodišče za realizacijo selekcije. Splošna poizvedovanja, ki zahtevajo stikanje dveh datotek, lahko realiziramo na osnovi različnih strategij. V članku sta opisana dva algoritma: prvi temelji na bločno orientiranem gnezdenju iteracij, drugi pa na stikanju parov rezin. S pomočjo drugega algoritma se postopek stikanja dveh obsežnih relacij pretvori v zaporedje stikov mnogo manjših relacij. S tem se izognemo problemu sortiranja relacij, ki je potrebno pri stiku z zlivanjem. Poleg tega pa dosežemo, da se vsaka stran in vsak podatkovni blok obeh relacij prebere z diska samo enkrat ob predpostavki, da je v glavnem pomnilniku dovolj prostora za en par rezin. Implementacijo algoritma za brisanje zapisov je v okviru svojega diplomskega dela opravila študentka Fakultete za elektrotehniko in računalništvo Nataša Zabkar. Študent Božo Urh pa v svoji diplomski nalogi proučuje vpliv različnih načinov oblikovanja mreže na velikost mrežnega direktorija in performanse posameznih poizvedovanj. Obema se za njun prispevek k obravnavani problematiki najtopleje zahvaljujem. LITERATURA: [AD75] M.M. Astrahan, D.D. Chamberlin: IMPLEMENTATION OF A STRUCTURED ENGLISH QUERY LANGUAGE, Communications of the ACM, Vol. 18, No. 10, October 1975 [BE77] M.W. Blasgen, K.P. Eswaran: STORAGE AND ACCESS IN RELATIONAL DATA BASES, IBM Systems Journal, No. 4, 1977 [Bor87] TURBO PASCAL OWNER'S HANDBOOK, Version 4.0, Borland International, 4585 Scotts Valley Drive, Scotts Valley, CA 95066, ISBN 0-87524-170-0, 1987 [Hin85a] K.H. Hinrichs: THE GRID FILE SYSTEM: IMPLEMENTATION AND CASE STUDIES OF APPLICATIONS, Diss. ETH Nr. 7734, Zurich, 1985 [Hin85b] K.H. Hinrichs: IMPLEMENTATION OF THE GRID FILE: DESIGN CONCEPTS AND EXPERIENCE, BIT 25, 1985 [KS86] H.F. Korth, A. Silberschatz: DATA- BASE SYSTEMS CONCEPTS, McGraw-Hill, 1986 [JSBS83] S. M. Joshi, S. Sanyal, S. Banerjee, S. Srikumar: USING GRID FILES FOR A RELATIONAL DATABASE MANAGEMENT SYSTEM, Technical Report No. 11, Speech and Digital Systems Group, Tata Institute of Fundamental Research, Bombay, 1983 Transactions on Database Systems, Vol. 1, No. 3, September 1976 [Yao79] S.B. Yao: OPTIMIZATION OF QUERY EVALUATION ALGORITHMS, ACM Transactions on Database Systems, Vol 4., No. 2, June 1979 [Mah89] V. Mahnic: COMPUTING JOINS OF RELATIONS USING GRID FILES AS A PHYSICAL STORAGE STRUCTURE, Zbornik del 11. mednarodnega simpozija "Kompjuter na sveučilištu", Cavtat, junij 1989 [NHS84] J. Nievergelt, H. Hinterberger, K.C. Sevcik: GRID FILE: AN ADAPTABLE, SYMMETRIC MULTI-KEY FILE STRUCTURE, ACM Transactions on Database Systems, Vol. 9, No. 1, March 1984 [SACLP79]P.G. Selinger, M.M. Astrahan, D.D. Chamberlin, R.A. Lorie, T.G. Price: ACCESS PATH SELECTION IN A RELATIONAL DATABASE MANAGEMENT SYSTEM, Proceedings of the ACM SIGMOD International Conference on the Management of Data, 1979 [SC75] J.M. Smith, P.Y. Chang: OPTIMIZING THE PERFORMANCE OF A RELATIONAL ALGEBRA DATABASE INTERFACE, Communications of the ACM, Vol. 18, No. 10, October 1975 [Sch86] E. Schikuta: THE GRIDFILE: A DATA STRUCTURE FOR RELATIONAL DATABASE SYSTEMS, Zbornik del 8. mednarodnega simpozija "Kompjuter na sveučilištu", Cavtat, maj 1986 [U1180] J.D. Ullman: PRINCIPLES OF DATABASE SYSTEMS, Computer Science Press, Potomac, Maryland, 1980 [WY76] E. Wong, K. Youssefi: DECOMPOSITION - A STRATEGY FOR QUERY PROCESSING, ACM NEURAL NETWORK BASED PARALLEL EXPERT SYSTEM Keywords: neural network, parallel^processing, expert system ' Saša Prešeren, Ludvik Gyergyek, Anton P. Železnikar, and Sonja Jernnan, Iskra Delta and Jožef Stefan Institute Ljubljana ABSTRACT This paper describes a proposal -for an expert system which is based on a neural network principles. Properties o-f a neural network based expert system are pointed out, the structure o-f neural network is -formulated, processing elements are proposed and the -formulation of an expert system with the neural network properties is suggested. The model is supposed to use a parallel computer with distributed processing capability, distributed memory and distributed knowledge. The "-forgetting" and the "learning" -functions are proposed -for adaptability o-f the neural network based parallel expert system. PARALELNI EKSPERTNI SISTEM, KI TEMELJI NA NEVRALNI MRE2I Članek podaja predlog ekspertnega sistema, ki temelji na principih nevralne mreže. Poudarjene so znaćilnosti ekspertnega sistema, ki temelji na nevralni mreii, -formulirana je struktura nevralne mreže, predlagani procesni elementi in sugerirana formulacija ekspertnega sistema, ki ima lastnosti nevralne mreže. Model naj bi uporabljal paralelni računalnik s porazdeljenimi procesnimi sposobnostmi, porazdeljenim pomnilnikom ter porazdeljenim znanjem. Predlagani sta funkciji ućenja in pozabljanja, ki omogočata prilagodljivost paralelnega ekspertnega sistema. 1. INTRODUCTION Nowadays we are faced with a great interest in a neural network modeling. Neurocomputing is considered as a nonalgor ithmic approach to information processing (2). This surprising fact of nonalgorithmic approach is possible because all procedural capabilities of an artificial neural network are incorporated and hidden in a special purpose hardware. Such special purpose hardware for implementing neural network algorithms is already available for character recognition (1), for analog VLSI networks for vision systems (3) and others. The learning laws, the scheduling functions and the transfer functions are in those systems realized in hardware and incorporate equations which modify the adaptive coefficients, called weights in a processing element's local memory. In this way the neural network gains adaptability and has a so called self organizing capability. The most interesting property of neural networks is the interconnection of a large number of processing elements, even if these elements are represented by a simplified function. Different approaches for a network representation have been considered as for example a multilevel neural network with selforganizing capability and forward/backward signal flow routing as well as distributed network of individual processing elements with good message passing capabilities (5). In this paper we are not interested in biological details of living neural structures. Rather we use the idea of a neural network structure, organization and functioning and implement a computer system with similar properties but using powerful processors. Very important is to Identify those properties which make a multiprocessor based expert system to act like a neural network. 2. PROPERTIES SYSTEM OF NEURAL NETWORK BASED EXPERT Most research work in neuralcomputing is focused to the implementation of a fine grain special purpose hardware which is performing some intelligent subfunction. Processing elements have to be "adaptive" as well as capable of communication with the neighbors. In order to incorporate the neural network properties into an expert system we first have to focus our attention to the following properties of a neural network: - Patterns (representational features) are memorized over the whole system in a sense that properties of an object are stored in different memory modules. Therefore we say that we have a distributed Information storing. - Recognition (for example object recognition) is performed through feature extraction, that means symbolic representation rather than by memorizing the whole pattern (image). - A neural network is fault tolerant so that if a part of a system is damaged or fails the system still works, although the probability for wrong identification is higher and/or time required for identification is longer. - Recognition and learning are performed by local adaptation in the sense that a set of knowledge atoms is updated, a set of representational features is updated and a set o-f distribution probabilities is locally updated. A neH strategy is selected in real time. - The dynamic o-f the knowledge network is parallel and asynchronous. - The knowledge network contains elements vyhich have high percentage of -fuzziness. The neural network system can -function with incomplete or inaccurate input data. Many neural network based systems are problem oriented and there-fore limited to a specific task. fl classical neurocomputing incorporates algorithmic properties in a special purpose hardware, there-fore it is limited to some problems as for example pattern recognition, handwritten character recognition, etc. Our goal is to apply neural network properties in a complex knowledge base system which may be from any expert-system domain. The rules used in solution would be generated by training data and may stay hidden to the system programmer. A natural property of most expert systems is parallelism. The expert system is composed of a number of modules which are executed on different processors. Calling of a module depends on a data pattern. Knowledge network, together with all accompanying steps of symbolic representation, normalization and optimization gives the framework for parallelism. 3. OPERATORS AND OPERANDS Neurocomputing can not copy the human brain structure, but much more interesting - it successfully applies some concepts of human brain. Let us formulate the elements and the structure of a neural network. In a neural network we have: - operators (network elements) and — operands (stimulus, output). A neural network is a composition of operators. Operators are influenced by a learning process, aging process, memorizing process etc. In a neural network system a processor and a knowledge system can not be separated, because a processor itself is changed or influenced, and acquires knowledge by processing information. A processing system and a knowledge system are nonseparable homogeneous units. An operation which is performed by an operator remains unchanged by time. Therefore, a type of each operator is fixed but its power varies in intensity. The variability of a power intensity is a consequence of constant and repeating interactions of the network with the environment. A self organization, a so called learning without a teacher, is explained by varying the power intensity of a particular operator. A weight of communication determines the power of operator (intensity of connection) and depends on a design of the network and on information that a network system has learned. Information which enters a neural network is actually processed by a set of operators. Self organization of the neural network means that after some time the same information is processed by modified operators. Operator modification is a consequence of self learning process. In a neural based parallel expert system operators are individual processors performing a sequence of feature extractions. By time the same processors would perform a different sequence or even a different set of feature extractions, because the system has "learned" how to do the work better. Operands in the expert system are symbolic descriptions of objects which are entering the expert system. 4. PROCESS I N(3 ELEMENTS Human brain consists of interconnected neurons which are simple processing units. Each neuron is connected to as many as 10.000 other neurons forming therefore a highly parallel processing system. Connections are sometimes even bidirectional (input and feedback) and differ in power (strong or weak). No computer can imitate such complexity of the human brain. An artificial neuron is a classical processing element in neurocomputing. The key to success of neurocomputing is parallel processing which opened new perspectives, approaches, reasoning and problem formulation in information processing. Our approach suggests much more powerful processing elements, equivalent to several thousand neuron-like processing elements. Therefore our system does not need a great number of processing elements, since they are more powerful. Obviously the approach with powerful processing elements has lower degree of parallelism than the special purpose neuron-like network. The hardware for proposed neural network based parallel expert system is a highly capable set of interconnected processors and memory modules. The array of transputers is available technology which enables a configuration of a distributed parallel computer system with neural network properties and enables learning using a sample set of learning situations. The T800 Transputer is proposed as a processing element which incorporate a processor and a local memory. It has 4 links to the neighboring elements. A local memory is used for storing a value of adaptive coefficient (operator), important for neural network learning and fast processing. The introduction of layei—groups of processing elements which all have the same transfer function is usually not necessary because of the powerful processor. If the processing speed should be increased, a multilayer network of transputers would have to be used. The hardware frame would stay unchanged, only the software distribution to different processors would have to be modified. 5. EXPERT SYSTEM The task of the expert system is to extract stored information or knowledge. The representation of knowledge in a neural network system was studied by Kohonen (4), using a distributed associative memory model. Many expert systems have to perform a set of feature extractions in order to reach the goal which might be object recognition, medical diagnostics or others. A framework for those expert systems is a knowledge network. Each node in a knowledge network is reached by a feature value V(i,j) which is obtained by a feature extraction. The leave node of the network is reached by the some set of feature values. This set of feature values represents a symbolic description of an object. KNOWLEDGE NETWORK V| ----|0(1^2)I ^n(t■>^)|-----[0(1*1)1 4o(i 11 In a learning process we distinguish the ■fol lowing; - learn to perform a job -faster - learn to enlarge a knowledge base or a problem domain. These two types of learning require different strategi es. 6.1 Strategy learning Learning in a neural network system is performed by a set of learning examples. The resulting output is compared with the desired output. A self learning in the neural networks is achieved by using a number of methods which are recommended for different applications (5). For self learning of an expert system we are proposing another method which is based on experience of the neural network system. 'v'(k) is a set of possible feature values at node k in a knowledge network V(k,j) is the feature value which connects node k to node j V = (V(k,j)) j=l,...,m Fig.l.: The nowledge network is organized in a tree structure with feature values as connections. Each node of a knowledge network consists of a set of knowledge atoms. The initial node n(0) contains all knowledge atoms which correspond to completely unidentified object. All leave nodes consist of only one knowledge atom 0(1) which corresponds to a completely identified object. Nodes are processed in different processors. In a large knowledge network it is very likely that the number of processors is going to be smaller than the number of knowledge atoms. Therefore we perform a so called layer distribution which means that only a set of knowledge atoms branching from a father knowledge atom are stored and processed in a single processor. An example of a knowledge network from fig 1. would be processed in the following processors: PROCESSOR KNOWLEDGE ATOMS 1st 2nd n(0), nd), n in the local memories of individual processors. The coefficient c(i) is a pointer to different feature extractors in the network. At each knowledge atom only those coefficients c(i) exist which represent some object. For instance if a knowledge atom n(i) has connections to knowledge atoms n(k) and n(k+l), than only two coefficients c(k) and c has the highest value. In the begining the probability coefficients are equivalent to c(i) =1. After a feature V(i) is identified by a processor i, the new probability coefficient c(i) equals c(i)/2 c(i) c(i ) = c (i ) (forgetting fune.) if c(i) > 1 if c(i.) = 1 if (c(i) = c(max> and V(i) was selected) c(i)/2+l if V(i) was selected (learning fune.) By this algorithm the changing of a strategy is performed very fast, coefficients are stored in local memory and a change of the strategy is not influenced by stohastic events. The forgetting function and the learning function are important for selfadaptabi1 ity of the network. 6.2. Knowledge learning Learning of a new knowledge or enlarging a problem domain involves much more complex procedure. This is: - formulating the new knowledge, - formulating the new feature values, - establishing connections in the recognition tree, - distributing the process to processors for parallel processing. Several different applications as for example simulation of complex socio-economic systems, simulation of ecologic processes in natural environment,' computer vision, speech recognition and some others formulate as a neural network expert system. The nature paral 1 el ism approach the problem applications is Neural network distribution of computer system, in defining and are easier to based parallel of all these and complexity, enables easy to a parallel enables step by step approach adding details of a model. gaining in that way the exactness as well as accuracy of the model and not loosing the applicability and a speed o-f processing. We are considering simulation o-f other complex biological systems with special interest in learning, sel-f organization, memorizing and •fault tolerance. ■faciliate knowledge network decomposition. Having in mind the -future trends in parallel processing 8. REFERENCES 7. CONCLUSION Implementation o-f the neural network with standard microcomputer components has good price performance ratio. The capability o-f re-formulating or upgrading the -functions is much higher because neural network principles are implemented in so-ftware rather than in hardware. We have proposed a neural network based parallel expert system on transputer processors and described a problem paral lei i z at i on and sel-f learning -function, based on the local coe-f-ficient adaptability. The limitation o-f our proposal is problem decomposition which might be complex -for some sophisticated expert systems. However, we think that a computer supported interactive decomposition have to be developed in order to (1) H. P. Sra-f et al., "VLSI Implementation o-f a Neural Network Model", Computer, IEEE Computer Society, March 1 je dne 17.5.1989 na srečanju FORUM INFORMATIONIS z naslovom Pogoji znanstveno raziskovalnega dela v računalništvu in informatiki obravnavalo alarmantno slabe pogoje za znanstvena raziskovalno delo v računalništvu na institutih, univerzah in v podjetjih. Ugotavljamo, da nadaljevanje takih pogojev pelje v stagnacijo, siromašenje družbe in oddaljevanje od sodobnih tokov združevanja v Evropo. Splošno mnenje udeležencev FORUMa je bilo, da je na področju računalništva in informatike potrebno doseči: - PROFESIONALNI odnos družbe do stroke, - večjo KONCENTRACIJO raziskovalnega kadra, - boljšo POVEZANOST s porabniki. Apeliramo na Republiški komite za znanost in tehnologijo, da v sodelovanju s Slovenskim društvom Informatika imenuje ekspertno skupino, katere naloga naj bi bila izdelava ekspertize stanja in strategije računalništva in informatike. FORUM INFORMATIONIS ugotavlja: - VLOBA RAČUNALNIŠTVA IN INFORMATIKE: Računalništvo in informatika je strateško pomembna panoga za suverenost slovenskega naroda. Naša družba se ne obnaša v skladu s pomenom, ki ga ta panoga zasluži. Predlagamo, da ekspertiza analizira pomen računalništva in informatike pri nas in njen pomen za vključitev v svetovni trend tehnološkega in informacijskega razvoja. - INFRASTRUKTURA: Slovenija nima potrebne infrastrukture za računalništvo in informatiko. Nimamo na primer niti komiteja za računalništvo in informatiko (imamo 10 drugih komitejev), nimamo instituta (imamo 33 drugih institutov), nimamo združenja pri Gospodarski zbornici Slovenije (imamo 21 drugih združenj). - STRATEGIJA: Slovenija nima izdelane strategije računalništva in informatike. Ekspertiza naj postavi temelje strategije, in naj obravnava; -»■ strategijo vključevanja v mednarodne tokove računalništva in informatike na področju raziskav, razvoja, proizvodnje, trženja in izobraževanja, * ustrezno koordinacijo in napotke uveljavitev svetovnih standardov. za * stališče do carin in kvot na čipe, module, sisteme in na rešitve na ključ - VREDNOTENJE KVALITETE: Apeliramo na dinamično vrednotenje kvalitete raziskovalnega dela posameznikov in skupin. Jasni, v naprej določeni kriteriji o vrednotenju kvalitete raziskovalnega dela v mednarodnih merilih naj zagotavljajo sprotno selekcijo in finansiranje kvalitete. Posebej naj bo vrednoteno raziskovalno delo in posebej razvojno delo. - KADROVSKA POLITIKA: Ugotavljamo široko krizo na področju kadrovske politike raziskovalcev in razvojnikov v računalništvu in informatiki ter predlagamo naj ekspertiza obdela problem: * vračanja mladih raziskovalcev v industrijo in njihova vloga, * izdela predlog za učinkovit dialog in kroženje kadrov med industrijo (management in razvoj) ter raz i skovalni mi institucijami v obliki rednih obojestranskih predavanj, daljših izmenjav in drugih oblik sodelovanja, » pripravi naj vprašalnik za anketiranje raziskovalcev in razvojnikov v industriji, na institutih in na univerzah, * pripravi naj predlog intenzivnejše izmenjave raziskovalnih kadrov z Evropo in ostalimi razvitimi deželami, » pripravi naj predlog rešitve stanovanjskega problema za tiste raziskovalne kadre (goste), ki so občasno vključeni v raziskovalne programe v Ljubljani. - SREDSTVA ITALIJANSKE VLADE: Ekspertna skupina naj prouči, razjasni in objavi vse nejasnosti v zvezi z razpisom, vrednotenjem, izborom in končnim stanjem pri kandidaturi za sredstva Italijanske vlade po programu C. Slovensko društvo informatika predlaga, da Republiški komite za znanost in tehnologijo pri svojem delu upošteva diskusijo iz FORUMa (priloga) ter, da formiranje ekspertne skupine, njeno delo in rezultate vskladi s Slovenskim društvom informatika. Ljubljana, 17.5.1989 Prilaga: RAZPRAVft FORUM INFORMATIONIS Zapis (povzetek) razprave FORUM INFORMATIONIS -Pogoji raziskovalnega dela v računalništvu in in-formatiki v podjetjih, institutih in na univerzi dne 17.5.1989. Preèern: Dokaj skromen odziv in udeležba na FORUMU (kljub osebnemu vabilu tistih, ki vodijo raziskovalno delo pri nas) ka±e na morebitni občutek nemoči ali pa morda premajhno stopnjo profesionalizma. Na poziv k pismenim predlogom so se odzvali samo pro-f. Marinček, dr. Murn in tov. Pintar. Marinček: Potrebno Je posvetiti veliko pozornost zasledovanju mednarodnih standardov. Izvrèni svet je osnoval komisijo Evropa 92, ki med drugim tudi obdeluje področje standardizacije. BZDL ima 23.5.89 problemsko kon-ferenco o Evropa 92. Standardi zaci ja ni več stvar industrije ampak je tu potrebna enotna in-f rastruktura. Tasič: V računalništvu in in-formatiki ni definiranih globalnih ciljev. Sem proti voluntarizmu pri strokovnem delu. Definirali naj bi se raziskovalno razvojni centri. Ni tudi globalne povezave z univerzo. Mladi raziskovalci se utopijo v industriji. Jereb; Da bi izboljšal pogoje raziskovalnega dela se marsikdo začne ukvarjati s politiko v raziskavah in potem postaneš slab politik in slab strokovnjak. Faleskini: Ključ problema je denar. Pravzaprav gre za malo ljudi, morda 100 raziskovalcev, ki delujejo po nekaj regi str irani h raziskovalnih institucijah (verjetno 7) in po veliki množici (morda 100) neregistri ran i h. Katalog opravljenih raziskav nam kaie malo rezultatov tako v hardveru kot tudi pri programski opremi (2-3 paketi za izvoz, 200-300 domačih paketov). Interesi in kapital so popolnoma razpršeni. Koordinacija o Slovenskih raziskovalnih centrih je iluzija. V Evropi bi lahko nekaj predstavljala IJS in ID. Oba se ukvarjata z vsem. Konec leta 1988 je imala ID 240 razvojnih nalog. IJS razvija hardver, grafiko, umetna inteligenco,..., in s tem imamo finansiranje malih nalog, ki so kvazi skupaj zloženi programi. Za uspeh raziskovalnega dela je treba imeti: 1. moč = kapital (avtoriteto), 2. resurse (oprema, ljudi - opreme je dovolj saj imamo na primer GAD sistem v 8 Iskrah, vsak stane po 1 milijon dolarjev) in 3. znanje. ID je 5 krat postavljala sistem spremljanja razvojnih projektov, IJS pa še tega nima. Raziskovalci z doktoratom so v manadžerstvu ničla. Predlagam: V delovnih organizacijah bo podjetništvo i zkri stal i z iral o in sposobnejši bodo ostali. V IJS in na univerzah naj razmislijo kdo je okolje kamor naj gredo rezultati (verjetno širše kot slovenski prostor). Ce za projekt ni kapitala, ga ni mogoče spraviti na svetoni trg. Predlagam, da se ID zgleduje po vzhodnih deželah (Koreja, Indonezija). Te imajo AT računalnike ne pa VAX, mikroVAX ali paralelne sisteme. Predlagam, da naj ne bo nobenih carin. Vsak izdelek pa naj bo tudi sposoben za izvoz. Predlagam, da vse doktorje skoncentriramo okrog enega izdelka (na primer neke super EGA kartice) in da smo v tem izdelku najboljši na svetovnem trgu. Murn: Kako naj društvo prispeva k raziskovalnemu delu. Tisti, ki se ukvarjamo z računalništvom in informatiko nismo organizirani niti na republiškem nivoju, niti v GZ, nimamo instituta. Manjka nam organiriranost. Selimo tudi pospešiti prenos v industrijo. Društvo naj bi imelo banko znanja, kapitala in idej. Prešern: V zvezi z infrastrukturo ugotavljamo lr.hko konkretne podatke. V Sloveniji imamo 10 republiških komitejev, 21 različnih združenj v GZ in 33 institutov. Govorimo o informacijski družbi ampak nikomur se ni zdelo vredno postaviti infrastrukture za računalništvo in informatiko. Nimamo niti komiteja, niti združenja pri GZ, niti instituta, zato je verjetno tudi taka razpršenost kadra, znanja in rezultatov. Predno pa razmišljamo o infrastrukturi je treba strokovno ovrednotiti vlogo računalništva in informatike za razvoj družbe in suverenost naroda v prihodnosti. Drugod po svetu, kjer so postavljali strategijo razvoja družbe, so videli primarna vlogo računalništva in informatike pri prehodu v sodobno informacijsko družbo. Spegel: Družba ima tako računal ni štvo in informatiko kot si jo zasluži. Od 60. leta naprej smo na tem področju delali kapitalne napake in grehe. Oblast išče odgovore za odločitve v amaterskih krogih. Pustili smo se speljati v to stanje in mnogi raziskovalci so èli v trgovske firme. Stabilnost okolja Je pogoj za raziskovalno delo. Odsek za računalništvo in informatiko gostuje na IJS. Kljub temu, danes ni mogoče govoriti o predlogu o ustanovitvi instituta, ker je to širša tema. Povod za te težnje je finančni bankrot. Kvalitetne raziskovalne skupine so v nevarnosti razpada. Pri razmisleku o novih organizacijskih oblikah moramo upoštevati naslednja dejstva: majhni smo in zato mora biti znanost vključena v svetovne trende (finančno in organizacijsko), znanost mora biti integralni del obeh univerz, kadrovsko in organi zaciJsko se morajo povezati obe univerzi, industrija in IJS. Skupni obseg vlaganj v to področje Je zelo majhen. Dodatni viri naj bi bili: mednarodni raziskovalni viri in domače DO, ki se lahko strateško obnašajo. Raziskovalno delo naj bi bilo osvobojeno finančnih problemov in naj bi rezultati bili splošne vrednote. Sele od prototipa naprej naj bi izvajali razvoj v razvojnih centrih po podjetjih. Jereb; Društvo bi lahko pomagalo pri kadrih. Pri pogovorih med industrijo in univerzo ali IJS se diskutanti ne razumejo. Tudi fakulteta je kot kurja farma, čim več producirati, saj je od tega odvisno finansiranje. Društvo bi lahko pomagalo pri stanovanjih za mlade raziskovalce. Kogovšek; Društvo naj bi posredovalo predavatelje za gospodarstvo in prirejala predavanja ljudi iz gospodarstva. Ljudje niso seznanjeni s svetovnimi standardi in trendi. Društvo naj forsira formiranje jeder za kompleksne probleme na primer IS za upravljanje ali pa CIM. GZ na primer ni dobila izvajalca za IS v Sloveniji. Gradi se nova CTK in društvo naj se aktivira tudi tu. Institut Je danes težko ustanoviti. Tasič: Mnogi, ki so bili vabljeni niso prišli. V profesionalnem delu je odgovornost, tega pa tu ni. Poleg tega opažam nezaupanje med raziskovalci in aplikativci. Faleskini: 0,6X dohodka se 'združuje v raziskovalno skupnost (za temeljne raziskave), približno 50 milijonov dolarjev v Iskri gre letno za razvoj (aplikativni razvoj) toda samo 280.000 dolarjev za rizičen razvoj (to je za raziskave). S kadri se ne da substituirati kapital. Slovensko zaledje ni dovolj veliko zato potrebujemo joint venture za aplikativne raziskave, kapital iz EUREKE, ESPRIT in drugih. Delajmo kot Korejci in Tajvanci. Društvo naj se organizira kot društva po svetu s članarino, ki mu bo omogočala naročanje strokovnih študij. Veber; 2e dolgo časa imam novo idejo o in-formaci jskem stroju. Pri nas se je ne da recenzirati ker recenzije ni mogoče plačati. Rozman: Cloveéki input v raziskovalna delo je majhen in nimamo kritične mase raz i skoval cev za sprejemanje in izvajanje velikih projektov. V prvi letnik pri nas se vpiše 300 študentov, diplomira jih 50, 10 od teh jih naredi magisterij, eden pa morda doktorira. Društvo naj animira za študij računalništva. Pri ■finansiranju računalništva preko PORS je bilo računalništvo v obrobju in ta program je žalost. Nekatere naloge sploh ne sodijo v PORS. Marinček: Delo društva bi moralo biti neplačano in društvo bi moralo biti strokovni parlament za kon-f rontaci jo strokovnih mnenj in javne kritike. Pro-f esi onal no delo pa mora biti plačano. Društvo naj združuje raziskovalce in aplikativce v interesne skupine in naj opozori na potrebo po koordinacij i. Čitanje standardov naj bo neplačano, ne tako kot IJS, ki je predlagal 17 FTE zato, da se bo ukvarjal s standardizacijo. Slišimo, kako se pri nas hvali umetna inteligenca iz IJS. Toda rezultati teh raziskav v industriji so minimalni. Mislim tudi, naj naši raziskovalci poberejo ideje po svetu in jih pripeljejo v industrijo. Tako so nekoč delali Japonski raziskovalci. Ustanovitev instituta pa se mi zdi teika. Spegel: Raziskovalci ne moremo istočasno delati ■fundamentalne raziskave, prototipe in delovati hkrati ha tržišču. Tak primer imamo na umetni inteligenci, ko naša industrija ni imela dovolj posluha za sodelovanje. Koordinacija preko RSS in PDRB je bila pa popolnoma neučinkovita in niti 5X vložene energije in naporov nismo uspeli realizirati. Rozman: Madžarska prodaja za HP, sodelovanje, s svetovnimi -firmami. torej Jereb: Ali pomeni institut novo stavbo ali povezavo, koordinacijo? Spegel; V perspektivi tudi stavbo. Murn: Forum ima pomembno vlogo, saj združuje raziskovalce iz vseh krogov. Spegel! Za akcije nimamo dolgo časa. Sesedajo se centri intelektualne' moči. Raziskovalci, magistranti si ne morejo ustvariti življenskih pogojev, odhod v industrijo ni atraktiven in odhajajo v tujino in v privatne firme. Kogovšek: V privatnih -firmah delujejo na PC-jih. Kritična masa bo kmalu pona. Takrat se bo to ustavilo. . Rožič: Tisti ki jih ni na Forumu očitno delajo zase, ne pa za izboljšanje splošnega stanja. Mekinda: Oblikujmo zaključke. Mislim, da smo ugotovili, da ni družbene in-frastrukture za področje informatike. Opredeliti moramo tudi kaj bomo na področju informatike delali. Nadalje se moramo dogovoriti kako to realizirati, vključno z mednarodno udeležbo. Treba je tudi definirati interes industrije in širše družbe za to področje. Društvo pa lahko deluje samo preko posameznikov in posnema podobna društva v svetu. To pomeni angažirati strokovnjake, ampak ne po devalviranih cenah, ki jih naša družba vsiljuje raziskovalnemu delu. Potrebna je profesionalizacija in ta predlog bomo poslali BZ in Izvršnemu svetu. Prešern: Pri oblikovanju zaključkov moramo izhajati iz dejstva, da je vloga računalništva in informatike v naši družbi podcenjena. Republiški komite za znanost in tehnologijo nam je v pripravah za ta Forum prisluhnil in neuradno podprl idejo o formiranju ekspertne skupine, ki naj analizira in ovrednoti stanje ter izdela predloge za ukrepe, izdela osnutek strategije. Ta strategija naj obravnava poleg že prej omenjenih problemov tudi predlog vrednotenja kvalitete razi skoval nega in razvojnega dela na področju računalništva in informatike, z v naprej postavljenimi kriteriji. Status raziskovalca (razvojnika) in njegovo finasiranje naj bi bilo povezano s temi kriteriji. Pri kadrovski politiki mislim, da bi dobili jasne pokazatelje slike z dobro anketo vseh raziskovalcev in razvojnikov iz računalništva in informatike v industriji, institutih in univerzah. Predlagam tudi, da pozovemo bodoča ekpertno skupina, da razišče vse okoliščine v zvezi z sredstvi italijanske vlade po programu C. Ekspertna skupina naj bo imenovana v soglasju s Slovenskim društvom informatika in naj pri svojem delu upošteva razpravo iz FORUMa . Rezultate ekspertize želimo obravnavati na enem od naslednjih FORUMOV. Sledilo je oblikovanje sklepov, ki so povzeti v dokumentu "SKLEPI FORUM INFORMATIONIS". Povzel: Saša Prešern novice in zanimivosti news z ekspertnim sistemom proti propadanju podjety (Prenos znaiya v računalnike) Ed Feigenbaum, vobčepriznani o5e ekspertenga sistema, profesor računalniških znanosti na stanfordski univerzi, je skupaj s svojima sodelavkama Pamielo McCorduck in Penny Nii izdal knjigo "The Rise of the Expert Company" (Vzpon ekspertnega podjetja), ki je izšla konec prejšnjega leta. V tej knjigi opisuje, kako vizionarska podjetja uporabljajo umetno inteligenco pri povečevanju produktivnosti in dobička. Ta podjetja so s takšno ekspertno informacijo lahko uresničila znantne kapitalne prihranke in dobičke. V nekem intervjuju je Feigenbaum izjavil, da za to knjižnje delo enostavno ni bilo mogoče najti slabega primera in zato v knjigi navaja le uspešne primere. Pravi, da je sam resda največji zagnanec na področju ekspertnih sistemov, toda to, kar je izkusil z uporabo teh sistemov, enostavno presega vsa pričakovanja. Uspehi pa niso bili doseženi brez preseganja nasprotovanj. Feigenbaum pravi, da se mora v katerem koli podjetju pri delu z ekspertnim sistemom najprej pojaviti prvak, katerega glavni lastnosti sta zagnanost in upornost v govorjenju, prepričevanju, poudarjanju, ob dodatnem delu doma in v tajnosti. Prav to pa je lahko tudi začetek uspešne kariere. Korporativna reakcija na delo prvaka je odvisna od korporativne kulture in gospodarskih okoliščin. Npr. pri Schlumbergerju, kjer je Feigenbaum konzultant, se testira resnost nekega predloga tako, da se predlogu znova in znova nasprotuje. Vendar se te vrste projekti podpirajo neuradno in na nenavadne (neortodoksne) načine. Propadajoči ameriški proizvajalec tovornjakov Navistar se je moral v celoti prestrukturirati in oblikovati nove konkurenčne možnosti in novo profitnost. Podjetje je bilo na robu propada in je tako dozorelo za uvedbo ekspertnih sistemov v svoje poslovanje. Pristop k uvedbi ekspertnega sistema ima tudi svojo psihologijo. Vsiljevanje sistema prek tehnikov končnim uporabnikom je neuspešno, čustvena naklonjenost uporabnikov kot lastnikov ekspertnega sistema je bistvena. Tipična reakcija zavračnaja ekspertnih sistemov pri uporabnikih je strah pred onesposobitvijo. Feigenbaum navaja dva glavna razloga zavračanja ekspertnih, sistemov. Naloga glavnih izvršnih uradnikov podjetja (po naše direktorjev in njihovih pomočnikov) je strateška vizija podjetja, proti kateri je tveganje enega milijona dolarjev za ekspertni sistem kar sprejemljiva naložba. Tudi mlajši uslužbenci na nižjih ravneh podjetja si želijo zanimivih nalog, ki jih delo z ekspertnim sistemom prinaša. Odklanjanje ekspertnih sistemov pa se pojavlja pri direktorjih srednje ravni, ki so najbolj izpostavljeni in za katere pomeni igra z milijonom dolarjev nezaslišano tveganje. Toda to nasprotovanje srednjega sloja vodstva, s katerim se sooča prvak umetne inteligence v podjetju, je zanemarljivo v primerjavi z obrambnim obzidjem, s katerim je obdana rakavost (malignost) služb vodstvene informacije. Gre za izredno občutljiv in boleč problem. Največ jeze in zagrenjenost i vpraševalcem (graditeljem) ekspertnega sistema povzročajo neprilagodljivost, konzevativnost in obstukcionizem navadnih direktorjev obdelave podatkov. Felgenbaum anonimno navaja, kako so se npr. pojavile zahteve, da mora biti samostojni lispovski računalnik, na katerem se izvaja ekspertni sistem, združljiv z IBM SNA ali kako so se za ekspertni sistem pojavile napačne ocene, da ta povzroča zniževanje zmogljivosti glavnega računalnika. Odkod lahko izvira sovražnost te vrste? službe upravljavske informacije so sestopile v t.i. PC revolucijo. Naslednji napad se je pojavil iz smeri sektorjev za ekspertne sisteme, ki so želeli svoje delo opraviti brez avtorizacije služb vodstvene informacije. Toda ti pojavi so bili le začasni. Medtem je IBM že močno zakoračil v plasma ekspertnih sistemov in oddelki za informacijsko tehnologijo v podjetjih so se vdali. Sedaj ko je IBM legaliziral ekspertne sisteme, so pomisleki o tveganju odpadli. Čeprav Feigenbaum razmiSlja, da industrija prepočasi vstopa v področje ekspertnih sistemov, mu ekonomist Nathan Rosenberg razlaga; Tudi televizija, ki je bila izumljena leta 1929, je dosegla svojo uveljavitev Sele leta 1948. V letu 1987 je bilo po svetu v uporabi le 1500 pravih ekspertnih sistemov. Feigenbaum tako ni le oče ekspertnega sistema, temveč postaja tudi zgodovinska osebnost ekonomije. Gre za prepričanje, ki ga skupaj s Feigenbaumom imajo tudi industrijski ekonomisti in vodstveni misleci. Feigenbaum trdi, da sta dve tretjini današnjih proizvodnih stroškov še nedotaknjeni. S tem so mišljeni na znanju osnovani stroški poslovanja z nabavo, načrtovanjem, inženiringom, zagotavljanjem kakovosti, upravljavsko koordinacijo in kontrolo, odločanjem in informacijskim pretokom, prodajo, uslugami in s finančnim vodenjem. Tu je v bistvu še prazen prostor produktivnosti, ki mu je potrebna le avtomatizacija, da bi postal dejavnik znanja. Ekspertni sistemi so ključ te avtomatizacije, ker pospešujejo vse pomembne kompetitivne komponente "pametnejšega opravljanja dela". Ekspertni sistemi tako niso le ojačevalniki znanja, temveč so prava orodja produktivnosti podjetja danes in v prihodnosti. Socialni učinki ekspertnih sistemov so primerljivi s povečanjem hitrosti avtomobilskega transporta v primerjavi s konjskim. Feigenbauma ne zanima, kakšno taktiko bosta industrija in trgovina sprejeli, da bi omogočili tehnološko uporabo ekspertnih sistemov. Pristopi uvajanja nove tehnologije so lahko različni, npr. od večjih količin cenenih, netveganih, majhnih sistemov, razpršenih širom po podjetju (to je izkušnja Du Ponta), do velikih, strateških sistemov (kot sta Amexov Credit Authorizer in DECov Excon za konfiguriranje računalniških sistemov). Kakor koli že, £im manjši je ekspertni sistem in 5im nižje je tveganje, tem manjši so tudi prilivi iz investicije podjetja. Feigenbaum imenuje Veliko Britanijo deželo PC-jevskih ekspertnih sistemov in pravi, da je iskanje ekspertnega sistema v Britaniji, ki bi bil realno uporaben, kot iskanje školjk pri nizki plimi. Potrebnega je obilo kopanja, da bi se morda kaj našlo. Na ameriških univerzah je tudi tehnološki transfer sijajna tradicija. Na stanfordski univerzi imajo praktično vsi profesorji svoja "podjetja (izjemi sta le en germanist in en zgodovinar). Feigenbaum ima celo dve svoji podjetji za umetno inteligenco, in sicer Intelicorp in Teknowledge. Nerazvitost Britanije na področju umetne inteligence je predvsem posledica Lighthillovega poročila v letu 1971, s katerim je bil zaustavljen normalen razvoj umetne inteligence. Tudi Japonci so opremili vrsto svojih podjetij po vsej Japonski z ekspertnimi sistemi. Medtem ko je japonska industrija osvojila lisp kot osnovni jezik, je državni raziskovalni center Icot izbral prolog. Ta poteza icota pa je bila skrajno neprimerna, saj njegovo delo na tem področju ne bo nikoli uporabljeno. Logično programiranje (prolog) namreč ne more zmagati; preveč je nefleksibilno. Praktiki prologa želijo biti formalni in gledajo zviška na pragmatične pristope. V ideološki bitki med formalisti umetne inteligence, ki stavijo vso na predikatno logiko in onimi (fuzziji), ki tolerirajo vse, kar deluje, se pojavljajo nasprotja. Fiegenbaum se opredeljuje za druge. Njegova sled so večji in boljši sistemi, ki temeljijo na znanju. Današnji, majhni ekspertni sistemi dosegajo ničto kompentenco. Potrebno jim je neprimerno več znanja, ne pa več umske moči (zmogljivosti sklepanja) . Sklepanje po analogiji je tudi naraven proces prilagajanja izkustvu. Narediti računalnike bolj inteligentne pomeni po Feigenbaumu narediti jih občutljivejše za znanje. Obstajata dva razloga, ki govorita proti inteligenci stroja. Prvi je vitalizem, ki stoji izven okvirov današnje znanosti. Drugi od obeh razlogov je tehničen. Moč sistemov umetne inteligence izvira iz znanja, ki ga je mogoče zajameti, ne pa iz zmogljivosti strojnega sklepanja. Ekspertni sistemi morajo imeti dovolj visok potencial znanja o svetu, da bi lahko bili tudi njihovi programi dovolj prožni, prilagodljivi in inteligentni. To kar opredeljuje umetno inteligenco je še vedno Newell-Simonova hipoteza o fizičnem simbolnem sistemu, po kateri so fizični simbolni sistemi (taki, kot možgani ali digitalni računalniki) povsem zadostni In dovolj sposobni za opravljanje inteligentne akcije. Tega ni mogoče dokazati, trdi Feigenbaum, ker je to delovna hipoteza. Če v to verjčimete, ste delavec na tem področju. Če v to niste prepričani, pač niste umetni inteligenčnik. Feigenbauma tudi ne zanimajo sterilne razprave o tem, ali je strojna inteligenca teoretično mogoča in ali se koncepti umetne inteligence dotikajo etičnega ozadja. Eden takih kritikov je npr. Joseph Weizenbaum z MIT, ki govori o nevarnosti umetne inteligence zaradi nedopustnega poenostavljanja pri razpoznavanju človekovega uma (v knjigi Computer Power and Human Reason, 1976). Feigenbaum pravi, da je Weizenbaumova kritičnost neodgovorna in napačna. Weizenbaum se vsiljuje kot svetnik in virtukrat (uradnik kreposti). Raziskovalci na področju kognitivnih znanosti, ki jih kritizira, spadajo med najpomembnejše znanstvenike dvajsetega stoletja: da so to velikani, je danes očitno. Tu dosežejo Feigenbaumovi izbruhi svoje vrelišče. Predpostavlja, da je Weizenbaum s svojo paničnostjo zgrešil bistvo. Mentalnost je opredeljena z več dimenzijami, vendar za večino teh dimenzij ni interesa. Weizenbaum se vprašuje, ali stroji lahko čustvujejo, toda zakaj bi investirali denar v takšen odgovor. Na skrajnem koncu spektra umetne inteligence se zanimanje za človekov um pojavlja enostavno zaradi umske lokacije inteligence. Ljudje umetne inteligence verjamejo, da obstaja taka množica inteligenčnih principov, ki velja neglede na to, ali se ta inteligenca pojavlja v ogljikovih ali silicijskih sistemih. Ti ljudje iščejo principe in ne človeške kvalitete, vendar je edini ustrezno dostopni inteligentni sistem prav humanoid. Pri tem velja upoštevati Se to, da je odkrivanje neprimerno lažje od invencije in da so današnji sistemi umetne inteligence zaradi tega tudi usmerjeni v posnemanje človekovih sposobnosti. Tesna povezava umetne inteligence in kognitivne psihologije pa je izredna. Feigenbaum tako nepopusttlj ivo zavrača Weizenbaumovo obtožbo, da umetna inteligenca omalovažuje status človekovega uma. Model človeka kot informacijskega procesorja ne pomeni razvrednotenja človeka. Ta model povečuje človekovo veličino, njegovo razvojno stopnjo, ko dopušča uporabo lastnega umskega mehanizma za razlago, kako sam človek deluje. To je prav gotovo velik izziv, s katerim se soočamo. In kaj odseva ta refleksija, kaj bi um lahko bil? Feigenbaum odgovarja s strojem, brez dvoma in brez omahovanja. Strojna inteligenca je že tu. Post scriptum. Zanimivo bi bilo vedeti, kaj bi lahko postoril Feigenbaum, če bi mu kako "dobro stoječe" slovensko podjetje dalo proste roke pri oblikovanju vodstvenega (predvsem finančnega) ekspertnega sistema. Tudi če bi npr. odpadle vse težave s srednjim vodstvenim slojem in s šefi informacijskih centrov, bi moral Feigenbaum s svojo ekipo šele odkrivati zakonitosti anarhičnega in nepredvidljivega finančnega kompleksa slovenskega podjetja. In verjetno bi s to svojo izkušnjo lahko bistveno obagatil in posplošil svoje sedanje znanje, ki je usmerjeno predvsem na dokaj regularne in dobro identificirane pojavnosti ameriškega poslovnega prostora. Mogoče pa bi mu naši umetni inteligenčniki lahko nekaj takega predlagali. In lahko bi se zgodilo, da bi Feigenbaum tako ponudbo sprejel in napisal novo knjigo v sodelovanju z našimi strokovnjaki: The Rise of the Expert Company under the Economically Unforeseeable Circumstances. To pa bi lahko postal pravi priročnik in uspešnica ekonomistov in podjetnikov nerazvitega (zlasti neuvrščenega) sveta in Feigenbaumov osebni doprinos k reševanju svetovne krize planetarnega juga. Anton P. Železnikar Intel's ISSCC Bombshell: A Supercomputer on a Chip At this year's International Solid State Circuits Conference in New York Intel has introduced 80860, a 40-Mhz chip that packs more processing power per square micron than anything in its class this year. It is a reduced-instruction-set-computer chip that is no less than the silicon equivalent of a Cray 1 supercomputer. ,The 80860 delivers 33 million VAX instructions/s running the Stanford test suites, 10 million floating-point operations/s on the Linpack benchmark, 90,000 Dhrystones, and 500,000 4-by-4 vector transforms/s performing a graphics operation. In addition, it has been designed for multiprocessor operation, so the company has multiprocessor Unix development under way to support it. Intel will start feelling the 80860 before the year is up for Š750 in 1,000-unit lots. The chip comes with a RISC integer CPU, singler and double-precision pipelined vector floating-point processors (a separate adder and multiplier), 3-d ■ graphics, 4-Kbyte instruction and 8-Kbyte data caches, and paged memory-management unit. It uses a 64-bit data and instruction bus to execute more operations per second. With such a wide data path, the computer can load a 32-bit integer and 32-bit floating-point instruction, which execute concurrently in a single clock cycle. Moreover, because the unit has separate multiplier and adder, a multiply-and-accumulate operation can occur in a single clock cycle as well. The graphics processor can operate on bytes of data, a powerful feature for handling color. In one instruction cycle, the unit can individually process the values to drive the red, green, and blue guns of a color monitor and still have a byte operation to spare. But raw processing power is useless unless processors can rapidly acquire data to feed these units. The 80860 has a system of buses that could not. be implemented easily on a printed-circuit board with discrete processor chips. A 64-bit bus feeds instructions to both integer and floating-point processors. It transfers 320 Mbytes/s of data. Another bus runing between the data cache and the floating-point unit is 128 bits wide and can move 640 Mbytes/s. The external bus to the DRAMs- is 64 bits wide and can transfer data at 160 Mbytes/s. There are special instructions for performing pipeline accesses of large data structures, that don't completely fit inside the cache, called pipelined floating-point load, in which the data is brought directly into the floating-point hardware without going through the on-chip cache. The pipeline floating-point load instruction of a large data structure implies a one-time use of the data coming into the floating-point unit; so it is not desirable to flush the cache and load it with information that will only have to be flushed afterward anyway. This feature - preventing a cache flush and loading data directly From RAM at full speed by overlapping memory accesses from the three banks of memory - provides a factor-of-three speed increase. Three-dimensional graphics capability was added after the initial chip-architecture definition. It occupies only 3% more silicon area, to give about 10-times performance improvement in 3-d graphics. Intel has recognized the importance of providing software for the 80860. In introducing the chip in late February, the company announced a complete set of development tools including C and Fortran compilers and Fortran vectorizers. Intel also has an early ' prototype of a multiprocessing version of Unix on the 80860, now being upgraded to system V, Release 4.0. (Electronics, March 1989) Hitij Deset principov strategije industrijskege računalniškega podjetja Uvod Kako začeti strateSko načrtovati razvoj industrijskega računalniškega podjetja? Ali je mogoče postaviti deset osnovnih razvojno-smiselnih in izkustveniuh principov? Induktivno miSlenje o strategiji je že nekaj časa vodilni princip upravljavske inteligence uspeSnih podjetij. Tržna usmerjenost in izhodiSča za uresničevanje visoke tehnologije so strateSki elementi na področjih elektronske industrije, v katero sodita tudi komunikacijska in računalniška industrija. Tudi pri nas se pojavlja industrija, ki postaja čedalje pomembnejša proizvajalka in prodajalka na profesionalnem in konzumnem računalniškem tržišču. V zadnjih desetih letih se je podoba domače računalniške industrije radikalno spreminjala in se v kriznih razmerah spreminja povsem nepredvidljivo. Zaradi tega ne bi kazalo napovedovati njene prihodnje strategije in taktike, ki bi premočno temeljili na njeni preteklosti. Doslej se je naša računalniška industrija razvijala pretežno na domačem trgu, dokler ni dosegla kritičnega stanja v svoji organiziranosti in poslovni podjetnosti. V tem trenutku kritična masa domače računalniške industrije ni razvojno, kadrovsko in poslovno konsolidirana. Npr. profitnost poslovne usmerjenosti naj bi se opredeljevala nanovo, trženje bi se moralo razširjati na več tujih trgov, raziskave in razvoj naj bi povečale industrijsko moč v smeri večje kakovosti in količine produktov, novo strateško mišlenje in "naravni" upravljavski koncepti so potrebni pri ugotavljanju nujnosti republiških, federalnih in še posebej tujih vlaganj in industrijske kooperacije itd. Osnovni principi strateškega mišljenja domače računalniške industrije (1) Domača računalniška industrija (DRI) bo povečevala obseg svoje prodaje do 1,2 milijarde ameriških dolarjev v desetih letih in bo letno dosegala 15 odstotni ali večji dobiček z nadaljno rastjo produktivnosti. (2) Profitnost DRI bo temeljila v izbiri njenih produktov, v kateri bodo supermini in mini računalniki in PC/profesionalni mikroračunalniki. (3) Velika priložnost DRI so lahko bistvene spremembe v republiški in federalni zakonodaji in možnosti vključevanja v Evropsko skupnost. V tem kontekstu bo DRI povečevala svoje napore pri vlaganjih, kooperaciji in podjetniškem združevanju, z nadaljevanjem vrste fundamentalnih sprememb, ki so se že začele. (4) DRI bo opravila dva pomembna tehnološka preboja, ki bosta vsak po svoje bistveno spremenila prihodnost njene lastne in spremljajoče industrije. Ta preboja sta Računalniško integrirana komunikacija (angl. CIC) in Računalniško integrirana proizvodnja (angl. CIM). (5) DRI lahko napreduje na več frontah. Močan pritisk se bo pojavil v mednarodnih vlaganjih in v okviru evropske industrijske kooperacije. Oboje lahko razširi trg DRI ne samo v industrijski avtomatizaciji, temveč tudi na področjih CAD/CAM, visoko zmoglivih in znanstvenih naprav. (6) DRI bo izboljševala svoje razumevanje in sprejemanje mednarodnih (zlasti evropskih) industrijskih standardov in metodologij in ne bo podpirala lokalnih in subkulturnih standardov in metodologij. (7) DRI bo podpirala strategijo Odprtega trga s ciljem utrjevanja prodaje lastnih in kooperacijskih produktov. Dobršen del prodaje DRI bo izvajan tudi s prodajalci, ki niso neposredni uslužbenci DRI. (8) DRI bo vlagala v majhna, inovativna podjetja, ki bodo obvladovala tako aparaturno kot programsko opremo in tista, ki ji bodo lahko hitro pomagala pri dopolnjevanju njenih zahtev po računalniško integrirani komunikaciji (CIC). (9) Tako imenovano pisarniško in tovarniško tržišče bosta ostali glavni usmeritvi marketinške strategije DRI. To pa ne pomeni, da DRI ne bo razvijala nekaterih posebnih tržnih in produkcijskih aktivnosti. (10) Skladno s pomembnostjo lastnega razvoja bo DRI skrbno spremljala ravnovesje med njenim trženjem in tehnološkimi dejavnostmi na zapadnih in vzhodnih trgih in pri industrijski kooperaciji. Povzetek Ta zapis predpostavlja, da bo trenutna strategija DRI omogočala doseganje ciljev, ki so bili zapisani v odstavkih prejšnjega poglavja. Glavni cilji DRI so rast v okviru industrije, mednarodni industrijski standardi in metodologije, konkurenčni produkti in usluge in trajna profitnost. Ti cilji bodo dosegani z mednarodnim ravnovesjem pri vlaganjih in industrijski 'kooperaciji, z ustrezno industrijsko integracijo, alternativnim marketingom, odprtimi sistemi, razvojnimi programi CIC in CIM. Nemudoma je nujno zgraditi takšno marketinško organizacijo, ki bo sposobna generirati zadosten obseg naročil, potrebnih, da se lahko produkcijske zmogljivosti DRI vzdržujejo na profitni stopnji in da bo omogočeno razširiti prodajne dejavnosti zlasti na zapadnih trgih. Pričujoči zapis je predvsem začetek razvoja bojnega načrta DRI, in to korak za korakom. Odtod je mogoče izpeljevati podrobnejše strateške (planske) in taktične (operativne) zamisli. A. P. Železnikar Transputer - mikroprocesor, ki prihaja Tržišče 32-bitnih mikroprocesorjev se je v zadnjem letu povečalo za 230%. Intel in Motorola sta Se vedno najmočnejša mikroprocesorska prozvajalca. Nov, prodorni mikroprocesorski proizvod pa je transputer, čeprav je njegova prodaja v Evropi leta 1988 dosegla Sele $18m, naj bi to tržiSče v letu 1992 znašalo že s400m. Tudi največji računalniški prizvajalci in zlasti proizvajalci delovnih postaj ponujajo svoje riscovske računalnike. Trendi v smeri RISC tehnologije naraščajo zaradi možnosti proizvodnje superhitrih delovnih postaj, miniračunalnikov in t.i. vmeščenih krmilnikov. Pojav transputerja je prekinil dominacijo Intela in Motorole. V letu 1992 naj bi tržišče RISC mikroprocesorjev doseglo 2e tretjino tržišča visokozmogljivih mikroprocesorjev. Uporaba RISC procesorjev naj bi naraščala stitikrat hitreje kot uporaba navadnih mikroprocesorjev. Trenutno je registriranih vsaj 12 različnih tipov RISC procesorjev. v čem je prednost RISC (Reduced Instruction Set Computing) v primerjavi z CISC (Complex Instruction Set Computing)? RISC ima precej hitrejši izvajalni mehanizem kot CISC zaradi manjše ukazne zaloge. En ukaz lahko obdela v enem samem ciklu stroja. Tudi veliko število teh enostavnih ukazov se lahko procesira hitreje kot se procesirajo zaporedja ekvivalentnih kompleksnih ukazov v CISC procesorju. Celo IBM je začel z intenzivnim razvojem RISC conceptov in prijavil že več patentov za posamezne transputerske dele in tehnologijo. IBM je uzakonil RISC s svojo delovno postajo že pred tremi leti. Hewlett-Packard se je spustil v tvegano igro tako, da je svojo linijo Spectrum v celoti opremil z RISC procesorji. RISC je tako postal najresnejši izziv proti dominantni mikroprocesorski arhitekturi, ki sta jo razvila Intel in Motorola. Trg pa čedalje bolj potrjuje sprejemljivost RISC tehnologije. Tako se tudi Intel pojavlja s svojim RISC mikroprocesorjem 80960, ki naj bi bil predviden za uporabo vmeščenega krmilnika. Večina RISC procesorjev je optimizirana na uporabo operacijskega sistema Unix, ki je na področju uporabe delovnih postaj zelo popularen. Ob tem pa se RISC tehnologija pomika čedalje očitneje v poslovne aplikacije in se ne omejuje več le na specialno inženirsko uporabo. Vendar sam RISC procesor ne bo dovolj. Aplikacije RISC procesorja zahtevajo posebne periferne krmilnike. Motorola že ima enoto s plavajočo vejico v svojem procesorju 88000. Ker je RISC arhitekturno enostavnejSi od CISC, je tudi cena na enoto lahko znatno nižja. Industrijski analitiki računajo, da bo ta cena padla na $1000 za IMIPS v letu 1992. V RISC je pravzaprav vključenih tudi vrsta lastnosti CISC. Za Motorolin 88000 se poudarja zmožnost njegove uporabe pri razäirjenem paralelizmu. Masovno vgrajevanje RISC mikroprocesorjev v procesne enote računalnikov bo znižalo ceno na enoto zmogljivosti. Ta masovnost pomeni paralelno arhitekturo računalnikov. Tu velja poudariti, da je hitrost integriranih procesorjev povezana tudi z njihovo toplotno disipacijo, tj. s problemi odvajanja toplote oziroma s povečano ceno hlajenja. S paralelizmom pa se bo enormno povečala zmogljivost računalnikov, tako da bo najbrž odklenkalo današnjemu konceptu dragih glavnih računalnikov in superračunalnikov. Ta proces paralelizacije bo pospeSen zlasti zaradi padanja cen mikroprocesorjev. Tržigče paralelnega procesiranja se 2ele oblikuje in vanj že vstopajo tudi največji računalniški proizvajalci. Samo malo, neznano podjetje Alliant Computer je v lanskem letu prodalo za $75in svojih supermini sistemov. Ti računalniki imajo zmogljivosti supersistemov ob cenah mlnisistemov, ko uporabljajo paralelno arhitekturo s svojimi integriranimi procesorji. Za paralelne arhitekture pa je seveda potrebna tudi paralelna programska oprema, npr. inteligentni kompilatorji. Privlačna so tudi paralelizirana jedra operacijskega sistema Unix. S takšnim pristopom je pri povezavi 30 procesorjev mogoče doseči zmogljivost sistema 120 MIPS (npr. računalnik podjetja Sequent). Transputer je prav za prav osnova za masivne paralelne procesorje. S transputersko arhitekturo je mogoče zmogljivosti sistema enostavno prilagajati potrebam, hkrati pa je ta arhitektura skrajno modularna. Tako je mogoče s transputerskira konceptom gospodarno pokriti kar najširSi spekter zmogljivosti, npr. od osebnega računalnika s 5 MFLOPS do zahtevnega sistema z 200 MFLOPS. Pri velikem številu procesorjev mora biti tudi pomnilnik porazdeljen. Seveda pa mora ostati zunanji vtis, da je pomnilnik globalen, ker je splošno računalniško tržišče Se slabo seznanjeno s stroji, ki uporabljajo porazdeljeni pomnilnik. Pri sistemih z globalnim pomnilnikom se pojavljajo resne težave, če je število procesorjev večje od 30. Transputer kot procesor podpira klasično, pomnilno in komunikacijsko procesiranje in je zato pripraven kot gradnik paralelne procesorske mreže. Osnovni problem vseh paralelnih sistemov pa ostaja prej ko slej programska oprema. A. P. Železnikar Od ptičjega petja do nevrogeneze Novica, ki jo objavlja časopis Scientific American (februar 1989), je lahko zelo zanimiva tudi za konstruktorje nevralnih računalnikov. Potrjuje namreč, da se v naravi že dogaja to, kar so si upali najdržnejši konstruktorji le domnevati. Zakaj pravzaprav gre? Pri študiju središč za krmiljenje petja v možganih kanarčka so odkrili, da se rojevajo nove živčne celice v zreli dobi življenja in da lahko nadomestijo stare celice. Takšna nevrogeneza kaže na možnosti, kako bi bilo mogoče dosegati samopoprav1 j anj e (avtoreparaturo) tudi v človekovih možganih. Seveda pa bi želeli imeti to lepo lastnost smaovzdrževanja tudi v nevralnih računalnikih. Eno izmed najtrdnejših prepričanj nevroznanosti je bilo doslej, da se vsi nevroni ali živčne celice oblikujejo v dobi dozorevanja, ko tudi možgani rastejo. Verjelo se je, da ima odrasli vretenčar fiksno število nevronov. Tako naj bi se nevroni, ki so bili uničeni zaradi bolezni ali poškodb ne nadomeščali in učenje se naj ne bi razvijalo z nastajanjem novih celic v nevralnih mrežah, ki krmilijo vedenje, temveč le z vzpostavljanjem povezav med omejenim številom nevronov. Nova evidentnost nevrogeneze se je pojavila na povsem nepričakovanem področju: pri raziskavah učenja petja pri ptičih. Pri tem so opazili, da se ne rojevajo stalno le novi nevroni v ptičjih možganih v dobi ptičje zrelosti, temveč novo rojeni nevroni zamenjujejo tudi postarane nevrone. Ti novi nevroni naj bi predvsem prevzeli novo informacijo, ki nastaja z učenjem. Sposobnost učenja petja pri mladih in odraslih ptičih naj bi bila tako odvisna predvsem od pojavijivosti novih nevronov, ki lahko oblikujejo nove mreže. Pri tem pa bi morda bilo mogoče odkriti, kaj bi lahko pripeljalo do razkritja faktorjev, ki bi stimulirali človekove možgane, da bi popravljali same sebe z nadomeščanjem poškodovanih nevronov z novonastalim!. A. P. Železnikar Ekološke raziskave poklicnega programiranja že več kot dvajset let raziskujejo psihologi vidike programske produktivnosti in kakovosti z opazovanjem konstruktorjev in uporabnikov programske opreme. Pri tem uvajajo sistematične mere vedenja v procese razvoja programov in v raziskave novih metod programiranja in tehnologij z odpiranjem novih socialnih in kognitivnih interpretacij programirnih procesov. Psihologi zato tudi sodelujejo pri oblikovanju in definiciji novih programskih artefaktov. Ekološko oblikovanje programske opreme si tako postavlja nove oziroma svojske norme in cilje. Programiranje je velikokrat skupinsko delo. Tradicionalni model vodnega slapa pri razvoju programov z natančnimi specifikacijami navzdolnjega razvoja dobiva še nove prijeme, ki poudarjajo hitro snovanje in iterativno izboljševanje programa. Pri tem so pomembni zlasti skupinska organizacija, skupinski procesi, politika vodenja, možnosti ponovne metodološke uporabnosti, razvojna orodja, oblikovalne metode, strategije odkrivanja napak in vzdrževanje programov. Ti faktorji pomenijo t. i. novo programirno paradigmo, ki pa je še vedno v svoji otroški fazi. Postavljanje oblikovalnih zahtev in razvojnih, prototipov namreč ne spada med standardne dejavnosti psihologov. Ta vloga psihologa pri razvoju programov šele nastaja. Nova paradigma zahteva tudi razvoj idej, ki neposredno vplivajo na programirno produktivnost in kvaliteto. Oblikovanje programov je dejavnost, ki se dogaja na delovnih mestih izven psiholoških laboratorijev in je predvsem tehnološko terminirano. Potrebna je izčrpnejša analiza poklicnih programrjev v okolju realističnih nalog. V študiji posameznega primera se analizirajo podrobnosti, kvalitativna informacija, intervjuji. Tako zbrani popdatki so lahko zelo bogati in odpirajo različne perspektive. Kot že povedano, spadata gradnja in invencija artefaktov v področje, ki v raziskovalni psihologiji ni standardno. Sodobna programska oprema je prepletena s psihološko vsebino, npr. v razpravi o racionalnosti strukturiranega programiranja ali o objektno naravnanem programiranju. Tu naj bi šlo za sistematizacijo psihološke vsebine pri tovrstnem razvoju programov. Pojavlajajo se t.i. projekti ekološkega oblikovanja programov. V njih se uvaja pojem nalogovno-atrefaktnega cikla: psihološke analize nalog, ki jih programerji radi opravljajo, povezanih s problematiko, viđenjem in zadovoljstvom njihovega izkustva; temu sledi postavljanje ciljev za nova programima orodja, ki pa so omejena s tehnološkimi zmogljivostmi. Nova orodja dejansko spreminjajo naloge, za katere so bila oblikovana, spreminjajo situacijo, v kateri so naloge nastopale in spreminjajo celo pogoje, zaradi katerih so jih programerji želeli uporabljati. Vse to pa zahteva nadaljno analizo nalog in čas za izdelavo novih artefaktov. Ekološke oblikovanje je Se vedno nastajajoči pristop, v katerem naj bi psihološki razmisleki vodili oblikovanje novih programskih artefaktov v realnih situacijah. Ključni problem teh projektov je namera, da se integrirata psihološka analiza naloge v realni delovni situaciji in razvoj novih programskih artefaktov, s katerimi se izboljšujejo uporabnost, produktivnost in zadovoljnost. Pri tem je pomembna tudi psihološka analiza vloge in uporabe dokumentacije in njene oblike pri programskem vzdrževanju. Pomembne so npr. tudi izkušnje, kako se študenti učijo programiranja v lispu in kako delujejo sistemi za poučevanje tega jezika. Tak sistem-učitelj je lahko v regularni uporabi v kurzih o jeziku lisp in je običajno uspešnejši od standardnega poučevanja. Vloga kognitivnih in socioloških znanosti pri invenciji programske tehnologije je lahko očitno izredno pomembna. Morda bi bil čas, da bi tudi v našem delovnem okolju sprožili podobno raziskavo. Časopis Communications of the ACM (november 1988, letnik 31, številka 11) je objavil več člankov o ekologiji programiranja. A. P. Železnlkar Podjetje Mentor Graphics, producent delovnih postaj, poroča o dobičku v letu 1988, ki znaša $33,5m, povečanem za 65%, pri prometu $221,8m, povečanem za 36%. Podjetje za bančno programsko opremo Hogan Systems je povečalo devetmesečni dobiček za 48,9% na sl,5m kljub dodatnim stroškom s4,6m zaradi suspenzije nekega razvojnega projekta in redudančnih plačil. Dohodek je narastel za 4,1% na $35,2m. Zanimiva je dohodkovna rast podjetja Intel od njegove ustanovitve v 1. 1968 do leta 1988: 1968 = $2,6k; 1969 = $ 565,6 k ; 1970 = $4,2m; 1971=$9,4m; 1972=$23,4ra; 1973=$65,5m; 1974 = $134,4m; 1975 = $136,7m ; 1976 = $225 , 9m ; 19 7 7= $28 2 , 5m ; 197B = $399, 3m; 1979 = $660 , 9m; 1980 = $854,5m; 1981 = $788,6m; 1982 = $899 ,8m ; ^ 9 8 3 = $ 1 , 1 bn ; 1984=$1,6bn; 1985=$l,3bn; 1986=$l,2bn; in 1987=$l,9bn. Glavne tehnološke inovacije (zanimive za vse tiste, ki so ta razvoj doživljali tudi na svoji koži pri nas) pa so bile tele: 1969 64-bitni bipolarni RAM; 256-bitni MOS SRAM; 1970 Ik MOS DRAM; 1971 2k EPROM; 4-bitni mikroprocesor; 1972 Ik MOS RAM; 8-bitni mikroprocesor; 1974 mikroprocesor 8080; 1975 8k EPROM; 1976 4k SRAM; mikroprocesor 8048; 1977 16k EPROM; 1978 32k EPROM; mikroprocesor 8086; 1979 16k DRAM; mikroprocesor 8088; 1980 16k E-EPROM; mikrokontroler 8051; ko-procesor 8087; 16-bitni mikroprocesor; 1981 32-bitni mikroprocesor; 64k EPROM; 1962 128k EPROM; 64k DRAM; mikroprocesor 80186; mikroprocesor 80286; 1983 256k EPROM; 1984 512k EPROM; 64k CMOS EPROM; 1985 256k CMOS EPROM; mikroprocesor 80386; 1986 megabitni EPROM; 1988 vmeščeni krmilnik 80960. Podjetje Compaq obrača že dve milijardi dolarjev (konec leta 1988 že $2,066bn). S tera je podjetje verjetno doseglo stanje, ko se začne razvojna krivulja umirjati. Samo še IBM in Apple prodata več PCjev kot houstonsko podjetje, ki je prodalo samo v ZDA v lanskem letu pol milijona naprav, čisti dobiček je znašal s255m, kar je 87% več kot leta 1987. Največji uspeh je bil dosežen na trgu naprav s procesorjem 80386. Finančne in razvojne novice Nekatere finančne novice so lahko zanimive tudi za domačo računaniško industrijo, če začenjamo v okviru nje razmišljati tudi s pogledom na mogoč prihranek in dobiček. Prav zaradi tega smo v tem pregledu izbrali finančne podatke manjših podjetij, ki dosegajo velikost domačih razmerij. Intel nima avtorske pravice za procesorja 8088 in 8086. Pravda Intela z japonskim podjetjem NEC, ki prodaja Intelova plagiata z oznako V.20 in V.30, je bila na ameriSkem sodišču zgubljena. Vzrok za tako odločitev sodnika je napaka Intela, ki ni pravilno zaščitil svojih mikroprocesorjev. A. P. Železnikar Podjetje Emulex, ki proizvaja vtične plošče za DECove računalnike, poroča o polletnem dobičku s7,3m, povečanem za 84%, pri prometu s73,8m. Evropsko tržišče je zadovoljivo, izjavlja predsednik podjetja Fred Cox. Analogni nevralni procesor podjetja Fujitsu Proizvajalec: California Scientific Software, 160 East Montecito, Suite E, Sierra Madre, CA 90124. Japonsko podjetje Fujitsu je razvilo nevralni procesor v BiCMOS tehnologiji za splošno uporabo. Posamezno integrirano vezje deluje kot živčna celica (nevron). Nevralni procesor (nevro-procesor) je predviđen za obdelavo analognih signalov, s povezavo posameznih vezij (nevronov) ga je mogoče uporabiti tudi za paralelno obdelavo signalov. Nevralni podsistem procesorja zmore 80000 operacij multipliciranja in seštevanja v sekundi. Uporaba nevroprocesorja je mogoča v sistemih umetne inteligence, senzorjih za analogno obdelavo podatkov in v robotskih krmilnih sistemih v pogojih realnega časa. A. P. Železnikar Nevralna vezja tudi v tovarni v okviru evropskega raziskovalnega združenja Esprit so odprli projekt za industrijsko uporabo nevralnih vezij v evropskih industrijskih podjetjih, sodeluje 10 podjetij in raziskovalnih organizacij iz štirih držav. Projekt z vrednostjo $6m naj bi Se utrdil položaj raziskav nevralnih vezij nasproti ZDA, saj je zaostanek minimalen. Namen projekta je razvoj pro-gramirnih orodij in deraonstacija zmogljivosti nevralnih vezij. Projektu načeljuje Harwellski laboratorij britanske atomske komisije. Med udeleženci projekta pa so nemški Siemens in TehniSka univerza Darmstadt, britanski British Aerospace in Artificial Intelligence, francoski raziskovalni center za mehaniko Cetim in dve grški podjetji za raziskave nevralnih vezij, in sicer Alpha in NTU. V SFRJ se ukvarjajo s takšnimi raziskavami tudi na strojniški fakulteti v Beogradu. Le kdaj se bodo podobnim projektom lahko pridružili naša federalna vlada in kakšna naša institucija? A. P. Železnikar BrainMaker: simulator nevralnih vezij BrainMaker je program za simulacijo nevralnih vezij, ki omogoča kreiranje, gradnjo, vadbo, preizkušanje in izvajanje nevralnih vezij. S programom je mogoče odločati o sestavi in specializaciji vezja. Prizvajalec trdi, da lahko BrainMaker izvaja do 500000 nevralnih povezav v sekundi in da podpira Stiri tipe linearnih in nelinearnih nevronov. Program nudi tudi vhodno/izhodno manipulacijo visualnih ali simbolnih podatkov. Priloženi so vzorčni programi za optično razpoznavanje karakterjev govorno sintezo, razpoznavanje slik in slikovno povečevanje. Program zahteva IBM PC, XT, AT, PS/2 ali kompatibiloa, 256k zlogov RAMa, DOS 3.0 ali višji DOS in monokromatski ali barvni prikaz. Cena: s99,95. EUREKA sproža skupni programirni projekt Trinajst evropskih podjetij iz petih držav -Francije, Norveške, Švedske, Združenega kraljestva in Zapadne Nemčije - se povezuje v projektu Eureke z namenom, da se aktualizira evropsko znanje na področju programske opreme in okrepi kompetitivnost na svetovnih tržiščih. Udeleženci nove Eurekine programske tovarne (Eureka Software Factory - ESF) nameravajo izboljšati produktivnost programskega razvoja, izdelati evropske standarde in razviti programsko knjižnico. Ta desetletni projekt bodo podpirale posamezni vlade in udeležena podjetja z zneskom $420ro, sedež projekta pa bo v Zapadnem Berlinu. Dvig programirne produktivnosti postaja nujen problem, saj so že sedaj zahteve večje od razvojnih zmogljivosti. V Zapadni Evropi raste trg programske opreme 16% letno in naj bi leta 199 2 dosegel produkt $45b. Eureka (the European Stratetig Program for Research and Development in Information Technology) je panevropska pobuda. Med udeleženci ESF so francoska Matra, norveški Norsk Data, švedski Telelogic, britanski ICL in zapadnonemSka podjetja AEG, Softlab in Nixdorf Computer. Morda bi se temu projektu lahko priključila tudi SFRJ s podjetjem Iskra Delta. Splačalo bi se vsekakor poskusiti. Anton P. Železnikar Nastajai\je mlade informatike Tudi v Nemčiji je Informatika na univerzah zašla v napetostno polje javnosti in gospodarstva. V marcu 1989 se je vrenje zaradi nezadovoljstva pojavilo na nemških univerzah v obliki štrajkov in protestnih shodov na področju celotne zvezne republike. Kakšni so vzroki tega nezadovoljstva informatikov? štrajki so se pojavljali že konec leta 1988. Novo študentsko gibanje je ideološko neobremenjeno zahtevalo spremembe zaradi katastrofalnega stanja izobraževanja. Profesorji v prenapolnjenih predavalnicah čedalje bolj vztrajajo na zastareli učni snovi in se posebej ne ozirajo na vmesna vprašanja, pripombe in sporne strokovne podrobnosti. V seminarjih in praktikumih delajo študentje brez motivacije s pomočjo asistentov, ki morajo zaradi teh obveznih vaj zanemarjati svoje raziskovalno delo. Računalniška opremljenost je količinsko in kakovostno nezadostna. Pojmi delovne postaje in komunikacijske mreže niso uresničeni. Programska oprema )e antikvarna in se dopolnjuje le z lastnim razvojem. Poklicna orodja ali sistemi, ki si za prakso pomembni, na univerzah sploh ne obstajajo. Na te pomanjkljivosti se navezuje tudi vsebina študija, ki je teoretsko omejena in se ne ozira na prakso. Ne obstajajo tudi interdisciplinarne institucije, ki bi lahko gledale preko roba svoje stroke. Prav tako ni institutov za prakso, ki bi Studenta pripravili na njegovo poklicno delo. Zgolj z denarjem in osebjem obstoječega stanja ne bo moč izboljSati. Vzroki mizerije nemške informatike (tako se pri njih uradno imenuje Studij računalništva) so globoki. Univerze se nahajajo v napetostnem polju med gospodarstvom, javnostjo in družbo. Prav v informatiki pa se to stanje jasno kaže z vso surovostjo. Pričakovanja se morajo spremeniti. Post scriptum. Po vsem tem lahko ugotovimo, da so razmere na nemških univerzah podobne raz-mereim na obeh slovenskih univerzah. To je lahko cinični argument politike, gospodarstva pa tudi samih fakultetnih delavcev, da je neperspektivno stanje pri nas mogoče Se poslabšati. A. P. Železnikar Protokolske usluge emulacija terminala upravljanje mreže zbirčni prenos in dostop OSI SNA protokol virtù- 3270 LU 2.0 alnega terminala (VTP) CMIS/CMIP FTAM NetView ECF (Enhanced Connectivity Facility imenski servis X.500 Directo- 4/5/2.1 ry Service SNADS elektronska pošta X.400 Message Handling System snads IBM sprejema mrežni standard OSI NetBIOS TOP Standard on Class 4 Transport IBM on 802.2 Data Link Control APPO Alternative IBM je končno sprejel računalniški mrežni standard OSI (Open System Interconnection) in uvedel dva nova programska produkta, ki olajšujeta mrežam in računalnikom komunikacijo s produkti drugih proizvajalcev. Za standardom OSI stoji npr. tudi britanska vlada. Medtem se je pojavilo na trgu Se 50 drugih programskih produktov za uporabnike računalniških mrež na IBMovih velikih računalnikih. To omogoča izmenjavo podatkov med akademskimi in vladnimi organizacijami. TakSen produkt je npr. razgirjena verzija IBMovega NetView. IBM je že doslej uporabljal prožno strategijo prodaje mrežne opreme, in sicer v ZDA svoj SNA (System Network Architecture) v Evropi pa je podpiral OSI standarde, npr. od leta 1985 ravnini 4 in 5). Seveda bo IBM prodajal svoje mrežne produkte, dokler bo to mogoče. Vendar je najbrž na mestu trditev, da bosta morala SNA in OSI doseči status koeksistence. Na problemu povezave teh dveh sistemov delajo tudi druga podjetja. IBMovi produkti, ki podpirajo OSI produkte so npr. še OTSS (Open System Transport and Session Support), DSNS (Open System Network Support), PROFS (povezava tipa X.400 za Pofessional Office System), DISOSS (Distributed Office Support System) in MTA (Message Transfer Agent tipa X.400). Razlika med OSI in SNA uslugami pa je tale: medmrežni protokoli CLNS Network ES-IS Route Exchange Source Routing SNA stad< OSI stack Pomen kratic v tabeli je tale: APPC = Advanced Program to Program Communication; CLNS = Connectionless Network Services; CMIS/CMIP = Common Management Information System and Protocol; ES-IS = End System-Intermediate System; LU = Logicai Unit; PU = Physical Unit; SNADS = Systems Network Architecture Distribution Services. Naslednja slika kaže portal med skladoma sistema SNA in OSI. A. P. Železnikar DEC se pomika v komunikacijsko integrac^o Amerigki proizvajalec miniračunalnikov Digital Equipment Corporation (DEC) napoveduje svoj mrežni (komunikacijski) program za podjetniško upravljanje, skupaj z nemškim Siemensom, ki naj bi proizvajal t.i. module dostopa. Ti moduli naj bi omogočali upravljanje v večuporabniški mreži. To seveda ni ničesar drugega kot premik v smeri OSI. Vzporedno s tem naj bi se uporabljal tudi produkt imenovan Podjetniške usluge, s funkcijami konzultacij iz planiranja, načrtovanja, implementacije in upravljanja. Celoten posel naj bi prinesel DECu dohodek do sllbn v treh letih. Tudi Evropa je močno DECovo tržišče. DECovo migracijo iz njegove DNA (Digital Network Architecture) v smeri DNA/OSI že v letu 1990 kaže shema na sliki. Fazni pomik DECa v področje OSI ima tako nekaj specifičnih produktov: VAX FTAM zadeva prenos zbirk (File Transfer), dostop (Access) in upravljanje (Management) protokolov in omogoča zbirčno upravljanje in prenos k OSI sistemom. VAX FTAM omogoča uporabnikom kopiranje, brisanje, prenos in prikaz zbirSne informacije med odprtimi siste- OSI Layers DNA Phase IV Layers OSI Producls DNA/OSi PtusA V Functlont mi. Pri tem ohranja semantiko in zbirčne podatke, ki so bili izmenjani. Portal poroSilnega slednika X.400 je usluga za elektronsko pošto, ki zadeva protokolni standard X.400 in omogoča komunikacijo med obstoječim DECovim poät nim sistemom in drugimi sistemi tipa X.400. PoStni slednik seže v DECov MAILbus, ki povezuje uporabnike ALL-IN-l s poStnim sistemom, kot je IBMov PROFS (Professional Office System) in SNA Distribution Services (SNADS). OSAK (OSI Application Kernel) je polna implementacija OSI ravnine zasedanja, ki omogoča uporabo programirne povezave (API) ali knjižničnih rutin, ki urejajo dialog med sistemi OSI mreže. VOTS (VAX OSI Transport Service) omogoča uporabo funkcij OSI ravnine prenosa. VOTS podpira sodelovanje med različnimi podmrežamii z uporabo Internet protokola, ki nudi usluge nepovezane mreže prek lokalne mreže in daljinskih mrež tipa X.25. A. P. Železnikar Philips vstopa v proizvodnjo dinamičnih ramov Največji evropski proizvajalec polprevodnikov Philips vstopa v posel proizvodnje dinamičnih RAMov zaradi nevarnosti, ki jo predstavlja japonski delež, ki znaša že 50%. Ta posel naj bi bil realiziran v naslednjih dveh letih. Siemens samplira trenutno 4Mbit DRAMe in ta tehnologija naj bi bila prenešena tudi v Philips pod okriljem skupnega projekta Megaproject. Philips ima dobre poslovne zveze tudi s podjetjem Matsushita EC, v katerem ima 35% delež za 35 let in pogodbo o tehnološki izmenjavi. Matsushita pa je vodilno podjetje na trgu 4Mbitne tehnologije. Philips je sedmo največje polprevodniSko podjetej na svetu, ki pa doslej ni izdelovalo pomnilniških integriranih vezij, šele v lanskem letu je stekla proizvodnja EPROMov v obsegu $50m, letos SRAMov in v letu 1990 Se DRAMov. Tako naj bi bil sčasoma kompenziran manjko na trgu, ki omejuje zlasti proizvodnjo PCjev in znižanje njihovih cen. A. P. Železnikar Optična rešitev Raziskovalci Londonske univerze in podjetja Philips so konstruirali polprevodniSke sendviče za optične računalnike. NaSli so učinkovit način za pretvorbo elektronskih v optične signale, kar pa je izredno pomembno za razvoj optičnih računalnikov. Najprej so izdelali silicijske optične detektorje, ki pretvorijo optične signale v elektronske, kar je bil lažji del naloge. Obratna pretvorba pa je težji problem. Sedaj se raziskujejo silicijske naprave s t.i. polprevodniško plastjo III-V, ki raste pri vrhu. Silicij je nosilec logike, snov III-V pa pretvarja elektronske signale v svetlobo. Doslej so pokazali več naprav, ki so rastle v galijevem arzenidu na silicejevi podlagi. A. P. Železnikar Vojaške raziskave postajajo komercialne Britansko obrambno ministrstvo je odloSilo, da bodo vojaški raziskovalni centri odslej morali poslovati komercialno. Ti centri zaposlujejo 12500 uslužbencev v skoraj 100 ustanovah. Smatra se, da je teh uslužbencev preveč in da bodo odslej ti centri sami morali' nositi poslovno tveganje. V enotno agencijo bodo združeni signalne in radarske naprave, letalstvo ter raziskave admiralitete in oborožitve. Agencija bo sprejemala raziskave iz civilnega sektorja in iz prekomorskih dežel. Ta reorganizacija je del splošne politike vlade, ki želi povečati operaci je vrednost-za-denar za civilne usluge. A. P. Železnikar Računalništvo kot disciplina Poseben odbor ACM je oblikoval izhodiSCa za učni načrt računalniStve kot discipline. To aktivnost predlaganja učnih programov vzdržuje ACM že 42 let. T.i. računalniške znanosti niso le programiranje, temveč precej več, npr. tudi načrtovanje aparaturne opreme, sistemska arhitektura, oblikovanje plasti operacijskega sistema, strukturiranje podatkovnih baz za specifično uporabo in modeli vrednotenja. Poudarjanje programiranja nastaja iz našega dolgoročnega prepričanja, da so programirni jeziki sijajni pripomočki za osvajanje preostanka discipline. To prepričanje pa omejuje našo sposobnost, da bi govorili o disciplini v vsej njeni širini in bogastvu. Priporočilo, ki je nastalo v odboru pod vodstvom Petra J. Denninga, daje t.i. jedro možnega programa. Opis računalništva kot discipline sestavljajo štirje deli: zahteve, kratka definicija, razdelitev na podpodročja in elaboracija podpodročij. Kratka definicija je tale: Računalništvo obsega kot disciplina sistematičen študij algoritmičnih procesov za opisovanje in transformacijo informacije, in sicer: teorijo, analizo, oblikovanje, učinkovitost, implementacijo in uporabo. Fundamentalno vprašanje celotnega računalništva je, "Kaj bi bilo mogoče (učinkovito) avtomatizirati?" Polje računalništva naj bi se pokrivalo z devetimi podpodročji, in sicer: 1. algoritmi in podatkovne strukture 2. programirni jeziki 3. arhitektura 4. numerični in simbolni izračuni 5. operacijski sistemi 6. programima metodologija in tehnika 7. podatkovni in informacijski sporočevalni sistemi 8. umetna inteligenca in robotika 9. komunikacija človek-računalnik Te discipline naj bi obsegale teorijo, abstrakcijo in oblikovanje (snovanje, načrtovanje) glede na razpoložljivi učni čas. Pri tem naj bi se poudarjalo za posamezno disciplino značilno mišljenje, ki daje sposobnost za invencijo novih distinkcij, ki vodijo do novih načinov akcije in novih orodij, ki omogočijo, da te dis- tinkcije postanejo dostopne tudi drugim. Pomembna je tudi uporaba orodij: gre za sposobnost uporabe orodij področja pri učinkovitih akcijah v drugih domenah. Seveda mora biti zagotovljeno tudi organizirano laboratorijsko delo za študente. A. P. Železnikar O globalni logiki strateških koalicij Podjetja se učijo tega, kar je nacijam znano že od pamtiveka: v zapletenem in negotovem svetu, v katerem se pojavljajo nevarni nasprotniki, ni dobro živeti sam. Zveza (antanta) Je tedaj vselej odgovorno delo dobrega strateškega repertoarja. Kakšna naj bi bila normalna strateška koalicija? Seveda so mogoči priložnostni skupni posli (joint venture) pa tudi dolgoročna pogodbena razmerja. Toda napredujoča zveza s temi načini se le redkodaj lahko vzdržuje. Prava zveza namreč kompromitira osnovno neodvisnost ekonomskih akterjev in direktorji je ne marajo. Za direktorje pomeni upravljanje (poslovanje) totalno kontrolo, zveze pa to kontrolo delijo. V stabilnih kompetitivnih okoljih je alergija zaradi izgube vpliva dokaj nepomembna. Na hitro se spreminjajočih globalizirajočih trgih in v industriji, v svetu konvergirajočega ukusa potrošnikov, hitro napredujoče tehnologije, naraščajočih fiksnih stroškov in protekcionizma pa temu ni več tako. Globalizacija opravičuje zveze, ki postajajo bistveni elementi strategije. Razvoj, ki se uvršča pod naslov globaliza-cije, zahteva zveze (antante) kot nujnost. Za tekmovanje v globalni areni se je potrebno izpostavljati in pokrivati ogromne fiksne stro-Ské: torej potrebujete partnerje. Marsikdo bi si danes želel živeti in nakupovati v Kaliforniji. Tam si želijo najboljše produkte po najnižjih mogočih cenah. Svetovna informacija omogoča neglede na nacionalnost, da si potrošniki želijo podobne vrste produktov ali celo podoben način življenja. Ekonomski nacionalizem se razkazuje v volilnih kampanjah, okužuje volilno telo in oblikuje skupinske interese. Neglede kje živite - v Evropi, Japonski ali ZDA - ukus potrošnikov se lahko izenačuje ne le pri določenih ekonomskih vrednostih, temveč tudi v vrednotah. Npr. slovenski Elan osvaja ZDA in Japonsko, nemški Adidas Forraozo itd. Tržišče podjetja IBM ni več odvisno od državnih ali zemljepisnih meja. Fujitsu ima izključno prvenstvo v svojih strojih za numerično obdelavo, in sicer s 70% na Japonskem in s 50% v svetovnem merilu. Današnji produkti temeljijo na vrsti kritičnih tehnologij, ki jih večina podjetij ne more samostojno obvladovati. Poslovna programska oprema, ki je pripomogla ibmovskemu PCju do ne-slutenega uspeha, ni bila IBMova. Npr. program 1-2-3 je proizvedlo podjetje Lotus Development Corporation. Operacijski sistem za PC je izdelal Microsoft, integrirana vezja pa Intel. V globalni strategiji je čas proizvoda lahko celo pomembnejši od njegove tehnologije. Tehnologija je tudi vselej začasna. Le dober igralec lahko zmojstri vse elemente uspešnosti. To pa pomeni, da sodeluje s partnerji in s tem profitno plasira tudi svoje produkte. Imeti nadzor nad vsem, ne pomeni nujno bolj-Se poslovanje. Z dovolj časa, denarja in sreče je mogoče vse postoriti samostojno. Toda kdo ima danes vsega tega dovolj? Konvergenca tržnih potreb je skupaj z neizprosno razprSenostjo tehnologije spremenila poslovno logiko, s katero morajo direktorji krmariti svoja podjetja. V preteklosti je bilo mogoče marsikaj dosegati z monopolom. Globalizacija je klasični monopolizem izničila, ker je postal enostavno preveč tvegan zaradi možne konkurenčnosti podjetij z globalno logiko. V danaSnjih razmerah poslovanja je potrebno vselej iskati pot zmanjševanja ogromnih fiksnih stroškov. Igra spremenljivih stroškov praktično ni več mogoča. Partnerji so potrebni za ublažitev fiksnih stroškov in skupaj z njimi je potrebno opredeljevati strategije, ki maksimalno prispevajo k vašim fiksnim stroškom. Morala tega nauka je očitna. Ko je avtomatizacija izrinila delovno vsebino iz produkcije, je proizvodnja kmalu postala dejavnost s fiksnimi stroški. In ker so se stroški razvoja prelomnih idej in njihove uresničitve v tržne produkte hitro povečevali, so tudi raziskovalno-razvojni oddelki postali fiksen strošek. Če je npr. v farmacevtski industriji potrebnih s50m ali več za razvoj novega zdravila, RR niso več igra spremenljivih stroškov, z globalizacijo so lahko ali lahko postanejo vsi glavni igralci v vaši industrijski branži vaši direktni konkurenti. Pri tem je več ali manj neznano, ali bodo konkurenti želeli z vami deliti neko specifično tehnologijo. Zaradi vsega tega so partnerji potrebni, toda tudi sami potrebujete lastne ljudi in lastne laboratorije. To pa so fiksni stroški. Tudi izdelava in vzdrževanje novega izdelka je fiksen strošek, še zlasti njegova zaščita na trgu. Zaščita je brez pomena, če izdelek na trgu ni prodrl. Tudi polovično izvedena promocija novega izdelka je slabša kot nobena. Včasih je nove izdelke bolje kar prodajati prek prodajne mreže, saj se s tem neposredno ne povečujejo fiksni stroški. Pomik proti fiksnim stroškom v prodaji in v distribucijskih mrežah je v zadnjem razdobju vse bolj viden. Igra spremenljivih stroškov je možna z uporabo drugih prodajalcev, toda le do določene stopnje. Toda vaša prodajna delovna sila še vedno mora opravljati vzdrževanje, podporo produktov, šolanje in pisanje priročnikov. Vse to pa so fiksni stroški. Nekaj teh stroškov je lahko še vedno spremenljivih. Najamete lahko ceneno delovno silo, pomaknete proizvodnjo v dežele v razvoju, toda vse to danes ne bo več zadostovalo. V preteklosti so lahko bili stroški spremenljivi z uporabo deljenega časa računalnikov in informacijskih poslovnih sistemov. Toda izkušnja je pokazala, da principa deljenega časa ni mogoče uporabljati, če želite imeti sistem za vaše lastne potrebe, torej sistem, ki vam lahko nudi konkurenčne prednosti. Tako je danes tudi informacijska tehnologija postala fiksen strošek. V daljšem razdobju pa seveda vsi ti fiksni stroški lahko postanejo spremenljivi z uglaše-vanjem investicijskih ravnin (kapitalnih izdatkov). Toda kratkoročno so to fiksni stroški. V povedanem je tedaj fundamentalna sprememba, ki je nastala v zadnjih desetih do petnajstih letih. Fiksni stroški zahtevajo novo logiko v aktivnosti direktorjev. V spremenljivih stroških se skriva povečevanje profita, in sicer z zmanjševanjem stroškov materiala, plač, delovnih ur itd. Nova logika sili direktorje v amortizacijo fiksnih stroškov preko celotne tržne baze, vse to pa kaže v smer globalizaci-je. Direktorji morajo opustiti lažno prepričanje, da totalna kontrola povečuje možnosti uspeha. Nevarna je aritmetika, ki pravi, da je 51% deleža treba povečati na 100% in 49% znižati na 0%. Že 51% zagotavlja vašo polno legalno kontrolo. Toda to je tudi kontrola aktivnosti na tujih trgih, o katerih veste le malo, če sedite daleč od njih. Američani in Evropejci, ki pridejo na Japonsko, želijo vselej imeti 51% deleže. To je magično število, ker zagotavlja prednostno pozicijo pri kontroli osebja, tržnih odločitvah in pri izbiri investicij. Toda dobro partnerstvo - podobno kot zakonska zveza - ne deluje na temeljih lastnine in nadzora, zahteva pa napor, zaupanje in entuziazem na obeh straneh, če si želi uspeh. Ko se sčasoma partnerstvo poglobi, lahko postanejo ločene entitete nesmiselne. Strategija, vrednote in kultura se lahko tako ujamejo, da je možna nova kombinacija. Hewlett-Packard je leta 1963 začel na Japonskem skupen posel s podjetjem Yokogawa Electric v razmerju 51-49%. Po dveh desetletjih zaupanja Je Yokogawa Electric odstopil podjetju Hewlett-Packard nadaljnih 24%. Trajalo je dve desetletji, da je HP dosegel znatno lastninsko pozicijo. Tako ima HP danes 75% $750m podjetja. Zveze so tedaj kot zakoni - delujejo le, če delujeta oba partnerja. Zveze niso formalne pogodbe. Pri njih ne gre za nakup in prodajo pra-•vičnosti. Oba partnerja verjameta da imata edinstvene spretnosti in funkcionalne zmogljivosti glede na drugega. In oba morata biti ves čas marljiva, da bi bila zveza uspešna. Če je eden od partnerjev slab in len in nepripravljen za napor, da bi izrabil skupne prednosti, se lahko zveza razdre. Enostranskost in asimetrija naporov in pozornosti uničujejo medsebojno razmerje . Anton P. Železnikar Razvojni credo Slovenije in Iskre Delte Anton P. Zeleznikar (4. aprila 1989) Uvod Z besedo credo ne bi želel manipulirati. Izbral sem jo zavestno in preudarno. Ta beseda, ki pomeni latinsko molitev pri magi z zaCetkom, me spominja na izpoved ob nekem zaCetku, ki naj bi bil zaSetek drugaCnega, seveda uspeSnega razvoja. Torej ne credo quia absurdum, ki je vera v nesmiselno, temve£ credo ut intelligam, ki je vera, da bi vsi skupaj spoznali kam in kako. Še vedno sem na samem za5etku, kjer nizam argumente. Slovenija je pripravila svojo izpoved za področje računalništva in informatike in v tem republiškem nareku sem našel po svojem prepriCanju tudi kaj uporabnega, čeprav sem se jezil nad sociologično diagnostiko preteklosti, ki mi je vzela predvsem dragoceni čas. V tem nareku je vsaj za moj zahtevnejši ukus zmanjkalo tega, kar bi glede na svojo življensko izkustvo lahko poimenoval s politično kirurgijo. Japonci podobne državne listine o svojem razvoju novih računalniških generacij ne bi napisali v slogu, ki se že na samem začetku zgubi v analitiki in naštevanju, ki za novo pot v prihodnost domala nista prav nič pomembna. To svoje izhodišče bom poskušal diskurzivno utemeljiti še kasneje. To, kar je na republiški ravni spodbudno, je ustanovitev Komisije Evropa 92 na predlog Republiškega komiteja za mednarodno sodelovanje. Cilj te komisije je vključevanje slovenskih političnih in gospodarskih subjektov v EGS. Svoja predstavnika v tej komisiji imata tudi Iskra in Gorenje. Treba bi bilo posebej pogledati, kako se področje računalništva in informatike lahko uveljavi v delu te komisije. Ob ponovni izvolitvi za direktorja podjetja Iskre Delte je Janez Skrubej zapisal svoj razvojni credo podjetja za obdobje naslednjih štirih let (1989 - 1993). V tem zapisu je gotovo marsikaj razvojno uporabnega, nekatere bistvene razvojne možnosti pa so zamolčane: tiste, ki npr. zadevajo povečevanje kapitalnih prihrankov in profitnosti, avtomatizacijo proizvodnje s tržno utemeljitvijo in seveda tudi to, kar bo morda v naslednjem štiriletju najpomembnejše, kapitalno, investicijsko, tehnološko in kadrovsko integracijo v Evropo. S projekcijo neke strategije podjetja,sem se tudi sam ukvarjal in konec lanskega leta sem jo tudi izpisal kot dokument za lastno rabo, predvsem pa kot začetek na poti pisanja in učenja neke resnejše, šele nastajajoče ali možne strategije. Oceni o profitnosti se nisem mogel izogniti, razvoj pa sem postavil tudi v desetletno obdobje. Informatizacijo in robotizacijo podjetja sem skopo zajel v okviru pojmov CIC in CIM, ki sta za ta tip podjetja v svetovnem prostoru neizbežni. Poudaril sem usodnost zako- nodaje in povezave v Evropo, morda dovolj resno le v svoji glavi in premalo izrazito v samem dokumentu. Se vedno sem uvodno razpoložen. Vendar bom sedaj začel soočati tri poglede na razvoj računalništva in informatike: republiškega oziroma državnega, podjetniškega, kot izhaja iz zapisa Janeza Skrubeja in svojega. S tem se ne izmikam nikakršnji odgovornosti in dopuščam vsakršen ugovor, ki je dovolj strokoven, vendar tudi pluralen in demokratičen. Prav takšen način soočanja se mi dozdeva danes v industriji potreben, da se z njim lahko aktivirajo intelektualni potenciali podjetja, da se prežene strah pred argumetirano in javno besedo. S tem predgovorom to soočanje tudi začenjam. Republiška analitika in začetki neke strategije Dokument, ki npr. očrtuje prihodnji razvoj informatike v Sloveniji ima naslov "Informacijska tehnologija v strategiji in politiki razvoja SR Slovenije". O tej strategiji je razpravljal samo vrh republiške SZDL. Nikomur hi prišlo na misel, da bi ta dokument ponudil v kritično razpravo npr. Slovenskemu društvu Informatika, ki je član SZDL ali pa mogoče celo sindikalni organizaciji, ki pokriva podjetja z dejavnostjo računalništva in informatike. Tako daleč urado-valna pamet zaenkrat resda še ne seže. Ta republiški dokument ugotavlja, da je informacijska tehnologija pomembna zadeva, tako pomembna .za družbeno infrastrukturo, da mora postati skrb za njo tudi državna. V zvezi s tem ugotavlja, da je sam dokument tudi že strategija, čeprav je v svoji zasnovi bolj analitičen in nekako prepričevalski kot pa usmerjen v-nujno radikalnejšo aktivnost. Dokument postavlja v neposredno razmerje t. i. napredek reprodukcije (s tem misli tudi na industrijski, razvojni, družbeno infrastrukturni napredek) in informacijsko tehnologijo. Podzavestno postavlja tedaj splošno enačbo napredek = informacijska tehnologija Ta enačba se mi zdi otroško naivna zaradi vrste razlogov, ki ne spadajo neposredno in ne le v ta kontekst. Pojmovanje informacijske tehnologije razširja, ne sauno na računalniško materialno in programsko opremo, temveč tudi na človeka, na njegove cilje in vrednote. S tem propagira seveda informacijski humanizem oziroma humanistični informacionizem, ki ga poskuša partikularizirati s pojmom informacijske pismenosti. Kot da človek na današnji stopnji svoje evolucije ni predvsem informacijsko bitje v samem sebi in v socialni integraciji, oziroma se tega ne zaveda, vsaj dovolj prepričljivo ne. To kar republiški dokument omenja kot razvoj strategije do leta 1984, se mi zdi bolj posle- dica spontanega vedenja različnih akterjev -družbenih in posameznih. Dosežki v razvoju industrije, Šolstva, komunikacij, morda tudi raziskovanja itd. so bili predvsem spontani. Politični posegi so bili uradniSki in niso bistveno premikali stanja na boljše, npr. Zakon o zadevah posebnega družbenega pomena na področju računalništva. Pri vsem tem je šlo bolj za dovoljevanje določenega obnašanja kot pa za usodne posege politike v informatiko ljudstva in države. Danes je mogoče ugotoviti, da politični vpliv, ki bi lahko bil tudi strateški, ni pustil opaznih ali spodbudnih posledic niti v informacijski industriji, računalniških znanostih in informacijski uporabi. Od zgodnjih osemdesetih let pa do danes smo priča le navideznim vzponom (npr. Iskre Delte), praviloma pa razkroju in zmedi, ki se še danes stopnjujeta. Npr. število osebnih računalnikov bi v Sloveniji še bistveno bolj naraslo, če ne bi bilo carinskih, davčnih in uvoznih limitov. če se danes sklicujemo na te številke (npr. 10000 PCjev v Sloveniji), potem moramo povedati, da večjega števila državljanom nismo omogočili. Računalniško pismenost smo tako predvsem bistveno omejevali, ne pa podpirali. To omejevanje so občutili osebno tudi učitelji, ki se spontano niso uspeli izobraziti za poučevanje računalniških predmetov v šolah. Podobno ugotovitev bi lahko postavili tudi za uslužbence, ki se sami niso mogli izobraževati zaradi pomanjkanja osebnih računalniških učil. V Raziskovalno skupnost Slovenije je informatika kot interdisciplinarno in posebno znanstveno področje vstopala kot novinec in velikokrat kot pastorek. Prav zaradi tega so jo lahko posvajali tudi nestrokovnjaki (diletanti, prenapeteži) v svojih matičnih strokah. Nekateri obrobni problemi pa so se lahko s silo avtoritet tudi napihovali. Republiški dokument je marsikje to napihovanje povsem nekritično prenesel v svojo terminologijo. S tem je sporne zadeve aktualiziral, namesto da bi jih postavil v objektivni kontekst. Vendar je dokument prinesel tudi zanimiv podatek o finančnem deležu raziskav, ki pokrivajo informatiko, tj. 11%, s predlogom, da se ta delež poveča na 20%. Tako bi relativno nominalno povečanje glede na druge programe RSS zneslo celih 73%. Mogoče si je seveda zamisliti, kaj vse bo naredila kraljica znanosti fizika in kako se bo prelevila v informatiko, da bo svoja visoka sredstva lahko obdržala neokrnjena. Le upamo lahko, da se iz tega ne bo izcimila nova politična igra. Republiški dokument ugotavlja, da se informacijska administracija (tj. tista, ki je podprta z IT) uveljavlja v turističnem, transportnem in bančnem gospodarstvu in v sistemu republiške uprave. Zlasti navaja telekomunikacije oziroma javno omrežje, kjer omenja JUPAK, dotika pa se informativno tudi integriranega sistema podatkovnih mrež prihodnosti (ISDN). Republiški dokument prav gotovo napihuje pomembnost projekta COSINE, kjer gre za standardno (domala že rutinsko) povezavo univerzitetnih mrež, ki nima posebne industrijsko standariza-cijske oziroma splošno družbene infrastrukturne relevance. Odstavki, ki so namenjeni informacijski industriji v Sloveniji, so v dokumentu zgolj analitični in ugotavljajo znana dejstva o industrijski revoluciji, strukturi Iskre Delte (strojna oprema tipa DEC in IBM, princip OEM), mikroelektroniki, elektrooptiki in o odpiranju vzhodnoevropskih tržišč. Bistvena je pripomba o pomanjkanju stategije vključevanja v svetovna tržišča in zlasti v Evropo, ko industrija ni realizirala pridobivanja tujega kapitala, razvojnega sodelovanja in proizvodnje zahtevnejših informacijskih sistemov. Pri tem dokument le sramežljivo govori o potrebnosti dodatnih razvojnih sredstev za pospeševanje razvoja informacijske industrije. Dokument upravičeno in poudarjeno artikulira problematiko informacijske standarizacije, ko se sklicuje na ustanove ISO (mednarodni standardi), ISO TC 97 (računalništvo in informatika), CCIIT (telekomunikacije in Se posebej dokument X.200, ki zadeva ISDN) in lEC (elektrotehnika). V okviru vsega tega izpostavlja OSI (integracijo odprtih sistemov). Ob tem dokument verjetno le premalo upošteva pojavnost t. i. de facto standardov, ki postanejo dostikrat zmagovalci v uporabniški, tehnološki in stroškovni tekmi z institucionaliziranimi vladnimi standardi. Slovenija naj bi končno dozorela za vstop v t.i. informacijsko družbo. To je seveda zaenkrat lahko le deklaracija po želji možnega razvoja. To svojo deklarativnost razbija tudi sam dokument, ko govori o organizacijskem infanti-lizmu in tehnološki paranoji - tudi v območju računalništva in informatike. Strinjam se, da je socialna paradigma razvoja še posebej za kompleksno področje IT in njene uporabe potrebna, kjer je del te paradigme tudi spodbujajoča politika republike. Pomisleke pa imam s t. i. razvojnimi scenariji, ki niso kaj več kot izolirani diskurzi in prikrojevanje k partikulari-stičnim interesom neformalnih preostankov dejanske moči vplivanja v zaprtih administrativnih okrožjih. Industriji je predvsem potrebna akcija države, ki omogoča uspešnost (profit-nost, rast) informacijske industrije, ne pa njeno prekomerno obremenjevanje, npr. z vzdrževanjem nepotrebne družbene infrastrukture (npr. neprimernega odvzemanja in razporejanja akumulacije, vzdrževanja fundeimentalne psevdoznano-sti itd.). Vstop Slovenije v informacijsko družbo naj bi bil omogočen z naslednjo aktivnostjo: izdelavo in uzakonjenjem državne strategije razvoja; usposabljanjem in aparaturnim opremljanjem mednarodno konkurenčnih raziskovalno razvojnih skupin v industriji, malih podjetjih in selektivno tudi na univerzi; mednarodno konkurenčnostjo industrijskih produktov; informacijskim izobraževanjem; prestrukturiranjem t.i. čiste raziskovalne dejavnosti (RRS) v korist informatike (s povečevanjem števila raziskovalcev, s finančno prerazdelitvijo od 11% na 20% ali če več); industrijskimi konzorciji za razvoj IT; konzorciji za razvoj gospodarske infrastrukture (PTT, železnica, energetika, republiška uprava itn.); Javnimi naročili pri domači računalniški industriji; izvozom domače računalniške industrije na tržišča razvitih dežel; in utrjevanjem položaja domače informacijske industrije s t.i. razvojnim dinarjem in vključevanjem v svetovno produkcijsko mrežo. Ta zadnji del republiškega dokumenta Je bržkone nabit z možno aktivnostjo, ki bi se je morali tudi z industrijske plati lotiti z vso zagrizenostjo in brez popuščanja. To pa zahteva najbrž tudi stalno dopolnjevanje in posodabljanje lastne strategije Iskre Delte, predv'sem pa tudi višjo stopnjo njene domiselnosti - torej polnejšo izrabo njenega intelektualnega (poslovnega, organicacijskega, finančnega, marke-tinškega, proizvodnega, servisnega in razvojno tehnološkega) potenciala. Post scriptum. Republiški dokument o strategiji razvoja IT je preobsežen in nesistematičen, težko berljiv in razumljiv le za nekoga, ki zna sam povezati bistvene razvojne elemente preteklosti in sedanjosti. Dokument se preveS in nepotrebno ukvarja z analitiko preteklosti ob bistveno spremenjeni sedanjosti. Strategija naj bi bila na£rt za prihodnost. V dokumentu je tudi opazna sentimentalna navezanost na znanost kot na tisto realsocialistično doktrino, ki že sama po sebi pogojuje in zagotavlja uspešno razvojnost neglede na to, v kakšni tehnološki in poslovni nesposobnosti ta znanost domuje in ko zaradi svoje socialne gloriole ni povezana s preživetjem populacije, ki to znanost vzdržuje. Od republiškega razvojnega dokumenta bi pričakoval predvsem sistematično razdelavo tega, kar je zapisano v njegovem zadnjem poglavju z naslovom Razčiritev strategije družbenega razvoja. Dokument pa naj bi pregledala tudi strokovna društva informatikov, ekonomistov, organizatorjev, upravnih delavcev, itd. in podjetij, institutov in fakultet, ki se jih ta dejavnost dotika. Ob vsem tem pa bilo modro podpirati tudi javno In strokovno polemiko. Strategija računalniške industrije Že v uvodu svoje programske usmeritve Iskre Delte (v novembru 1988) se Janez Škrubej sklicuje na Belo knjigo EGS, ki je temelj tega, kar naj bi z letom 1992 nastalo v Evropi kot enotno tržišče. Omenja tudi Kompleksni program znanstveno tehničnega sodelovanja SEV kot odgovor na Eureko. Temu dodaja podatke o predvideni rasti zapadne in vzhodne ekonomije. Iskra Delta je v razdobju od leta 1984 do 1988 znatno investirala v šolski center v Kovi Gorici, v svoje zapadno operativno zastopstvo v Avstriji, v izgradnjo produkcijskega centra v Stegnah pri Ljubljani, ki ima industrijska obrata še v Titovem Velenju in na Ptuju ter v konsolidacijo svojih delovnih enot na ozemlju SFRJ. Avtor programske usmeritve trdi, da bo s to lastninsko, kadrovsko in organizacijsko bazo mogoče dosegati cilje, ki jih našteva v desetih strateških izhodiščih. Programske usmeritve J. Škrubeja so delno strateške in delno že operativne. So primer značilne mešanice vizije, trenutnih pogojev gospodarjenja in preostankov preteklosti. V začetku leta 1993 naj bi Iskra Delta pri 2000 zaposlenih dosegla bruto produkt $450m, od tega 50% za izvoz. To bi zneslo s225k per capita. Ta podatek je seveda spodbuden, zahteval pa bo bržkone kaj več, kot je zapisano v programskih usmeritvah, saj bi povečanje per capita znašalo kar 4,5-krat tega, kar naj bi bilo doseženo v letu 1989. Žal v tej bistveni finančni točki strategije manjka podatek o predvidenem doseganju in rasti profitnosti, ki je temelj povečevanja operativnosti in razvojnosti podjetja. Druga točka programske usmeritve je namenjena proizvodnemu programu, tj. proizvodnji lastnih in kompatibilnih produktov (DEC, IBM, Honeywell), komunikacijam (CIC) in industrijski kooperaciji. Produkti Iskre Delte pokrivajo tako industrijo, turizem, trgovino, energetiko in bančništvo (točka 3). Naslednji točki poudarjata konstantno raven zaposlenosti (2000 uslužbencev), ustanavljanje kooperativ, štipendiranje najboljših in kariero uslužbencev. Šesta točka poudarja relikt preteklosti, tj. nagrajevanje delavcev po rezultatih dela in admini- strativno spremljanje stroškov. Informacijski sistem Iskre Delte (npr. CIC, CIM in ekspertni sistem za tako vodenje podjetja, ki povečuje kapitalne prihranke in profitnost) je predmet sedme točke, v naslednji točki pa se poudarja uravnovešenost med zahodnimni in vzhodnimi tržišči. Zadnji točki programske usmeritve pokrivata šolanje uporabnikov doma in v tujini in mednarodno stadarizacijo. Sklep Škrubejeve strategije je optimističen in spodbuden, saj govori, da bo Iskra Delta že leta 1992 sodobno organizirana, mednarodno standarizirana in povezana, primerno profitna in utemeljena na znanju njenih uslužbencev. Skozi to svojo usmerjenost naj bi se vključila v krog vodilnih računalniških podjetij Evrope. Post scriptum. Republiški dokument razvoja informatike bi lahko na določnejši način podpiral Škrubejevo strategijo. Značilno je tudi, da se Skrubej pravzaprav ne zanaša ali ne verjame v neko blagodejno osveščenost in pomoč političnega sistema Slovenije pri razvoju informacijske industrije v ožjem, tj. računalniškem pomenu. S strategijo, ki jo je Škrubej predložil in jo uslužbenci Iskre Delte de facto podpirajo (Delavski svet, vodilni in strokovno kvalificirani uslužbenci in bržkone tudi večina uslužbencev) nastaja tudi obveza, da se glavni finančni cilj v štiriletnem razvoju res doseže. Hkrati pa se morajo upoštevati še nekateri strateški faktorji, ki so bili zaradi posebnih razvojnih težav v škrubejevem dokumentu zamolčani (npr. profitnost, struktura podjetniškega informacijskega sistema, konkretnejše vključevanje v Evropo, nova motiviranost, itd.). Poudarki iz zasebne strategije V začetku oktobra 1988 sem napisal dokument z angleškim naslovom "Principles of Strategic Thinking of Iskra Delta Computers" z namenom, da njegov način izražave postane paragon ekspo-zitorne jasnosti (kondenzirane relevantne vsebine) in posebne jezikovne konciznosti. (V angleščini sem tedaj ta posel lažje opravil kot bi ga v slovenščini.) Bil sem prepričan, da mora dokument za strateško rabo podjetja vsebovati določeno simboliko, privlačnost in nedorečenost, ki prizadetemu še vedno omogočajo individualizacijo oziroma operacionalizacijo naporov v različnih položajih. Dokument, ki je izhajal iz dolgoročne strategije podjetja, si je za desetletni cilj postavil brutoprodukt $l,2bn. Pri tem sem uporabil primerjavo z rastjo najvidnejših evropskih podjetij računalniških produktov in cilj, da postane Iskra Delta z njimi konkurenčno primerljiva. Zanimivo je, da si je podoben cilj Ze leta 1980 postavil Ivan Atelšek, tedanji generalni direktor Gorenja, vendar v tistih časih gospodarska in politična elita tega Se nista bila sposobni doumeti. V svojem dokumentu sem izpostavil Se tele elemente: povprečno dobičkonosnost 15%, produkcijo superminijev, minijev in PC profesionalnih mikroračunalnikov, ustavne spremembe in vstop v EGS, uvedbo CIC in CIM, mednarodne investicije in evropsko industrijsko kooperacijo, privzem mednarodnih standardov in dušitev subkulturnih, strategijo odprtega trga, investiranje v mala podjetja, razvoj tako pisarniškega kot tovarniškega tržišča in ravnovesje med vzhodnimi in zapadnimi tržišči. Ti principi naj bi bili uresničljivi s predpostavko, da je Iskra Delta že v sedanjem položaju sposobna generirati zadosten obseg naročil, ki bi omogoSal profitno vzdrževanje lastnih produkcijskih kapacitet, seveda ob razširitvi poslovanja na zapadna razvita tržigča. Iz te vsebine bi danes še enkrat izpostavil elementa CIC in CIM, ki sta oba po svoji naravi raCunalniška in sta operativna osnova vsakrSnje računalniške industrije, tj. njene profitnosti in možnosti razvoja. Sklep Prispevek obravnava različne vidike razvoja računalništva in informatike: državnega, industrijskega in infrastrukturnega. Državni vidik naj bi upošteval strategijske standarde razvitih držav, vključno z industrijo in uporabniško (v najSiršem pomenu) infrastrukturo. To naj bi bil hkrati standard državniSke kvalitete. Industrijski vidik naj bi upoSteval kvalitativne strateške poudarke (tudi njihovo razkrivanje) uspeSnih srednjevelikih (izjemoma tudi velikih) industrijskih računalniških podjetij (Apple, Nixdorf, Olivetti, Siemens, DEC, IBM). Osebna strategija uslužbenca v tej igri pa naj bi bila tista strateška sinteza, ki omogoča nastajanje novih strategij - državnih in industrijskih -skozi zasebno in javno pobudo. Grafični standardi v luči uporabniške povezave Andrej Terčelj Grafika pomeni ključ k diferencijaciji proizvodov. Mladost računalniške industrije je klasificirala računalniško grafiko v dve veji. Prvo predstavljajo računalniški standardi, ki jih potrjujejo organizacije kot sta ISO in AUSI in so dolgotrajni in težko dosegljivi procesi. To skupino predstavljata GKS in PHIGS kot primera, kjer je prikazana razvojna kronologija od zametka do končne potrditve. Ob tem so bile navedene in razložene tudi ovire pri sprejemanju standardov in glavne kratice, ki se pojavljajo v poplavi grafike od PC do CAD/CAM okolja. Drugo stran pa predstavljajo "de facto" gstandar-di, ki so po definiciji učinkoviti, saj se potrjujejo na tržišču. Tu prevladuje IBM kot postavi jalec in uveljavitelj standardov. CGA, EGA in VGA grafične kartice predstavljajo IBM standard medtem ko Hercules Technologies proizvajalca NE IBM standarda. Končni cilj grafičnih standardov je nadomestitev krmilnih programov tako, da ne bodo vezani več direktno na specifično aparaturno opremo. Določene rešitve ponujajo proizvajaci v Post-Scriptu in DPS-Display PostScriptu in različnih uporabniških vmesnikih, ki pa z grafičnimi standardi Se nimajo iste vloge in definicije. Na koncu sem primerjal še različne grafične postaje, ki že ali Se bodo prevladovale v devetdesetih letih. To so SUN v NeWs ,NeXT z DPS in NeXT Windowing, UNIX grafične postaje z X Windows in Triglav z GKS jedrom. Kako so nastali torkovi pogovori Torkovi pogovori so nastali na pobudo Vanje Bufona kot strokovni informativni forum Poslovne enote za razvoj, raziskave in innovacije Iskre Delte, na katerem teče pogovor o najnovejših dosežkih raCunalniStva in informatike po svetu in v podjetju, in sicer z vidika tehnologije, uporabe in znanosti. Opravljena sta bila le dva torkova pogovora, saj so bili kasneje ti pogovori prenesem na petek. Prvi pogovor (14. marca 1989) je obsegal naslednje teme: - o razvojni informaciji računalništva in informatike po svetu in v Iskri Delti (A. P, Zeleznikar) - trendi v kakovosti programske opreme (R. Piskar) - sodobna orodja in gradniki za načrtovanje digitalnih vezij (L. Vogel) - korporativno elektronsko publiciranje (D. Pungerčar) Drugi pogovor (4. aprila 1989) je obravnaval tele teme: - razvojni credo Slovenije in Iskre Delte (A. P. 2eleznikar) - grafični standardi v luči uporabniške povezave (A. Terčelj) - grapewine - eksperimentalni distribuirani sistem za elektronsko pošto (Z. Stipetič) - uporaba VMS nueie v Iskri Delti s poudarkom na elektronski pošti (A. Capuder) - ekspertni sistemi v Iskri Delti? aktualne novice (A. P. Zeleznikar) Pogovore je moderiral prof. dr. Anton P. Zeleznikar, udeleževali pa se jih uslučbenci delovnih enot razvoja, raziskav, prodaje, vodstva in organizacije. Na rob zgodbi o računalniškem razumevaiyu* Anton P. Železnikar Ob gozdu, v vinogradu na prisojni strani Alp je stala zidanica, ob njej pa je čemela osamljena, skrivna livada - prostor za zbiranje u5enih gozdnih prebivalcev. Nekega dne se je na vratih zidanice pojavil lepak, ki je naznanjal, da bo tekia uSena beseda o razumevanju slovenskega jezika. Gozdne živali, ki so ta jezik razumele, se niso mogle načuditi, da je prav nerodni, debelušasti jazbec skonstruiral nekakšen pisani program, ki da njihov jezik razumeva, menda s pomočjo katerega koli delujočega računalnika. Živali so se čudile same pri sebi, čeprav niso poznale Winogradovega programa SHRDLU, ki naj bi razumeval naravni jezik - seveda angleščino - že v letu 1972. Razpravo o tej sloviti problematiki je po logiki demokratičnih gozdnih navad skliceval vedoželjni suhljati volk, ki je strojno pisarijo nekolikanj osornega jazbeca poskušal razumeti, saj je bila napisana v domačem jeziku. Črke pisarije so bile velike in lahko berljive, čeprav niso bile vselej izvirno slovenske (npr. č, š in ž). Nek zlonamerni dihur je pripomnil, da je jazbec svojo pisarijo zlepil iz tujerodnega, anglosaksonskega črkov-ja, ki je le nekolikanj drugačno od domačega. Jazbec je kot temeljit rovokopač dobesedno prekopaval to svojo pisano puSčobnost več let. Že njegov oče mu je vcepljal psihološko načelo; čira starejše - tem boljSe. Saj kaj pa naj bi delal v preživljanju svojega jazbečjega življenja v tej gozdni osamljenosti ob zidanici, ki je dajala občutje varnosti vsem gozdnim živalim? Napisal je pač to, kar je napisal in zbor gozdnih učenjakov naj bi ta njegov umotvor pregledal in seveda ugodno ocenil, saj je t.i. psihološki čas staranja že potekel. Tistega dne je vzšlo sonce v jasen dan in živali so veselo hitele po svojih preživetvenih opravkih. Na livadi ob zidanici se je zbrala le najbolj učena in v učenost posvečena elita. ' Ta zgodba je nastala pred leti nenamerno in popolnoma naključno. Iz tiskarne so sporočili, da je predzadnja stran prazna in da naj se za njeno popolnitev hitro Se kaj prinese. Pri iskanju primernega oglasa o kakšni strokovni prireditvi ni bilo sreče. Tako je nastala ta zgodba kot polemična gozdna povest oziroma basen. Kakršnakoli podobnost s fizičnimi ali konkretnimi gozdnimi prebivalci in z livado ob zidanici je lahko zgolj naključna. Zgodba je nastala kot značilna umetnointeligentnostna refleksija avtorja. Jazbec se je zavedal svoje moči: o tej stvari je prekopal in prelezel tudi najbolj skrivne rove, v katerih pa ni bilo moč najti kaj posebno užitnega, tj. za strojno razumevanje slovenskega, zlasti mimičnega in kretenjskega jezika bistvenega. Slovnica je bila že utrjeno načelo, o pomenu jezika pa zaradi splošne nejasnosti tako ni bilo vredno zgubljati besed. Zato je razumevanje jezika reduciral na možnost strojnega razumevanja. Vsakomur iz učene druščine na livadi pa je bilo potihoma povsem jasno, da stroj jezika ne more bolje razumeti kot botrica lisica, ki je v razumevanju prava mojstrica in ki zna zase prikrito izkoristiti tudi najmanjšo jezikovno odkritost. Jazbečev nastop je bil robustno uravnotežen in samozavesten, bil je pravi povzetek napisane učenosti ex cathedra. O kakšni strokovni ali celo bivanjski domačnosti ni moglo biti več govora. Zadeva - računalniško razumevanje jezika - je bilo zrelo psihološko jabolko. Jazbec ga je pač utrgal in použil. Vprašanja niso mogla biti več bistvena. Sicer pa, kdaj neki le je bila učena druščina dovolj učena? Po jazbečevem nenavadno hitrem, hrupno jeznori-tem odhodu je učena druščina staknila glave. Jazbec je prestal preizkušnjo pa naj gozdne živali porečejo, kar hočejo. Jasno je, da mora jazbec kopati Se naprej, razširjati svoje rovje in riti v nove smeri razumevanja domačega jezika. Pri tem mu lahko pomaga tudi 2000 mravljincev, ki jih jazbec lahko usmerja v manjše jezikovne vrtine ali celo v mišje rove. Tu ni dileme in življenje domače učenosti se lahko žlahtno pretaka tudi naprej. V kotu livade, pod velikim listom je ves ta čas dremala žaba. Bila utrujena od nočnega kvako-caja in dogajanju na livadi ni preveč zavzeto sledila. Vendar je nekaj tega, jazbečjega le slišala,, veliko njegovega-izrečenega pa tudi prespala. Zato si je lahko oblikovala svoje kritično mnenje, ki je bilo seveda čista žabja modrost, če je jazbec res zlepil to svojo ne povsem novo pisano učenost iz različnih črk, programov, odstavkov, .namigov in sklepov, je vendarle opravil pionirsko delo. Če nič drugega je na gozdnih tleh ponovil napako iz leta 1972, za katero se je pokesal Winograd v letu 1986 nekako takole: "Gadamer, Heidegger, Habermas, and others argue that the goal of reducing even 'literal' meanings to truth conditions is ultimately impossible and inevitably misleading. It focusses attention on those aspects of language (such as the statement of mathematical truth) that are secondary and derivative, while ignoring the central problems of meaning and communication."! 1 "Gadamer, Heidegger, Habermas in drugi trdijo, da je cilj redukcije celo dobesednih pomenov v resničnostne pogoje povsem nemogoč in neizbežno zavajajoč. Ta cilj usmerja pozornost na tiste vidike jezika (take kot je trditev o matematični resnici), ki so sekundarni in izvedljivi, ko prezirajo osrednje probleme pomena in komunikacije." Kot vsaka zgodba iz sveta živali ima tudi zgodba o razumevanju nekega jezika s strojem svojo moralo. Če kopljeg in zbiraš izkušnje, tako kot to delajo Japonci, se bo nekega nepredvidljivega dne vendarle lahko pojavil žepni računalnik, v katerega boš govoril japonsko, njegov zvoSnik pa bo oddajal zvočno angleščino. Podobno boš nekaj kasneje lahko vanj govoril slovensko in iz njega bo odmevala zvočna japonščina. Da je ta pot prava, o tem ni mogoče učeno dvomiti. Zamislite si primer, ko bo slovenski nagovor najprej prevajan v zvočno japonščino, iz nje v zvočno angleščino in zopet iz angleščine v zvočno, pomensko nepopačeno, razumljivo slovenščino. Produkt takega tranzitivnega prevajanja iz slovenščine v slovenščino bo kvečjemu t.i. zakasnela slovenščina. O tem okorni jazbec in suhljati volk ne smeta dvomiti - v dobrobit učenega razvoja domače jezikovne vednosti. DECUS EUROPE Al ANNUAL MEETING Theme: Towards an Open World The Digital Equipment Computer Users Society (DECUS) European Artificial Intelligence Working Group will be holding its second annual meeting at the DECUS Europe Symposium. The Symposium will be held in The Hague, Holland from Monday September 18th, 1989 to Friday September 22nd, 1989. Papers are sought on the following subjects: * Descriptions of AI Applications * Tools and Live Applications * Neural Nets * Human Computer Interface * AI Interfaces with Realtime Processes * AI/DBMS Interfaces * AI Project Management * Development Methodologies * Robotics + Vision This is not an exhaustive list. We will be willing to examine any proposition you think might be of interest to other AI developers or Attention to the Readers of Informatica Readers of Informatica are kindly requested to send information on their papers recently published in foreign professional (scientific, also philosophical) journals (periodicals). Such information will be regularly published within this column. Some Recently Published Papers in Foreign Professional Periodicals T. Welzer, I. Rozman and J. Cyorkos, Automated Normalization Tool. Microprocessing and Microprogramming* 25 (1989) 375 - 380. A. P. Zeleznikar, Information Determinations II. Cybemetica** 32 (1989) 5 - 44. A prize will be awarded to the author of the best paper. The Committee will cover the travel and living expenses to the Symposium of the author of the best paper. For further details please contact: Guy Delfontaine, Ecole Polytechnique de Lausanne, Dep. Informatique Unité LEAO, 1015 Lausanne, Switzerland. Tel:+41 21 693 47 66 Fax:+41 21 693 46 60 * Microprocessing and Microprogramming is published by North - Holland P.C., Amsterdam. »» Cybernetica is published by the International Association for Cybernetics, Palais des Expositions, Place Andre Rijckmans, B.5000 Namur, Belgium. In consìderafion of fhe development of new compularlzed iechnologies ond design techniques, business and menu* facluring systems, and