atn lectures 4&5

65
1 Advanced Telecommunication Networks Software Methodologies for Converged Networks and Services

Upload: poli-markova

Post on 19-Feb-2016

224 views

Category:

Documents


3 download

DESCRIPTION

Advanced Telecommunication Networks, Software Methodologies for Converged Networks and Services1. Development of Software Methodologies for ICT 2. Software Processes in the NGN Framework 3. High-level Analysis and Design Methods4. Enterprise and Business Modelling Notation5. Object and Data Definition Languages6. Dynamic Modelling Notations7. Component and Interface Notations8. Distributed Systems9. Creating a Unified Framework

TRANSCRIPT

Page 1: ATN Lectures 4&5

1

Advanced Telecommunication Networks

Software Methodologies for Converged Networks and Services

Page 2: ATN Lectures 4&5

2

CONTENT1. Development of Software Methodologies for ICT

2. Software Processes in the NGN Framework

3. High-level Analysis and Design Methods

4. Enterprise and Business Modelling Notation

5. Object and Data Definition Languages

6. Dynamic Modelling Notations

7. Component and Interface Notations

8. Distributed Systems

9. Creating a Unified Framework

Page 3: ATN Lectures 4&5

3

Development of Software Methodologies for ICTIn the telecommunications domain

• Specification and Description Language (SDL) for defining processes and interactions with other processes and

• Message sequence chart (MSC) for defining the flow of messages in the various sequences of successful and unsuccessful operation of distributed processes.

In the Internet methodology is essentially the definition of protocols, supporting services and management information.

In the information technology area• Unified Modelling Language (UML) providing a number of notations based on object-oriented concepts for expressing different views of any software system and gives the designer flexibility to emphasise views for different purposes.

Page 4: ATN Lectures 4&5

4

Development of Software Methodologies for ICT

An organisation of software concerns in complex ICT systems

Page 5: ATN Lectures 4&5

5

Software Processes in the NGN Framework

Frameworks and architectures • provide set of concepts, principles and rules that guide analysis and design of complex systems• support learning about and understanding such systems.

Methodology separating implementation detail from the analysis and design process• agreed notations that are frequently rooted in a modelling approach• implementation concerns such as programming languages, operating systems and communications protocols arise.

Information representation and automation tools.

Page 6: ATN Lectures 4&5

6

Software Processes in the NGN Framework

• Software systems become more complex and analysis, specification, description and design methods become important.

• The previously distinct software engineering paradigms of telecommunications and information technology must converge.

• The complexity of the underlying network facilities must be hidden from the applications developer.

Page 7: ATN Lectures 4&5

7

Software Processes in the NGN Framework

Functional entities in NGN Framework are locus of software processes

Functional entities - communicating finite state machines

Page 8: ATN Lectures 4&5

8

Software Processes in the NGN Framework

Essentials of the specification and use of a communications protocol

The external view of a functional entity is in the form of a protocol or interface specification. Each protocol or interface is intended for use in a specific environment.

Page 9: ATN Lectures 4&5

9

Software Processes in the NGN Framework

Physical entities are described by the functional entities they host. A physical entity may however contain an element that performs physical operations on user data or streams, for example a switching matrix, a media gateway, a digit receiver, a tone and announcement generator or a forwarding engine in a router.

Physical processing entities are described by an information model, that is structured data that represents the element and its operational state. The information model is often implemented as a management information base (MIB).

The RM-ODP contemplates a different type of interface, the stream interface to show that an entity is a source or sink of user data. The stream interface has a number of properties, for example a network address, port number, media carried and the required quality of service.

Page 10: ATN Lectures 4&5

10

Software Processes in the NGN Framework

A model is a description of an entity or system that is sufficiently detailed for the purpose at hand.

This representation has static and dynamic facets.

System dynamics usually follow a state transition type of process.

ICT systems are partitioned into layers and domains capturing related functionality in functional entities and using reference points to describe their interaction. A reference point gives a degree of abstraction.

Page 11: ATN Lectures 4&5

11

Software Processes in the NGN Framework

Classification of methods used for describing protocols, processes andobjects in an ICT system

Page 12: ATN Lectures 4&5

12

High-level Analysis and Design Methods

Future ICT systems support services and applications that may rely on complex logic, allow access to content and exploit network connectivity and messaging.

Analysis, modelling and design methods must therefore support high-level as well as detailed design.

Two such methods are the Reference Model of Open Distributed Processing (RM-ODP) and the Model Driven Architecture (MDA).

RM-ODP provides a formal basis for the fundamental conceptsand architecture of distributed systems.

MDA seeks to support the portability,interoperability and reusability of software, emphasises modelling and is linked to notations that allow the system designer to apply the MDA methodology.

