2013-04-16 First Draft Schema Overview CCSDS Spring Meeting 2013 Peter Mendham, Richard Melvin, Ivan Dankiewicz, Stuart Fowell.

Slides:



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

Service Description: WSDL COMP6017 Topics on Web Services Dr Nicholas Gibbins –
SOAP.
ISO DSDL ISO – Document Schema Definition Languages (DSDL) Martin Bryan Convenor, JTC1/SC18 WG1.
Software Frame Simulator (SFS) Technion CS Computer Communications Lab (236340) in cooperation with ECI telecom Uri Ferri & Ynon Cohen January 2007.
IEC Substation Configuration Language and Its Impact on the Engineering of Distribution Substation Systems Notes Dr. Alexander Apostolov.
Component-Level Design
Tutorial 6 & 7 Symbol Table
Essentials of state and activity diagram Lecture 24.
Class Diagram & Object Diagram
C++ fundamentals.
An Introduction to Rational Rose Real-Time
Unified Modeling Language
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
ESA UNCLASSIFIED – For Official Use EDS Schema F. Torelli & P. Skrzypek CCSDS Spring Meeting /04/2013.
CASE Tools And Their Effect On Software Quality Peter Geddis – pxg07u.
Classes and objects Practice 2. Basic terms  Classifier is an element of the model, which specifies some general features for a set of objects. Features.
Aurora: A Conceptual Model for Web-content Adaptation to Support the Universal Accessibility of Web-based Services Anita W. Huang, Neel Sundaresan Presented.
Design Patterns.
XForms: A case study Rajiv Shivane & Pavitar Singh.
SOFTWARE ENGINEERING BIT-8 APRIL, 16,2008 Introduction to UML.
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
Copyright © 2012 Accenture All Rights Reserved.Copyright © 2012 Accenture All Rights Reserved. Accenture, its logo, and High Performance Delivered are.
Neminath Simmachandran
1 The Architectural Design of FRUIT: A Family of Retargetable User Interface Tools Yi Liu, H. Conrad Cunningham and Hui Xiong Computer & Information Science.
Chapter 7 Structuring System Process Requirements
1. 2 Purpose of This Presentation ◆ To explain how spacecraft can be virtualized by using a standard modeling method; ◆ To introduce the basic concept.
Architectures. Many tasks involved in encoding, protecting and transmitting user application data as bit stream. Network Architecture is how tasks are.
ITCS 6010 SALT. Speech Application Language Tags (SALT) Speech interface markup language Extension of HTML and other markup languages Adds speech and.
A Z Approach in Validating ORA-SS Data Models Scott Uk-Jin Lee Jing Sun Gillian Dobbie Yuan Fang Li.
05 October 2015 Peter Mendham The SpaceWire-PnP Protocol: Status and Relationship with SOIS.
Programming in Java Unit 2. Class and variable declaration A class is best thought of as a template from which objects are created. You can create many.
ESA UNCLASSIFIED – For Official Use Overview on CCSDS SOIS and Electronic Data Sheets Flight Software Workshop, 16/12/2014 Felice Torelli (1), Stephan.
SOEN 343 Software Design Section H Fall 2006 Dr Greg Butler
(Business) Process Centric Exchanges
SE: CHAPTER 7 Writing The Program
SpaceWire Plug-and-Play: A Roadmap Peter Mendham, Albert Ferrer Florit, Steve Parkes Space Technology Centre, University of Dundee 1.
XML Web Services Architecture Siddharth Ruchandani CS 6362 – SW Architecture & Design Summer /11/05.
Updated Draft Schema Overview CCSDS Fall Meeting 2013 Peter Mendham, Richard Melvin, Stuart Fowell.
XASTRO-2 Overview Presentation CCSDS SAWG Athens Meeting 12 th April 2005.
MD – Object Model Domain eSales Checker Presentation Régis Elling 26 th October 2005.
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.
Efficient RDF Storage and Retrieval in Jena2 Written by: Kevin Wilkinson, Craig Sayers, Harumi Kuno, Dave Reynolds Presented by: Umer Fareed 파리드.
ESA UNCLASSIFIED – For Official Use Recap of SOIS Evaluation by the Primes F. Torelli (ESA) CCSDS Spring Meeting, 23/03/2015.
Design Model Lecture p6 T120B pavasario sem.
ESA UNCLASSIFIED – For Official Use SOIS EDS & Toolchain ESA YGT Study F. Torelli & P. Skrzypek CCSDS Fall Meeting /10/2013.
Chapter 5: Distributed objects and remote invocation Introduction Remote procedure call Events and notifications.
ESA UNCLASSIFIED – For Official Use Workshop #23 Pasadena, USA 25 rd March 2015 Sam Cooper Common services update (part 2)
S O A P ‘the protocol formerly known as Simple Object Access Protocol’ Team Pluto Bonnie, Brandon, George, Hojun.
SOIS EDS and Onboard Architectures. ESA ‘de-facto’ Architecture PUS Services Mission Applications Data Handling PUS TM/TC Internal Datapool API System.
1 UML Modeling of Spacecraft Onboard Instruments Takahiro Yamada, JAXA/ISAS April 2005.
ESA UNCLASSIFIED – For Official Use NPAL Datasheet F. Torelli & P. Skrzypek CCSDS Spring Meeting /04/2013.
All Presentation Material Copyright Eurostep Group AB ® A Meta-model of EXPRESS in UML for MOF and UML to EXPRESS David Price April 2002.
August 2003 At A Glance The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control.
XASTRO-2 Presentation CCSDS SAWG th November 2004.
Refactoring Agile Development Project. Lecture roadmap Refactoring Some issues to address when coding.
Post-NASA Review Schema Harmonisation CCSDS Spring Meeting 2014 Peter Mendham, Richard Melvin, Stuart Fowell.
CSCI 383 Object-Oriented Programming & Design Lecture 7 Martin van Bommel.
Spacecraft Onboard Interface Services Application Support Services Working Group (SOIS-APP WG) CCSDS Spring 2013 Meeting.
SEMI-STRUCTURED DATA (XML) 1. SEMI-STRUCTURED DATA ER, Relational, ODL data models are all based on schema Structure of data is rigid and known is advance.
Flux & React Web Application Development Mark Repka, Rich McNeary, Steve Mueller.
SOAP, Web Service, WSDL Week 14 Web site:
State Machine Model.
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
Introduction to Design Patterns
Unified Modeling Language
Using Electronic Datasheet for Testing
Lecture 4: RPC Remote Procedure Call Coulouris et al: Chapter 5
Lecture 4: RPC Remote Procedure Call CDK: Chapter 5
Presentation transcript:

