Measurement Model Refactoring

Slides:



Advertisements
Similar presentations
 2006 Pearson Education, Inc. All rights reserved Introduction to Classes and Objects.
Advertisements

System Design and Analysis
Connectivity Lab University of California, Berkeley Location and Timing with C/A code in GPS Wanbin Tang Jan 24, 2007.
Code and Decoder Design of LDPC Codes for Gbps Systems Jeremy Thorpe Presented to: Microsoft Research
WSN Simulation Template for OMNeT++
Guide To UNIX Using Linux Third Edition
Chapter 1 Program Design
Structural Coverage Verilog code is available to help generate tests o Code can be analyzed statically and/or simulated Easier to detect “additive” design.
Copyright © 2006 by Maribeth H. Price 14-1 Chapter 14 Analyzing Networks.
M i SMob i S Mob i Store - Mobile i nternet File Storage Platform Chetna Kaur.
Autonomous Robot Project Lauren Mitchell Ashley Francis.
Custom Reporting in Blackboard Learn. What happens between clicking run and getting the report? Connect to a data source Where is the information?
CHAPTER TEN AUTHORING.
 Three-Schema Architecture Three-Schema Architecture  Internal Level Internal Level  Conceptual Level Conceptual Level  External Level External Level.
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Memory: Relocation.
© TMC Computer School HC20203 VRML HIGHER DIPLOMA IN COMPUTING Chapter 2 – Basic VRML.
Systems Realization Laboratory Compact Rescue Crawler ME /26/07 Jonathan Jobe Andrew Marshall Chris Weir.
SOFTWARE TESTING LECTURE 9. OBSERVATIONS ABOUT TESTING “ Testing is the process of executing a program with the intention of finding errors. ” – Myers.
1 © 2004, Cisco Systems, Inc. All rights reserved. CCNA 2 v3.1 Module 8 TCP/IP Suite Error and Control Messages.
Maitrayee Mukerji. INPUT MEMORY PROCESS OUTPUT DATA INFO.
Dive Into® Visual Basic 2010 Express
Plugin overview Functional Plugins (PMP)
Chapter 9 Network Analysis.
OptiSystem applications: SER & BER analysis of QAM-PSK-PAM systems
SECTION 1 ADAMS/Solver subroutines overview
Programming with ANSI C ++
A&AI Component Diagram
UT-Assert Library Presented by Charles Zogby, NASA-GSFC
Oracle Subledger Accounting
OVERVIEW Impact of Modelling and simulation in Mechatronics system
Extensions, System Outline and Correlation Modes and
Simulation based verification: coverage
Overview The designer role in CE 4 has been separated into two new roles in CE6: Designer Role Instructor Role The Auditor role has been added as.
Distance Computation “Efficient Distance Computation Between Non-Convex Objects” Sean Quinlan Stanford, 1994 Presentation by Julie Letchner.
Distribution and components
LCGAA nightlies infrastructure
CHAPTER 3 Architectures for Distributed Systems
Appendix D: Network Model
FlowArm PLTW Programming
Object oriented system development life cycle
Overview Part 1 – Design Procedure Beginning Hierarchical Design
Tom Rink Tom Whittaker Paolo Antonelli Kevin Baggett.
Testing REST IPA using POSTMAN
CMSC 611: Advanced Computer Architecture
Vincenzo Innocente CERN/EP/CMC
Increased Efficiency and Effectiveness
CANalytics TM CAN Interface Software BY.
Chapter 4: Threads.
Introduction to Systems Analysis and Design
Outline Midterm results summary Distributed file systems – continued
TransCAD Vehicle Routing 2018/11/29.
MARIE: An Introduction to a Simple Computer
GENERAL VIEW OF KRATOS MULTIPHYSICS
Introduction to Classes and Objects
Using Functions
Topics Introduction to Value-returning Functions: Generating Random Numbers Writing Your Own Value-Returning Functions The math Module Storing Functions.
Chapter 8 Software Evolution.
Boolean Expressions to Make Comparisons
ECE 352 Digital System Fundamentals
Overview of Workflows: Why Use Them?
Applying Use Cases (Chapters 25,26)
CSC 143 Binary Search Trees.
Applying Use Cases (Chapters 25,26)
Rapid software development
OpenURL: Pointing a Loaded Resolver
M. Kezunovic (P.I.) S. S. Luo D. Ristanovic Texas A&M University
Shane B., Esther K., Curtis S., Jennifer W.
Software Re-engineering and Reverse Engineering
Interrupts.
Scientific Workflows Lecture 15
Presentation transcript:

Measurement Model Refactoring Measurement Modeling Using Signals Darrel J. Conway Thinking Systems, Inc.

Outline Overview Scripting Approach Scripted Tracking File Sets No Explicit Measurements Code Structure Tracking File Set Adapters Signals Implementation Status

Design Approach and Implementation Plan Overview Design Approach and Implementation Plan

Design Goals Simplify Coding for Measurements Simplify User Access to Measurements Make the Code More Maintainable Standardize Model Implementation Collect Common Code Centrally Separate Model (Physics) from View (Calculated Measurements) Closely Match Models with Inputs (Similar to Strategy in CCSDS TDM) Make Modeled Measurements Obvious Avoid Listing Participants in Random Order Make Corrections Applied Explicit

Design Overview Base Measurements on Signals Between Participants A “Signal” is a transmission from a “Transmitter” to a “Receiver” Signals can be Light Time Adjusted Signals can have Corrections Signal Paths Consist of One or More Signals Measurements are Defined by Signal Paths Complex Measurements are Collections of Signal Paths Approach Maps to CCSDS TDM and Geodyn

Refactoring Plan Implement Class Structure Build Code to Support Range Measurements Add Light Time Solution Implement Elevation Constraint

Scripting the Signal Based Measurements User Interface Scripting the Signal Based Measurements

Scripting Approach Current Scripting New Approach Create DataFile mmd mmd.Filename = Maui_USNRange.gmd mmd.Format = GMATInternal Create MeasurementModel RangeMeas RangeMeas.ObservationData = mmd; RangeMeas.Type = USNTwoWayRange; RangeMeas.Participants = { Maui, ODSat }; Create Simulator MeasSim MeasSim.AddData = {RangeMeas}; … Create TrackingFileSet tfs tfs.AddTrackingConfig = {{Maui, ODSat, Maui}, 'Range'} tfs.Filename = ODSatMauiTwoWayRange.gmd % Note: “Format” not in the current implementation tfs.UseLighttime = true; Create Simulator MeasSim MeasSim.AddData = {simData}; …

Feature Comparison Current Scripting New Approach Defines data file and measurement separately (Not Shown) Collect Models into TrackingSystems Participant list is assembled into models on a case-by-case basis Multiple Path Measurements Difficult TrackingFileSet is similar to TrackingSystem Hides the data file and measurement objects inside the tracking file set Actual path(s) the signal(s) traverse are specified Multiple Path Measurements Explicit

Single Path Examples (Original Slide) Explicit Scripting Example: Geometric Range Create TrackingFileSet geomRange geomRange.AddTrackingConfig = {{ODSat, Maui}, ’Range’} geomRange.Filename = GeoRangeData.gmd geomRange.UseLighttime = false; Explicit Scripting Example: USN 2-way Range Create TrackingFileSet usnRange usnRange.AddTrackingConfig = {{Maui,ODSat,Maui},’Range} usnRange.Filename = RangeData.gmd usnRange.UseLighttime = true;

