Deploying RAXEM2 Planning Improvements in Daily Work Practice Giulio Bernardi, Amedeo Cesta & Gabriella Cortellessa ISTC-CNR [PST] Institute for Cognitive.

Slides:



Advertisements
Similar presentations
Testing Relational Database
Advertisements

Defect testing Objectives
System Development Life Cycle (SDLC)
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
T. E. Potok - University of Tennessee Software Engineering Dr. Thomas E. Potok Adjunct Professor UT Research Staff Member ORNL.
Chapter 1 - An Introduction to Computers and Problem Solving
Chapter 2 - Problem Solving
Case Tools Trisha Cummings. Our Definition of CASE  CASE is the use of computer-based support in the software development process.  A CASE tool is a.
Track, View, Manage and Report on all aspects of the Recruitment Process… with ease!
T-FLEX DOCs PLM, Document and Workflow Management.
CS540 Software Design Lecture 1 1 Lecture 1: Introduction to Software Design Anita S. Malik Adapted from Budgen (2003) Chapters 1.
PLANSERVE Planning and Scheduling Techniques for the Intelligent Problem Solving Grid Planning and Scheduling Team ISTC-CNR National Research Council of.
Introduction To System Analysis and Design
July 11 th, 2005 Software Engineering with Reusable Components RiSE’s Seminars Sametinger’s book :: Chapters 16, 17 and 18 Fred Durão.
System Design and Analysis
Academic Advisor: Prof. Ronen Brafman Team Members: Ran Isenberg Mirit Markovich Noa Aharon Alon Furman.
1 Software Testing and Quality Assurance Lecture 15 - Planning for Testing (Chapter 3, A Practical Guide to Testing Object- Oriented Software)
Software Requirements
Requirements Engineering Processes
1 Software Testing and Quality Assurance Lecture 40 – Software Quality Assurance.
Testing an individual module
20 February Detailed Design Implementation. Software Engineering Elaborated Steps Concept Requirements Architecture Design Implementation Unit test Integration.
Introduction to Systems Analysis and Design
Configuration Management
DATABASE MANAGEMENT SYSTEM ARCHITECTURE
Presented by Brian Griffin On behalf of Manu Goel Mohit Goel Nov 12 th, 2014 Building a dynamic GUI, configurable at runtime by backend tool.
1.Database plan 2.Information systems plan 3.Technology plan 4.Business strategy plan 5.Enterprise analysis Which of the following serves as a road map.
Introduction to Information System Development.
Introduction to Systems Analysis and Design Trisha Cummings.
Research on cloud computing application in the peer-to-peer based video-on-demand systems Speaker : 吳靖緯 MA0G rd International Workshop.
AICT5 – eProject Project Planning for ICT. Process Centre receives Scenario Group Work Scenario on website in October Assessment Window Individual Work.
Software Testing Lifecycle Practice
Training Workshop on the use of the CRF Reporter for European Community Experts Introduction Copenhagen – 12 September 2005 James Grabert Inventories sub-programme.
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
Data Structures & AlgorithmsIT 0501 Algorithm Analysis I.
1 ISA&D7‏/8‏/ ISA&D7‏/8‏/2013 Systems Development Life Cycle Phases and Activities in the SDLC Variations of the SDLC models.
Software Estimation and Function Point Analysis Presented by Craig Myers MBA 731 November 12, 2007.
Software Software is omnipresent in the lives of billions of human beings. Software is an important component of the emerging knowledge based service.
Chapter 10  2000 by Prentice Hall Information Systems for Managerial Decision Making Uma Gupta Introduction to Information Systems.
Course Presentation EEL5881, Fall, 2003 Project: Network Reliability Tests Project: Network Reliability Tests Team: Gladiator Team: Gladiator Shuxin Li.
1 Software testing. 2 Testing Objectives Testing is a process of executing a program with the intent of finding an error. A good test case is in that.
Creator: ACSession No: 16 Slide No: 1Reviewer: SS CSE300Advanced Software EngineeringFebruary 2006 (Software Quality) Configuration Management CSE300 Advanced.
Introduction To System Analysis and Design
All rights reserved © Altec ExoMars 2018 Rover Operations Control Centre Planned Organization of ROCC Operations I. Musso.
Cohesion and Coupling CS 4311
Software Testing Yonsei University 2 nd Semester, 2014 Woo-Cheol Kim.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
Database Environment Chapter 2. Data Independence Sometimes the way data are physically organized depends on the requirements of the application. Result:
DATABASE MANAGEMENT SYSTEM ARCHITECTURE
Pleasing in appearance.
Using and modifying plan constraints in Constable Jim Blythe and Yolanda Gil Temple project USC Information Sciences Institute
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
Chapter 8 System Management Semester 2. Objectives  Evaluating an operating system  Cooperation among components  The role of memory, processor,
Unit – I Presentation. Unit – 1 (Introduction to Software Project management) Definition:-  Software project management is the art and science of planning.
MANAGEMENT INFORMATION SYSTEMS (MIS) AND OTHER INFORMATION SYSTEMS.
Introduction to System Analysis and Design MADE BY: SIR NASEEM AHMED KHAN DOW VOCATIONAL & TECHNICAL TRAINING CENTRE.
Week 1 Reference (chapter 1 in text book (1)) Dr. Fadi Fayez Jaber Updated By: Ola A.Younis Decision Support System.
Testing and Evolution CSCI 201L Jeffrey Miller, Ph.D. HTTP :// WWW - SCF. USC. EDU /~ CSCI 201 USC CSCI 201L.
Design Evaluation Overview Introduction Model for Interface Design Evaluation Types of Evaluation –Conceptual Design –Usability –Learning Outcome.
1 Software Requirements Descriptions and specifications of a system.
Embedded Systems Software Engineering
Classifications of Software Requirements
PLM, Document and Workflow Management
The Development Process of Web Applications
Introduction to Systems Analysis and Design
Programming Logic and Design Fourth Edition, Comprehensive
COCOMO Models.
Chapter 2: Operating-System Structures
Chapter 2: Operating-System Structures
Presentation transcript:

