SOIS at Design Net Approaching Reusability in Flight Software.

Slides:



Advertisements
Similar presentations
MicroKernel Pattern Presented by Sahibzada Sami ud din Kashif Khurshid.
Advertisements

CESG, Fall 2011, 5 th November 2011 Stuart Fowell, SciSys Device Virtualisation and Electronic Data Sheets.
Programming Languages Marjan Sirjani 2 2. Language Design Issues Design to Run efficiently : early languages Easy to write correctly : new languages.
OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 1/18 Use Case Analysis – continued Control Classes.
Software Connectors. Attach adapter to A Maintain multiple versions of A or B Make B multilingual Role and Challenge of Software Connectors Change A’s.
Protocols and the TCP/IP Suite
Unified Modeling (Part I) Overview of UML & Modeling
Ch 12 Distributed Systems Architectures
SensIT PI Meeting, April 17-20, Distributed Services for Self-Organizing Sensor Networks Alvin S. Lim Computer Science and Software Engineering.
What is adaptive web technology?  There is an increasingly large demand for software systems which are able to operate effectively in dynamic environments.
SE-565 Software System Requirements More UML Diagrams.
Exemplar CFS Architecture
The Design Discipline.
SOIS Dictionary of Terms Issues. Preface This discussion is about how to support a dictionary of terms, not so much about what is in the dictionary. This.
Real-Time Software Design Yonsei University 2 nd Semester, 2014 Sanghyun Park.
1. 2 Purpose of This Presentation ◆ To explain how spacecraft can be virtualized by using a standard modeling method; ◆ To introduce the basic concept.
Chapter 3: Operating-System Structures System Components Operating System Services System Calls System Programs System Structure Virtual Machines System.
SOIS Dictionary of Terms Usage in Tool Chain. Summary of DoT in SOIS Tool Chain The details hidden by the compression of this diagram will appear in subsequent.
Add intro to concept of electronic data sheets PnP based on use of this Can describe s/w as well as h/w.
KEx objectives Supporting distributed and heterogeneous organizations in managing their knowledge processes, by technologically implementing the basic.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 07. Review Architectural Representation – Using UML – Using ADL.
Lecture 9: Chapter 9 Architectural Design
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
1 Software Design Reference: Software Engineering, by Ian Sommerville, Ch. 12 & 13, 5 th edition and Ch. 10, 6 th edition.
CHAPTER TEN AUTHORING.
SWE © Solomon Seifu ELABORATION. SWE © Solomon Seifu Lesson 10 Use Case Design.
Architectural Design lecture 10. Topics covered Architectural design decisions System organisation Control styles Reference architectures.
1 Software Design Overview Reference: Software Engineering, by Ian Sommerville, Ch. 12 & 13.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
 Repository Model  Client-Server Model  Layered Model  Modular decomposition styles  Object Models  Function Oriented Pipelining  Control Styles.
SOIS APP Working Group Overview. Presentation Overview Application Support Services Electronic Datasheets ESA Project History and Plans Standards Documentation.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
Use Case Refresher 1. Different Views on PnP Notes from previous discussions ARFL’s Space Plug-n-play Avionics ( SPA) is aimed at describing complete.
SOFTWARE DESIGN. INTRODUCTION There are 3 distinct types of activities in design 1.External design 2.Architectural design 3.Detailed design Architectural.
March 2004 At A Glance NASA’s GSFC GMSEC architecture provides a scalable, extensible ground and flight system approach for future missions. Benefits Simplifies.
Real-Time Systems Presented by: Stuart D Fowell CCSDS Time Critical Onboard Application Services Stuart D. Fowell, Keith L. Scott, Chris.
31 March 2009 MMI OntDev 1 Autonomous Mission Operations for Sensor Webs Al Underbrink, Sentar, Inc.
Introduction to Interactive Media Interactive Media Tools: Authoring Applications.
CHAPTER 4 PROTOCOLS AND THE TCP/IP SUITE Acknowledgement: The Slides Were Provided By Cory Beard, William Stallings For Their Textbook “Wireless Communication.
EGOS LLC CCSDS 14/ Question Question; Why a Service Viewpoint? Short Answer; Because a service viewpoint provides a useful additional level.
CCSDS SOIS Working Group Meeting – Berlin, Germany 14th of October 2008 Prototyping of CCSDS SOIS services on 1553 Bus Sev Gunes-Lasnet, Olivier Notebaert.
DESIGN OF SOFTWARE ARCHITECTURE
CSI 3125, Preliminaries, page 1 SERVLET. CSI 3125, Preliminaries, page 2 SERVLET A servlet is a server-side software program, written in Java code, that.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
1. 2 Purpose of This Presentation ◆ To explain how spacecraft can be virtualized by using a standard modeling method; ◆ To introduce the basic concept.
Collaborative Systems Developing Collaborative Systems with a Reuse Driven Process.
OOD OO Design. OOD-2 OO Development Requirements Use case analysis OO Analysis –Models from the domain and application OO Design –Mapping of model.
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
March 2004 At A Glance The AutoFDS provides a web- based interface to acquire, generate, and distribute products, using the GMSEC Reference Architecture.
SOIS Services Version 3, with post 19 Jan 2016 Telecon mods.
Discovery Systems Where Standards are Needed. Agenda Self-Organization Efficient Discovery Discovering Data Semantics Self-organizing Network Topology.
Slide 1 Chapter 8 Architectural Design. Slide 2 Topics covered l System structuring l Control models l Modular decomposition l Domain-specific architectures.
Software Connectors. What is a Software Connector? 2 What is Connector? – Architectural element that models Interactions among components Rules that govern.
Dr D. Greer, Queens University Belfast ) Software Engineering Chapter 7 Software Architectural Design Learning Outcomes Understand.
SOIS Services. Layered View This is the traditional diagram that summarizes SOIS services in layers of a protocol stack.
Software Architecture
Exemplar CFS Architecture
Version 4, 2016 March 1 Teleconference
Version 3, with post 19 Jan 2016 Telecon mods
Where Standards are Needed
Software Architecture
Enterprise Computing Collaboration System Example
Deployment Diagram.
Integrating CCSDS Electronic Data Sheets into Flight Software
Protocols and the TCP/IP Suite
Protocols and the TCP/IP Suite
<Your Team # > Your Team Name Here
Chapter 13: I/O Systems.
Segments Introduction: slides minutes
Software Architecture
Presentation transcript:

SOIS at Design Net Approaching Reusability in Flight Software

Content The SOIS Implementation for NRL Supporting Reusability in SOIS Acknowledgements

SOIS Implementation for NRL Flight Software Standards Testbed Platform TAS FAS Issues Discovered in Implementation

SOIS Implementation Platform FunctionTechnology Transfer and Subnetwork Layers, approximately Satellite Data Model Flight Network HardwareSpacewire Simulation of Flight and OperationsSpacecraft Dynamic Tool Flight Operating SystemuClinux Flight ProcessorMicroblaze in Xilinx FPGA Programming LanguageC++ Preliminary Development EnvironmentWindows, POSIX

Time Access Service We implemented the following capabilities. Wall Clock Alarm Clock Metronome

File Access Service We implemented the following capabilities. Open File Close File Read From File Write To File We expect to implement others as needed.

Issues Discovered in Implementation These issues may have already been discussed and resolved in this community; if so, we can move through these slides quickly. Blocking Management of lifetime of indication objects Management of lifetime of data buffers

Blocking We assumed that the standard SOIS FAS interface should block. We added a non-blocking alternative to the standard SOIS FAS interface.

Lifetime of FAS Indication Objects The indication objects returned by FAS might have one of the following lifetimes: – Owned by FAS, and overwritten sometime – Created by FAS, and deleted by application – Created by application and deleted by application We implemented the third option above by adding a parameter to every FAS method, in which the application provides an indication object.

Lifetime of Data Buffers The data buffers returned by the standard interface might have one of the following lifetimes: – Owned by FAS, and overwritten sometime – Created by FAS, and deleted by application – Created by application and deleted by application – Imbedded in indication object We added a method for applications to specify a read- buffer, implementing the third lifetime above. If an application does not supply a read-buffer, the second lifetime above applies.

What is Reusability? When a reusable component joins an assembly, it is able to exchange services with the other components in the assembly. Modification of a reusable component is unnecessary when adding it to an assembly.

Benefits of Reusability Reduce time to launch. Reduce cost to launch. Improve reliability in routine missions. This is a principle to guide the implementation of plug-and-play discovery in SOIS.

Obstacles to Reusability Differences in content of similar data messages among different devices and diachronically – such as the number and locations of thermistors reporting housekeeping data in a device Reorganization of device boundaries – such as the development of star trackers that produce angular rates, while some star trackers only provide direction Differences in implementation of protocols – such as a device that receives a mode byte that includes “on” and “off” states, compared to a device that responds to an “on” command and an “off” command. Difficulty of adapting to differing qualities of service – Timing of delivery of data – Accuracy and precision of measurements Implementation of system-level concepts – Mission operations – Restrictions on spacecraft attitude (keep-out zones) Inadequate coordination among designers – This issue appears as a longing for logical design and concise documentation; each designer seems to have a different language. – We agree with the SOIS principle, that a standard interface will provide a common language for coordination of designers. Add to this list any of the reasons why we must call on the services of engineers to rework components before they can interoperate.