Single Path Examples (Updates From Discussion) Explicit Scripting Example: Geometric Range Create TrackingFileSet geomRange geomRange.AddTrackingConfig = {{ODSat, Maui}, ’Range’} geomRange.Filename = GeoRangeData.gmd geomRange.UseLighttime = false; Explicit Scripting Example: USN 2-way Range Create TrackingFileSet usnRange usnRange.AddTrackingConfig = {{Maui,ODSat,Maui},’Range,‘Doppler’} usnRange.Range.Filename = RangeData.gmd usnRange.Doppler.Filename = DopplerData.gmd usnRange.Filter = MyFilter usnRange.UseLighttime = true; Create DataFilter MyFilter myFilter.file = RangeData.gmd myFilter.StartEpoch = … myFilter.DataThinning = 0.2

Multiple Path Example Explicit Scripting Example: TDRSS 5-leg 2-way Doppler Create TrackingFileSet tdrssDoppler tdrssDoppler.AddTrackingConfig = {… {WhiteSands, TDRSS4, ODSat, TDRSS4, WhiteSands}, … {WhiteSands, TDRSS4, WhiteSands}, ’Doppler’} tdrssDoppler.Filename = DopplerData.gmd tdrssDoppler.UseLighttime = true;

New Classes, Interfaces, and Other Miscellany Code Structure New Classes, Interfaces, and Other Miscellany

New Resource Class TrackingFileSet Specifies Signal Paths to Model Specifies Measurement Types Sets the Measurement Data File Toggles Light Time Solution Activates Additional Corrections Assembles Adapter Objects Needed for Computed Values Passes in Needed Reference Objects (e.g. Solar System, Propagator) Connects Observation Files/Data and Adapters Together

New Internal Classes Signal Classes Signal from Transmitter to Receiver Includes Light Time Solution Three Classes SignalBase PhysicalSignal SinglePointSignal MeasureModel Class Collects Signals Drives the “Model” Calculations Adapter Classes Interface to the Solvers Perform Model  View Translation Currently Two Classes TrackingDataAdapter RangeAdapterKm

Class Hierarchy: Adapters

Tracking Data Adapters Built Internally when a TrackingFileSet Object is Initialized Respond to requests for Measurement Calculations by Calling its MeasureModel to Compute Data Taking Computed Data and Building a Measurement Calculated Value Example – Calls for RangeAdapterKm: MeasurementManager::CalculateMeasurements() calls RangeAdapterKm::CalculateMeasurement() RangeAdapterKm::CalculateMeasurement() calls MeasureModel::CalculateMeasurement()

Class Hierarchy: Measure Models

Measure Models Container Class for Signals Built during Adapter Initialization Responds to Measurement Requests by Looping Through Signals Example – Two Way Range Request Range Adapter calls MeasureModel::CalculateMeasurement() For Each Signal Path, MeasureModel Locates First Node to Compute Calls PhysicalSignal::ModelSignal() Returns List of Measurement Data

Class Hierarchy: Signals

Signals Doubly Linked List of Signals Allows Computations to Start at Either End of a Signal Path Computes Core Data Needed for Measurement Range Vectors, Range Rate Vectors Light Time Solutions Constraints (e.g. Elevation Angle) Corrections Calls for Computation on Next Signal in the Path Returns Linked List of Computed Data

…And Another Thing One More Class: Progress Reporter Allows for Custom Reporting of Data Can be made Scriptable Can be set to Different Verbosity Level Verbosity Set Locally Tailorable at the Component Level Used in Thinking Systems Unit Testing Delivered and Available for Use

Implementation Status Current Status and Next Steps

Implementation Status Code merged into navigation branch that Generates simulated data Works correctly for geometric range, one leg, two leg, and 4 leg signals Works correctly for one-way light time solution based ranging Updates planned for Simulated two way ranging Elevation angle constraints on ground stations Derivative modeling for estimation

Other Notes

Issues encountered During the Merge Need to Sync Files More Regularly Current Nav Code is pre-R2014a and Should Be Sync’d Merge of GOATS-9 into Nav Complicated Because I Didn’t Sync Frequently Sometimes Merges Need to be Done Manually Replace Tabs with Spaces Try to Keep Line Lengths Short