Deploying RAXEM2 Planning Improvements in Daily Work Practice Giulio Bernardi, Amedeo Cesta & Gabriella Cortellessa ISTC-CNR [PST] Institute for Cognitive Science and Technology National Research Council of Italy Planning and Scheduling Team Work supported by ESA - the European Space Agency

Introduction Raxem is a software system developed to plan the upload of commands to the Mars Express spacecraft (orbiting around Mars since 2004) Raxem project started after the success of Mexar2, which is used to plan data dumping activities from the spacecraft since 2005

Introduction MEXAR RAXEM

Commands from Earth The Mars Express probe receives instructions from Earth Instructions are time-tagged telecommands (TCs) On board, TCs are stored in a memory buffer, the Master Timeline (MTL) TCs are discarded after execution Deciding how to send data is not trivial…

How to send commands? Related TCs are grouped in MTL Detailed Agenda Files (MDAFs) Analogous to programs: they must be uplinked in an unique pass Many constraints: –Communication is only possible during certain uplink windows –Sending data to Mars takes time –The Master Timeline has a finite capacity –A contingency plan is needed in case of failure

The Mex-Up problem An uplink plan must satisfy these goals – specifying when to uplink each MDAF – which modality of transmission should be employed, and –identifying a secondary uplink window to use in case of failures All requested MDAFs must be uplinked as early as possible, so that they are on board in time, given the finite capacity of the MTL and the limited bandwidth of the transmission channel, while trying to keep the MTL as full as possible

The Mex-Up problem MDAF files Earth Master Time Line (MTL) AASFO1A3 AASFO1AX AASFO1A3 AASFO1A4 AASFO1A3 AASFO1A5 AASFO1B3 AASFO1J3 … Telecommands (TCs) Mars RAXEM2 Spacon Instruction Form (SIF) Uplink Windows OWLT -- One-Way Light Time

Before Raxem The complexity of the Mex-Up problem was initially underestimated Planning was carried on manually with paper and pencil Disadvantages of manual planning: –Very time-consuming –Prone to errors –Poor optimization –Emergency re-planning was extremely difficult

The Raxem Solution A first version of Raxem was developed to assist users in solving the Mex-Up problem Notable features: –Interactive plan generation –Graphical output of the solution (charts) –Inspection of spacecraft status Raxem has been operational since summer 2007 [see Cesta et al ECAI-08] The success of Raxem encouraged users to ask for a more complete tool…

Need for better integration A semi-manual procedure was employed to parse Raxem’s output and produce SIF forms (the official instructions delivered to uplink operators) History of performed uplinks was held by external means There was the opportunity to transform Raxem in a tool able to embrace the whole uplink work cycle

More than a planning tool New goals for Raxem2: –Ability of maintaining the whole history of uplink operations (uplink database) –Acknowledgement of arbitrary changes on the planned solution by the users This is necessary to accurately record actual uplink operations –SIF generation and management –User management and graphical improvements

Raxem2 includes a new module that ensures complete and continuous management of the uplink problem Existing functionalities have been comprehensively enhanced Uplink DataBase Uplink DataBase Domain Modeling Problem Solving AI Module User Interaction Spacon Instruction Form (SIF) Generator Plan life cycle services R AXEM 2 Interaction Module User Management The Raxem2 solution