Page 13: ATN Lectures 4&5

13

High-level Analysis and Design Methods

Characteristics of an object defined in RM-ODP

THE REFERENCE MODEL OF OPEN DISTRIBUTED PROCESSING

Page 14: ATN Lectures 4&5

14

High-level Analysis and Design Methods

Distribution is more than locating the constituent software objects of a system on separate computing nodes but includes the enabling communication support mechanisms. Portability is a property of an object that, by virtue of the compliance of its interfaces to an agreed specification, allows it to be applied in different configurations. Interoperability is the ability of objects that are implemented using different technologies to interact to meet specified objectives.Reusability is the property of an already implemented software object that allows it to be used as part of a new object or system without redesign.

THE REFERENCE MODEL OF OPEN DISTRIBUTED PROCESSING

Page 15: ATN Lectures 4&5

15

High-level Analysis and Design Methods

• Access transparency enables an object to invoke the services of another where the objects use different data representation and invocation mechanisms. Interworking between differently implemented objects is supported.• Location transparency frees an invoking object from the need to know the location of an invoked object when identifying and binding to interfaces: naming information is sufficient to invoke the services of an object.• Relocation transparency allows an invoking object to continue to invoke an interface to which it is bound when that interface has been relocated.• Migration transparency enables a system to change the location of an object without compromising the ability of an invoking object to access its services. Load balancing and reduced latency are thus achieved.

THE REFERENCE MODEL OF OPEN DISTRIBUTED PROCESSING

Page 16: ATN Lectures 4&5

16

High-level Analysis and Design Methods

• Replication transparency: allows an invoking object to invoke an interface that has been replicated without knowledge of the details of the replicated interfaces. The object of replication is to enhance performance and availability.• Failure transparency enables an object to continue operating if other interacting objects and even itself fail and have to be recovered. This property supports fault tolerance.• Persistence transparency frees an object from dealing with the deactivation and reactivation of other objects (or itself) to give the effect of persistence when the system cannot ensure continuity.• Transaction transparency frees an invoking object from the need to coordination of activities among interacting objects to achieve consistency.

THE REFERENCE MODEL OF OPEN DISTRIBUTED PROCESSING

Page 17: ATN Lectures 4&5

17

High-level Analysis and Design Methods

RM-ODP Viewpoints giving different but consistent views on the same system

THE REFERENCE MODEL OF OPEN DISTRIBUTED PROCESSING

Page 18: ATN Lectures 4&5

18

High-level Analysis and Design Methods

• Enterprise viewpoint is essentially a requirements analysis, focusing on the purpose, scope and policies for that system without regard to how the requirements are met.

• Information viewpoint focuses on the semantics of information and information processing.

• Computational viewpoint enables distribution through functional decomposition of the system into objects which interact at interfaces.

• Engineering viewpoint focuses on the mechanisms and functions required to support interaction between distributed objects in the system.

• Technology viewpoint focuses on the choice of technology in the system.

THE REFERENCE MODEL OF OPEN DISTRIBUTED PROCESSING

Page 19: ATN Lectures 4&5

19

High-level Analysis and Design Methods

Process for distributed application analysis and design based on RM-ODP

THE REFERENCE MODEL OF OPEN DISTRIBUTED PROCESSING

Page 20: ATN Lectures 4&5

20

High-level Analysis and Design Methods

The computing environment is characterized by languages and operating systems.

The communications environment is characterized by transport protocols and supporting mechanisms.

The concept of a platform captures considerations of implementation languages, operating systems, communications protocols or distribution support such as CORBA.

The platform is a set of defined interfaces to the infrastructure underlying a computing application and their patterns of use.

MODEL DRIVEN ARCHITECTURE

Page 21: ATN Lectures 4&5

21

High-level Analysis and Design Methods

The description model-driven emphasises the intention that the lifecycle of a software product should be supported by models. Types of models are defined through three MDA viewpoints.

The computationally independent viewpoint focuses on the requirements on a system and its environment without regard to how the system will be structured and implemented.

The platform independent viewpoint is a way of describing a system that concentrates on the operation of the system without considering the implementation platform. The system could be implemented on different platforms.

The platform specific viewpoint is a way of viewing a system that adds platform specific considerations to the platform independent view of the system.

MODEL DRIVEN ARCHITECTURE

Page 22: ATN Lectures 4&5

22

High-level Analysis and Design Methods

• The computationally independent model is essentially a requirements analysis considering the system and its environment and has similar objectives to the RM-ODP enterprise viewpoint. The MDA does not specify how the requirements analysis should be done. • The platform independent model of the system is expressed in technology neutral or platform independent terms. The objective is to permit implementations on different platforms. Development of the PIM involves identifying the objects that make up the system and the way that they interact to perform processing. These objects must then be packaged into components with interfaces. • The platform specific model is concerned with implementation issues similar to the concerns of the engineering and technology viewpoints of the RM-ODP. The RM-ODP engineering viewpoint is concerned with support for a distributed processing environment and defines a generic platform in MDA terms.

