Introduction. version 5.0

Similar documents
OAM Principles. version 5.4

News From the OTP TEAM. Kenneth Lundin, Erlang/OTP, Ericsson Erlang User Conference, Stockholm 2017

FRANCESCO CESARINI. presents ERLANG/OTP. Francesco Cesarini Erlang

Toolbar Application (TOOLBAR) version 1.4

Orber Application. version 3.6

Java- and CORBA-Based Network Management. Mika Leppinen, Pekka Pulkkinen, and Aapo Rautiainen

A General Protocol Stack Interface in Erlang

Typeset in L A TEX from SGML source using the DOCBUILDER 3.0 Document System.

Interoperability Tutorial. version 5.6

Application Monitor Application (APPMON)

Overview. Borland VisiBroker 7.0

Management Settings ORBEM. This chapter provides instructions for configuring Object Request Broker Element Management (ORBEM)

orber Copyright Ericsson AB. All Rights Reserved. orber March 13, 2018

Erlang on Rumprun Unikernel

Cross Reference Tool (XREF)

Compiler Application (COMPILER) version 4.4

NetBeans Tutorial. For Introduction to Java Programming By Y. Daniel Liang. This tutorial applies to NetBeans 6, 7, or a higher version.

CloudI Integration Framework. Chicago Erlang User Group May 27, 2015

Typeset in L A TEX from SGML source using the DocBuilder Document System.

Mnemosyne (MNEMOSYNE) version 1.2

The GSN node - a design example

Cisco Unified Serviceability

TAC Vista. TAC Xenta 527-NPR. Product Manual. TAC Pangaea WorkStation

The NetBeans Debugger: A Brief Tutorial

Design Process Overview. At Each Level of Abstraction. Design Phases. Design Phases James M. Bieman

Distributed Computing

Continuous Integration at WCDMA using Erlang Common Test. By Johan Lundberg at Ericsson Radio Systems

Overview. Distributed Systems. Distributed Software Architecture Using Middleware. Components of a system are not always held on the same host

Today: Distributed Middleware. Middleware

Thinking in a Highly Concurrent, Mostly-functional Language

Integrator /CP Board Support Package for Microsoft Windows CE.NET

Today: Distributed Objects. Distributed Objects

NETWORK PROGRAMMING AND MANAGEMENT 1 KINGS DEPARTMENT OF INFORMATION TECHNOLOGY QUESTION BANK

Supplement H.1: JBuilder X Tutorial. For Introduction to Java Programming, 5E By Y. Daniel Liang

Supplement II.B(1): JBuilder X Tutorial. For Introduction to Java Programming By Y. Daniel Liang

costransactions Copyright Ericsson AB. All Rights Reserved. costransactions April

What are some common categories of system calls? What are common ways of structuring an OS? What are the principles behind OS design and

Introduction p. 1 Basic Programming Introduction p. 7 Introduction to Python p. 7 Why Use Python? p. 10 Main Technical Features p.

<Urban.Boquist. com> Rev PA

Crypto Application. version 1.2

Supplement: Visual C++ Debugging

Processes. Johan Montelius KTH

H8 C-SPY. User Guide WINDOWS WORKBENCH VERSION

A process. the stack

Erlang User Conference 2004

DePloying an embedded ERLANG System

An Introduction to Erlang

(C) Global Journal of Engineering Science and Research Management

Introduction and Overview Socket Programming Lower-level stuff Higher-level interfaces Security. Network Programming. Samuli Sorvakko/Nixu Oy

Software Paradigms (Lesson 10) Selected Topics in Software Architecture

Configuring SSH and Telnet

Multi Mediation 18 Training Programs. Catalog of Course Descriptions

Borland AppServer. Borland

Getting Started. Citrix Load Manager. Version 1.0. Citrix Systems, Inc.

M*Ware TMN Manager Development Environment

Distributed systems. Distributed Systems Architectures. System types. Objectives. Distributed system characteristics.

AntiLogReader Command Line Application User Guide

Implementation of GDMO to IDL Translator and CORBA/CMIP Gateway for TMN/CORBA Integration

Simulator. Chapter 4 Tutorial: The SDL

GateKeeper Guide. Borland VisiBroker 7.0

A Report on RMI and RPC Submitted by Sudharshan Reddy B

IBM Case Manager Mobile Version SDK for ios Developers' Guide IBM SC

PRIME Research Final Report

Chapter 4. Internet Applications

WOMBATOAM OPERATIONS & MAINTENANCE FOR ERLANG & ELIXIR SYSTEMS

WOMBATOAM OPERATIONS & MAINTENANCE FOR ERLANG & ELIXIR SYSTEMS

Programming Paradigms

What is CORBA? CORBA (Common Object Request Broker Architecture) is a distributed object-oriented client/server platform.

Configuring the Cisco NAM 2220 Appliance

Communication. Distributed Systems Santa Clara University 2016

