ANSA: an Engineer’S Introduction
Total Page:16
File Type:pdf, Size:1020Kb
An Engineer’s Introduction to the Architecture ANSA: An Engineer’s Introduction to the Architecture Release TR.03.02 November 1989 This document provides an introduction to ANSA. It is specifically oriented towards those with a software and systems background. It describes what is available and how it is used; it does not describe how the architecture is applied to specific application domains. Architecture Projects Management Limited Architecture Projects Management Limited and their sponsors take no responsibility for the consequences of errors or omissions in this manual, nor for any damages resultmg from the applicatron of the ideas expressed herein. Architecture Projects Management Limited Poseidon House Castle Park CAMBRIDGE CB3 ORD United Kingdom TELEPHONE UK Cambridge (0223) 323010 INTERNATIONAL +44 223 323010 FAX + 44 223 359779 UUCP . ..ukc!acorn!ansa!apm ARPA Internet [email protected] 8 1989 Architecture Projects Management Limited Permission to copy without fee all or part of this material is granted provided that notice IS given that copying is by permission of Architecture Projects Management Limited. To copy otherwise or to republish requiresspecific permlssion. Advanced Networked Systems Architecture CONTENTS Page 1 Background ........................................... 1 1.1 Objectives ......................................... 1 1.2 Activities ............................................ 1 1.3 Standardization ...................................... 2 2 Executive summary ................................... 3 2.1 The problem space ................................... 3 2.2Overview ........................................... 4 3 Architectural philosophy ............................. 11 3.1 Viewpoints on distributed processing ................. 11 3.2The computation model ............................. 13 3.3 Distribution transparency ........................... 14 3.4 The Object-Oriented Approach ........................ 15 3.5Type checking ...................................... 16 3.6 Configuration ....................................... 16 3.7Interfaces .......................................... 17 3.8 Operations ......................................... 18 3.9 Invocations ......................................... 19 3.10 Terminations ...................................... 20 3.11 Atomicity ......................................... 20 3.12 Objects ........................................... 21 3.13Security ........................................... 21 3.14Trading ........................................... 22 3.15 Object groups ...................................... 22 4 Testbench software ................................... 27 4.1 Overall structure ................................... 28 4.2 Implementation of engineering concepts .............. 29 4.3 Implementation options ............................. 31 4.4 Process mapping .................................... 31 4.5 Using the Testbench ................................. 32 5 Evaluation ............................................ 37 .J.l Performance ........................................ 37 5.2 Transparency ....................................... 40 5.3 Diagnostics, error detection and recovery ............ 41 5.4 Heterogeneity ...................................... 41 5.5 Relationship to OS1 ................................. 42 5.6 Software engineering ................................ 43 6 International standards .............................. 45 References . ..*..................................... 47 Appendices . ..*.................,..,...................... 49 Advanced Networked Systems Architecture 1 Background The Advanced Networked Systems Architecture (ANSA) originated in a project undertaken by BT, DEC, GECMarconi, GPT, HP, ICL, ITL, Olivetti, Plessey, Racal and STC within the UK Alvey Information Technology Programme. As the results of the project became more well known it became apparent that a more formal structure was needed to manage the development and exploitation of the architecture. To this end Architecture Projects Management Ltd (APM) was set up as a company in 1989. APM undertakes work on ANSA on behalf of the sponsors at a central laboratory in Cambridge, England. Much of the work is currently funded via the Commission of the European Communities (CEC) ESPRIT II Programme within a project called ISA - Integrated Systems Architecture - in which many of the sponsors of APM are joined by AEG, CTI-Patras, Ericsson Telecom, Televerket, Philips, France Telecom (SEPT) and Siemens. The architecture continues to be known as ANSA, and APM also trades under the name ANSA. 1.1 Objectives The scope of ANSA is to provide an architecture for distributed systems that satisfies the following objectives: b generic to many fields of application (including office, factory, telecommunications and general data processing) b state of the art in technical content b portable across a wide range of operating systems and programming languages operable in heterogeneous, multi-vendor environments modular structure with maximum opportunity for re-use of existing functionality b support for a range of distribution naming, concurrency and fault handling policies b applicable to a wide range of computer and network topologies with no constraints on size oriented towards the requirements of application programmers provision for interworking between autonomously managed networks. The design principles that have been followed to achieve these objectives are described in Section 3. Advanced Networked Systems Architecture 1.2 Activities The activities associated with the name “ANSA” are as follows: b Architecture - development of an architecture for building distributed systems, in the form of an integrated set of structures, functions, design recipes and implementation guidelines b Software - development of software to demonstrate and validate the architecture (known as the ANSA Testbench) b Standards - contribution of ANSA results to international standards D Technology Transfer - transfer of the architecture and Testbench as a technology to both the sponsors of ANSA and to the community at large. The specification of ANSA is contained in the ANSA Reference Manual [ARM 891, a copy of which may be obtained from APM Ltd. The Testbench software consists of a suite of C programs and instructions for installing them on HP-UX, SunOS-4, Ultrix, MSDOS and VMS. (Unsupported ports have also been made to various other systems, but are not yet included on the standard release tape). 1.3 Standardization ANSA has been founded upon the concept that the architecture should adopt, and not conflict with, current open standards wherever possible. Aspects of the architecture which fall outside the scope of current open standards are taken into the open standards process. To this end, the ANSA team participates actively in ISO/IEC JTCl SC21 WG7 on the standardization of a Reference Model for Open Distributed Processing and with ECMA TC32-TG2 on a Support Environment for Open Distributed Processing (SE-ODP). The team participate to a lesser extent in a number of other standards groups. Advanced Netvorked Systems Architecture 2 Executive summary 2.1 The problem space ANSA is an architecture for building distributed systems that can operate as a unified whole such that the fact of distribution is transparent to application programmers and users. This is a fundamentally different approach from networking single systems together. It allows full advantage to be taken of the inherent concurrency and separation of distributed systems in order to increase performance, decentralization and reliability, while better masking their disadvantages such as communication errors and partial failures. It produces a system that can be managed as co-ordinated sub-systems appropriate to the enterprise they serve rather than as a random collection of boxes. When building a distributed system, a number of assumptions which are commonly made when engineering systems for single hosts not only become invalid, but have to be reversed. The most important of these are: local --, remote more failure modes are possible for remote interactions than for local ones direct + indirect binding configuration becomes a dynamic process, requiring support for linkage at execution time sequential + concurrent execution true concurrency requires mechanisms to provide sequentiality synchronous + asynchronous interaction communication delays require support for asynchronous interactions and pipelining homogeneous + heterogeneous environment requires common data representation for interactions between remote systems single instance -+ replicated group replication can provide availability and/or dependability fixed location + migration locations of remote interfaces may not be permanent unified name space -+ federated name spaces need for naming constructs which mirror administrative boundaries across different remote systems shared memory + disjoint memory shared memory mechanisms cannot operate successfully on a large scale and where remote operations are involved. 3 Advanced Networked Systems Architecture Given sufficient knowledge, local optimisations can be engineered back in to a system where appropriate, but in order to retain flexibility they should not be present in the program source code. For example, all procedure calls can be treated as remote by the programmer, and the compiler or linker can replace them by local ones if it subsequently discovers that the calling and called procedures are co-located. 2.2 Overview 2.2.1