First Draft Schema Overview CCSDS Spring Meeting 2013 Peter Mendham, Richard Melvin, Ivan Dankiewicz, Stuart Fowell

SOIS EDS Presenter 1 & Presenter 2 Tuesday 9 April 2013 Overview Design drivers and goals Schema/EDS architecture Specifying device behaviour Limitations of the current draft Alternative approaches Example data sheet walk-through

SOIS EDS Design Drivers Requirements as captured by the activity Outputs of the technology survey Reuse XTCE as much as possible Align with UML state machine semantics – Allows tool interaction with XMI Roughly align with UML class/interface semantics – Again, aimed at easing tool interaction – Not entirely possible given other requirements Use RDF/OWL for ontological information – Units, dimensions, meanings etc.

SOIS EDS Design Goals Enable reuse as much as possible Permit reuse of various data sheet elements Reuse of interfaces and data types – Permits definitions of standard interfaces – Permits reuse of vendor-specific interfaces across devices (“vendor standards”) Reuse of protocols – e.g. PUS Service 1 – Reuse of packet formats + state machine Reuse of algorithms/procedures – Not necessarily stateless Define a minimal set of constructs that can be used for everything – Less to understand, parse, validate – Less complexity in code generation – Con: constructs are quite abstract

SOIS EDS High-Level View DVS and DAS are components A component has – Provided interfaces (one or more) – Required interfaces (one or more) – An implementation (one) The subnetwork is a component with provided interfaces only – No implementation in data sheet Interfaces are instances of an interface type Interface types could be standardised As far as the schema is concerned the subnetwork is just another component – Code generator would know otherwise