Viewing Log Files. Understanding GSS Logging Levels CHAPTER

Introduction 13. Feedback Downloading the sample files Problem resolution Typographical Conventions Used In This Book...

ARM DS-5. Using the Debugger. Copyright 2010 ARM. All rights reserved. ARM DUI 0446A (ID070310)

Verification and Validation. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1

The Actor Model applied to the Raspberry Pi and the Embedded Domain. Omer

Programming Language Impact on the Development of Distributed Systems

2015 Erlang Solutions Ltd

CORBA Navigator, A Versatile CORBA Client and its application to Network Management

Introduction and Overview Socket Programming Lower-level stuff Higher-level interfaces Security. Network Programming. Samuli Sorvakko/Trusteq Oy

Chapter 1: Distributed Systems: What is a distributed system? Fall 2013

Reliable Delivery and Filtering for Syslog

The do s and don ts of error handling. Joe Armstrong

APPLICATION LAYER APPLICATION LAYER : DNS, HTTP, , SMTP, Telnet, FTP, Security-PGP-SSH.

Introduction and Overview Socket Programming Higher-level interfaces Final thoughts. Network Programming. Samuli Sorvakko/Nixu Oy

Eclipse Tutorial. For Introduction to Java Programming By Y. Daniel Liang

IONA BMC Patrol Integration Guide. Version 3.0, April 2005

ios vs Android By: Group 2

Operating Systems 2010/2011

d. Window list 9. A large space common in most of the windows which is for users work with that application is --- a. Application view b.

LINUX DEVICE DRIVERS Weekend Workshop

Often, more information is required when designing system call Information varies according to OS and types of system call

A Brief History of Distributed Programming: RPC. YOW Brisbane 2016

Erlang. Joe Armstrong.

Chapter 4 Communication

Carrier Grade Linux and VxWorks

IBM Networking OS. BBI Quick Guide. for the EN2092 1Gb Ethernet Scalable Switch, Second edition (replaces 88Y7949)

Introduction and Overview Socket Programming Higher-level interfaces Final thoughts. Network Programming. Samuli Sorvakko/Nixu Oy

1.264 Lecture 16. Legacy Middleware

System Principles version 4.9 OTP Team

All you need is fun. Cons T Åhs Keeper of The Code

Transcription:

Introduction version 5.0

Typeset in L A TEX from SGML source using the DOCBUILDER 3.0 Document System.

Contents 1 Introduction 1 1.1 Introduction.......................................... 2 Erlang and OTP........................................ 2 Erlang/OTP.......................................... 2 Scope and Purpose...................................... 3 About the Erlang/OTP Documentation........................... 4 Typographical Conventions................................. 5 List of Tables 7 System Architecture Introduction i

ii System Architecture Introduction

Chapter 1 Introduction System Architecture Introduction 1

1.1 Introduction Erlang and OTP Erlang is a general-purpose programming language with built-in support for concurrency, distribution and fault tolerance. OTP (Open Telecom Platform) is aimed at providing time-saving and flexible development for robust, adaptable telecom systems. It consists of an Erlang runtime system, a number of ready-to-use components mainly written in Erlang, and a set of design principles for Erlang programs. Since Erlang and OTP are closely interconnected the term Erlang/OTP is normally used instead of OTP. Erlang/OTP The Erlang runtime system (ERTS) is made up of an emulator running on top of the host operating system, a kernel providing low-level services such as distribution and I/O handling, and a standard library containing a large number of re-usable modules. An introduction to ERTS can be found in chapter 2 Getting started with Erlang. Full documentation can be found in the part of the documentation about ERTS and the Basic Applications. The OTP design principles provides the user with a way to structure the system based on a concept called application. An OTP application is a way to package a system component and is either a set of library modules or a supervision tree. A supervision tree is a hierarchical tree of processes used to program fault-tolerant systems. The processes are easiest implemented using behavior modules which are formalizations of design patterns. The standard library includes behavior modules for supervisors, servers, state machines and generic event handlers. In chapter 4 OTP Design Principles the design principles are explained in detail. The OTP components can be divided into six categories: Basic Applications - Basic Erlang/OTP functionality. compiler A byte code compiler for Erlang which produces highly compact code. kernel Functionality necessary to run Erlang/OTP itself. sasl (System Architecture Support Libraries) A set of tools for code replacement and alarm handling etc. stdlib The standard library. Operations and Maintenance - OAM both of the system developed by the user and of Erlang/OTP itself. eva A multi-featured event and alarm handler. mesh A measurement handler application. os mon A monitor which allows inspection of the underlying operating system. snmp SNMP support including a MIB compiler and tools for creating SNMP agents. Interface and Communication - Interoperability and protocols support. asn1 Support for ASN.1. erl interface Low level interface to C. 2 System Architecture Introduction

