Subnet plus Composable Applications

Slides:



Advertisements
Similar presentations
CESG, Fall 2011, 5 th November 2011 Stuart Fowell, SciSys Device Virtualisation and Electronic Data Sheets.
Advertisements

FIPA Interaction Protocol. Request Interaction Protocol Summary –Request Interaction Protocol allows one agent to request another to perform some action.
CPSC Network Layer4-1 IP addresses: how to get one? Q: How does a host get IP address? r hard-coded by system admin in a file m Windows: control-panel->network->configuration-
Understanding Metamodels. Outline Understanding metamodels Applying reference models Fundamental metamodel for describing software components Content.
William Stallings Data and Computer Communications 7 th Edition Chapter 2 Protocols and Architecture.
COE 342: Data & Computer Communications (T042) Dr. Marwan Abu-Amara Chapter 2: Protocols and Architecture.
Exemplar CFS Architecture
Process-to-Process Delivery:
SpaceWire-RT Steve Parkes, Albert Ferrer-Florit
Protocols and the TCP/IP Suite
William Stallings Data and Computer Communications 7 th Edition Data Communications and Networks Overview Protocols and Architecture.
Department of Electronic Engineering City University of Hong Kong EE3900 Computer Networks Introduction Slide 1 A Communications Model Source: generates.
TCP/IP TCP/IP LAYERED PROTOCOL TCP/IP'S APPLICATION LAYER TRANSPORT LAYER NETWORK LAYER NETWORK ACCESS LAYER (DATA LINK LAYER)
Component frameworks Roy Kensmil. Historical trens in software development. ABSTRACT INTERACTIONS COMPONENT BUS COMPONENT GLUE THIRD-PARTY BINDING.
SOIS at Design Net Approaching Reusability in Flight Software.
ESA UNCLASSIFIED – For Official Use SOIS Evaluation by the Primes F. Torelli (ESA) Software Reference Architecture - Focus on the Execution Platform ADCSS.
SOIS APP Working Group Overview. Presentation Overview Application Support Services Electronic Datasheets ESA Project History and Plans Standards Documentation.
William Stallings Data and Computer Communications
ESA UNCLASSIFIED – For Official Use Inputs to SOIS EDS Schema F. Torelli CCSDS SOIS WG, Darmstadt 17/04/2012.
SOIS EDS and Onboard Architectures. ESA ‘de-facto’ Architecture PUS Services Mission Applications Data Handling PUS TM/TC Internal Datapool API System.
AMQP, Message Broker Babu Ram Dawadi. overview Why MOM architecture? Messaging broker like RabbitMQ in brief RabbitMQ AMQP – What is it ?
Slide 1 2/22/2016 Policy-Based Management With SNMP SNMPCONF Working Group - Interim Meeting May 2000 Jon Saperia.
SOIS Services Version 3, with post 19 Jan 2016 Telecon mods.
SOIS Services Version 5, 2016 April 5 Meeting. Layered View This is the traditional diagram that summarizes SOIS services in layers of a protocol stack.
SOIS Services. Layered View This is the traditional diagram that summarizes SOIS services in layers of a protocol stack.
PART1 Data collection methodology and NM paradigms 1.
Computer Networks with Internet Technology William Stallings Chapter 2 Protocols and the TCP/IP Protocol Suite.
850x0g2 Green Book Integrating the New SOIS Summary Diagram
Space Plug-and-Play Architecture (SPA) and SSM
Computer Communication Architecture
Design Patterns-1 7 Hours.
SOIS APP Working Group Overview
EDS Demo SOIS WG Autumn 2016.
CS408/533 Computer Networks Text: William Stallings Data and Computer Communications, 6th edition Chapter 1 - Introduction.
Exemplar CFS Architecture
Plug-and-Play View of SOIS
Version 4, 2016 March 1 Teleconference
Course Outcomes of Object Oriented Modeling Design (17630,C604)
The Client/Server Database Environment
Add intro to concept of electronic data sheets
Introduction.
Version 3, with post 19 Jan 2016 Telecon mods
SOIS-APP Working Group Report Jonathan Wilmot (WG Chair)
Recap of SOIS Evaluation by the Primes
CCSDS Message Bus Comparison
The Client/Server Database Environment
Chapter 9: The Client/Server Database Environment
CHAPTER 3 Architectures for Distributed Systems
Understanding the OSI Reference Model
#01 Client/Server Computing
See embedded notes post 21 Sept telecon
Integrating CCSDS Electronic Data Sheets into Flight Software
Ch > 28.4.
Service-centric Software Engineering
Process-to-Process Delivery:
Chapter 20 Object-Oriented Analysis and Design
Design and Implementation
Chapter 15 – Part 2 Networks The Internal Operating System
Layering & protocol stacks Johan Lukkien
Message Queuing.
Operating Systems : Overview
Enterprise Integration
Operating Systems : Overview
Chapter 5 Architectural Design.
Design Yaodong Bi.
Process-to-Process Delivery: UDP, TCP
DHCP: Dynamic Host Configuration Protocol
Chapter Five: Network Software Protocol Hierarchies
Message Passing Systems Version 2
#01 Client/Server Computing
Presentation transcript:

Subnet plus Composable Applications The New SOIS Subnet plus Composable Applications

Layered View This is the traditional diagram that summarizes SOIS services in layers of a protocol stack.

New Layered View EDS Descriptions of Interfaces EDS Descriptions of Interfaces Required In the new view, CDAS, MTS, and DES have been replaced by EDS descriptions of a variety of products. For example, MTS can be replaced by a description of whatever subset of the AMS interface is appropriate for a specific mission. Any other messaging service may be described in EDS and used to replace MTS. Time Access Service and File and Packet Store Service interfaces will be described by EDS essentially as they are defined now in their magenta books. Application service layer magenta books may be consolidated in one, if anything remains to be said. The interfaces of applications may be defined in EDSs. to facilitate automated adaptation of applications to services, Optionally, to facilitate adaptation of applications to applications. EDS Descriptions of Interfaces EDS Descriptions of Interfaces Provided

Unit Cell in Composition Process Interface Provided Adapter Tool Chain For each (provided, required) pair of interfaces, tool chain generates: Programming language fragments for interface definition Any adapter, such as unit conversion, that may be needed Interface Provided Language-Specific Interface

Backup

Layered View (with special symbols) This diagram has been proposed as a replacement for the traditional layered view of SOIS services. Special interpretations enable an elegant presentation. This diagram represents a revision of SOIS services, which eliminates some obsolete concepts. Two layers remain visible; other layers remain unspecified. The solid line in the Application Layer requires special interpretation. The cloud symbol for Electronic Data Sheet (EDS) indicates that it requires a special interpretation. An EDS describes a service, but it is not a service. Isn’t it fair to say that an EDS is the spec for many of the data objects that are exchanged at the interfaces (and other things too, like services, network configurations, etc

Layered Functional View Electronic Data Sheet Applications Vehicle Manifest describes uses uses uses uses uses realizes The applications served by SOIS appear as a functional unit. The Electronic Data Sheet is shown as something to be realized, and its realization is shown as a service. The Electronic Data Sheet is also shown as an aggregant of Device Enumeration. (The end symbols of the aggregation and realization associations should be hollow, but this drawing tool does not support that.) updates aggregates Device Access, Device Virtualization, Message Transfer File and Packet Store Time Access Device Enumeration uses uses uses uses uses uses Memory Access Packet Synchron-ization Device Discovery Test

Device Access, Device Virtualization, Message Transfer Functional View Applications CMD FILE The applications served by SOIS appear as a functional unit at the top of the diagram. The message categories depicted by rectangles are the subject matter of SOIS magenta books. I think I prefer this diagram to the previous one. This really shows functional objects and service interfaces. We may need a separate diagram to describe just how EDS play into all of this. ACQ LIST PKT TIME Device Access, Device Virtualization, Message Transfer File and Packet Store Time Access Device Enumeration MEM PKT SYNC DEV STAT Memory Access Packet Synchron-ization Device Discovery Test

Service Function Interface/Primitive Parameter Device Enumeration Service (DES) provides table of device names and virtual / physical identifiers – Management of existing devices – Management and user notification of added devices – Management and user notification of removed devices DEVICE_FOUND DEVICE_LOST ENUMERATE_DEVICES ADD_DEVICE REMOVE_DEVICE QUERY_DEVICES Transaction Identifier, Result Metadata, Virtual Device Identifier, Physical Device Identifier, Device Serial Number, Device Type, Spacecraft Network Address Device Discovery Service (DDS) searches sub-net(s) for devices, recognizes changes to device and sub-net accessibility, provides notifications -discovers initial topology -detects changes to topology -informs management with discovery information -provides notification DEVICE_DISCOVERY DEVICE_DISCOVERY_LOSS DDSAP Address, Device Address, Device Metadata Device Virtualization Service (DVS) provides virtual device interface, hides physical device mapping – Commanding – Data Acquisition ACQUIRE_FROM_DEVICE COMMAND_DEVICE Transaction Identifier, Result Metadata, Virtual Device Identifier, Value Identifier, Value, Timestamp Device Access Service (DAS) provides direct physical device access when needed – Acquire value from device – Command a device Transaction Identifier, Result Metadata, Physical Device Identifier, Value Identifier, Value, Timestamp Packet Service (PS) provides means to read / write packets to devices providing packet delivery over a single subnetwork PACKET_SEND PACKET_RECEIVE PACKET_FAILURE Data, PSSAP, PDSAP, Service Class, Channel, Priority, Failure Metadata Memory Access Service (MAS) provides means to read write data to memory providing direct access to device memory READ, WRITE, READ/MODIFY/WRITE, MEMORY_ACCESS_RESULT MASAP Address, Destination Address, Transaction ID, Memory ID, Start Memory Address, Size, Mask, Data, Channel, Priority, Acknowledge, Authorization, Verification, Result Metadata Message Transfer Service (MTS) provides a standard service for mediating the transfer of discrete data (messages) between onboard software users in a distributed onboard system – send a discrete message; – receive the next queued discrete message; – send a query message and receive a reply message back. – multicast a discrete message (publish-subscribe); – broadcast a discrete message (announce). SEND, QUERY, REPLY, MESSAGE, FAULT, REGISTER, UNREGISTER, ASSERT_INVITATION, CANCEL_INVITATION, ASSERT_SUBSCRIPTION, CANCEL_SUBSCRIPTION PUBLISH, ANNOUNCE, MODULE_IS_DEAD Continuum ID, Application Name, Authority Name, Unit ID, Role ID, Meta-AMS Delivery Point (MADP) Specification, Module Number, Subject ID, Delivery Specification, Service Mode, Priority, Flow Label, Context, Application Data Length, Application Data, Term, Fault Expression Management Information Base (MIB) stores data about devices in a common format  

Relationship of AMS and MTS Application (End-to-end messaging) (Local messaging) SM&C Common MOS The AMS book shows MTS as a layer separate from AMS on board spacecraft. Recent discussions have modified this view to show an alternative that does not require putting the entire AMS implementation on board. Instead, MTS stands as the subset implementation of AMS that is on board. The API for MTS is defined to be the API for AMS, so there is no need for an MTS-AMS mapping layer. The “mapping” is really an abstraction since a) the MTS API == the AMS API, and b) the behavior is the AMS behavior, and c) the only interoperable spec is AMS. BTW – this diagram shows MAL to MTS/AMS mapping, that is a different discussion entirely. MAL MAL-MTS Map MTS SOIS PS SpaceWire MTS  AMS