Strategy to Implement Reusability Abstraction: Design both devices and software applications as peer endpoints of data transfer in a self-assembling distributable processing network*. Metadata: Associated with each endpoint are metadata that describe the semantics of the data that the endpoint can publish, and of the data that the endpoint can usefully consume. Quality of Service: Endpoints establish mutual sessions for the exchange of data in a spacecraft, using mutually compatible protocols. Consumers of data choose providers based on quality of service. Standard Semantics: Definitions of data semantics and protocols reside in a public repository, where they may be used by developers of new endpoints that can communicate with any old endpoints. * See next slide for a definition of this expression.

Self-Assembling Distributable Network The term “self-assembling” refers to the formation of a system through autonomous session building among endpoints. The principle that guides the assembly is the data that ultimately will flow between endpoints. The term “distributable” refers to an architecture in which a collection of endpoints adapts dynamically to distribute work across the suite of processors available on a spacecraft, including the processors that represent hardware devices. Build on the present SOIS architecture, which abstracts the complexities of data transfer mechanisms. Use virtualized devices to make both devices and software applications peer endpoints of data transfer.

Metadata Discovery: A consuming endpoint identifies endpoints that publish the data variables that it uses on board a particular spacecraft. Selection: A consuming endpoint chooses one or more publishers. Message Building: The publisher endpoints define messages to package variables with similar schedules. Session Protocols: The session protocols coordinate delivery of variables.

Session Building: Flight Segment During flight, endpoints communicate through a data virtualization wrapper. Inside the wrapper, the endpoint logic reads and writes variables from and to local memory, receiving notification events when variables change value. The wrapper satisfies the endpoint’s need to receive data and its responsibility to publish data, as described in its metadata. The data virtualization wrappers of consuming endpoints retrieve from a “dance card” file their matching publisher endpoints. The consuming endpoint wrappers may form a session with the publisher endpoint wrappers of their choice, using mutually supported protocols. A network application answers the question of quality of service that is available between two endpoints, so consuming endpoint wrappers may select a publisher according to quality of service. The “dance card” file may be extended during flight, if reconfiguration of the spacecraft is needed on the launch pad or in flight. (software upload, docking, or spacewalk upgrade)

Session Building: Ground Segment A ground-resident database stores a collection of metadata describing spacecraft endpoints and their semantics. On the ground before a mission, a design tool plans the connection of mission devices (payload and other special sensors) to a spacecraft bus. The design tool assures that for each item of data used by a consumer endpoint on a spacecraft there is a producer endpoint for that data. The design tool generates a file of pairs of potential producer and consumer endpoints, to be loaded into the spacecraft along with flight software. Call this the “dance card” file.

Session Building Diagram Endpoint Data Suppliers Endpoint Data Suppliers Endpoint Data Sheet Endpoint Data Sheet Ground Repository of Endpoints Flight Endpoints Endpoint Designer Endpoint Data Sheet Flight Preprocessor Endpoint Data Suppliers Endpoint (payload) Endpoint (subsystem) Flight Ground Session

How Endpoints Find Data 20 Consumer/ Publisher Matching Algorithm SOIS Application Support Layer Repository Endpoint Interface Designer Forms in Endpoint Data Sheet Endpoint Data Suppliers Endpoint Algorithm Endpoint Algorithm Designer Consumer/ Publisher Matching Algorithm Form Kind, Form Name Form Name, Variable Form Form, Variable Publisher, Message, Variable Publisher, Message, Variable Treatment of Variable Variable Command & Data Acquisition Service Content of Variable Flight Ground

Acknowledgements Much of the technology in this presentation is based on prior work of the PnPSat development team, under the direction of Don Fronterhouse, toward the development of reusable subsystems and components for PnPSat. The SOIS application programming interface is based on the recent standards documents.

TANGENTIAL TOPICS

Class Structure Diagnosable Executable Endpoint SOIS TASSOIS FAS litexml Payload Agent Metadata classes

Data Virtualization Wrapper Execution Pattern Event Handlers Interpretation of Endpoint Metadata Access to Application Support Layer

Execution Pattern Variables in Memory Event-Driven Behaviors Before Cycles After Cycles Analysis Publication

Asynchronous SOIS Situation: SOIS FAS operations fit into sequential program logic. Challenge: Events in distributed processing may occur in a variety of sequences. Adaptation: Separate the events from the program sequence. Represent program sequence declaratively in a state machine. Implement sequential logic by reading state machine. Start Operation 1 Start Operation 2 Operation 1 Operation 2 Store results. Operation 1 Done What is next?