MODEL DRIVEN ARCHITECTURE

Page 23: ATN Lectures 4&5

23

High-level Analysis and Design MethodsSDL AND MSC

System, block and process level organisation in SDL

Page 24: ATN Lectures 4&5

24

High-level Analysis and Design MethodsSDL AND MSC

Association setup logic for the SCTP protocol expressed in SDL

Page 25: ATN Lectures 4&5

25

High-level Analysis and Design MethodsSDL AND MSC

Comparison of three system design methods: RM-ODP, MDA and SDL (with MSC for checking the output)

Page 26: ATN Lectures 4&5

26

High-level Analysis and Design Methods

(a) Generalisation of RM-ODP and MDA processes for distributedsystem design.

(b) Process with constraints placed by software architecture orstandard.

Page 27: ATN Lectures 4&5

27

High-level Analysis and Design Methods

Generalised analysis, modelling and design system based on RM-ODP and MDA with tools useful at various stages

Page 28: ATN Lectures 4&5

28

High-level Analysis and Design Methods

Page 29: ATN Lectures 4&5

29

High-level Analysis and Design Methods

Relationship between SDL standard and system instance specification

Page 30: ATN Lectures 4&5

30

Enterprise and Business Modelling Notation

RM-ODP Enterprise Language

The system is viewed as a community of enterprise objects.

Enterprise objects are things that play roles in the system.

Enterprise objects that have a single authority in common may be classified as belonging to a domain.

Domains may share resources in an agreed way. Such a community of domains constitutes a federation.

Page 31: ATN Lectures 4&5

31

Enterprise and Business Modelling Notation

A use case diagram showing the external actors and use cases for theUser Access Control System

Page 32: ATN Lectures 4&5

32

Enterprise and Business Modelling Notation

Structure of UML standards and resulting development process forclasses

Page 33: ATN Lectures 4&5

33

Object and Data Definition Languages

Example of class definition in the PIM–EV stage for the User AccessControl System

Page 34: ATN Lectures 4&5

34

Object and Data Definition Languages

Abstract Syntax Notation One definition approach to (a) Object definition and (b) transfer of object instances

ABSTRACT SYNTAX NOTATION ONE

Page 35: ATN Lectures 4&5

35

Object and Data Definition Languages

Examples of ASN.1 descriptions of data structures

ABSTRACT SYNTAX NOTATION ONE

Page 36: ATN Lectures 4&5

36

Object and Data Definition LanguagesABSTRACT SYNTAX NOTATION ONE

Page 37: ATN Lectures 4&5

37

Object and Data Definition Languages

Part of the object identifier tree in ASN.1

ABSTRACT SYNTAX NOTATION ONE

Page 38: ATN Lectures 4&5

38

Object and Data Definition Languages

Processes for achieving interoperability of differently implemented objects based on IDL

INTERFACE DEFINITION LANGUAGE

Page 39: ATN Lectures 4&5

39

Object and Data Definition LanguagesINTERFACE DEFINITION LANGUAGE

Page 40: ATN Lectures 4&5

40

ProtocolsSeveral important telecommunications protocols were defined before object-orientation became the dominant paradigm for protocol definition, for example Q.931, ISUP and MAP. Each protocols targets a specific environment.

The software system analysis and design methodology results in components representing co-located objects that are accessible through defined interfaces. Each interface contains a number of method calls. Each method call specifies in general the operation to be performed, the parameters, the return value and exceptions. These method calls represent the application-to-application interaction. The method calls play the same role as application layer protocol operations.

Page 41: ATN Lectures 4&5

41

Protocols

A number of IETF protocols that are important in the convergence process use a common approach to defining the protocol messages.

These protocols include the Simple Mail Transfer Protocol (SMTP), the Hypertext Transfer Protocol (HTTP), the Session Initiation Protocol (SIP) for controlling multimedia sessions and two protocols (PINT and SPIRITS) for facilitating interworking between Internet clients and IN Service Control Points.

All protocols are defined in a human-readable, common text format and are known as text-based protocols.

Page 42: ATN Lectures 4&5

42

Protocols

Example of an IETF text-based protocol: transfer of an e-mail message using SMTP

Page 43: ATN Lectures 4&5

43

Protocols

Page 44: ATN Lectures 4&5

44

Protocols

Page 45: ATN Lectures 4&5

45

Protocols

Relationship between XML standard, application domain data type definition and data instance specification

Page 46: ATN Lectures 4&5

46