SOIS EDS Interfaces An interface type defines an interface in terms of – Parameters (attributes) – Commands (operations) Parameters – Have a specified data type – Can be acquired – Could be set if DVS/DAS interface was extended Commands – Can have zero or more arguments – Each argument is typed – Arguments can have in/out/inout modes – Can be invoked Parameters and commands can be marked as “async” – Asynchronous “publishing” of parameters – Asynchronous “return” of commands – Corresponds to unmatched or many indications for one request

SOIS EDS Data Types Type system inherited from XTCE A few basic types – Integer, float, string boolean etc. Valid ranges can be specified – e.g. for integer – Appropriate for functional (DVS-level) interfaces Encodings can be specified – Appropriate for DACP and DAS-level interfaces At the moment semantics are attached to types via a link to an ontology (a URI) Structures/records are specified as “containers” – A packet is a container with a specified encoding – Container specification is inherited from XTCE

SOIS EDS Namespaces All types are specified in namespaces Avoids name clashes Makes type naming easier Makes type naming more self-explanatory Does add visual complexity to the XML file itself – Not a problem for use with a tool

SOIS EDS Documentation Documentation inherited from XTCE Each major element can have – A short description attribute – A long description child element Long descriptions may contain HTML

SOIS EDS Component Types Components are instances of component types Component type has – Provided interfaces – Required interfaces – Implementation Implementation has – Data types used internally – Parameters used internally – State machines – Activities No difference between schema for DVS-level and DAS-level component types – Difference is in whether types have representation information

SOIS EDS Component Implementations and Protocols A protocol is defined by – Communications container formats (e.g. packets) – State machines The schema is designed to make the specification of protocols easy – And other interactions, processes etc. It is easy to extract from a schema – What container formats are used on which service Packets, memory (register) formats etc. – How the container formats are used (patterns)

SOIS EDS State Machines State machine semantics match those of UML Each state machine has – One or more entry states – Zero or more exit states – One or more states – One or more transitions Each transition has (all optional) – A trigger event – A guard condition – An activity to invoke Each state has (all optional) – An entry activity – An exit activity – A “do” activity

SOIS EDS Activities Activities are invoked by state machines Activities contain a procedural sequence of steps Can include mathematical algorithms Can send service primitives – As described by the SOIS books – xxx.request to a required interface – xxx.indication to a provided interface Cannot wait on the receipt of a service primitive – This is the job of the state machine Activities are therefore non-blocking This makes activities – More declarative – Easier to analyse – Easier to generate analysable code from (e.g. Ravenscar compliant)

SOIS EDS State Machine Event Model Events are processed as per UML semantics Events are actually service primitives – As described by the SOIS books A xxx.indication primitive from a required interface A xxx.request primitive from a provided interface In summary: – State machines sink primitives – Activities source primitives

SOIS EDS Component Types and Reuse Components (DVS, DAS) are defined as instances of component types Component implementations may also contain component instances – Sub-components – Allows re-use of elements e.g. protocols This may be unnecessarily flexible – Good candidate for simplification...

SOIS EDS Bits Missing from the Draft Schema Timed state transitions – Should be easy to add Subnetwork constraint specification – Specific properties for each subnetwork type – A bit harder to add “Configuration points” – Places where the device itself can be configured – e.g. by DIP switch – Need to be exposed as “configuration parameters”

SOIS EDS Aside: Return Metadata from Service Primitives There are two types of data to return from a parameter/command access: – The data associated with the parameter/command Parameter value “out” parameters of command – Error information Error information could be modelled as an exception Exceptions could be first class – Do not need a numeric representation or encoding This is done in a number of programming languages – e.g. Modula-2 and -3 Encoding of exception is decided by tool chain In reality this is likely to just be an integer

SOIS EDS Simplification Strategies Remove component types – DVS and DAS components defined as singletons – No sub-components – No component-level re-use Could remove namespaces Make some simplifications to data type system? – Array types? At the moment activities are always defined separately to state machines – Permits activities to be called from multiple places – Could also permit in-line definition – May shorten XML but little functional impact

