Open Telecom Platform
Total Page:16
File Type:pdf, Size:1020Kb
Open telecom platform Seved Torstendahl The open telecom platform (OTP) is a development system platform for the tools and building blocks that design- building telecommunications applications, and a control system platform for ers need to develop applications for spe- running them. The platform, whose aim is to reduce time to market, cific computer systems. Package types enables designers to build – from standard, commercially available comput- that are meant to be integrated into an er platforms – a highly-productive development environment that is based embedded application system (target on the programming language Erlang. system) make up a basic part of that sys- The OTP also permits application designers who program in C, C++, Java tem and contain the building blocks whose functions are needed at run-time. and other languages to take full advantage of sourced components. More- Examples include a database, or a sim- over, the OTP allows designers to consider costs when matching computer ple network management protocol platforms with requirements for processing power and component availabili- (SNMP) agent. ty. The author outlines the OTP system architecture, its tools and building OTP development environment blocks, while describing the strengths of the open telecom platform as Many of the application programs for either a development environment or as a target system. the OTP are written in Erlang. Applica- tion programmers will find that several tools in the OTP development environ- ment support the tasks of developing The open telecom platform (OTP) and testing applications. For example, described in this article is primarily the OTP development environment con- intended for new applications that com- tains: bine a need for reliable, high-performance – tools for translating into stub code the telecom characteristics with a need for interface specifications given in the using externally sourced hardware and form of C header files, simple network software components. This includes ATM- management protocol-management products for access networks and data information base (SNMP-MIB) defini- communications, such as Internet proto- tions, and abstract syntax notation col-related traffic. number one (ASN.1) definitions; – an Erlang-to-Emacs mode that facili- Multipurpose platform tates editing Erlang programs; – the Erlang compiler and debugger for The open telecom platform is a develop- testing modules; ment system platform for building, and a – a test coverage tool, and a hot-spot control system platform for running, finder. telecommunications applications. How- Some programs are written in other lan- ever, the OTP is not a monolithic platform, guages, including C, C++ and Java. In but is made up of sets of tools and build- such cases, the application programmer ing blocks, which include: uses the tools provided by the supplier of – Erlang – a programming language com- the target system, or the tools that are plete with compiler, debugger, and available in the development environ- other development tools (as a rule, the ment. tools and building blocks that are Target systems Box A required for Erlang are already imple- mented in the language, Box D); An OTP that consists of a control system Abbreviations – SASL – systems architecture support with one or more processors may be con- API Application program interface libraries (SASL) contain functions for figured as a target system. If the system ASN.1 Abstract syntax notation number one building fault-tolerant distributed appli- comprises more than one processor, BOS Basic operating system BSD Berkeley software distribution cations; then the processors must be able to com- DBMS Database management system – Mnesia – a real-time fault-tolerant dis- municate with one another through a log- HTTP Hypertext transfer protocol tributed database management sys- ical network. Some processors, I/O Input/output tem (DBMS); equipped with secondary storage and IP Internet protocol JAM Joe’s abstract machine – the Erlang run-time system; various I/O units, supervise and control MIB Management information base – sourced programs; the general system by means of func- MMU Memory management unit – standard, commercially available tions in the systems architecture support OTP Open telecom platform RCS Revision control system operating systems; libraries (SASL)—the OTP’s central com- RPC Remote procedure call – computer hardware. ponent. SASL Systems architecture support libraries Different packages of OTP-related com- A communication mechanism joins SNMP Simple network management protocol ponents have been defined to suit differ- each processor to the distributed system. TCP Transfer control protocol UDP User datagram protocol ent user needs. Applications develop- If desired – depending on requirements ment packages, for example, contain all for reliability – the processors and the 14 Ericsson Review No. 1, 1997 communication mechanism may be dupli- als, documentation standards, and sam- cated. The OTP handles all the basic ple programs that show how application Applications telecommunications requirements for programs are designed. written in Applications the control system (real-time, fault-toler- Most programs are written in Erlang. C or other written in Erlang ance, live software upgrades, distribu- However, application programs for time- languages tion), thereby allowing application design- critical parts may be written in C. ers to fully concentrate on the unique aspects of their own work. Moreover, the Sourced programs Mne- sia SASL SNMP Web OTP can easily be ported to several dif- The OTP defines how sourced programs, DBMS agent server ferent commercial operating systems. which include protocol stacks and man- agement applications, may be incorpo- Erlang run-time system System architecture rated into a system and made to inter- work with programs that were developed All application systems that are built on by application programmers. the open telecom platform (OTP) adhere Commercial operating system and computer hardware to a basic architectural structure, SASL Figure 1. The systems architecture support libraries (SASL) contain basic software Figure 1 Bottom layer that supports system start/restart, live The OTP system architecture. Commercial computer systems make up system software updates, and process the bottom layer. The system hardware in management. The basic operating sys- this layer may also be designed in-house, tem (BOS)—a predecesor to SASL – was if the manufacturing cost and the volume used for several years in the Mobility Serv- of delivery can be justified. This is mere- er and other systems. ly an architectural view; in real systems, the bottom layer contains many comput- Mnesia ers which may be of different types. A real-time fault-tolerant distributed DBMS that supports fast transactions Middle layer for the telecommunications application, Support for telecommunications require- and a query language, called ments is provided by a robust real-time Mnemosyne, for handling complex distributed database management sys- queries. tem (DBMS); basic support for handling software and reporting events; an exten- SNMP support sible SNMP agent; a Web server; and a SNMP provides run-time support through library of routines for interworking an extensible agent, and development between applications written in C and support by means of agent/sub-agent Erlang. design principles and an MIB compiler. Top layer Web server All applications have access to Mnesia The Web server permits data that refers and SASL. The SNMP agent and the Web to Erlang functions to be collected via server may also invoke functions that are Web pages. provided by the applications in this layer. Erlang run-time system Interfaces The basic system that supports the exe- Three interfaces are provided: an inter- cution of Erlang programs. The Erlang face to OTP software; an interface to the run-time system includes the Erlang operating system; and an interface abstract machine, which executes inter- between applications written in different mediate code, the kernel, and standard languages. In terms of logic, the third libraries. interface applies to the application level, but is implemented in the OTP and in the Computer platforms operating system. The operating system and computer hard- ware consist of standard commercially Application programs available systems. Testing environ- The OTP includes a set of application pro- ments, for example, use conventional gram interfaces (API), as well as rules and workstations. guidelines for writing application pro- OTP component packages are grams. It also includes teaching materi- defined to suit various purposes. Devel- Ericsson Review No. 1, 1997 15 opment packages include software for several versions of the OTP exist, see Box B developing Erlang programs, as well as Table 1. Reducing time to market libraries and applications. The user The effort required to support many dif- Shortening time to market entails much more than organisation purchases the actual com- ferent operating systems is manageable, simply reducing the time it takes to write program puter platform, such as a Sun work- mainly because most support for non- code. The time spent on the other phases of a station with the Solaris operating sys- Erlang languages is obtained directly from project must also be reduced. tem, a PC with a Windows operating the vendors of computer systems. Only a One way to do this is to have program designers begin their work at the early stages, or at high lev- system, or some