Operational View of MTS API 1/3 The MTS API is a subset of the AMS API. It is shown here and in the next two slides in the form of sequence diagrams, which show how to apply the interface operationally. This first diagram shows the pattern that is expected to be the most commonly used. This pattern maps well to the message bus of NASA’s cFS, in which modules subscribe to topics published by other modules. The subscriber is decoupled from the server, unless the designer decides that an Assert_Subscription.Indication should be passed to the publisher from its local MTS. A Cancel_subscription.Request closes the window in time during which the subscriber receives messages published by the publisher.

Operational View of MTS API 2/3 This second diagram shows the most primitive pattern. This pattern resembles UDP, except that its access is predicated upon a prior invitation from the receiver to the sender, by means of which the sender obtains the address of the receiver. A Cancel_invitation.Request closes the window in time for sending to the receiver.

Operational View of MTS API 3/3 This third diagram shows a synchronous pattern. This pattern applies where the designer of the client sees little that can be done while awaiting the response from the server. Access begins after an invitation from the server to receive queries from the client. An invitation from the client to the server may be required to complete the contract for sending replies. Optionally, the server can simply send its reply to the address in the query. A Cancel_invitation.Request closes the window in time for sending to the client.

Comparing MAL and MTS The following diagrams compare MAL and MTS patterns. Comparison is possible by matching primitive operations that compose the patterns. Separation of control (ack and invitation) from content (data) improves comparability. MAL acknowledgements are application-oriented, so they tend to follow the application’s interests, while MTS acknowledgements are more symmetrical and independently selectable. Separation of execution patterns (asynchronous and synchronous) from sequence of events improves comparability. An abstraction layer could implement MAL on MTS.

