Documents
Resources
Learning Center
Upload
Plans & pricing Sign in
Sign Out

I. Introduction

VIEWS: 4 PAGES: 23

									       521265A Telecommunication Software                                    Ch1 – Introduction           521265A Telecommunication Software                                    Ch1 – Introduction


                                                                                                             Outline
                                                                                                       Background
                                                                                                           Communication and network
                                                                                                           Protocol hierarchy
                                                                                                       Reference Models
                                                                                                           OSI Reference Model
                                                                                                           TCP/IP Reference Model
                                      I. Introduction                                                  Knowledge review
                                                                                                           Network fundamental
                                                                                                           Software testing
                                                                                                       Protocol development
                                                                                                           Protocol engineering
                                                                                                           Protocol specification
                                                                                                           Protocol testing


Dept. Electrical & Information Engineering, Computer Engineering Lab   1-1       Dr. Junzhao Sun   Dept. Electrical & Information Engineering, Computer Engineering Lab   1-2       Dr. Junzhao Sun




       521265A Telecommunication Software                                    Ch1 – Introduction           521265A Telecommunication Software                                    Ch1 – Introduction


          Outline                                                                                            Telecommunication Software: Behind the Name
    Background                                                                                         Telecommunication(s): the science and technology of
        Communication and network                                                                      transmitting information (words, sounds, images) over great
        Protocol hierarchy                                                                             distances,                                       (telegraph,
                                                                                                       distances in the form of electromagnetic signals (telegraph
    Reference Models                                                                                   telephone, radio, TV)
        OSI Reference Model                                                                                In short: communication at a distance
        TCP/IP Reference Model
                                                                                                       Software: the addition that enabled the hardware launch the
    Knowledge review
                                                                                                       computer revolution (spirit of machine)
        Network fundamental
        Software testing                                                                               Telecommunication Software is about how to enable
    Protocol development                                                                                       i ti     t di t
                                                                                                       communication at a distance
        Protocol engineering                                                                           Keyword: NETWORKS
        Protocol specification
        Protocol testing


Dept. Electrical & Information Engineering, Computer Engineering Lab   1-3       Dr. Junzhao Sun   Dept. Electrical & Information Engineering, Computer Engineering Lab   1-4       Dr. Junzhao Sun
       521265A Telecommunication Software                                    Ch1 – Introduction           521265A Telecommunication Software                                            Ch1 – Introduction


          Networks                                                                                           Network Basic
    Definition                                                                                         Basic forms of communications
        Autonomous computing systems (NODES) are interconnected                                            Shared memory vs. message exchange
    Result                                                                                             Networks are loosely coupled
        Resources and information are accessible, independently of their                                   There is no shared memory
        physical location                                                                                  Applications residing on different nodes cooperate ONLY by passing
    Advantages                                                                                             messages to each other
        Resource sharing and redundancy                                                                Network includes:
        Parallel and/or distributed processing                                                             Transmission medium & hardware e.g. lines
        Improved reliability, availability, and performance
        I        d li bilit      il bilit     d    f                                                       Special-purpose h d
                                                                                                           S   i l         hardware d i          hub/relay/switch/router
                                                                                                                                    devices e.g. h b/ l / it h/ t
    Tradeoff                                                                                                    Interconnect transmission media, control transmission, run protocol software

        Increased complexity                                                                               Protocol software
                                                                                                                Encodes and formats data, detects and corrects problems



Dept. Electrical & Information Engineering, Computer Engineering Lab   1-5       Dr. Junzhao Sun   Dept. Electrical & Information Engineering, Computer Engineering Lab          1-6        Dr. Junzhao Sun




       521265A Telecommunication Software                                    Ch1 – Introduction           521265A Telecommunication Software                                            Ch1 – Introduction


          Networks for Communication                                                                         Communication Systems
    Provides communication that is                                                                     For transparently transferring messages, end-to-end, through the
        Reliable                                                                                       network, COMMUNICATION SYSTEMS are provided
        Fair
        F i
        Efficient
        From one application to another
                                                                                                                            Application                                   Application
    Automatically detects and corrects
        Data corruption
        Data loss
                                                                                                                                          Communication system
        Duplication
        D li ti
        Out-of-order delivery
    Automatically finds optimal path from source to destination
                                                                                                                                                   Network
        Switching techniques


Dept. Electrical & Information Engineering, Computer Engineering Lab   1-7       Dr. Junzhao Sun   Dept. Electrical & Information Engineering, Computer Engineering Lab          1-8        Dr. Junzhao Sun
       521265A Telecommunication Software                                     Ch1 – Introduction           521265A Telecommunication Software                                             Ch1 – Introduction


          Communication Systems & Protocol                                                                    Services, Protocols, & Communication Services
    A communication system encompasses a set of protocols in                                            Service
    order to provide its communication services                                                             A capability offered by a service provider and applied by one/more
                                                                                                            service users
                                                                                                            Defined by a set of user and provider operations (primitives)
    The protocols control the message exchange of applications
                                                                                                            Each primitive is a single interaction between user and provider
    distributed within the network
                                                                                                        Protocol
                                                                                                            A defined set of rules, data formats, and functions that incorporates a set
                                                                                                            of services
                                                                                                            Using a protocol is transparent to the user


                                                                                                        Communication Service = a communication facility


Dept. Electrical & Information Engineering, Computer Engineering Lab   1-9        Dr. Junzhao Sun   Dept. Electrical & Information Engineering, Computer Engineering Lab          1-10        Dr. Junzhao Sun




       521265A Telecommunication Software                                     Ch1 – Introduction           521265A Telecommunication Software                                             Ch1 – Introduction


          Network Software                                                                                    Protocol Hierarchy – Principle
    Protocol hierarchies                                                                                     (N+1)-entity = (N)-                                           (N+1)-entity = (N)-
        Intended to reduce design complexity                                                                    service user                      (N)-SAP                     service user
        Introduce n l i ll i d
        I t d                        d t layers
                    logically independent l
                                                                                                                                                                                         (N)-service definition
             Layer n on machine A talks to layer n on machine B
        The true (physical) communication happens between layers n and n-1
                                                                                                             (N)-entity = local  (N)-service protocols                      (N)-entity = local
        Interface of layer n-1 defines operations and services for layer n                                  (N)-service provider                                           (N)-service provider
                                                                                                                                     specification
             The intention is that we only know “what” is achieved but we do not know how                   = (N-1)-service user                                           = (N-1)-service user
                                                                                                                                       (N-1)-SAP
    Network architecture: The set of layers and protocols
        The list of protocols used in an architecture is referred to as the protocol
        stack                                                                                                                        global (N-1)-service provider


                                                                                                                                       global (N)-service provider

Dept. Electrical & Information Engineering, Computer Engineering Lab   1-11       Dr. Junzhao Sun   Dept. Electrical & Information Engineering, Computer Engineering Lab          1-12        Dr. Junzhao Sun
        521265A Telecommunication Software                                           Ch1 – Introduction                 521265A Telecommunication Software                                      Ch1 – Introduction


           Protocol Hierarchy – Service Interface                                                                         Protocol Hierarchy – Service Primitives
                                                                                                                    A service is formally specified by a set of primitives (operations)
                                                               SAP = Service Access Point
                                                                                                                    available to a user or other entity to access the service, in forms
                                                               IDU = Interface Data Unit
                             IDU                                                                                    of messages between adjacent layers
                                                               SDU = Service Data Unit
                                                               ICI = Interface Control Information
Layer N+1              ICI      SDU                                                                                 Layer N+1                    Layer N+1                  Primitive              Meaning
                                                               PDU = Protocol Data Unit
                                                               PCI = Protocol Control Information                   1           4                3           2
                                                                                                                                                                          Request       An entity wants the
                                 SAP                                I.e. Header                                                                                                         service to do some work
                                                                                                                     Layer N                       Layer N
Interface
                                                                                                                                                                          Indication    An entity is to be informed
                                                                                             Layer N entities
                                                                                             L          titi                                                                             b t
                                                                                                                                                                                        about an event  t
 Layer N                                                                                       exchange N-
                    ICI            SDU                       PCI        SDU                                        1. Service.Request                                     Response      An entity wants to respond
                                                                                               PDUs in their                                                                            to an event
                                                                                             layer N protocol      2. Service.Indication
                                                                 N-PDU                                             3. Service.Response                                    Confirm       The response to an earlier
                                                                                                                   4. Service.Confirm                                                   request has come back
                                                                                                                   Service = Connect/Data/Disconnect
 Dept. Electrical & Information Engineering, Computer Engineering Lab         1-13       Dr. Junzhao Sun        Dept. Electrical & Information Engineering, Computer Engineering Lab     1-14       Dr. Junzhao Sun




        521265A Telecommunication Software                                           Ch1 – Introduction                 521265A Telecommunication Software                                      Ch1 – Introduction


           Organizations for Standardization                                                                              Outline
     ISO = International Organization for Standardization                                                           Background
         International standards for business, government and society                                                    Communication and network
         http://www.iso.org/
         http://www iso org/                                                                                             Protocol hierarchy
     IEC = International Electrotechnical Commission                                                                Reference Models
         International standards for electrical, electronic and related technologies                                     OSI Reference Model
         http://www.iec.ch/                                                                                              TCP/IP Reference Model
     ITU = International Telecommunication Union                                                                    Knowledge review
     ITU-T = ITU Telecommunication Standardization Sector                                                                Network fundamental
         Formerly CCITT                                                                                                  Software testing
              //           /     /
         http://www.itu.int/ITU-T/
                                                                                                                    Protocol development
     ETSI =European Telecommunications Standards Institute
                                                                                                                         Protocol engineering
         Produce telecommunications standards to be used throughout Europe
                                                                                                                         Protocol specification
         http://www.etsi.org/
                                                                                                                         Protocol testing
     IEEE=Institute of Electrical and Electronics Engineers

 Dept. Electrical & Information Engineering, Computer Engineering Lab         1-15       Dr. Junzhao Sun        Dept. Electrical & Information Engineering, Computer Engineering Lab     1-16       Dr. Junzhao Sun
       521265A Telecommunication Software                                          Ch1 – Introduction           521265A Telecommunication Software                                           Ch1 – Introduction


          ISO-OSI model                                                                                            OSI System Model
   Standardized reference model for protocol specifications and implementations                              OSI system -> interconnection of compatible open systems, functionally
   by ISO in 1983                                                                                            decomposed into 7 layers and 2 planes
                                                                                                                 Layers and planes define a structuring of the system
   Framework of standards for Open Systems Interconnection
                                                                                                                 Structuring is performed to break down complexity into manageable components
1. Basic reference model                                                                                         Components are coarse-grain building blocks of a computer network
         Provides a common basis for the development of OSI standards                                        7-layers, layer 1-3 are network layers, layers 4-7 are application layers
         Defines common terminology & references for system, security & mgmt architecture                        Physical layer: accesses physical medium to transmit signal: signaling & encoding
         Parts: the basic model, security architecture, naming and addressing, mgmt                              Data link layer: two party communication by logical link: Ethernet
         framework (ISO 7498)                                                                                    Network layer: relay, routing, addressing: IP
2. Service specifications                                                                                        Transport layer: end-to-end communication, format, QoS, content: TCP
         Based on OSI model                                                                                                                         connection,
                                                                                                                 Session layer: establish/manage connection organize & synchronize dialogues
         Define capabilities provided by the OSI systems in an abstract way                                      Presentation layer: transfer syntaxes for data exchange, ASCII, sound
3. Protocol specifications                                                                                       Application layer: actual services, file transfer, Email, remote login
         Based on OSI model                                                                                  Two planes
         Define the functionality required to provide a particular OSI service                                   Management plane (MP) contains functions for layer and system management
                                                                                                                 Operational plane (OP) contains the communication facility

Dept. Electrical & Information Engineering, Computer Engineering Lab        1-17       Dr. Junzhao Sun   Dept. Electrical & Information Engineering, Computer Engineering Lab         1-18       Dr. Junzhao Sun




       521265A Telecommunication Software                                          Ch1 – Introduction           521265A Telecommunication Software                                           Ch1 – Introduction


          OSI Reference Model                                                                                      OSI Reference Model
    OSI = Open Systems Interconnection                                                                                                                APDU
                                                                                                                              Application                               Application
                                                                       Application                                                                                                             PSDU
               Application services                                                                                                                   PPDU             Presentation
                                                                                                                            Presentation
               are provided by the                                     Presentation                                                                                                            SSDU
                                                                                                                                                      SPDU                Session
                                                                                                                                Session
               upper layer infrastructure                                                                                                                                                      TSDU
                                                                         Session                                                                      TPDU
                                                                                                                               Transport                                 Transport
                                                                        Transport                                                                                                              NSDU
                                                                                                                                                     Packet
                                                                                                                                Network                                   Network
               End-to-end services                                       Network                                                                                                               DSDU
                                                                                                                                                     Frame                Data link
               are provided by the                                                                                             Data link
                                                                        Data link                                                                                                             PhSDU
               lower layer infrastructure                                                                                                               Bit               Physical
                                                                                                                               Physical
                                                                         Physical
Dept. Electrical & Information Engineering, Computer Engineering Lab        1-19       Dr. Junzhao Sun   Dept. Electrical & Information Engineering, Computer Engineering Lab         1-20       Dr. Junzhao Sun
       521265A Telecommunication Software                                           Ch1 – Introduction                 521265A Telecommunication Software                                     Ch1 – Introduction


          Service and Protocol Model                                                                                      Connection-oriented vs Connectionless Service
    At each layer, one/more services are provided                                                                   Connection oriented service works like the phone
        A service may offer communication capabilities to the next higher level or to                                   Connection is established: path setup before data is sent
        users for sending/receiving data over the network                                                               D t is exchanged: d t need not have address
                                                                                                                        Data i    h      d data     d th         dd
    For service provision, entities at the layer perform a protocol                                                     Connections is terminated
        Defines the rules/formats for entities collaboration
        Defines entities collaboration by using the service of the next lower layer,                                Connectionless service is similar to the postal system
        except for the physical layer                                                                                   A message is fed to the system: complete address on each packet
    Service visible only to the next higher layer                                                                       It travels though various paths hopefully reaching the destination
                             ser ice
    Protocol implementing service: hidden                                                                               Oft referred to as datagram service
                                                                                                                        Often f       dt      d t          i
        Benefit: protocols can be replaced without affecting the next higher layer if                                   Other reliable connectionless services
        they provide the same service                                                                                        Acknowledged datagram service
    OSI framework has separate specifications for services and                                                               Request-reply service

    protocols
Dept. Electrical & Information Engineering, Computer Engineering Lab        1-21        Dr. Junzhao Sun         Dept. Electrical & Information Engineering, Computer Engineering Lab   1-22       Dr. Junzhao Sun




       521265A Telecommunication Software                                           Ch1 – Introduction                 521265A Telecommunication Software                                     Ch1 – Introduction


          Type of Services                                                                                                OSI Summary

                                                          Services                                                  The OSI model introduced three concepts

                                                                                                                        Services: what th layer d
                                                                                                                        S i        h t the l    does
                         Connection-oriented                                       Datagram
                                                                                                                        Interface: tells how to access services (layer communication)

                    Reliable                   Unreliable              Reliable               Unreliable                Protocols: means of achieving services
                                           (e.g. digital voice)                              (e.g. junk mail)

      Message               Bit stream                  Acknowledged              Request reply
                                                                                  Request-reply
      sequence           (e.g. remote login)

                                                            request to             client-server
      preserved
                              no message                     return a                 model,
      message
                               boundary                       receipt                DB query
      boundary

Dept. Electrical & Information Engineering, Computer Engineering Lab        1-23        Dr. Junzhao Sun         Dept. Electrical & Information Engineering, Computer Engineering Lab   1-24       Dr. Junzhao Sun
       521265A Telecommunication Software                                     Ch1 – Introduction           521265A Telecommunication Software                                     Ch1 – Introduction


          Internet Protocol Suite (IPS)                                                                       Internet Standards Organizations
    Internet employs a collection of different and complementary                                        Internet Engineering Task Force (IETF) http://www.ietf.org
    protocols at various layers, known as Internet Protocol Suite or                                        Creation, testing and implementation of Internet Standards (RFCs)
    TCP/IP                                                                                              Internet Research Task Force (IRTF) http://www.irtf.org
        More than 100 protocols                                                                             Long-term research project related to Internet protocols, applications,
        Most famous: TCP and IP                                                                             architecture and technology
    All protocols specifications are public                                                             Internet Architecture Board (IAB) http://www.iab.org
        Internet is an open system                                                                          Technical advisory group for long term planning of the Internet, the final
    Specifications published as Request for Comments (RFC)                                                  quality of Internet standards, and the publication of RFC documents
    d
    documentst                                                                                                   Society       http://www.isoc.org
                                                                                                        Internet Societ (ISOC) http //    isoc org
        Official standards                                                                                  Organizational home of all above
        General notes -> draft or proposed standards, experimental, historical or                       Others: ETSI, ITU, WWW
        informational descriptions
        Downloadable from IETF (http://www.ietf.org/)

Dept. Electrical & Information Engineering, Computer Engineering Lab   1-25       Dr. Junzhao Sun   Dept. Electrical & Information Engineering, Computer Engineering Lab   1-26       Dr. Junzhao Sun




       521265A Telecommunication Software                                     Ch1 – Introduction           521265A Telecommunication Software                                     Ch1 – Introduction


          Internet, intranet, internet                                                                        TCP/IP Reference Model
    Internet                                                                                            TCP = Transport Control Protocol IP = Internet Protocol
        A specific worldwide internet that is widely used to connect universities,
                    offices, companies
        government offices companies, and private individuals                                                 R fM d l
                                                                                                       TCP/IP Ref Model                      TCP/IP Protocols
                                                                                                                                                    P      l                      Ref Model
                                                                                                                                                                              OSI R f M d l
    intranet                                                                                                                                                                      Application
        Private network in which IPS is used                                                                Application                   FTP Telnet HTTP
        Users/providers are typically of the same organization
                                                                                                                                                                                  Presentation
    internet(work)                                                                                                                                                                  Session
                                                                                                              Transport                      TCP                UDP
        Any collection of networks that appears to its users as a single virtual                                                                                                   Transport
        network by using a common protocol suite
                                                                                                               Internet                                  IP                        Network
        Generally no protocol suite is prescribed
        Subnet: the collection of routers/switches and communication lines owned                                                         Ether Packet Point--                      Data link
        by the network operator                                                                         Host-to-Network
                                                                                                                                           net radio point                          Physical

Dept. Electrical & Information Engineering, Computer Engineering Lab   1-27       Dr. Junzhao Sun   Dept. Electrical & Information Engineering, Computer Engineering Lab   1-28       Dr. Junzhao Sun
       521265A Telecommunication Software                                     Ch1 – Introduction           521265A Telecommunication Software                                     Ch1 – Introduction


          IPS System Architecture and Protocols                                                               Comparison of the OSI & TCP Models
    Link / network adaptation layer (LL)                                                                OSI introduced concept of services, interface, protocols. These
        Adapt to the different subnet properties for a uniform subnet interface to NL                   were force-fitted to TCP later
        E.g. PPP, ARP
        E PPP ARP, RARP                                                                                     P t       l in the        d l    b tt hidd th i th              d l
                                                                                                            Protocols i th OSI model are better hidden than in the TCP/IP model
    Network layer (NL)                                                                                      It is not easy to replace protocols in TCP
        Takes case of routing user data (segmented and reassembled) through                             In OSI, reference model was done before protocols. In TCP,
        subnets towards the final destination                                                           protocols were done before the model
        E.g. IP, IGMP, ICMP, RSVP, BGP, OSPF, RIP                                                           OSI is standardized first, built later; TCP is built first, standardize later
    Transport layer (TL)                                                                                OSI took too long to standardize. TCP/IP was already in wide use
        End-to-end network service with error control and d
        E dt     d t     k     i    ith                     lti l i
                                                 t l d demultiplexing                                   b th ti
                                                                                                        by the time.
        E.g. TCP, UDP, MTP                                                                              OSI become too complex.
    Application layer (AL)                                                                              TCP/IP is not general, but specific and ad hoc.
        Support application-oriented services
        E.g. DHCP, FTP, TELNET, SNMP, SMTP, DNS, HTTP
Dept. Electrical & Information Engineering, Computer Engineering Lab   1-29       Dr. Junzhao Sun   Dept. Electrical & Information Engineering, Computer Engineering Lab   1-30       Dr. Junzhao Sun




       521265A Telecommunication Software                                     Ch1 – Introduction           521265A Telecommunication Software                                     Ch1 – Introduction


          Outline                                                                                             Transmission Media
    Background                                                                                          Wireline
        Communication and network                                                                           Twisted Pair, used to be the commonest but gets unfashioned
        Protocol hierarchy                                                                                  Coaxial cable, used f cable TV networks and some LAN
                                                                                                            C    i l bl         d for bl          t    k     d    LANs
    Reference Models                                                                                        Optical Fiber, very efficient; telephone companies prefer it, fixed (core)
        OSI Reference Model                                                                                 networks likely to use only fibers in the future
        TCP/IP Reference Model
    Knowledge review
                                                                                                        Wireless (Air)
        Network fundamental
                                                                                                            Enable wireless and mobile communication
        Software testing
                                                                                                            Infrared
                                                                                                            I f    d
    Protocol development
                                                                                                            RF (Radio Frequency)
        Protocol engineering
        Protocol specification                                                                              Microwave
        Protocol testing                                                                                         Terrestrial
                                                                                                                 Satellite

Dept. Electrical & Information Engineering, Computer Engineering Lab   1-31       Dr. Junzhao Sun   Dept. Electrical & Information Engineering, Computer Engineering Lab   1-32       Dr. Junzhao Sun
       521265A Telecommunication Software                                     Ch1 – Introduction           521265A Telecommunication Software                                       Ch1 – Introduction


          Transmission techniques                                                                             Medium Access Methods
    Baseband transmission                                                                               Ways to share a common transmission medium and to control
        Use digital signals in form of discrete pulses of electricity or light                          medium accesses for transmission
        Digital data stored typically as a pattern of 0s and 1s
                                                                                                        Transmission frame
        A variety of encoding schemes for representing transmissible binary values
                                                                                                            Sequence of bits transmitted as a logical unit
    Broadband transmission
        Based on analog signals that are continuous and non-discrete                                    Transmission link
        Cycle, period, frequency: 1 Hz = 1 cycle/second                                                     Physical channel between multiple stations
        Transmission media can carry frequencies at various ranges--Bandwidth                               Able to transmit/receive information
    Modulation                                                                                              Provides an abstraction on which transmission media and topology is based
        Conversion of digital data to analog signals                                                        Types of links: point-to-point, multipoint, broadcast
        Assignment of a particular analog signal to a group of one/more bit values                      Multiplexing techniques for point-to-point
        (bit pattern)
                                                                                                            Frequency division multiplexing (FDM)
        Modem (modulator/demodulator): device that accepts a serial stream of bits
        as input and produces a modulated carrier as output (or vice versa)                                 Time division multiplexing (TDM)


Dept. Electrical & Information Engineering, Computer Engineering Lab   1-33       Dr. Junzhao Sun   Dept. Electrical & Information Engineering, Computer Engineering Lab     1-34         Dr. Junzhao Sun




       521265A Telecommunication Software                                     Ch1 – Introduction           521265A Telecommunication Software                                       Ch1 – Introduction


          Switching                                                                                           Comparison of Switching Techniques
    For multipoint links
        Collection of point-to-point links connecting multiple stations                                                                                      Circuit-switched Packet-switched

    Circuit switching                                                                                     Dedicated “copper”path                             Yes                    No
        Switches bridge one incoming link to one outgoing link for a defined                              Bandwidth available                                Fixed                  Dynamic
        period of time
        Incoming frames are directed to the corresponding outgoing link                                   Potentially wasted bandwidth                       Yes                    No
        A path between two stations: circuit                                                              Store-and-forward transmission                     No                     Yes
    Packet switching                                                                                      Each packet follows the same route Yes                                    No
        Packet i         i frame
        P k t = incoming f
                                                                                                          Call setup                                         Required               Not needed
        Each packet is routed to one of the outgoing links
        A routing algorithm defines which link should be selected, on a per packet                        When can congestion occur                          At setup time          On every packet
        base
                                                                                                          Charging                                           Perminute              Perpacket


Dept. Electrical & Information Engineering, Computer Engineering Lab   1-35       Dr. Junzhao Sun   Dept. Electrical & Information Engineering, Computer Engineering Lab     1-36         Dr. Junzhao Sun
       521265A Telecommunication Software                                     Ch1 – Introduction           521265A Telecommunication Software                                     Ch1 – Introduction


          Network Topologies                                                                                  Network Taxonomy
                                                                                                        Criterion: transmission technology
                                                                                                            Broadcast links, multipoint links, point-to-point links
                                                                                                        Criterion: scale (geographical extent)
                                                                                                            Very local area networks (personal area network, PAN), Bluetooth
                                                                                                            Local area networks (LAN): Ethernet, Token Ring, WLAN
                                                                                                            Metropolitan area networks (MAN) : FDDI (Fiber Distributed Digital Interface)
                                                                                                            Wide area networks (WAN): TV, radio, Telephone, ISDN, Satellite
                                                                                                            Internetworks, the Internet
                                                                                                        Criterion: organization
                                                                                                            Private t     k     bli   t
                                                                                                            P i t networks, public networksk
                                                                                                            Office/Corporation networks, home networks
                                                                                                        Other criterions
                                                                                                            Wireless networks, wired networks
                                                                                                            Mobile networks, Fixed networks
                                                                                                            Intranet, Internet
Dept. Electrical & Information Engineering, Computer Engineering Lab   1-37       Dr. Junzhao Sun   Dept. Electrical & Information Engineering, Computer Engineering Lab   1-38       Dr. Junzhao Sun




       521265A Telecommunication Software                                     Ch1 – Introduction           521265A Telecommunication Software                                     Ch1 – Introduction


          Network vs Distributed System                                                                       A New Software Layer – Middleware
    Computer Network: collection of autonomous computers                                                Current generation OSs do not harness high connectivity
    interconnected by a single technology                                                                   High connectivity already exists (LANs, Internet)
    Internet and World Wide Web are NOT networks                                                            OSs     id            but    li ti        left to deal ith
                                                                                                            OS provide access, b t applications are l ft t d l with it
        Internet: collection of interconnected networks                                                 Require a new MIDDLEWARE layer
        WWW: distributed system running on top of Internet                                                  Hide the complexities of distribution from applications
    Distributed System: collection of autonomous computers                                                  Make location of applications transparent to each other
    that appears to its users as a single coherent system                                                   Applications composed of objects and components
        Typically it has a single model or paradigm that it presents to its                                 Middleware provides mechanisms for objects to interoperate
        users                                                                                           Middeleware forms the “software backplane” for integrating
                                                                                                        Midd l       f    th “ ft       b k l    ”f i t       ti
        WWW: everything looks like a document (web page)                                                applications
        Software system built on top of a network                                                           E.g. CORBA, DCOM, Java/RMI



Dept. Electrical & Information Engineering, Computer Engineering Lab   1-39       Dr. Junzhao Sun   Dept. Electrical & Information Engineering, Computer Engineering Lab   1-40       Dr. Junzhao Sun
       521265A Telecommunication Software                                     Ch1 – Introduction           521265A Telecommunication Software                                     Ch1 – Introduction


          Network Applications                                                                                Software Testing – Fundamental
    Classical applications                                                                              Software development must be accompanied by quality
        File transfer (FTP), Virtual terminal (TELNET), Electronic mail (SMTP,                          assurance activities
        POP3, IMAP, MIME), Remote job entry, Telephone, Telefax, Telex and
        Teletex                                                                                             B         f th f llibilit f its human d i
                                                                                                            Because of the fallibility of it h                  d its     b t t
                                                                                                                                                  designers and it own abstract,
                                                                                                            complex nature
    Distributed applications
                                                                                                            The destructive nature of testing requires that the developer discard
        Improve performance / reliability by distributing & replicating functions /                         preconceived notions of the correctness of his/her developed software
        resources
        Distributed database / operating / transaction / file systems                                   Software testing is time-consuming during the whole software
        Distributed shared memory (DSM) or remote procedure call (RPC)                                  development process
    Multimedia applications                                                                                                                             Expression, Specification, Design,
                                                                                                            Project process includes Requirement Expression Specification Design
        Types of media: Continuous/Discrete, text, image, graphic, audio, video                             Implementation and Testing
        Conversational / Retrieval / Messaging / Distribution MM applications                               It is not unusual for developers to spend 40% of the total project time on
        E.g. video-conferencing, VOD, tele-education, MMS, Interactive-TV                                   testing
    Real-time applications                                                                                  For life-critical software (e.g. flight control, reactor monitoring), testing can
                                                                                                            cost 3 to 5 times as much as all other activities combined
        Telemetry (remote measurement), Telecontrol (remote control)
Dept. Electrical & Information Engineering, Computer Engineering Lab   1-41       Dr. Junzhao Sun   Dept. Electrical & Information Engineering, Computer Engineering Lab   1-42       Dr. Junzhao Sun




       521265A Telecommunication Software                                     Ch1 – Introduction           521265A Telecommunication Software                                     Ch1 – Introduction


          Software Testing – Objectives                                                                       Software Testing – Test Information Flow
    To design tests that systematically uncover different classes of
    errors and do so with a minimum amount of time and effort
        Testing is a process of executing a program with the intent of finding an
        error
        A good test is one that has a high probability of finding an as yet
        undiscovered error
        A successful test is one that uncovers an as yet undiscovered error
    Secondary benefits include
        Demonstrate that software functions appear to be working according to
        specification
        That performance requirements appear to have been met
        Data collected during testing provides a good indication of software                            Software configuration includes a Software Requirements Specification, a Design
        reliability and some indication of software quality                                             Specification, and source code.
    Testing cannot show the absence of defects, it can only show that                                   A test configuration includes a Test Plan and Procedures, test cases, and testing tools.
    software defects are present                                                                        It is difficult to predict the time to debug the code, hence it is difficult to schedule.
Dept. Electrical & Information Engineering, Computer Engineering Lab   1-43       Dr. Junzhao Sun   Dept. Electrical & Information Engineering, Computer Engineering Lab   1-44       Dr. Junzhao Sun
       521265A Telecommunication Software                                        Ch1 – Introduction               521265A Telecommunication Software                                     Ch1 – Introduction


          Software Testing – White Box Testing                                                                       Software Testing – Black Box Testing
    A test case design method that uses the control structure of the procedural                                To derive sets of inputs that will fully exercise all the functional
    design to derive test cases, also known as Structural Testing                                              requirements of a system, also known as Functional Testing
    Test techniques                                                                                            Techniques
         Basis Path Testing                                                                                        Equivalence Partitioning
              Guarantee that all independent paths within a module have been exercised at least once                    Divide the input domain into classes of data where test cases can be generated
         Condition testing                                                                                         Boundary Value Analysis.
              Aims to exercise all logical conditions in a program module and all logical decisions on
                                                                                                                        Selection of test cases that exercise boundary values
              their true and false sides
                                                                                                                   Cause-Effect Graphing
         Data flow testing
                                                                                                                        Provides a representation of logical conditions and corresponding actions
              Selects test paths according to the locations of definitions and uses of variables in the
              program t exercise internal d t structures to ensure their validity
                       to      i i t     l data t t        t           th i   lidit                            Suitable to 3rd party tests where the source code is not available
         Loop Testing                                                                                          OSI conformance testing methodology is generally restricted to
              Execute all loops at their boundaries and within their operational bounds to validate loop
              constructs
                                                                                                               black box testing
    Require that the program source code is available, code’s structure is known,                                  OSI specifications are class of correct external behaviors to be realized by
                                                                                                                   implementation under test (IUT)
    and code can be manipulated
Dept. Electrical & Information Engineering, Computer Engineering Lab      1-45       Dr. Junzhao Sun       Dept. Electrical & Information Engineering, Computer Engineering Lab   1-46       Dr. Junzhao Sun




       521265A Telecommunication Software                                        Ch1 – Introduction               521265A Telecommunication Software                                     Ch1 – Introduction


          Software Testing – Test Phases                                                                             Outline
    Defined to correspond with phases of the software development                                              Background
    process                                                                                                        Communication and network
        Unit testing I l
        U it t ti    Implementation, correctness
                             t ti          t                                                                       Protocol hierarchy
             Module level testing with heavy use of white box testing techniques                               Reference Models
        Integration testing Design, correctness                                                                    OSI Reference Model
             Heavy use of black box testing techniques to test conformance to design                               TCP/IP Reference Model
        System testing Specification, functionality & performance                                              Knowledge review
             Considering integration of software with other system components                                      Network fundamental
        Acceptance testing Requirement , functionality & p
            p            g   q                       y performance                                                 Software testing
             Provide the users with confidence & insurance that system is ready to be used                     Protocol development
    Protocol tests are mainly concerned with unit & integration testing                                            Protocol engineering
        Conformance testing focuses mainly on integration testing and is                                           Protocol specification
        considered as relatively isolated as at certain layer                                                      Protocol testing


Dept. Electrical & Information Engineering, Computer Engineering Lab      1-47       Dr. Junzhao Sun       Dept. Electrical & Information Engineering, Computer Engineering Lab   1-48       Dr. Junzhao Sun
       521265A Telecommunication Software                                     Ch1 – Introduction           521265A Telecommunication Software                                     Ch1 – Introduction


          Software Cost                                                                                       Upstream Process




     Software Business Cost                                  Software Development Cost

Dept. Electrical & Information Engineering, Computer Engineering Lab   1-49       Dr. Junzhao Sun   Dept. Electrical & Information Engineering, Computer Engineering Lab   1-50       Dr. Junzhao Sun




       521265A Telecommunication Software                                     Ch1 – Introduction           521265A Telecommunication Software                                     Ch1 – Introduction


          Downstream Process                                                                                  Telecommunication Software Lifecycle




Dept. Electrical & Information Engineering, Computer Engineering Lab   1-51       Dr. Junzhao Sun   Dept. Electrical & Information Engineering, Computer Engineering Lab   1-52       Dr. Junzhao Sun
       521265A Telecommunication Software                                     Ch1 – Introduction           521265A Telecommunication Software                                     Ch1 – Introduction


          Protocol Engineering                                                                                Formal Methods for Protocol Development
    Application of formal methods + software engineering in the                                         Provide a formal and unambiguous way of designing and
    development of communication software                                                               documenting protocols
                                                                                                            Protocol modelling & specification
    Traditional development process is informal
                                                                                                            Protocol synthesis
        Informal textual documentation
                                                                                                        Allow formal analysis before protocols are implemented
        Graphical description techniques
                                                                                                            Protocol verification & validation
        Structural analysis and design
                                                                                                            Protocol performance analysis
        Lack scientific foundation
                                                                                                        Allow automatic and direct generation of
        Lead to ambiguous definition of the desired features
                                                                                                            Executable programs from the formal specification
        Offer             t       th      l t
        Off no means to prove the completeness and consistency of the system
                                                      d      i t f th    t                                  Test cases for conformance testing
        Problems in financial cost and commercial release
                                                                                                        Currently neither widespread nor well established
    Formal methods: theoretical foundation of software engineering                                          High cost in terms of time and resources incurred by users
        Mathematically-based techniques that provide a rigorous basis for software                          Learning a formal language is as difficult as learning a programming one
        development, leading to correctness and reliability in various steps

Dept. Electrical & Information Engineering, Computer Engineering Lab   1-53       Dr. Junzhao Sun   Dept. Electrical & Information Engineering, Computer Engineering Lab   1-54       Dr. Junzhao Sun




       521265A Telecommunication Software                                     Ch1 – Introduction           521265A Telecommunication Software                                     Ch1 – Introduction


          Protocol Engineering Flowchart                                                                      Protocol Engineering Blocks
                                                                                                        Service specification is the document that describes how a protocol layer
                                                                                                        provides network services to its users or protocol modules in the upper layers
                                                                                                        Protocol specification is the documentation that describes the message format
                                                                                                                   p                                                               g
                                                                                                        and exchange sequences among the protocol modules of the layer, which
                                                                                                        realizes the service specification
                                                                                                        Protocol synthesis is the process that takes the service specification and
                                                                                                        generates the error-free protocol specification, or combines multiple protocol
                                                                                                        specifications (phases) into an error free protocol specification
                                                                                                        Protocol implementation is the process that takes the protocol specification and
                                                                                                        develops the protocol software modules
                                                                                                        Protocol validation/verification is the process that verifies if the protocol
                                                                                                        specification actually realizes the service specification. Validation sometimes
                                                                                                        refers to check the protocol specification will not get into deadlock, unspecified
                                                                                                        reception, and livelock errors
                                                                                                        Conformance testing is the process that given a protocol specification,
                                                                                                        generate the short test suite for testing the protocol implementation (software
                                                                                                        modules)
Dept. Electrical & Information Engineering, Computer Engineering Lab   1-55       Dr. Junzhao Sun   Dept. Electrical & Information Engineering, Computer Engineering Lab   1-56       Dr. Junzhao Sun
       521265A Telecommunication Software                                     Ch1 – Introduction           521265A Telecommunication Software                                     Ch1 – Introduction


          Protocol Specification (1/4)                                                                        Protocol Specification (2/4)
    Protocol specification is a precise statement of a set of                                           The nature of the protocol specification has a strong influence on
    requirements to be satisfied by the implementation of the                                           protocol testing
    specification                                                                                           The means to determine the satisfaction of a protocol implementation to the
                                                                                                            requirements is conformance testing
        The definition of the required behavior for a protocol entity
                                                                                                        Protocol systems are not the same as traditional software
    Specification languages for communication protocols                                                 systems, but a special variant of software
        Informal, i.e. based on a natural language and narrative descriptions                           Traditional systems consist of functions that go from a initial state
             Gives the illusion of being easily understood
                                                                                                        to a final state
             Lead to lengthy and contain ambiguities, difficult to check for completeness and
                                                                                                            System accept all input at the beginning of their operations, and yield their
             correctness, inadequate, impossible to employ automatic simulation
                          ,      q     , p               p y
                                                                                                            output at termination
        Formal, i.e. based on a formal description technique                                                These systems are called transformational because they transform an initial
             Needs to define not only a formal syntax, but also a formal semantics which                    state to a final state
             defines the meaning in a formal manner                                                         Typical examples are batch, off-line data processing, and numerical
             Formal semantics is essential for the construction of tools which are helpful for              packages
             the validation of specifications or the development of implementations

Dept. Electrical & Information Engineering, Computer Engineering Lab   1-57       Dr. Junzhao Sun   Dept. Electrical & Information Engineering, Computer Engineering Lab   1-58       Dr. Junzhao Sun




       521265A Telecommunication Software                                     Ch1 – Introduction           521265A Telecommunication Software                                     Ch1 – Introduction


          Protocol Specification (3/4)                                                                        Protocol Specification (4/4)
    Some systems are called reactive systems which may never                                            As a reactive system, many different formal description
    terminate                                                                                           techniques have been proposed for communication protocol
        Purpose of running reactive systems is t maintain some interaction with
        P           f      i        ti       t     i to   i t i       i t ti   ith                      system
        the system’s environment                                                                            Petri nets, formal grammars, high-level programming languages, process
        A reactive system can not be adequately specified by referring only to its                          algebras, abstract data types, and temporal logic
        initial and final states, but to its continued behavior instead                                 Finite State Machine (FSM) were often extended by addition of
        Typical examples are operating systems, process-control systems, and                            data parameters & attributes in order to naturally deal with certain
        communication protocol systems
                                                                                                        properties of the protocols e.g. sequence numbering, addressing
                    p         y                  y
    Communication protocol systems are reactive systems with                                                         (S I, T, S0,
                                                                                                            FSM = (S, I T S0 F)
    several unique characteristics                                                                          S = finite set of states             S0 = initial state
        Each protocol input may not have a corresponding output                                             I = finite set of input events       F = set of final states
        One protocol input may have many outputs                                                            T = state transition function, taking the current state and an input event and
        The correctness of a protocol’s output depends also on the history                                  returns the new set of output events and the next state

Dept. Electrical & Information Engineering, Computer Engineering Lab   1-59       Dr. Junzhao Sun   Dept. Electrical & Information Engineering, Computer Engineering Lab   1-60       Dr. Junzhao Sun
       521265A Telecommunication Software                                     Ch1 – Introduction           521265A Telecommunication Software                                     Ch1 – Introduction


          A Example FSM                                                                                       ASN.1
                                                                                                        Abstract Syntax Notation One (ASN.1)
                                                                                                            An international standard for describing the structure of data exchanged
                                                                                                            between communication systems
                                                                                                        ITU-T X.680 and X.690 series
                                                                                                        ISO/IEC 8824-1 to 4 and 8825
                                                                                                        For specification of data (e.g. Messages, PDU)
                                                                                                            Syntax of messages and other data structures
                                                                                                            Encoding of messages to convert the abstract form to the actual bit stream
                                                                                                            Basic Encoding Rules (BER) and Packed Encoding Rules (PER)




Dept. Electrical & Information Engineering, Computer Engineering Lab   1-61       Dr. Junzhao Sun   Dept. Electrical & Information Engineering, Computer Engineering Lab   1-62       Dr. Junzhao Sun




       521265A Telecommunication Software                                     Ch1 – Introduction           521265A Telecommunication Software                                     Ch1 – Introduction


          ASN.1 Type, Value, and Encoding Rules                                                               MSC
                                                                                       Type
                                                                                                        Message Sequence Charts
     Abstract: message
     as it appears in an              MSG::= SEQUENCE                                                       Used to show interactions between system components
     E          d d
     ETSI standard                                                                                          P id a clear d
                                                                                                            Provide     l    description of system communication i f
                                                                                                                                   i ti    f   t          i ti in form of message
                                                                                                                                                                        f
                                            { item1 INTEGER,                                                flows
              (X.680)                         item2 STRING }                                                Visualization of selected message traces within communication systems,
                     Value 1                                                                                with simplicity and intuitive understanding
                         Value 2 MSG m1 m2 { item1 789,
                                         { item1 123,
                             Value 3 MSG
                                       MSG m3 { item1 123,                                              ITU-T Z.120
                                                          item2 "XYZ" } }
                                                             item2 "ABC"
                                                                item2 “ABC” }                           For specification of message flows
                                               Encoding Rules                                                         boundaries                         messages,       etc.
                                                                                                            Interface boundaries, sequential ordering of messages timers etc
                                                                                                            Each MSC diagram represents one scenario of either a typical or an
    Concrete: message                                                             Bitstream                 exceptional exchange of messages between system parts
    as it is transferred
    over a real network               11101001010011010010111
              (X.690)                 …
Dept. Electrical & Information Engineering, Computer Engineering Lab   1-63       Dr. Junzhao Sun   Dept. Electrical & Information Engineering, Computer Engineering Lab   1-64       Dr. Junzhao Sun
       521265A Telecommunication Software                                        Ch1 – Introduction           521265A Telecommunication Software                                             Ch1 – Introduction


          MSC for B-ISDN (outgoing call)                                                                         SDL
                        User                          UNI                       Network                    Specification and Description Language
                State                                                             State                        MSC and SDL diagrams describe the same behaviour from two different
                              Null     SETUP                            Null                                   perspectives
                   Call initiated                 CALL PROCEEDING Call initiated
                                                                                                                    SDL shows how each communicating entity behaves, while MSC diagrams
                                                                                                                    show how they interact by exchanging messages
  Outgoing call proceeding                                    ALERTING Outgoing call proceeding
                                                                                                           ITU-T Z.100 Series
                 Call delivered                               CONNECT Call delivered
                                                                                                           For specification of complex communication systems
                           Active      CONNECT ACK                      Active                                 Structure (architecture) of systems
                      Instance                                          Instance                                    Cooperating parts like system, block, process
                                         End-to-end information
                                                                                                               Communications with environment and within system
                                                transfer
                                                                                                                    Channels as communications paths
                                       RELEASE                                                                      Signals as messages that are carried over channel
              Release request                   RELEASE COMPLETE Release request                               Dynamic behaviour of each parts based on state machines
                              Null                                      Null
Dept. Electrical & Information Engineering, Computer Engineering Lab     1-65        Dr. Junzhao Sun   Dept. Electrical & Information Engineering, Computer Engineering Lab           1-66       Dr. Junzhao Sun




       521265A Telecommunication Software                                        Ch1 – Introduction           521265A Telecommunication Software                                             Ch1 – Introduction


          SDL Structure and Communication Channel                                                                SDL Behavior
                                                                                                                                                                 SDL Process                    Start
                                                                                                                                                                                                state
                                                                                                           This SDL description shows a                                                    S1
                                                                                                           system in state S1 that can
                                                                                                           receive the signals A or B.                                             Input                  Input
                       Channel                           System           Channel
                                                                                                           If it receives A the system
                                                                                                                                                                              A                           B
                                                                                                           may, non-deterministically
                                                                                                                                                                                                   Task
                                                       Block                        Block                  output X or Y and return to                                              Decision
            Process                              Process   Channel             Process                     state S1 (to wait on further
                                                                                                                                                                                                        j:=7
                                                                                                           input of A or B).                                          any
                                                                                                                                                                  Output               Output              Output
                                                                                                           If it receives B the system will
                                                                                                           output Z and move to state S2                        X                      Y                   Z
                                                                                                           to await new signals.                                                     Next                   Next
                                                                                                                                                                                     state                  state
                                                                                                                                                                              S1                         S2

Dept. Electrical & Information Engineering, Computer Engineering Lab     1-67        Dr. Junzhao Sun   Dept. Electrical & Information Engineering, Computer Engineering Lab           1-68       Dr. Junzhao Sun
       521265A Telecommunication Software                                     Ch1 – Introduction           521265A Telecommunication Software                                     Ch1 – Introduction


          UML                                                                                                 UML Diagrams
    UML = Unified Modelling Language                                                                    Behavior diagrams. A type of diagram that depicts behavioral
        Created by Rational, Inc. developed by Grady Booch, Jim Rumbaugh, Ivar                          features of a system or business process.
        Jacobson                                                                                            This includes ti it     t t
                                                                                                            Thi i l d activity, state machine, and use case di
                                                                                                                                         hi      d                        ll    the
                                                                                                                                                            diagrams as well as th
        Standardized by the Object Management Group (OMG), 1997                                             four interaction diagrams.
        Currently at Version 2.0 (June 12, 2003, Paris, France)                                         Interaction diagrams. A subset of behavior diagrams which
        For specifying, visualizing, constructing, and documenting the artefacts of                     emphasize object interactions.
        software systems
                                                                                                            This includes communication, interaction overview, sequence, and timing
        Object-oriented software design tool that is frequently used at the software                        diagrams.
        architecture and design stage
             SDL is frequently used in the more detailed process design stage which may
                                                                                                                  diagrams.
                                                                                                        Structure diagrams A type of diagram that depicts the elements
             even provide code generation in the final coding stage                                     of a specification that are irrespective of time.
        UML is a graphical modeling notation/language, not a process nor a                                  This includes class, composite structure, component, deployment, object,
        methodology                                                                                         and package diagrams.
                                                                                                                               ,       ,
                                                                                                        Learning priority: High, Medium, Low
Dept. Electrical & Information Engineering, Computer Engineering Lab   1-69       Dr. Junzhao Sun   Dept. Electrical & Information Engineering, Computer Engineering Lab   1-70       Dr. Junzhao Sun




       521265A Telecommunication Software                                     Ch1 – Introduction           521265A Telecommunication Software                                     Ch1 – Introduction


          Protocol Testing – Diagnostic Testing                                                               Protocol Testing – Conformance Testing


         diagnostic                                                                                          diagnostic                          conformance
           testing                                                                                             testing                              testing




    Diagnostic testing: try to                                                                          Conformance testing: to
    ensure that the protocol does                                                                       determine whether an
    works                                                                                               implementation conforms to a
                                                                                                        standard



Dept. Electrical & Information Engineering, Computer Engineering Lab   1-71       Dr. Junzhao Sun   Dept. Electrical & Information Engineering, Computer Engineering Lab   1-72       Dr. Junzhao Sun
       521265A Telecommunication Software                                     Ch1 – Introduction           521265A Telecommunication Software                                     Ch1 – Introduction


          Protocol Testing – Interoperability Testing                                                         Protocol Testing – Performance Testing


         diagnostic                          conformance                  interoperability                   diagnostic                          conformance                  interoperability
           testing                              testing                       testing                          testing                              testing                       testing



                                                                                                                                                                                  performance
    Interoperability testing: to                                                                        Performance testing: to                                                      testing
    determine the compatibility of                                                                      determine the range of
    conforming systems in real                                                                          capabilities of an
    working environment                                                                                 implementation



Dept. Electrical & Information Engineering, Computer Engineering Lab   1-73       Dr. Junzhao Sun   Dept. Electrical & Information Engineering, Computer Engineering Lab   1-74       Dr. Junzhao Sun




       521265A Telecommunication Software                                     Ch1 – Introduction           521265A Telecommunication Software                                     Ch1 – Introduction


          Protocol Testing – Robustness Testing                                                               A Protocol Example
                                                                                                        Season specialities in a restaurant
         diagnostic                          conformance                  interoperability                  Depending on the season, you may ask the following questions from the
                                                                                                            waiter
           testing                              testing                       testing
                                                                                                                 1. Do you serve asparagus?
                                                                                                                 2. Do you serve strawberries?
                                                                                                                 3. Do you serve grapes?
                                                                                                                 4. Do you serve sauerkraut?
                                                                              performance
                                                                                                            Depending on the season and the availability of the specialities, the waiter
    Robustness testing: to                                                       testing                    may answer:
    determine the capabilities of                                                                                A Of course!
                                                                                                                 A.          !
    an implementation to handle                                                                                  B. No I am sorry…
    invalid input                                                             robustness                         C. Maybe… Let me check from the chef!
                                                                                testing                     How do you test this protocol?


Dept. Electrical & Information Engineering, Computer Engineering Lab   1-75       Dr. Junzhao Sun   Dept. Electrical & Information Engineering, Computer Engineering Lab   1-76       Dr. Junzhao Sun
       521265A Telecommunication Software                                     Ch1 – Introduction           521265A Telecommunication Software                                            Ch1 – Introduction


          Five Protocol Testing                                                                               What is Conformance Testing (1/2)
    Diagnostic testing                                                                                  Conformance testing is the process of testing protocol
        Ask: Do you serve strawberries? Expected response: Anything                                     implementations against protocol specification
    Conformance testing                                                                                     T verity that an implementation performs in accordance (
                                                                                                            To     it th t    i l      t ti      f    i       d          f     t ) ith
                                                                                                                                                                     (conforms to) with
                                                                                                            a particular standard/specification
        Preconditions: season is summer, waiter knows the restaurant has
        strawberries                                                                                        To assure compatibility with other implementations of the same protocol
        Ask: Do you serve strawberries? Expected response: Of course                                        Based on the black box approach (functional testing)
                                                                                                                 Conformance testing was mainly introduced for regulating and harmonizing 3-
    Interoperability testing                                                                                     party test, i.e. for situations where the source code is usually not available
        Make different customers order different specialities from the waiter                                    A precise reference specification must be provided, which is the basis for the
       f
    Performance testing                                                                                          derivation f the t t              d th      l i f th t t
                                                                                                                 d i ti of th test cases and the analysis of the test results    lt
                                                                                                                 The protocol specification defines the required properties of any implemented
        Check that the waiter will respond to enquiry within 5 seconds
                                                                                                                 protocol entity, I.e. the class of correct and valid external behaviors
    Robustness testing                                                                                      Mainly used in integration testing and part of unit testing
        Check that the waiter will respond to enquiry even if there are other                               Prerequisites and preparation for interoperability
        customers interfering
Dept. Electrical & Information Engineering, Computer Engineering Lab   1-77       Dr. Junzhao Sun   Dept. Electrical & Information Engineering, Computer Engineering Lab          1-78       Dr. Junzhao Sun




       521265A Telecommunication Software                                     Ch1 – Introduction           521265A Telecommunication Software                                            Ch1 – Introduction


          What is Conformance Testing (2/2)                                                                   Conformance Testing Process
                                                                                                                                               Protocol specification
                       Protocol service specification

                                                                                                                          Implementation                                     Test generation
                              Protocol synthesis                                                                             process
                                                                                                                                                                       Standard conformance
                                                                       conformance                                                                                           test suite
                            Protocol specification
                                                                          testing                                     IUT – Implementation
                                                                                                                           Under Test                                      Test implementation
                                  Automatic
                                Implementation
                                                                                                                                                        Test
                                                                                                                                                      execution
                          Protocol Implementation
                                                                                                                                                        Verdict

Dept. Electrical & Information Engineering, Computer Engineering Lab   1-79       Dr. Junzhao Sun   Dept. Electrical & Information Engineering, Computer Engineering Lab          1-80       Dr. Junzhao Sun
       521265A Telecommunication Software                                         Ch1 – Introduction           521265A Telecommunication Software                                           Ch1 – Introduction


          IUT Structure                                                                                           IUT & SUT

                                                      IUT                                                   IUT (Implementation Under Test) is an implementation of an
                               EFSM                                      PICS                               protocol entity, I.e. the black box
                                                                                                            The IUT is part of an open system called System Under Test
                                                                        Data Set                            (SUT)
                                                                                                            TS (Test System) is the system/device performing the test
                                                                         Error
                          Timers
                                                                        Handling                                                                                               System Under Test (SUT)


                                        Encoding / Decoding                                                                                                                         Implementation
                                                                                                                                     Test System (TS)                                 Under Test
                                                                                                                                                                                         (IUT)
          PICS = Protocol Implementation Conformance Statement                                               tester
          EFSM = Extended Finite Sate Machine
Dept. Electrical & Information Engineering, Computer Engineering Lab       1-81       Dr. Junzhao Sun   Dept. Electrical & Information Engineering, Computer Engineering Lab         1-82       Dr. Junzhao Sun




       521265A Telecommunication Software                                         Ch1 – Introduction           521265A Telecommunication Software                                           Ch1 – Introduction


          Example for DNS Server (1/2)                                                                            Example for DNS Server (1/2)
    DNS = Domain Name System                                                                                E.g. www.nokia.fi                 192.100.116.114
        The Internet’s DNS service offers hostname to IP address resolution
        Communication i message b
        C        i ti is                  d
                                     based (UDP)
        E.g. www.nokia.fi    192.100.116.114
        We want to test the correct resolution
                                                                                                                                                                                   SUT
                                                                                                                                www.nokia.fi               Hostname
                                                   Hostname
                                                                                                                                  Tester                                         IUT
                                                                                                                                                          IP Address
                                                                                                                                192.100.116.114
                                                                                                                                192 100 116 114
                                                    IP Address

                                                                                                                            Local Network                                      Local Domain
                    Local Network                                      Local Domain                                            Client                                          Name Server
                       Client                                          Name Server
Dept. Electrical & Information Engineering, Computer Engineering Lab       1-83       Dr. Junzhao Sun   Dept. Electrical & Information Engineering, Computer Engineering Lab         1-84       Dr. Junzhao Sun
       521265A Telecommunication Software                                          Ch1 – Introduction           521265A Telecommunication Software                                     Ch1 – Introduction


          Test Case & Test Suite                                                                                   Conformance vs. Interoperability Testing (1/2)
    Test suite is the set of test cases selected for the given protocol                                      Interoperability is the ability of the system to perform the correct
    variant, and is expected to be passed completely by the IUT                                              actions to allow the application to communicate with other
        How to declare these variants and how to determine the exact test to be                              implementations of the same protocol
        executed are the main topics to conformance testing methodology
                                                                                                                 Users expect from the product more than demanded by the standards
    Many protocols, too many vendors, interoperability is an issue
                                                                                                                 Proper functioning in system where the product is finally installed
        Brute force check for interoperability by test all implementations against all
        other implementations, not feasible                                                                      Compliance with a global service specification including real effects
        Use a standard test suite (test specification) that all vendors must pass                                Interoperability of applications which use the product, a embedded view
             does not guarantee interoperability, but increases confidence                                   Interoperability testing focuses on the interworking of the protocol
                     product1
                                                                                                             layers instead of meeting the standard
                                                                 product1
                                                                                                             A pairwise test between two systems, as opposed to testing a
       product2                     product3                     product2
                                                                                           TestSuite         protocol implementation against a reference test system

                     product4          productn    ?             productn

Dept. Electrical & Information Engineering, Computer Engineering Lab        1-85       Dr. Junzhao Sun   Dept. Electrical & Information Engineering, Computer Engineering Lab   1-86       Dr. Junzhao Sun




       521265A Telecommunication Software                                          Ch1 – Introduction           521265A Telecommunication Software                                     Ch1 – Introduction


          Conformance vs. Interoperability Testing (2/2)                                                           Summary
    Interoperability testing potential problems                                                              Protocol specification is for the description of the external
        Difficult to well simulate the target system and environment                                         behavior of protocol instance
        Difficult t      t l d b          ti       i      it i
        Diffi lt to control and observation, passive monitoring, l
                                                                 less i
                                                                      investigations
                                                                           ti ti                                 Protocol standard i standardized protocol specification
                                                                                                                 P t    l t d d is t d di d          t   l     ifi ti
        Number of necessary test grows with square of the size of implementations                                Many notations and languages for the formal specification
    Interoperability testing pros benefit                                                                    Conformance testing is to test a protocol implementation against
        Capable of revealing errors other than in the implementation                                         the protocol specification
        Cheaper than conformance testing if population of implementations is small                               Black box approach (functional testing) examining external behavior
        Appropriate to test for the fulfillment of user expectations out of standard                         Main tasks of conformance testing is to define a set of test cases
    Not    t ll        l i    E h
    N t mutually exclusive. Each method complements th other
                                       th d         l     t the th                                           (test it ) d l t th t t t b                 t d
                                                                                                             (t t suite) and select the tests to be executed.
    instead of as the competitor.                                                                                Protocol specification is different from protocol test specification!
    Conformance testing can provide a very good prerequisite for
    interoperability testing, as a natural first step before it

Dept. Electrical & Information Engineering, Computer Engineering Lab        1-87       Dr. Junzhao Sun   Dept. Electrical & Information Engineering, Computer Engineering Lab   1-88       Dr. Junzhao Sun
       521265A Telecommunication Software                                     Ch1 – Introduction


          References
    Lecture Notes by Luigia Petre,
    http://www.abo.fi/~lpetre/telecom.html
                                                     d
    Andrew S. Tanenbaum, Computer Networks (3rd Edition),
    Prentice-Hall International, Inc.
    Seminar slides by Kristen Rekdal,
    http://www.ittf.no/aktiviteter/1999/sw_seminar/trends-ict-sw-
    dev.pdf
    Scott W. Ambler, The Diagrams of UML 2.0,
    http://www.agilemodeling.com/essays/umlDiagrams.htm
    Ian Sommerville, Software Engineering, 6th Edition
    http://www.comp.lancs.ac.uk/computing/resources/SE6/


Dept. Electrical & Information Engineering, Computer Engineering Lab   1-89       Dr. Junzhao Sun

								
To top