SOIS EDS Subnetwork Interface Specialisation The schema does not treat the subnetwork interface specially Could also make the subnetwork interface more specific Follow an approach like Piotr's No change in information content – Could easily transform between the two Pros – Easier to understand – Static device interface (i.e. exchange units) 'at-a-glance' Cons – Larger schema – Less flexible – Less extensible

SOIS EDS Conclusions The draft schema defines a simple but very flexible set of constructs The schema is defined to promote standardisation and reuse Re-use from XTCE is a design principle The design is intended to make it easier for tooling to – Work with existing MDE/CASE tools (avoid re- inventing the wheel) – Generate code for a wide range of devices from relatively few linguistic constructs (simplify code generators) A number of simplification strategies have been identified – De-scope schema features – Specialise the subnetwork interface

SOIS EDS Example Data Sheet

SOIS EDS Example – Overview Very simple example intended to explore and demonstrate the schema Not based on any existing device Covers DAS only – DVS is not very different though Provides one vendor-specific DAS interface Uses both MAS and PS interfaces – Interfaces required from subnetwork component(s) The example includes a component definition for the subnetwork – Uses XInclude to pull this into the data sheet

SOIS EDS Example – DAS Component First section of data sheet declares the component instances used for DVS and DAS Normally there would be one for each, connected together Here there is just DAS The component interface and function is defined by the component type – “DemoDeviceDASType” – In the namespace “Demo” Shows that XTCE naming conventions are used by schema

SOIS EDS Example – DAS Component Type This is the definitions of the DAS implementation Shows which interfaces it provides and requires In this case clearly indicates use of both PS and MAS … This is the component describing DAS (i.e. the DSAP) …

SOIS EDS Example – DAS Interface Type (Parameters) The interface to the DAS device contains both parameters and commands – Snippet shows parameters only … <seds:Parameter name="telemetrySet1" type="TelemetrySet1Type" mode="async" readOnly="true"/> <seds:Parameter name="telemetrySet2" type="TelemetrySet2Type" mode="async" readOnly="true"/> … …

SOIS EDS Example – DAS Interface Type (Commands) This snippet shows commands only … … …

SOIS EDS Example – Defining a packet A packet is just a container with encoding information This packet has variable structure – Taken directly from XTCE 0

SOIS EDS Example – Packets and Memory Locations Packets and memory locations defined the same way Containers with encoding Inheritance supported – Permits specialisation of generic packet definitions This is a specialisation of the telecommand on the last slide Defining a type makes it easier to match against in state machines

SOIS EDS Example – MAS Interface MAS interface has three memory locations – A command register – A status register – An extended status/mode register The contents of the extended status/mode register depend on the command written to the command register – Shows a realistic device-specific access protocol with more than one state

SOIS EDS Example – State Machine State machine for extended status/mode acquisition Initially responds to primitives acquiring extendedMode or extendedStatus parameters on the device interface

SOIS EDS Example – Activities State machine for extended status/mode acquisition Initially responds to primitives acquiring extendedMode or extendedStatus parameters on the device interface

SOIS EDS Example – State Machine XML <seds:OnEvent transaction="GetExtendedStatusModeParam" parameter="DeviceInterface/extendedMode" operation="get"/> <seds:OnEvent transaction="GetExtendedStatusModeParam" parameter="DeviceInterface/extendedStatus" operation="get"/>

SOIS EDS Example – Activity XML (1) Mode ReadStatusModeCommandType.ReadMode This is the “GetExtendedMode” activity Directly follows the UML semantics

SOIS EDS Example – Activity XML (2) == Mode <seds:Parameter transaction="GetExtendedStatusModeReply" parameter="DeviceInterface/extendedMode" operation="get"> <seds:Parameter transaction="GetExtendedStatusModeReply" parameter="DeviceInterface/extendedStatus" operation="get"> This is the “ReturnExtendedStatusMode” activity Uses an XTCE conditional

SOIS EDS Example – Conclusion Relatively simple example Illustrates – Most major parts of the schema – A non-trivial DSAP – How XTCE is re-used – How UML semantics are used Does not cover – Error handling procedures – Addition of ontological semantics