Comparing MAL to MTS Publish/Subscribe Must not lose the distinction between the AMS/MTS “peer-to-peer” architectural pattern and the MAL “broker” architectural pattern. They are truly distinct. Comparing MAL to MTS Publish/Subscribe MTS subsumes broker in this model. Separation of control (ack) from content (data) makes these more similar. MTS Publish/Subscribe can probably subsume MAL’s Progress pattern.

Comparing MAL Send to MTS Send MTS Send with quality of service is equivalent to MAL’s Submit pattern.

Comparing MAL Request to MTS Query MTS Query can probably subsume MAL’s Invoke pattern.

Connecting a Device to an Application through a Software Bus This diagram needs significant updates. See the following for some suggestions. Connecting a Device to an Application through a Software Bus Device Application PDU Device Proxy CMD ACQ This diagram shows a communication path between a device and an application across a software bus. The software bus is shown here as a virtual entity; it might be subsumed in the Message Transfer implementation. The EDS for the device may be different from the EDS for the device proxy, or the proxy may simply implement the same interfaces. The device is shown communicating through the subnet packet service, but memory access could be used depending on the device. CMD CMD ACQ ACQ Device Access, Device Virtualization Message Transfer Message Transfer Software Bus PKT Packet Device Physical Link

Connecting a Device to an Application through a Software Bus Suggested updates ... Connecting a Device to an Application through a Software Bus Device Application A-PDU to D-PDU translation D-PDU A-PDU Device Proxy This diagram shows a communication path between an external device that uses a physical link and an application in a separate component that uses a software bus. The term “software bus” is shown here as a virtual entity; it might be subsumed in the is an instance of a Message Transfer implementation. The EDS for the device may will be different from the EDS for the device proxy, or the proxy may simply implement the same interfaces. This also shows the use of a Device Proxy and virtualization to translate the Application PDU (A-PDU) to the Device PDU (D-PDU) and to connect across disparate the communication links. NOTE: The device is shown communicating through the subnet packet service, but memory access could be used depending on the device. D-CMD ACQ A-CMD A-CMD Device Access, Device Virtualization ACQ ACQ Software Bus Message Transfer Message Transfer D-CMD D-CMD PKT PKT Packet Packet Device Physical Link Sub-net Protocol Sub-net Protocol

Connecting a Device to an Application through a Physical Message Bus PDU Device Proxy CMD ACQ This diagram shows a communication path between a device and an application across a physical communication bus. The processor containing the Device Proxy might be any of the following. an adapter for the device a remote interface unit a time/space partition (The message bus could then be an inter-partition communication channel.) a processor peer of the processor containing the application The device is shown communicating through the subnet packet service, but memory access could be used depending on the device. CMD CMD ACQ ACQ Device Access, Device Virtualization Message Transfer Message Transfer PKT PKT PKT Packet Packet Message Bus Packet Device Physical Link

Connecting Two Applications through a Physical Message Bus PDU CMD CMD ACQ ACQ This diagram shows a communication path between two applications across a physical communication bus. The applications could be MOIMS SM&C components, for example The processors containing the applications might be any of the following. time/space partitions (The message bus could then be an inter-partition communication channel.) peer processors Message Transfer Message Transfer PKT PKT Message Bus Packet Packet

What is the role of the EDS vis-à-vis the MIB What is the role of the EDS vis-à-vis the MIB? Does it provide the means to document the MIBs for each of these services? Is there one MIB that combines all of these information objects?

Adding/Removing Devices