1.1: Introduction jinterface Low level interface to Java. gs A graphics system used to write platform independent user interfaces. inets A set of services such as a web server and a FTP client. comet A library that enables Erlang/OTP to call COM objects on windows ssl Secure Socket Layer (SSL),interface to UNIX BSD sockets crypto Cryptographical support Database Management. mnemosyne Query language support for Mnesia DBMS. mnesia A heavy duty real-time distributed database. mnesia session A foreign language interface to Mnesia DBMS. odbc ODBC database interface. CORBA services and IDL compiler. cosevent Orber OMG Event Service. costransactions Orber OMG Transaction Service. cosnotificationorber OMG Notification Service. costimeorber OMG Timer and TimerEvent Services. ic IDL compiler orber A CORBA object request broker. Tools. appmon A utility used to view OTP applications. debugger For debugging and testing of Erlang programs. parsetools A set of parsing and lexical analysis tools. pman A process manager used to inspect the state of an Erlang/OTP system. runtime tools Tools to include in a production system. toolbar A tool bar simplifying access to the Erlang/OTP tools. tools A set of programming tools including a coverage analyzer etc. tv An ETS and Mnesia graphical table visualizer. Scope and Purpose This documentation describes the Erlang runtime system, the OTP applications and the OTP design principles. It assumes that the reader is familiar with the Erlang programming language and does not explain how to program in Erlang. The language is described in Concurrent Programming in Erlang, 2nd Edition, ISBN 0-13-508301-X. System Architecture Introduction 3

Chapter 1: Introduction About the Erlang/OTP Documentation Structure of this Book The documentation is divided into eight parts. This book, Erlang 5.0/OTP R7 System Documentation, EN/LZT 108 4095 R1, is the starting point of the documentation and contains information about the Erlang programming language and runtime system, the OTP design principles, and how to install and configure Erlang/OTP. Chapter 2: Getting Started with Erlang describes the Erlang runtime system and introduces the reader to tools such as the compiler and debugger. Chapter 3: Erlang Extensions Since 4.4 lists all extensions added to the Erlang programming languages since the latest version of the book Concurrent Programming in ERLANG. Chapter 4: OTP Design Principles describes a way to structure Erlang code in terms of applications and supervision trees. The standard behaviors are described and examples illustrate how to apply these behaviors to typical applications. Chapter 5: Installation Guide gives guidelines on how to install Erlang/OTP on UNIX or Windows. Chapter 6: System Principles describes the strategies and options, which are available to start an Erlang/OTP system. This chapter also provides a brief description of the applications included in an Erla ng/otp system. Chapter 7: Embedded Systems is a supplement to Installation Guide. t describes issues that are specific for running Erlang/OTP on an embedded system. Chapter 8: Operation and Management Principles describes the model for operation and maintenance of sub-systems. Chapter 9: Tutorial gives an orientation of the different interoperability mechanism, which can be used when integrating an Erlang program with a program written in an other programming language. Structure of the Total Documentation The remaining seven books in the total documentation set contain User s Guides and Reference manuals for the OTP applications. Erlang 5.0/OTP R7 Run-Time System and Basic Applications, EN/LZT 108 4106 R1 Contents: 1. ERTS 2. SASL 3. Kernel 4. Compiler Erlang 5.0/OTP R7 Standard Library, EN/LZT 108 4107 R1 Erlang 5.0/OTP R7 Database Applications, EN/LZT 108 194 R3 Contents: 1. Mnesia 2. Mnesia Session 3. Mnemosyne 4. ODBC 4 System Architecture Introduction

Erlang 5.0/OTP R7 Object Request Broker, Services and IDL Compiler, EN/LZT 151 810 R2 Contents: 1. Orber 2. cosevent 3. costransactions 4. cosnotification 5. costime 6. IC Erlang 5.0/OTP R7 Interface and Communication Applications, EN/LZT 108 4110 R1 Contents: 1. Asn1 2. Erl Interface 3. Jinterface 4. GS 5. INETS 6. Comet 7. SSL 8. Crypto Erlang 5.0/OTP R7 Operation and Maintenance Applications, EN/LZT 108 4108 R1 Contents: 1. EVA 2. Mesh 3. SNMP 4. OS Mon Erlang 5.0/OTP R7 Tool Applications, EN/LZT 108 4109 R1 Contents: 1. Debugger 2. Pman 3. Toolbar 4. Tools 5. TV 6. Appmon 7. Parcetools 8. Runtime Tools Typographical Conventions The following typographical conventions are used in the documentation. System Architecture Introduction 5

Convention command code Where used To show menu selections and equivalent command line entries. To show keyboard entries at system prompts. To highlight Erlang code, module and function names, arguments, variables, and file names. Table 1.1: Examples of typographical conventions. 6 System Architecture Introduction

List of Tables Chapter 1: Introduction 1.1 Examples of typographical conventions............................ 6 System Architecture Introduction 7