Protocols

XML Document Type Definition (left) and sample document (right)

Page 47: ATN Lectures 4&5

47

ProtocolsThe number of XML applications is substantial. Four examples typify the application of XML in specific contexts:

• Internet Protocol Data Record (IPDR): definition of document formats for accounting and billing information for a variety of ICT services.

• VoiceXML: definition of data and scripts for control of interactive voice response units.

• Web Services Definition Language (WSDL): a way of describing Web services that allows potential users to establish the suitability of the services for their needs.

• The OMG Meta Object Facility (MOF): a basic definition of the constructs in UML.

Page 48: ATN Lectures 4&5

48

Protocols

Relationship between XML, SOAP and HTTP

Page 49: ATN Lectures 4&5

49

Protocols

Communication (robustness) diagram for the User Access Control System

Page 50: ATN Lectures 4&5

50

Dynamic Modelling Notations

Message sequence chart for a user access control system

Page 51: ATN Lectures 4&5

51

Dynamic Modelling Notations

Message sequence chart for setup logic for the SCTP protocol expressed in ITU-T convention

Page 52: ATN Lectures 4&5

52

Dynamic Modelling Notations

UFM information sequence chart for setup logic for the SCTP protocol

Page 53: ATN Lectures 4&5

53

Dynamic Modelling Notations

System definition process using SDL and MSCs

Page 54: ATN Lectures 4&5

54

Dynamic Modelling Notations

UML sequence diagram for setup logic for the SCTP protocol

Page 55: ATN Lectures 4&5

55

Dynamic Modelling Notations

Four methods of describing state-transition processes

Page 56: ATN Lectures 4&5

56

Dynamic Modelling Notations

Connection View State notation for describing connections in INCapability Set 2. State names are shown in italics

Page 57: ATN Lectures 4&5

57

Component and Interface NotationsThe PIM–CV reflects the logical packaging of the software system that emerges from the PIM–IV.

Functionality is gathered in components. Requests or method calls are gathered in interfaces.

A component is a unit that must be deployed on a single computing node. Reference points may be created at which conformance with definitions can be verified.

The component-level description of the system is, in the absence of constraints, platform independent.

Page 58: ATN Lectures 4&5

58

Component and Interface Notations

Three notations for depicting components and interfaces

Page 59: ATN Lectures 4&5

59

Component and Interface Notations

An example of how the interfaces on an object are defined and how this object depends on interfaces belonging to other objects

Page 60: ATN Lectures 4&5

60

Distributed Systems

Computer networking introduced the need to deal with the distributed nature of computing through the Open Systems Interconnection (OSI) approach.

While this initiative was concerned initially with managing the complexity of communications protocols through a layered reference model, there was also a strong emphasis on openness.

An open system presents a standard interface that allows differentimplementations of the communicating systems to work together.

The concept of openness has been extended to software as well. Definition of applications programming interfaces is a means of partitioning a software system into one part that provides services to another part. The standard way of invoking services is defined as software interfaces with defined method calls, relying on accompanying data definitions.

Page 61: ATN Lectures 4&5

61

Distributed SystemsNETWORK PROTOCOL-BASED DISTRIBUTED SYSTEMS

• Dynamic Host Configuration Protocol (DHCP)

• Domain Name Service (DNS).

REMOTE METHOD INVOCATION

A process of invoking a method on a remote computer when the object implementation and platforms are in the same language but not necessarily running on the same platforms on client and server sides

The most common instance is the Javalanguage with its Java Remote Method Invocation (RMI) technique.

Page 62: ATN Lectures 4&5

62

Distributed Systems

WEB SERVICES MODEL

Web services are conceived as a way of achieving application-to-application interaction intended primarily for electronic business (e-business) but finds widespread use.

The emphasis is on sharing functionality and data across computing platforms in application-to-application interactions.

Web services represents a form of distributed computing in which functionality that already exists can be made available for use by other programs.

Page 63: ATN Lectures 4&5

63

Distributed Systems

Representation of Web services as a triangular relationship

Page 64: ATN Lectures 4&5

64

Distributed Systems

Essential elements in CORBA support for object interactions. Examples of protocols and messages are shown in brackets

Common Object Request broker Architecture - CORBA

Page 65: ATN Lectures 4&5

65

CREATING a UNIFIED FRAMEWORK

The integrated approach to the analysis, design and implementation of complex ICT software systems: • As an organising principle, the RM-ODP viewpoints and the Model Driven Architecture provide a process with up to five stages, as necessary in each project. We have identified these phases by combinations of RM-ODM and MDA viewpoints as: CIM–EV, PIM–IV, PIM–CV, PSM–EV and PSM–TV.

• The most appropriate notations drawn from the many available should be used to support analysis and design.