Modeling with Timelines Two relevant components of the model are the MTL and the Communication Channel They are timelines: –They can report their status over time –Data can be allocated/deallocated on them over time The MTL is a cumulative resource –Has a finite capacity The Channel is a binary resource –Is either busy or free in a particular instant

Modeling with Timelines The act of data uplink is an Activity An activity is modeled by two operations: –Channel operation Represents the transmission of data during an uplink window Requires the whole bandwidth of the channel for the entire duration –MTL operation The act of storing data in the MTL It “instantaneously” increases the amount of data in the MTL

Modeling with Timelines 1) MTL Cumulative resource 2) Channel Binary resource Last(MDAF) stUpLink First(MDAF) durUpLink Channel operation MTL operation Size(MDAF)

The Solver The software component that generates a plan It employs a relatively simple constructive algorithm which provides a good trade-off between speed and optimality of the solution It can relax constraints for some MDAFs if needed: –Confirmation Scheme (full or reduced?) –Uplink Scheme (secondary window or not?) The user can change them too by providing hints to the solver

The main algorithm foreach mdaf to uplink do while not allocateMDAF(mdaf,currentTime) do if can relax then relax(mdaf) else break end while if allocated(mdaf) then currentTime  primaryUplinkEnd(mdaf) end for function allocateMDAF(mdaf, currentTime) start  firstAvailableInstant(currentTime) while not allocated(mdaf) do try if not multiMDAFAllocation(mdaf,start) then singleMDAFAllocation(mdaf,start) on RetryLaterError do start  instantToRetry end try end while end function foreach mdaf to uplink do while not allocateMDAF(mdaf,currentTime) do if can relax then relax(mdaf) else break end while if allocated(mdaf) then currentTime  primaryUplinkEnd(mdaf) end for function allocateMDAF(mdaf, currentTime) start  firstAvailableInstant(currentTime) while not allocated(mdaf) do try if not multiMDAFAllocation(mdaf,start) then singleMDAFAllocation(mdaf,start) on RetryLaterError do start  instantToRetry end try end while end function

The Persistence Module Raxem’s data is held in the uplink database –It contains both the historical data and the working set Persistence is handled using DAO objects implementing CRUD methods The database backend is provided by SQLite library –All data is contained in a single file –No need for an external system –Backups and software deployment are easy Uplink DataBase Uplink DataBase SQLite uplink.db

Interactive planning Raxem2 encourages user’s involvement in planning Planning parameters can be altered for individual MDAFs: –Use reduced confirmation (shorter uplink) –Don’t allocate a secondary window –Exclude some MDAFs from the plan Possibility of tuning the solution Allows to perform what-if analysis

The Raxem2 interaction MDAF view Input for the AI solver –Confirmation scheme –Uplink scheme SIF view “Solve” button

Great Flexibility Users can override any decision made by the solver Raxem2 accepts any change, and issues warnings if needed Users can also inform the system about uplinks that actually happened In both cases, the internal model of the problem is updated accordingly

The SIF form view Uplink intervals (can be overridden) Comment areas

Solution view: before Raxem Olligram: hand-made gantt-like chart

Initial solutions in Raxem v1 MTL Usage level Uplink Graph OnBoard Execution Graph

The integrated view in Raxem2 MTL Usage level Uplink Graph OnBoard Execution Graph

Experimental Results Accuracy and performance tests –Accuracy: degree of adherence of the solution to user’s expectations (percentage) –Performance: time needed to produce a plan (seconds) Two sets of data, about 60 MDAFs each Tests show program behavior with different planning parameters Raxem2 always outperforms Raxem by a great extent

Experimental Results (2) Accuracy full wfull w/0reduced w/reduced w/o Set %95.76%92.73%100.00% Set %100.00%92.98%100.00% Performance (seconds) full wfull w/0reduced w/reduced w/o Set1 Raxem Raxem n/a0.948 Improvement33.51%126.87%n/a200.00% Set2 Raxem Raxem n/a1.138 Improvement51.84%233.33%n/a223.30%

User Assessment Raxem2 is operational at ESA since March 2009 Engineer work load was reduced from 5 hours to below 1 hour The software was up to expectations with regards to –plan generation –handling of emergency situations –flexibility SIF management has proven to be a very valuable feature

Conclusions Raxem2 is a successful example of integration of different technologies Planning & Scheduling capabilities alone are not enough: users need a complete system to effectively perform their work Seamless integration with the established work practice is necessary for acceptance in a rather conservative environment

Conclusions Key factors for success –Continuous user involvement in planning Small adjustments, what-if analysis –Centrality of user in the decisional process Not a “black box” system Operators can override any choice –Integration of different technologies Needed to provide the most effective and complete user services

Questions ?