Software Development for Launch Vehicle Telemetry ...

26 downloads 13899 Views 2MB Size Report
It is hereby certified that the project work entitled “Software Development for Launch .... the lead Centre for launch vehicle development in India. It pioneers ...... Telemetry systems operation in addition to custom process also enables quick look ...
A PROJECT THESIS on

Software Development for Launch Vehicle Telemetry Data Management Submitted in partial fulfillment of requirements for the award of the degree of

Master of Technology In

Software Engineering

Submitted by

ARJUN R

Under the esteemed guidance of Shri. Santhosh Kumar G Associate Professor Department of Computer Science

DEPARTMENT OF COMPUTER SCIENCE COCHIN UNIVERSITY OF SCIENCE AND TECHNOLOGY KOCHI – 682022 M AY 2011

-2-

Certificate

It is hereby certified that the project work entitled “Software Development for Launch Vehicle Telemetry Data Management” is a bonafide record of work carried out at the Vikram Sarabhai Space Centre, Thiruvananthapuram, in partial fulfillment of requirements for the award of the degree of Master of Technology in Software Engineering from Cochin University of Science and Technology during the academic year 2010-2011.

Submitted to the Viva-Voce and examination held on……………………………

Internal Supervising Guide Shri. Santhosh Kumar G Associate Professor Department of Computer Science

Dr. Sumam Mary Idicula Professor Department of Computer Science

Dr. K. Poulose Jacob Director and Head Department of Computer Science

DEPARTMENT OF COMPUTER SCIENCE COCHIN UNIVERSITY OF SCIENCE AND TECHNOLOGY KOCHI-682022, KERALA MAY 2011 -3-

-4-

¦ÉÉ®úiÉ ºÉ®úEòÉ®ú +ÆiÉÊ®úIÉ Ê´É¦ÉÉMÉ

Government of India Department of Space

Ê´ÉGò¨É ºÉÉ®úɦÉÉ References-> (msvcrt.lib, msvcrt40.dll) and Visual C multithread libraries support were being used For the program study, analysis, design, different websites and papers were being looked into. More of object-oriented approach was initially planned and continued in later periods.. The automation concepts of computing were also under study, batch process jobs which were by already being implemented in some part were a major highlight for the literature survey. The telemetry standards, which are published by NASA, US MIL (Military standards), were being examined which under covered different aspects of the telemetry operation and concepts. The ISPD and IEEE documents were being accessed and analyzed for during literature survey and also later stages inorder for the Requirements specification standards & procedures for documentation.

- 18 -

APPLICATION ARCHITECTURE

TM Data: The raw telemetry data, which is logged in the GS, is being stored in using the file extension (.dat). The default convention is being followed in different launch missions.

PCM Format: The PCM format is separate document that identifies and applies the format standard of encoding to be applied in the telemetry files. The data received is being encoded in pulse code stream that encompass multiple streams of data, which needs to be demultiplexed. It is usually included in data file named TMRU1.dbf

Scale factor: The scale factor information is used to regain the compressed value to the original scale, which is standard engineering unit information. Standard scale factor files are being applied to the processing stream, with files are of extension (.sf) for each mission named accordingly.

Workspace archive: It is a repository of the processing data logs. Mainly information like addition of the input data. The scale factor file used, the flight measurement plan usually denoted a unique configuration file which can be reused. The workspace folder can be also backup copy (.bak) of original content.

Input and Output devices: It defines the various Input and Output devices that are interfaced to the application. For the input part, like TM Data files, configuration files, Scale factor, Pcm data format are applied. The output modules of application are which includes the final processed data.

TM Data CD: TM Data Cd is the final processed, version controlled telemetry data that is in the usable form for analysis.

- 19 -

Pcm format Version Controlled

TM Data CD (Version controlled)

Tm Auto

Scale Factor s

User Interf ace

Workspace Archive

TM data

I/p – O/p Devices

Input s

Output s

Figure 1

- 20 -

FUNCTIONAL ARCHITECTURE

TmAuto Br2

Br1

Br3

User name, Password Authorization

Create and configure new workspace *

Open existing workspace

Execute all actions as per configuration

Modify configuration

NO

Br4

View processed data - Status

Retrieve selected data

Exit

YES

TO OS Remove instance, free memory etc.

Figure 2

//frmMain.frm code Private Sub cmdok_Click() //'check for correct username password' Dim Msg, Style, title If (txtUserName.Text = "admin" And txtPassword.Text = "password") Then 'authenticate access and login' MsgBox "Login Success!" & vbCrLf & "Access granted", vbInformation, "LV TMData Pro" frmMain.Show Me.Hide End If

- 21 -

From the authorizing prompt, the application opens up a menu dialog, for a new mission, create new workspace. (Br1) branch1. Inorder to view processed data files, another menu i.e. Open workspace option is enabled.(Br2). Another menu also is given, wherein the application loads the default files and waits for the user prompt to execute all processing steps by default mode(no change in process sequence to application wisdom) (Br3) In addition, it is possible to open existing folder, modify the configuration variables, and store the modified configuration settings. The application window also enables the user to view the history data by another option (br4) from existing application folder. By selecting appropriate menu buttons developed in windows supported dialogs, various operations are transacted. A dialog based menu option would enable the user to quit the application by saving/not saving the settings to memory and return back to the host computer OS mode.

- 22 -

PROGRAM ARCHITECTURE

User: The user of the application is authorized personnel and centre approved staff. GUI: The TM DataPro application is designed to provide a interface for the user to interact with the application software system.

UI manager: The user interface manager is program module that is being used to manage and transact the user information to the application through interactive messages, windows, warning alerts and dialog boxes. PCM plan and format: The PCM plan and format for each mission is provided as well in advance for the format implementation to be validated with the telemetry configuration and point out errors or ambiguity in the configuration format. Scale factor: Scale factor information is the process by which the data received in manner of attenuation and compressed by the offset deviation can be reconstructed to the original data sample and identified with standard engineering value

Task configuration table: The task configuration table should hold database with process specific information. Logic of each operation is stored with superset of taskmaster table. Each configuration defined create subset task table, which is derived from the task master table. It contains knowledge such as tasks which are under operation and status information

Task Control table: It is table which depends on the task master. The task control table table functions as controller that enable or disable different tasks that are created by the master logic.

Task scheduler: The main task function and the program loop is function, which runs from the application module and controls the task master table to populate and alter the process specific function table information.

- 23 -

Pcm Plan and Format

Intermed -iate Data and Aux. Informati -on

Input Data

Final Data

Scale Factors User

GUI

UI mngr

Task Configuration Table

Task Control Table X.Y.Z

Task schedul er

Process A to M

Success/ Failure Flag

Workspace

Figure 3

- Program modules

- Files information

- 24 -

MULTILAYER FUNCTIONAL DECOMPOSITION

The various operations that culminate into processed, version controlled telemetry data have a direct bearing on the onboard telemetry configuration, ground station visibility matrix, and the measurement format / scale-factor. The overall telemetry format and onboard telemetry configuration (ATS) are well stabilized that for any given mission, a super-set specification will encompass the real requirement. In the same way, a master sequence of operations will encompass the real processing sequence. (In a later statement, we will find the hierarchal nature of the processing sequence.) Hence, if appropriate interfaces are identified to input the ground station visibility matrix and onboard telemetry configuration (database tables are used here) then the system can derive the real input requirements and sequence of operation. Tm configuration definition 1. No. of links x No. of Gs

{matrix format}

No. of links TM1- TM 1 channel TM2 – TM 2 channel

total TM links:TM1BSO - Telemetry Link 1 Before Format Switch Over TM2BSO - Telemetry Link 2 Before Format Switch Over TM1ASO - Telemetry Link 1 After Format Switch Over TM2ASO - Telemetry Link 2 After Format Switch Over TM1DSUS- DSU Storage Parameters in TM1BSO 1BSODEL- delayed Telemetry Link 1 Before Format Switch Over 2BSODEL- delayed Telemetry Link 2 Before Format Switch Over 1ASODEL- delayed Telemetry Link 1 After Format Switch Over 2ASODEL- delayed Telemetry Link 2 After Format switch Over Legend: Parameter Legend Description: Parameter Description Filename: Parameter legend modified if it does not qualify a DOS Filename. Channel: DAU/DPU Channel Allocation Type : A- Analog, D- Digital, S2E12 - 12 Bit - 25 -

Tx- Thermocouple parameter (Look for filename TX to identify the actual parameter, which is the thermocouple reference.) Unit: Engineering Unit. Scale factor: Conversion Factors for Linear Parameters. Offset Conversion Factors for Linear Parameters. Unit, scale factor, offset & LSB weight: The details used converting the parameter to engg. units. The No. of GS for any mission is identified by: M1 – Mauritius 1 M2 – Mauritius 2 TV- Trivandrum BL - Bangalore S1- Sriharikota 1 S2- Sriharikota 2 PB - Port Blair LN- Lucknow

1B

SH1 x

SH2 TVM BLR x x x

MA1 -

MA2 -

PB -

2B

x

x

x

x

x

x

x

1A

-

-

x

x

x

x

x

2A x- Checked box data indicate data visibility - Unchecked configuration denotes data unavailability.

2.

Outer format in each link defined by

No. of bytes/per frame x No. of frames/per major frame x Data rate/per sec, transmission speed (kbps)

- 26 -

3.

ICU status byte and bit status

Hex 1_ - format no Hex 2_ - Dsu delay/storage mode Hex 3_ - the page no. of playback

The processing operations are hierarchal in nature that each operation requires a preceding operation to be successfully completed and each operation in course gives green signal to a succeeding operation. It is possible to visualize the entire sequence of operations spread over few layers, where there could be more than one operation performed in each layer. The layer hierarchy can be implemented by giving start criteria for each operation based on the successful completion of the predecessor task. When all tasks are completed, then the task of telemetry data processing is over. The format and scale factor inputs alter the numerical configuration inputs to the various operations. In order to maintain transparency and correlation with latest version inputs, these inputs are received and integrated to the processing environment as these are released. Further processing and generation of numerical configuration inputs to the various operations are integral part of the project.

- 27 -

A) Addition of GS files to workspace

I

II

Reports to final Cd

D) MERGE Pre-processed GS files

III

E) STRIP DIRECT MUX PARA

H) STRIP DIRECT MUX PARA

C) FIDL of GS Files

B) Preprocessing GS files

F) DELPRO

Sub stream stripping

FIDL Preprocessed GS Files

Sub-stream stripping

G) DSU-YD Processing

I) Sub stream embedded processing

STRIP DIRECT MUX PARA

Sub stream stripping

IV

Sub-stream embedded processing

J) Preprocess substream

I) Sub stream embedded processing

V J) Preprocess sub-stream

VI

Pre-process sub-stream

K) Merge substream (preprocessed)

VII

Process substream

Process substream IX

VIIII

M) COMPILE TM DATA CD

- 28 -

1. Ambiguity removal 1.1 Applicable Documents Flight telemetry measurement plan & format document for PSLV / GSLV missions. 1.2 Functional Requirements The logical continuity a telemetry data file is impaired by one or more of the following reasons. (The error codes given below are those used by „Format Integrity and data loss analysis s/w”) Error Code

Error Description

01

frames tagged as invalid, where the number of invalid frames does not match to the next valid frame.

03

UT time stamp continuity error

05

Incorrect number of filler frames

06

Frame Id continuity error

2. FIDL analysis 2.1 Functional Requirements To create a file for data loss plotted for filling with filler data. To examine each frame of the input TM data file, detect, and report the following; 2.2 Applicable Documents Flight telemetry measurement plan & format document for PSLV / GSLV missions. Error Code

Error Description

02

Data loss, which is the time elapsed between two valid frames, separated by one or more invalid frames. The time elapsed is estimated from the time stamps of the valid frames bounding the invalid region. Categorize data loss into less than 100 mS, 500 mS, and greater than 500 mS.

04

Incorrect frame sync pattern in frames, which have the validity flags set to „valid‟.

08

Gross time stamp consistency check in the invalid region: For contiguous invalid frame blocks, the number of invalid - 29 -

frames is correlated to the difference between the time tags of bounding valid frames. A difference in excess of 2 mSec has to be reported. 09

Frame Id discontinuity: The frame Id is modulo sixteen/eight increment of the previous frame Id. A departure has to be reported.

10

Data loss not indicated by presence of frames marked invalid: A jump in time-stamp coupled with frame Id discontinuity in a valid region is indicative of data loss.

11

Gross time stamp consistency check for 1000 valid frames or frame duration estimate: For contiguous valid frame blocks of 1000 frames, the frame duration is estimated as the difference between the time tags of bounding frames divided by 1000. To be reported are the numbers of blocks; 1) for which the estimate is equal to expected frame duration, 2) departure by +/-1 mSec, and 3) departure by more than +/- 1 mSec.

3. Merge TM data 3. 1 Applicable Documents Flight telemetry measurement plan & format document for PSLV / GSLV missions. 3.2. Functional Requirements Maximum number of input files – 7 a. The output file has its first frame from the input file where recording has started earliest and its last frame from the input file where recording has ended latest. b. Frames are transferred to the output file from an input file until an invalid frame (a break) is encountered. The remaining input files will be searched in the order in which the file names are input. Transfer will continue from the input file, which has the sought frame, or nearest to that. If the sought frame is found, then transfer to output file starts from that point. Else appropriate number of filler frames are put in the output file and transfer starts from the nearest valid frame. c. It is necessary to produce on-line logs clearly depicting the switching between input files and introduction of fillers

- 30 -

Normally the input addition phase is generally of form

1. Add the TM1RU.dbf 2. explore (new window instance open) 3. select the .mdb database file 4. Open the select file 5. choose a table from file 6. export the table – to predefined destination .mdb file(system path)

A generic execution involve a) Total configuration sets: No .of GS location data source: 10 No .of Link stream: 7 Sub stream configuration type: 22 (not included in V 1.0) b) database: PCM: 1 Scale factor: Fmp:

1

Pcmfmt1.dbf SFRU.dbf dir/fmp/

c) Input data Main Tm data : Delayed data : 12 bit parameter: Pycm :

TM1RU.dbf (Main Tm data stream) delslot.dbf (delayed telemetry stream data) 12bit.dbf pycmch.dbf (pyrocurrent telemetry data)

- 31 -

WORKSPACE DEVELOPMENT

Work Space Concept 1 – requires that user define a workspace (an empty folder) and start populating it. The workspace inherits all the super set database tables and structures of all other database tables, which are to be derived. Work Space Concept 2 – has a uniform structure irrespective of the mission. The system can identify additions to the workspace based on the ground station visibility matrix and onboard telemetry configuration. Work Space Concept 3 – at any given point of time, work space status could be (1) being developed, (2) ready, (3) a retraction from ready state or a retraction from accomplished state, (4) accomplished state. Work Space Concept 4 – work space status ready means (1) The ground station visibility matrix and onboard telemetry configuration are input and verified / approved, -AND- (2) The sequence of operations (Auto Sequencing) generated by the system is verified / approved, -AND- (3) The format and scale factor inputs are added to the work space and the subsequent numerical configuration inputs to the various operations are verified / approved.

- 32 -

Work Space Concept 5 – once the workspace status attains ready state, it may proceed to process TM data and accomplish the task. However, it may be required to implement a change in (1) onboard telemetry configuration, (2) The sequence of operations, or (3) The format and scale factor inputs, in which case it is a retraction. A retraction may occur either from ready state or accomplished state. Work Space Concept 6 – a change of workspace status from ready or accomplished state to retraction and then back to ready state makes an incremental change in version number. This way version control is a property of the workspace and is automatic. Workspace status algorithm Loop Step1: { Initial workspace status= under development; If (Input add status = [Yes] AND configuration status= [Yes] AND auto sequence status= [Yes]) Then Set workspace status = (ready) Else Reset Workspace status = (not ready) End if Goto Step 1 }; Repeat The appropriate validation rule can be set from the Microsoft Access Developer using the options -> Click Design view. Select the General tab from the bottom screen. Then Enter the logic code on expression builder. Click Ok. The validation rule is set and then returns to the program view. Click exit.

- 33 -

DATABASES DEVELOPMENT

Different databases are being developed with the tool create option. The databases used in the application are: 1. Wsdefen: A workspace definition database file that holds these sub tables: a) Wsdefen: It contains basic information regarding the workspace such as mission id (mid), wname (workspace name), wpath (workspace path), crtdate (Created date).All these fields are unique and duplication rule is set as Allow No. b) Wsproperties: This table uses to store information such as workspace retraction, workspace variables, workspace verification details Etc. 2. Configdef: The configuration definition is a single database file. It consists of the following tables: a) Gslinkconfig: It stores the gs-link configuration matrix as definition file, which can be input from the user. b) linkconfig: Defines the link configuration for each telemetry channel data. Include information such as link id, data rate, channel type etc. c) Substreamconfig: It is used to define the sub stream channels of the telemetry channels. From the user screen, appropriate options are chosen to identify type such as streamed, stream enabled/disable status. d) Obcconfig: It is used to store the onboard computer telemetry data format and information. 3. Inputadd: It can be used to store the input information such as raw telemetry data (TMRU1.dbf- or converted data TMRU1.mdb). Also other input such as delayed data (delslot) table and scale factor information (sfru) table are being distributed in single database. Data storage unit(DSU) and SPU (special processing unit) can be optionally selected from the configuration window. To add during the input addition phase. Out of these TMRU1 and the Scale factor are mandatory and Workspace status validates the input criteria according to the addition. Sequence tables are not made active until main TMRU data and the scale factor are added to workspace.

- 34 -

GS-Link configuration database

gsid BL

gsconfig lid vis 1B Yes

qld Yes

Link configuration database

linkconfig lid bps bpf fpf lc icud icus icut dsud dsus IB 500 128 16

Yes

Scale factor database

SFRU chid lgid cs ln sf os eu hls RU01-A00 1SIGP-2 Yes No 54.1605 241.03 bar No Substream configuration database

substreamconfig ssid desc lid sv Ngcp_P NGCP data 1B Yes

- 35 -

TASK MASTER AND TASK TABLE MACROS

Layer definition database is the superset table. From this information, a task master and corresponding task table is being generated based on the user specified configuration. In any case, there is one to one correspondence between the layer definition and task master tables. Task table (macro) is being designed with following factors: Layer Id: value I – IX (conceptual allocation) Instance Id: value 1- n, where n is no. of instances. Process Id: values A – M, identify the processes. Task Id: (Process Id.Layer Id.Instance Id) uniquely specifies a task. Ex: A.I.2 Denotes the A - Process (add Gs data), ( from the task table) 1 - the layer Id of the multi-layer sequence 2 - Denotes the instance no (second instance of Gs file addition)

taskmaster Slno

Tid

ED

IG

OG

Status

1 A.1.1

E

0

0 Wait

2 B.2.1

E

0

1 Wait

3 C.2.1

E

0

0 Wait

- 36 -

Layerdefn Lid Lpn Lpi 1 1 1 2 1 1 2 2 1 3 2 1 4 1 1 3 1 1 4 2 1 5 1 1 5 2 1 4 3 1 4 4 1 4 5 1 5 2 1 5 4 2 5 5 1 4 6 1 4 7 2 4 8 3 5 6 1 6 1 1 7 1 1 7 2 2 8 1 1 8 2 2 9 1 1

Pid A B C C C D E E E F G H H H I I I I J J K K L L M

Desc Copy Gs data to workspace Ambiguity removal FIDL analysis FIDL preprocessed FIDL merged data Merge main Gs Data Strip direct mux. DAU-DPU Strip delay Dau-Dpu Strip direct mux Dau-Dpu Del-Pro process Make DSU-YD Data Direct mux. Substream strip Strip delay substream Direct mux. Substream strip Substream embedded process Substream embedded process 1 Substream embedded process 2 Substream embedded process 3 Preprocess substream 1 Preprocess substream 2 Merge substream 1 Merge substream 2 Strip substream 1 Strip substream 2 Compile Tm Cd

Tid Active A.1.1 Yes B.2.1 Yes C.2.1 Yes C.3.1 Yes C.4.1 Yes D.3.1 Yes E.4.1 Yes E.5.1 Yes E.5.2 Yes F.4.1 Yes G.4.1 No H.4.1 Yes H.5.1 Yes H.5.2 Yes I.5.1 Yes I1.4.1 Yes I2.4.2 Yes I3.4.3 Yes J.5.1 Yes J.6.1 Yes K.7.1 Yes K.7.2 Yes L.8.1 Yes L.8.2 Yes M.9.1 Yes

Ptid null A.1.1 A.1.1 B.2.1 D.3.1 B.2.1 D.3.1 G.4.1 G.4.1 D.3.1 D.3.1 D.3.1 F.4.1 G.4.1 G.4.1 D.3.1 F.4.1 F.4.1 H.4.1 H.5.1 J.5.1 J.6.1 K.7.1 K.7.2

IGs 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0

OGs 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Lid- Layer Id Lpn- Layer process no Lpi- Layer process instance Pid – Process Id Tid –Task Id for unique identification Ptid- Preceding Taskid IG- Input group OG- Output group - 37 -

TASK SCHEDULER MODULE

Process A to M

Start 10 sec Timer (Function)

LOG file open in Append mode

Fail 1 sec Timer

Success

Append to log file All I/p string variables etc CLOSE log file YES

1 Sec Time out

NO NO

NO

YES 10 Sec Time out

YES

10 Sec Time out

FAIL

Return

Return - 1 SUCCESS

Figure 4

- 38 -

Pause process

Start process in new thread

Start process X of X.Y.Z I/p using I/p string , value of fields such as „generic I/p name‟ „actual I/p name‟ „generic I/p path‟ „actual I/p path‟ „generic O/p name‟ „generic O/p path‟

Return

Start new process

Entry

Process X.Y.Z I/p return value

Set X.Y.Z I/p group, open status in Task control table X.Y.Z to Success/Fail

Exit

- 39 -

SAMPLE CODES MainTask Code with Comments

-- Declaration statements---------------Dim stddelay As Integer Public Type proc obname As String obno As Integer obstatus As Integer rowwise As Integer End Type 'obstatus 1-RUN/2-FAIL/3-SUCCESS Dim ProcessTable(1 To 100) As proc Dim obj(1 To 100) As Class1 Dim objno As Integer 'objno = 1 Dim criteria As String Dim TotalRecords As Integer Dim rowstatus As String Dim taskcontrol As String Dim inputgroup As Integer Dim rowwise As Integer Public Function maintask () =======================POST A MATURE TASK====================== ====== OBJNO increments with each task posted ====== IGX and OGX are strings created to verify i/p groups or o/p groups of TaskControl tables ====== MainTask function is executed every time when START button is clicked. ====== DoIt function returns ‘2’ if executed 5 sec after posting the task (i.e. the Object) ====== If MainTask Button is clicked every >5sec interval, the task progression and Flag retrogression can be observed. ====== ‘i’ is the loop control variable for the Post Mature Task Loop (PML Loop) ====== i steps through number of rows of the TaskMaster Table ====== Every new PML loop, # TaskMaster table is opened and row-wise examined # In Successive passes we should see that certain rows are getting the Status Flag Set to ‘Success’ and hence the corresponding TaskControl Table skipped from examination

- 40 -

# For > 5sec interval execution of MainTask, the order of rows will be AA_01_01 BB_02_01 CC_02_01 DD_03_01 CC_03_01 EE_04_01 HH_04_01 JJ_05_01 KK_07_01 ====== The total number of tasks scheduled, tasks active, and tasks destroyed Can be tracked from the above prediction. objno = 1 //This variable keeps track of Process Table Entries stddelay = 5 'delay in seconds Dim igx, ogx As String TotalRecords = Form1.Adodc1.Recordset.RecordCount Form1.Adodc1.Recordset.MoveFirst *************PML Loop*********** For i = 1 To TotalRecords ************Get the TaskControl Name and i/p group value If the Task is Not ‘Success’ or ‘Fail’ ***************** rowstatus = Form1.Adodc1.Recordset.Fields("Status").Value If rowstatus "Success" And rowstatus "Fail" Then taskcontrol = Form1.Adodc1.Recordset.Fields("TaskId").Value inputgroup = Form1.Adodc1.Recordset.Fields("InputGroups").Value **********InputGroup gives the Number of Tasks in a TaskTable; If InputGroup = 0 Then No. of Tasks = No. of Rows************* Form1.Adodc2.RecordSource = taskcontrol Form1.Adodc2.Refresh If inputgroup = 0 Then rowwise = 1 Else rowwise = 0 End If If rowwise = 1 Then inputgroup = Form1.Adodc2.Recordset.RecordCount End If ****************Hence the value of InputGroup is set Either from the TaskMaster Field (where not equal to zero) or from the TaskControl Table (No of rows of the TaskControl Table where TaskMaster Field equal to zero). *********************** *************In PML Loop, For a given row of TaskMaster where status success or fail; The Corresponding TaskControl table is examined************ **********Examine each TASK for CRITERIA Value ( a String Type) ******************* ********** Examination will be each row if row-wise flag=1 ********** Examination will be each input-group if row-wise flag=0 For j = 1 To inputgroup This will mean different for rowwise =1 & =0 ********** Criteria Value may attain one of the following three possible values - ‘Enabled’ This is a keyword and is directly obtained from the Criteria Field of TaskControl Table. - ‘Ignore’ This is a keyword and is synthesized if the current task (in the TaskControl table) under examination has a status Wait (The task is either scheduled (status –RUN) or executed (Success or Fail) - ‘xx_yy_zz_n’ - 41 -

This is a coded word and is directly obtained from the Criteria Field of TaskControl Table. For eg- ‘JJ_05_01_1’. This Code Simply means n-th output group of Task ControlTable ‘xx_yy_zz’. ************************************************************************************************ ************The following Code is executed only if criteria reads Enabled. ************Else go to next Task; Or Next J in the J Loop If criteria = "Enabled" Then //post the Process (Task) ***************** Post Process Details into Process Table ************************* ProcessTable(objno).obname = taskcontrol & "_" & igx ProcessTable(objno).obno = objno ProcessTable(objno).obstatus = 1 ProcessTable(objno).rowwise = rowwise ************ Create The Process & Execute Process Specific Member functions ****** Select Case Left(taskcontrol, 2) Case "AA" //Bring the Object alive as per the Class Module required by the Case (Process) Set obj(objno) = New Class1 //Execute Member Functions Init Method -1, Synthesize 2, Start Log Case "BB" Set obj(objno) = New Class1 //Execute Member Functions Init Method -2, Synthesize 1, Start Log End Select ************ Process Specific Member function calls Ends Here **************** objno = objno + 1 //This variable keeps track of Process Table Entries End If //'if criteria = "Enabled" ************************ Post the Process (Task) Ends Here ********* This point is reached in one of two ways (1) If criteria = Ignore (2) If criteria = a Code (X.Y.Z.n) and the examination of X.Y.Z (Adodc3) for the Output Group does not indicate All Success. End If //if criteria "Ignore" IF ROWISE THEN ADODC2.MOVENEXT Next 'j // Next row Or input group of Task Control Table End If // End If For the Task is Not ‘Success’ or ‘Fail’ Form1.Adodc1.Recordset.MoveNext //Move TaskMaster to Next Record Next // Next i For the PML Loop ************************** PML Loop Ends Here ************************************** ************************** Thread Emulation Loop ************************************** For i = 1 To objno - 1 If ProcessTable(i).obstatus = 1 Then //The Process is Active ProcessTable(i).obstatus = obj(i).DoIt() // Get a flag from the Active Process End If Next ************************** Thread Emulation Loop Ends Here ****************************

- 42 -

*************** Flag Percolation Loop: ProcessTable To TaskControl ****************** For i = 1 To objno - 1 If ProcessTable(i).obstatus = 2 Then // Indicates The Process is completed taskcontrol = Left(ProcessTable(i).obname, 8) Form1.Adodc2.RecordSource = taskcontrol // Open respective TaskControl inputgroup = Right(ProcessTable(i).obname, 1) // i/p group or row-number ?? igx = "IG" & LTrim(Str(inputgroup)) ************************** Set Status Flag for a Row-Wise TaskControl Table ********* If ProcessTable(i).rowwise = 1 Then // Yes, It is Row-Number Form1.Adodc2.Recordset.MoveFirst j = Form1.Adodc2.Recordset.RecordCount For k = 1 To j //Find the row where serial number = row-number If Form1.Adodc2.Recordset.Fields("SlNo").Value = inputgroup Then Form1.Adodc2.Recordset.Fields("OperationStatus").Value = "Success" End If Form1.Adodc2.Recordset.MoveNext Next ************************** Set Status Flag for a i/p Group TaskControl Table ********* Else // No, It is i/p Group Number Form1.Adodc2.Recordset.MoveFirst j = Form1.Adodc2.Recordset.RecordCount For k = 1 To j //Find all the rows where igx is true If Form1.Adodc2.Recordset.Fields("igx").Value = True Then Form1.Adodc2.Recordset.Fields("OperationStatus").Value = "Success" End If Form1.Adodc2.Recordset.MoveNext Next End If ///// Flag Percolation Loop Ends here. The following is information percolation implemented specifically for Process AA only taskcontrol = Left(ProcessTable(i).obname, 2) Select Case Left(taskcontrol, 2) Case "AA" //Executed only If Process is AA j = Form1.Adodc2.Recordset.RecordCount Form1.Adodc2.Recordset.MoveFirst //Set The fields ActualInputName & ActualInputPath with appropriate member Fns For k = 1 To j //Find the row where serial number = row-number If Form1.Adodc2.Recordset.Fields("SlNo").Value = inputgroup Then Form1.Adodc2.Recordset.Fields("ActualInputName").Value = obj(i).RetActName Form1.Adodc2.Recordset.Fields("ActualInputPath").Value = obj(i).RetActPath End If Form1.Adodc2.Recordset.MoveNext Next //Next k in Case AA End Select //***********Specific code for Case AA ends here*************************** obj(i).exitlog // Do Exit Log Member function 'Destroy the accomplished object Set obj(i) = Nothing End If Next************ Flag Percolation Loop: ProcessTable To TaskControl Ends Here****** - 43 -

*************** Flag Percolation Loop: TaskControl To TaskMaster****************** TotalRecords = Form1.Adodc1.Recordset.RecordCount Form1.Adodc1.Recordset.MoveFirst For i = 1 To TotalRecords //For each row of TaskMaster If Form1.Adodc1.Recordset.Fields("Status").Value = "Success" Or Form1.Adodc1.Recordset.Fields("Status").Value = "Fail" Then // Task of this row completed. Hence No action required Else //Examine the corresponding TaskControl Table taskcontrol = Form1.Adodc1.Recordset.Fields("TaskId").Value Form1.Adodc2.RecordSource = taskcontrol Form1.Adodc2.Refresh //Open TaskControl Dim netstatus As String //NetStatus = Success If all ‘input groups’ Or all ‘rows’ read success Wait If at least one ‘input group’ Or ‘row’ reads Run Or Wait Fail If all ‘input groups’ Or all ‘rows’ read success Or Fail And If at least one ‘input group’ Or ‘row’ read Fail (In the following section of code, No distinction is made between the TaskControl Table Types i/p-group-wise or Row-wise. Advantage of the fact that when a flag value is set for an input group, then the value is uniformly set for all rows of that group is utilized here. Hence it is a row-wise examination, irrespective of i/p-group-wise Or row-wise) netstatus = "success" //Value set in advance j = Form1.Adodc2.Recordset.RecordCount //O Form1.Adodc2.Recordset.MoveFirst For k = 1 To j //For all the rows If Form1.Adodc2.Recordset.Fields("OperationStatus").Value = "Run" Or Form1.Adodc2.Recordset.Fields("OperationStatus").Value = "Wait" Then netstatus = "wait" //If ‘wait’ or ‘Run’ for at least one row Exit For //Then NetStatus = Wait Else If Form1.Adodc2.Recordset.Fields("OperationStatus").Value = "Fail" Then netstatus = "Fail" // This flag value will be over written if a ‘Wait’ Or ‘Run’ is encountered Subsequently. // If ‘Fail’ is retained, then it means no ‘Wait’ Or ‘Run’ is encountered and at least one // ‘Wait’ Or ‘Run’ is encountered End If // Else If ‘fail’ End If // If ‘Run’ Or ‘Wait’ Form1.Adodc2.Recordset.MoveNext //Next row of TaskControl Next //Next j, ie Next row of TaskControl // Now Put NetStatus in the corresponding row of TaskMaster Form1.Adodc1.Recordset.Fields("Status").Value = netstatus End If //If not Success or Fail Form1.Adodc1.Recordset.MoveNext //Next row of TaskMaster Next // Next j, ie Next row of TaskControl *************** Flag Percolation: TaskControl To TaskMaster Ends Here ************** End Function *************** Main Task Ends Here ******************

- 44 -

Taskmaster table database view

SlNo

Tid

TaskMaster ED InputGroups OutputGroups Status

1

AA_01_01 E

0

5

wait

3

BB_02_01 E

0

6

wait

2

CC_02_01 D

0

0

wait

4

CC_03_01 E

0

0

wait

5

DD_03_01 E

6

6

wait

6

EE_04_01 E

0

0

wait

7

HH_04_01 E

0

6

wait

8

JJ_05_01

E

0

8

wait

9

KK_07_01 E

8

8

wait

Description Addition of 12 GS data files from 5 Grnd stations Pre pro of GS files I/p by A.I.1 FIDL of files I/p by A.I.1 FIDL of o/p files in B.II.1 Merge pre processed GS files from B.II.1, 6 combinations Strip DPU/DAU Analog/Digital parameters Strip all sub stream for the given merged main TM data Pre process OBC streams Merge o/p’s of J.V.1 in 8 combinations of 8 o/p files - 45 -

************ Create The Process & Execute Process Specific Member functions ****** Select Case Left(taskcontrol, 2) ****************************************** Case "AA"***************************************** Case "AA" Set obj(objno) = New Class1 //Bring the Object alive obj(objno).InitMeth1 ProcessTable(objno).obname, stddelay, Form1.Adodc2.Recordset.Fields("GenericInputPath").Value, Form1.Adodc2.Recordset.Fields("GenericInputName").Value //Init Method -1 obj(objno).synthesize2 //Synthesize 2 obj(objno).startlog //Start Log ****************************************** Case "BB"***************************************** Case "BB" Set obj(objno) = New Class1 //Bring the Object alive obj(objno).InitMeth2 ProcessTable(objno).obname, stddelay, Form1.Adodc2.Recordset.Fields("GenericOutputName").Value, 1, Form1.Adodc2.Recordset.Fields("GenericInputName").Value//Init Method -2 obj(objno).synthesize1//Synthesize 1 obj(objno).startlog//Start Log ****************************************** Case "CC"***************************************** Case "CC" Set obj(objno) = New Class1 //Bring the Object alive obj(objno).InitMeth2 ProcessTable(objno).obname, stddelay, Form1.Adodc2.Recordset.Fields("GenericOutputName").Value, 1, Form1.Adodc2.Recordset.Fields("GenericInputName").Value//Init Method -2 obj(objno).synthesize1//Synthesize 1 obj(objno).startlog//Start Log ****************************************** Case "DD"***************************************** Case "DD" Set obj(objno) = New Class1 //Bring the Object alive obj(objno).InitMeth2 ProcessTable(objno).obname, stddelay, Form1.Adodc2.Recordset.Fields("GenericOutputName").Value, 1, Form1.Adodc2.Recordset.Fields("GenericInputName").Value//Init Method -2 obj(objno).synthesize1//Synthesize 1 obj(objno).startlog//Start Log ****************************************** Case "EE"***************************************** Case "EE" Set obj(objno) = New Class1 //Bring the Object alive obj(objno).InitMeth2 ProcessTable(objno).obname, stddelay, Form1.Adodc2.Recordset.Fields("GenericOutputPath").Value, 1, Form1.Adodc2.Recordset.Fields("GenericInputName").Value//Init Method -2 obj(objno).synthesize1//Synthesize 1 obj(objno).startlog//Start Log

- 46 -

****************************************** Case "HH"***************************************** Case "HH" Set obj(objno) = New Class1 //Bring the Object alive obj(objno).InitMeth2 ProcessTable(objno).obname, stddelay, Form1.Adodc2.Recordset.Fields("GenericOutputPath").Value, 1, Form1.Adodc2.Recordset.Fields("GenericInputName").Value//Init Method -2 obj(objno).synthesize1//Synthesize 1 obj(objno).startlog//Start Log ***************************************** Case "JJ"***************************************** Case "JJ" Set obj(objno) = New Class1 //Bring the Object alive obj(objno).InitMeth2 ProcessTable(objno).obname, stddelay, Form1.Adodc2.Recordset.Fields("GenericOutputName").Value, 1, Form1.Adodc2.Recordset.Fields("GenericInputName").Value//Init Method -2 obj(objno).synthesize1//Synthesize 1 obj(objno).startlog//Start Log ****************************************** Case "KK"***************************************** Case "KK" Set obj(objno) = New Class1 //Bring the Object alive obj(objno).InitMeth2 ProcessTable(objno).obname, stddelay, Form1.Adodc2.Recordset.Fields("GenericOutputName").Value, 1, Form1.Adodc2.Recordset.Fields("GenericInputName").Value//Init Method -2 obj(objno).synthesize1//Synthesize 1 obj(objno).startlog//Start Log End Select ************** Process Specific Member function calls Ends Here **************** AA_01_01 SlNo GenericInputName ActualInputName GenericInputPath ActualInputPath 1 S1P11B.DAT S1P11B.DAT d:\TMauto\data D:\TMAUTO\DATA 2 S1P12B.DAT S1P12B.DAT d:\TMauto\data D:\TMAUTO\DATA 3 S2P11B.DAT S2P11B.DAT d:\TMauto\data D:\TMAUTO\DATA 4 S2P12B.DAT S2P12B.DAT d:\TMauto\data D:\TMAUTO\DATA 5 PB1B.DAT PB1B.DAT d:\TMauto\data D:\TMAUTO\DATA 6 PB2B.DAT PB2B.DAT d:\TMauto\data D:\TMAUTO\DATA 7 PB1A.DAT PB1A.DAT d:\TMauto\data D:\TMAUTO\DATA 8 PB2A.DAT PB2A.DAT d:\TMauto\data D:\TMAUTO\DATA 9 BR1A.DAT BR1A.DAT d:\TMauto\data D:\TMAUTO\DATA 10 BR2A.DAT BR2A.DAT d:\TMauto\data D:\TMAUTO\DATA 11 BK1A.DAT BK1A.DAT d:\TMauto\data D:\TMAUTO\DATA 12 BK2A.DAT BK2A.DAT d:\TMauto\data D:\TMAUTO\DATA

StartCriteria Enabled Enabled Enabled Enabled Enabled Enabled Enabled Enabled Enabled Enabled Enabled Enabled

OperationStatus Wait Wait Success Success Success Success Success Success Success Success Success Success

og1 Yes Yes No No No No No No No No No No

og2 No No Yes Yes No No No No No No No No

og3 No No No No Yes Yes Yes Yes No No No No

- 47 -

og4 og5 No No No No No No No No No No No No No No No No Yes No Yes No No Yes No Yes

BB_02_01 SlNo GenericInputName GenericOutputName StartCriteria OperationStatus OG1 OG2 OG3 OG4 OG5 OG6 1

S1P11B.DAT

S1P11B_PRE.DAT AA_01_01_01

Wait

Yes No Yes No No No

2

S1P12B.DAT

S1P12B_PRE.DAT AA_01_01_01

Wait

No Yes No Yes No No

3 4 5

S2P11B.DAT S2P12B.DAT PB1B.DAT

S2P11B_PRE.DAT AA_01_01_02 S2P12B_PRE.DAT AA_01_01_02 PB1B_PRE.DAT AA_01_01_03

Wait Wait Wait

Yes No Yes No No No No Yes No Yes No No No No Yes No No No

6 7

PB2B.DAT PB1A.DAT

PB2B_PRE.DAT PB1A_PRE.DAT

AA_01_01_03 AA_01_01_03

Wait Wait

No No No Yes No No No No No No Yes No

8

PB2A.DAT

PB2A_PRE.DAT

AA_01_01_03

Wait

No No No No No Yes

9 10 11

BR1A.DAT BR2A.DAT BK1A.DAT

BR1A_PRE.DAT BR2A_PRE.DAT BK1A_PRE.DAT

AA_01_01_04 AA_01_01_04 AA_01_01_05

Wait Wait Wait

No No No No Yes No No No No No No Yes No No No No Yes No

12

BK2A.DAT

BK2A_PRE.DAT

AA_01_01_05

Wait

No No No No No Yes

CC_03_01 SlNo GenericInputName GenericOutputName StartCriteria OperationStatus 1 S1P11B_PRE.DAT S1P11B_PRE.DAT BB_02_01_01 Wait 2 3 4 5 6

S1P12B_PRE.DAT S2P11B_PRE.DAT S2P12B_PRE.DAT PB1B_PRE.DAT PB2B_PRE.DAT

S1P12B_PRE.DAT S2P11B_PRE.DAT S2P12B_PRE.DAT PB1B_PRE.DAT PB2B_PRE.DAT

BB_02_01_02 BB_02_01_03 BB_02_01_04 BB_02_01_05 BB_02_01_06

Wait Wait Wait Wait Wait

7 8 9 10 11 12

PB1A_PRE.DAT PB2A_PRE.DAT BR1A_PRE.DAT BR2A_PRE.DAT BK1A_PRE.DAT BK2A_PRE.DAT

PB1A_PRE.DAT PB2A_PRE.DAT BR1A_PRE.DAT BR2A_PRE.DAT BK1A_PRE.DAT BK2A_PRE.DAT

BB_02_01_07 BB_02_01_08 BB_02_01_09 BB_02_01_10 BB_02_01_11 BB_02_01_12

Wait Wait Wait Wait Wait Wait

SlNo GenericInputName 1 S1P11B.DAT

CC_02_01 GenericOutputName S1P11B.RPT

StartCriteria OperationStatus AA_01_01_01 Wait

2

S1P12B.DAT

S1P12B.RPT

AA_01_01_01

Wait

3

S2P11B.DAT

S2P11B.RPT

AA_01_01_02

Wait

4 5 6

S2P12B.DAT PB1B.DAT PB2B.DAT

S2P12B.RPT PB1B.RPT PB2B.RPT

AA_01_01_02 AA_01_01_03 AA_01_01_03

Wait Wait Wait

7

PB1A.DAT

PB1A.RPT

AA_01_01_03

Wait

8 9

PB2A.DAT BR1A.DAT

PB2A.RPT BR1A.RPT

AA_01_01_03 AA_01_01_04

Wait Wait

10 11

BR2A.DAT BK1A.DAT

BR2A.RPT BK1A.RPT

AA_01_01_04 AA_01_01_05

Wait Wait

12

BK2A.DAT

BK2A.RPT

AA_01_01_05

Wait

- 48 -

SlNo GenericInputName

EE_04_01 GenericOutputPath

StartCriteria OperationStatus

1

S1S21B.DAT

PSLVC14\S1S2\TM1BSO\DIRECT\ DD_03_01_01

Wait

2 3

S1S22B.DAT S1S2PB1B.DAT

PSLVC14\S1S2\TM2BSO\DIRECT\ DD_03_01_02 PSLVC14\S1S2PB\TM1BSO\DIRECT\ DD_03_01_03

Wait Wait

4

S1S2PB2B.DAT

PSLVC14\S1S2PB\TM2BSO\DIRECT\ DD_03_01_04

Wait

5

S1S2PB1A.DAT

PSLVC14\S1S2PB\TM1ASO\DIRECT\ DD_03_01_05

Wait

6

S1S2PB2A.DAT

PSLVC14\S1S2PB\TM2ASO\DIRECT\ DD_03_01_06

Wait

SlNo GenericInputName GenericOutputPath 1 2

S1S21B.DAT S1S22B.DAT

3 4 5

S1S2PB1B.DAT S1S2PB2B.DAT S1S2PB1A.DAT

PSLVC14\OBC\ PSLVC14\OBC\ PSLVC14\OBC\

6

S1S2PB2A.DAT

PSLVC14\OBC\

HH_04_01 StartCriteria OperationStatus OG1 OG2 OG3 OG4 OG5 OG6

PSLVC14\S1S2\OBC\ DD_03_01_01 PSLVC14\S1S2\OBC\ DD_03_01_02

Wait Wait

Yes No No No Yes No

No No

DD_03_01_03 DD_03_01_04 DD_03_01_05

Wait Wait Wait

No No No

No Yes No No No No No Yes No No No No No Yes No

DD_03_01_06

Wait

No

No No

No

No No No No

No Yes

JJ_05_01 SlNo GenericInputName GenericOutputName StartCriteria OperationStatus OG1 OG2 OG3 OG4 OG5 OG6 OG7 OG8 1 2

S1S21B.ngp S1S21B.ngr

3 4 5

S1S21B_PRE.ngp S1S21B_PRE.ngr

HH_04_01_01 HH_04_01_01

Wait Wait

Yes No No No No No No No No Yes No No No No No No

S1S21B.np S1S21B.nr S1S2PB1B.ngp

S1S21B_PRE.np HH_04_01_01 S1S21B_PRE.nr HH_04_01_01 S1S2PB1B_PRE.ngp HH_04_01_03

Wait Wait Wait

No No Yes No No No No No No No No Yes No No No No No No No No Yes No No No

6 7

S1S2PB1B.ngr S1S2PB1B.np

S1S2PB1B_PRE.ngr HH_04_01_03 S1S2PB1B_PRE.np HH_04_01_03

Wait Wait

No No No No No Yes No No No No No No No No Yes No

8

S1S2PB1B.nr

S1S2PB1B_PRE.nr HH_04_01_03

Wait

No No No No No No No Yes

9

S1S22B.ngp

S1S22B_PRE.ngp

HH_04_01_02

Wait

Yes No No No No No No No

10 11

S1S22B.ngr S1S22B.np

S1S22B_PRE.ngr S1S22B_PRE.np

HH_04_01_02 HH_04_01_02

Wait Wait

No Yes No No No No No No No No Yes No No No No No

12 13

S1S22B.nr S1S2PB2B.ngp

S1S22B_PRE.nr HH_04_01_02 S1S2PB2B_PRE.ngp HH_04_01_04

Wait Wait

No No No Yes No No No No No No No No Yes No No No

14 15 16

S1S2PB2B.ngr S1S2PB2B.np S1S2PB2B.nr

S1S2PB2B_PRE.ngr HH_04_01_04 S1S2PB2B_PRE.np HH_04_01_04 S1S2PB2B_PRE.nr HH_04_01_04

Wait Wait Wait

No No No No No Yes No No No No No No No No Yes No No No No No No No No Yes

17 18 19

S1S2PB1A.ngp S1S2PB1A.ngr S1S2PB1A.np

S1S2PB1A_PRE.ngp HH_04_01_05 S1S2PB1A_PRE.ngr HH_04_01_05 S1S2PB1A_PRE.np HH_04_01_05

Wait Wait Wait

No No No No Yes No No No No No No No No Yes No No No No No No No No Yes No

20 21 22

S1S2PB1A.nr S1S2PB2A.ngp S1S2PB2A.ngr

S1S2PB1A_PRE.nr HH_04_01_05 S1S2PB2A_PRE.ngp HH_04_01_06 S1S2PB2A_PRE.ngr HH_04_01_06

Wait Wait Wait

No No No No No No No Yes No No No No Yes No No No No No No No No Yes No No

23 24

S1S2PB2A.np S1S2PB2A.nr

S1S2PB2A_PRE.np HH_04_01_06 S1S2PB2A_PRE.nr HH_04_01_06

Wait Wait

No No No No No No Yes No No No No No No No No Yes

- 49 -

SOFTWARE INTERFACES

CALL (String inputs)

Process A to M

Task scheduler

Return (Success/ Fail)

TASK  PROCESS Figure 5

Task scheduler – Process interface From Task scheduler to Process

1. Initiate process 2. String variables

Process to Task scheduler

Flag Success/ Fail

User interface– Task scheduler interface UI to task scheduler

Task scheduler to UI

1. Initiate task scheduler 2. Flags – pause/ continue Stop – true/false Abort- true/false 1. Confirm exit True/false 2. Operation status of task table tasks 3. Operation status of task control table input groups

- 50 -

AUTO SEQUENCE IMPLEMENTATION

Auto Sequencing is implemented by way of tables operating at two different levels. One at the upper level, called Task Master, has a one to one correspondence with the hierarchal operation sequence. This table also specifies the predecessor task, start criteria, whether start criteria is based on a single event or multiple events, and whether the task is a multi input task. This table also gives a pointer to another table which actually controls the task execution at minute level. For each operation in the hierarchal operation sequence there will be an entry in the Task Master. Every operation in the hierarchal operation sequence is unique by way of - - or (X.Y.Z). That is „A – IV – 3” uniquely identifies the 3rd instance of function A in layer 4. This is how the pointer is generated to the lower level table, which actually controls the task execution. All tables other than Task Master, operating at the next lower level are called task control. There is no uniform structure for these tables. Structure of the table depends on the operation (task or function) to be performed. Structure will be uniform across the same type of operation (irrespective of layer and instance). Structure will be copied to workspace with the pointer X.Y.Z and populated with relevant entries. Execution of the main task – The task of telemetry data processing is controlled by the task master. Each task has an entry (row) in this table. For each such task that is in wait mode, the scheduler opens the task control table and verifies if any start criteria is satisfied so that the task could begin. This is progression. In the same way if the scheduler finds that a Task Control table is completely executed, then it sets the status of the entry in Task Master as „Success‟. This is retrogression. Though these progressions and retrogressions, the entire rows of Task Master will be executed, whereby, the task of telemetry data processing is accomplished.

- 51 -

Consistency check process uses the following methods:Automatic load module during input addition phase is follows steps as follows: 1. structure consistency - Specific field in format required (if data is incorrect format) 2. value consistency - Field contents which data is processed(whether error occurred) 3. extract parameter attributes - Parameter wise stripping and output write(table data) 4. generate environment .txt file - Generation in .hdr (header file) that precedes the file BOF content. Unconditional

check

files:

TM1RU.dbf - format database SFRU.dbf - scale factor information Conditional check files: Delslot.dbf - if delay data Slslot.dbf - if OBC data Dsulist.dbf - If Dsu storage Spu.dbf - If Spu Obcparam.dbf - If Obc data Auto sequencing modes

1. Qld: It is the Quick look data, which is only partial level processing of the data. It is normally required during short period after the mission. 2. Adhoc mode: In this mode, the application only inputs the different configuration files, scale factor information and uses user defined options to enable the sequence of operations. The adhoc processing only happens when all inputs are unavailable. 3. Full mode: In the full mode of processing, the applications load all the telemetry process definition files from memory to the workspace and enable the default set of process steps.

- 52 -

Interface level coding Task manager.frm code

Private Sub start_Click() Dim startflag As Boolean Dim pauseflag As Boolean Dim abortflag As Boolean Dim passno As Integer If startflag = 1 Then passno = 0 startflag = 1 Dim TotalRecords As Integer //indicates total no of task commit Dim I As Integer pauseflag = False abortflag = False taskmanager.pausecontinue.Enabled = True taskmanager.stop.Enabled = True taskmanager.abort.Enabled = True taskmanager.start.BackColor = &HC0FFC0 taskmanager.pausecontinue.BackColor = &H80C0FF taskmanager.stop.BackColor = &H80C0FF taskmanager.abort.BackColor = &H80C0FF 'Declare object variables for the database connection and recordset' Adodc1.Recordset.MoveFirst TotalRecords = Adodc1.Recordset.RecordCount //Adodc1 Connection string: Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\Arjun\test\Sample TM Data Pro\taskmaster.mdb;Mode=ReadWrite;Persist Security Info=False

- 53 -

Pre Amble (8 Bytes)

Frame Sync (4 bytes)

Frame ID (1 byte)

Data Bytes (115 for PSLV, 123 for GSLV)

Figure 8

Pre-amble: 8 bytes pre-amble added by the ground station Frame Sync: Four bytes frame synchronizer pattern, F9 A4 2B B1. Frame Id: One byte cyclic counter indicating the frame number in a subframe. (Frame Id increments from „0‟ to „F‟ where 16 frames make a sub-frame, and „0‟ to „7‟ where 8 frames make a sub-frame.) Data Bytes: Remaining data bytes as transmitted from onboard. Mission Id (Nibble)

Station Id Link Id Validity (Nibble) (Nibble) flag (Nibble)

Time Stamp: Universal time in BCD(up to mSec resolution) 6 bytes

Figure 9

Mission Id: A number (0 to 16) indicating the launch vehicle. Station Id: A number (0 to 16) indicates the GS where the TM data is logged. Link Id: A number (0 to 16) indicating the source TM link of launch vehicle for the data file. Validity flag: „0‟ indicates the frame has been received in whole. „1‟ indicates partial reception (or an invalid frame). Time Stamp: The UT at which the frame is received at the GS. Definition of Valid frame: A nibble, designated as validity flag, indicates if the frame has been received in whole at the GS. However, this analysis program treats a frame as valid only if there are at least three consecutive frames including the candidate frame, which is, Having validity flag set to zero (valid) Frame Id continuous Monotonic frame time stamp.

- 54 -

BASE CODE PROGRAMS

Taskmanager.frm

(Task manager form code’)

For I = 1 To TotalRecords Adodc1.Recordset.Fields("Status").Value = "" If Adodc1.Recordset.Fields("ED").Value = "E" Then Adodc1.Recordset.Fields("Status").Value = "Wait" Else Adodc1.Recordset.Fields("Status").Value = "Fail" End If Adodc1.Recordset.MoveNext Next 'Initialise all Operation Status of TaskControl Tables to "Wait" 'taskmaster.mdb' Adodc2.RecordSource = "AA_01_01" Adodc2.Refresh TotalRecords = Adodc2.Recordset.RecordCount Adodc2.Recordset.MoveFirst For I = 1 To TotalRecords Adodc2.Recordset.Fields("OperationStatus").Value = "Wait" Adodc2.Recordset.MoveNext Next Adodc2.RecordSource = "BB_02_01" Adodc2.Refresh TotalRecords = Adodc2.Recordset.RecordCount Adodc2.Recordset.MoveFirst For I = 1 To TotalRecords Adodc2.Recordset.Fields("OperationStatus").Value = "Wait" Adodc2.Recordset.MoveNext Next Adodc2.RecordSource = "CC_02_01" Adodc2.Refresh TotalRecords = Adodc2.Recordset.RecordCount Adodc2.Recordset.MoveFirst For I = 1 To TotalRecords Adodc2.Recordset.Fields("OperationStatus").Value = "Wait" Adodc2.Recordset.MoveNext Next// ' record log file Const ForReading = 1, ForWriting = 2, ForAppending = 8 - 55 -

Dim fs, log Set fs = CreateObject("Scripting.FileSystemObject") Set log = fs.OpenTextFile("e:\TMauto\tmautolog.txt", ForAppending, False) log.WriteBlankLines (2) log.WriteLine "********** New Process begins!**************" log.WriteBlankLines (1) log.WriteLine Now passno = passno + 1 log.WriteLine "******** Main task pass number= " & Str(passno) log.WriteBlankLines (1) log.WriteLine Now log.Close Call maintask 'call function to execute maintask program loop Timer1.Enabled = True Else passno = passno + 1 Const ForReading = 1, ForWriting = 2, ForAppending = 8 Dim fs, log End If Set fs = CreateObject("Scripting.FileSystemObject") Set log = fs.OpenTextFile("E:\LV TMData Pro\TMauto\tmautolog.txt", ForAppending, TristateFalse) log.WriteBlankLines (2) log.WriteLine "***** Main task pass number= *****" & Str(passno) log.WriteBlankLines (1) log.WriteLine Now log.Close Call maintask End If End Sub

- 56 -

SAMPLE PROCESS

As test run, the application TM DataPro is being started from the Visual Basic IDE application menu compile-> Build menu. From the Build option, Click Run. In the Run option, the Splash screen displays and then the Security check prompt appears. Enter Username: “admin”, Password: “password”. Click Login button. A welcome screen display authenticate the login. From the application main Window, For sample run, Select the File new workspace and enter filename. Type “Sample” and select OK. Now a workspace folder named Sample is created in directory path “E:\TMDataPro\Sample”. Now select the raw telemetry data file from the window option->Task manager from the top tool window. You can select the required GS data file and select OK. The select files are copied on workspace folder “E:\TM Datapro\Sample\12bit.dat”. The raw data can be used to pre-process for the specific parameter based output. i.e. only 12-bit data sample can be selectively given command to Pre-Process. Consecutively, the output of pre-process is logged in database table “AA_01_01” in taskmaster.mdb. In the sample run, log record is stored on the application path folder “E:\TM DataPro\tmautolog.txt”. The text file information records the operation status using a variable “passno”, which is declared in program function using integer data type. For each execution the tmautolog.txt file is updated from application module in app folder of TM DataPro.

- 57 -

Gs Id- Total 10 S1

S2

TV

--

TM chain total 8 TM1

TM2

S1TM1.dat

S1TM1.RPT

TM3

--

Combined streams data file (Gs-Link)

S1TM1_PRE.dat

TM1.dat

Pre-processed (suffix modified)

S1TM1_PRE.RPT

TM1_DEL.dat

Delayed data (DEL)

(Parameter wise strip)

TM1.np TM1.nr Ngcp.np Ngcp.nr

TM1_YD.dat

Figure 10

.dat – default telemetry raw data file .rpt – reet pointer file _Pre.dat – preprocessed data file .np – Nim(Navigation inertial module) package primary channel .nr – Nim package redundant channel _YD.dat – delayed data file

- 58 -

Splash screen

Username/Password prompt

Application main window screen - 59 -

Application directory menu

Ground station-link configuration window - 60 -

Workspace retraction window

Application Database connection - 61 -

Taskmaster DB backend

GS-Link Database backend

- 62 -

Link configuration window

Workspace log report - 63 -

TEST RESULTS AND ADVANTAGES

Task manager window

The test run chooses and loads a sample data from the user defined directory path “E:\Arjun\test data\12bit\12bit.mdb”. the select telemetry data files are copied on the newly created workspace “E:\TM DataPro\Sample” in separate folder. After the GS data is copied, the flag status of primary operation (GS data addition) is being set as True in the task master database table. It is auto-checked with the maintask() function called when the Taskmanager window is clicked with Start button. The output data for 1st operation selected is logged at different file and named as per naming convention.(.dat for data, with GS_Id, Link Id as file pointer)

- 64 -

Tmautolog.txt ********** New Process begins!************** 02/03/2011 12:40:01 PM ********** Main task pass number=

1

02/03/2011 12:40:01 PM AA_01_01_IG1 , 12:40:01 PM , 5 , 0: 40: 6 , S1P11B.DAT AA_01_01_IG2 , 12:40:01 PM , 5 , 0: 40: 6 , S1P12B.DAT AA_01_01_IG3 , 12:40:01 PM , 5 , 0: 40: 6 , S2P11B.DAT AA_01_01_IG4 , 12:40:01 PM , 5 , 0: 40: 6 , S2P12B.DAT AA_01_01_IG5 , 12:40:01 PM , 5 , 0: 40: 6 , PB1B.DAT AA_01_01_IG6 , 12:40:01 PM , 5 , 0: 40: 6 , PB2B.DAT AA_01_01_IG7 , 12:40:01 PM , 5 , 0: 40: 6 , PB1A.DAT AA_01_01_IG8 , 12:40:01 PM , 5 , 0: 40: 6 , PB2A.DAT AA_01_01_IG9 , 12:40:01 PM , 5 , 0: 40: 6 , BR1A.DAT AA_01_01_IG10 , 12:40:01 PM , 5 , 0: 40: 6 , BR2A.DAT AA_01_01_IG11 , 12:40:01 PM , 5 , 0: 40: 6 , BK1A.DAT AA_01_01_IG12 , 12:40:01 PM , 5 , 0: 40: 6 , BK2A.DAT AA_01_01_IG1 , 12:41:10 PM , 0: 40: 6 , 2 AA_01_01_IG2 , 12:41:10 PM , 0: 40: 6 , 2 AA_01_01_IG3 , 12:41:10 PM , 0: 40: 6 , 2 AA_01_01_IG4 , 12:41:10 PM , 0: 40: 6 , 2 AA_01_01_IG5 , 12:41:10 PM , 0: 40: 6 , 2 AA_01_01_IG6 , 12:41:10 PM , 0: 40: 6 , 2 AA_01_01_IG7 , 12:41:10 PM , 0: 40: 6 , 2 AA_01_01_IG8 , 12:41:10 PM , 0: 40: 6 , 2 AA_01_01_IG9 , 12:41:10 PM , 0: 40: 6 , 2 AA_01_01_IG10 , 12:41:10 PM , 0: 40: 6 , 2 AA_01_01_IG11 , 12:41:10 PM , 0: 40: 6 , 2 AA_01_01_IG12 , 12:41:10 PM , 0: 40: 6 , 2 ********** Main task pass number=

2

02/03/2011 12:41:13 PM BB_02_01_IG1 , 12:41:13 PM , 5 , 0: 41: 18 , PB2B.DAT BB_02_01_IG2 , 12:41:13 PM , 5 , 0: 41: 18 , PB1A.DAT BB_02_01_IG3 , 12:41:13 PM , 5 , 0: 41: 18 , PB2A.DAT BB_02_01_IG4 , 12:41:13 PM , 5 , 0: 41: 18 , BR1A.DAT BB_02_01_IG5 , 12:41:13 PM , 5 , 0: 41: 18 , BR2A.DAT BB_02_01_IG6 , 12:41:13 PM , 5 , 0: 41: 18 , BK1A.DAT BB_02_01_IG7 , 12:41:13 PM , 5 , 0: 41: 18 , BK2A.DAT BB_02_01_IG8 , 12:41:13 PM , 5 , 0: 41: 18 , S1P11B.DAT BB_02_01_IG9 , 12:41:14 PM , 5 , 0: 41: 19 , S1P12B.DAT BB_02_01_IG10 , 12:41:14 PM , 5 , 0: 41: 19 , S2P11B.DAT BB_02_01_IG11 , 12:41:14 PM , 5 , 0: 41: 19 , S2P12B.DAT BB_02_01_IG12 , 12:41:14 PM , 5 , 0: 41: 19 , PB1B.DAT BB_02_01_IG1 , 12:41:34 PM , 0: 41: 18 , 2 BB_02_01_IG2 , 12:41:34 PM , 0: 41: 18 , 2 BB_02_01_IG3 , 12:41:34 PM , 0: 41: 18 , 2 BB_02_01_IG4 , 12:41:34 PM , 0: 41: 18 , 2 BB_02_01_IG5 , 12:41:34 PM , 0: 41: 18 , 2 BB_02_01_IG6 , 12:41:34 PM , 0: 41: 18 , 2 BB_02_01_IG7 , 12:41:34 PM , 0: 41: 18 , 2 BB_02_01_IG8 , 12:41:34 PM , 0: 41: 18 , 2 BB_02_01_IG9 , 12:41:34 PM , 0: 41: 19 , 2 BB_02_01_IG10 , 12:41:34 PM , 0: 41: 19 , 2 BB_02_01_IG11 , 12:41:34 PM , 0: 41: 19 , 2 BB_02_01_IG12 , 12:41:35 PM , 0: 41: 19 , 2

- 65 -

Tmautolog.txt ….. continued(1) ********** Main task pass number=

3

02/03/2011 12:41:37 PM CC_03_01_IG1 , 12:41:37 PM , 5 , 0: 41: 42 , PB2B_PRE.DAT CC_03_01_IG2 , 12:41:37 PM , 5 , 0: 41: 42 , PB1A_PRE.DAT CC_03_01_IG3 , 12:41:37 PM , 5 , 0: 41: 42 , PB2A_PRE.DAT CC_03_01_IG4 , 12:41:37 PM , 5 , 0: 41: 42 , BR1A_PRE.DAT CC_03_01_IG5 , 12:41:37 PM , 5 , 0: 41: 42 , BR2A_PRE.DAT CC_03_01_IG6 , 12:41:38 PM , 5 , 0: 41: 43 , BK1A_PRE.DAT CC_03_01_IG7 , 12:41:38 PM , 5 , 0: 41: 43 , BK2A_PRE.DAT CC_03_01_IG8 , 12:41:38 PM , 5 , 0: 41: 43 , S1P11B_PRE.DAT CC_03_01_IG9 , 12:41:38 PM , 5 , 0: 41: 43 , S1P12B_PRE.DAT CC_03_01_IG10 , 12:41:38 PM , 5 , 0: 41: 43 , S2P11B_PRE.DAT CC_03_01_IG11 , 12:41:38 PM , 5 , 0: 41: 43 , S2P12B_PRE.DAT CC_03_01_IG12 , 12:41:38 PM , 5 , 0: 41: 43 , PB1B_PRE.DAT DD_03_01_IG1 , 12:41:38 PM , 5 , 0: 41: 43 , GenericOutputNameIG1 DD_03_01_IG2 , 12:41:38 PM , 5 , 0: 41: 43 , GenericOutputNameIG2 DD_03_01_IG3 , 12:41:38 PM , 5 , 0: 41: 43 , GenericOutputNameIG3 DD_03_01_IG4 , 12:41:38 PM , 5 , 0: 41: 43 , GenericOutputNameIG4 DD_03_01_IG5 , 12:41:38 PM , 5 , 0: 41: 43 , GenericOutputNameIG5 DD_03_01_IG6 , 12:41:38 PM , 5 , 0: 41: 43 , GenericOutputNameIG6 CC_03_01_IG1 , 12:42:02 PM , 0: 41: 42 , 2 CC_03_01_IG2 , 12:42:02 PM , 0: 41: 42 , 2 CC_03_01_IG3 , 12:42:02 PM , 0: 41: 42 , 2 CC_03_01_IG4 , 12:42:02 PM , 0: 41: 42 , 2 CC_03_01_IG5 , 12:42:02 PM , 0: 41: 42 , 2 CC_03_01_IG6 , 12:42:02 PM , 0: 41: 43 , 2 CC_03_01_IG7 , 12:42:02 PM , 0: 41: 43 , 2 CC_03_01_IG8 , 12:42:02 PM , 0: 41: 43 , 2 CC_03_01_IG9 , 12:42:02 PM , 0: 41: 43 , 2 CC_03_01_IG10 , 12:42:02 PM , 0: 41: 43 , 2 CC_03_01_IG11 , 12:42:02 PM , 0: 41: 43 , 2 CC_03_01_IG12 , 12:42:02 PM , 0: 41: 43 , 2 DD_03_01_IG1 , 12:42:02 PM , 0: 41: 43 , 2 DD_03_01_IG2 , 12:42:02 PM , 0: 41: 43 , 2 DD_03_01_IG3 , 12:42:02 PM , 0: 41: 43 , 2 DD_03_01_IG4 , 12:42:02 PM , 0: 41: 43 , 2 DD_03_01_IG5 , 12:42:02 PM , 0: 41: 43 , 2 DD_03_01_IG6 , 12:42:02 PM , 0: 41: 43 , 2

********** Main task pass number= 02/03/2011 12:42:05 PM EE_04_01_IG1 , 12:42:05 EE_04_01_IG2 , 12:42:05 EE_04_01_IG3 , 12:42:05 EE_04_01_IG4 , 12:42:05 EE_04_01_IG5 , 12:42:06 EE_04_01_IG6 , 12:42:06 HH_04_01_IG1 , 12:42:06 HH_04_01_IG2 , 12:42:06 HH_04_01_IG3 , 12:42:06 HH_04_01_IG4 , 12:42:06 HH_04_01_IG5 , 12:42:06 HH_04_01_IG6 , 12:42:06 EE_04_01_IG1 , 12:42:33 EE_04_01_IG2 , 12:42:33 EE_04_01_IG3 , 12:42:33 EE_04_01_IG4 , 12:42:33

PM PM PM PM PM PM PM PM PM PM PM PM PM PM PM PM

, , , , , , , , , , , , , , , ,

5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 0: 0: 0: 0:

4

0: 0: 0: 0: 0: 0: 0: 0: 0: 0: 0: 0: 42: 42: 42: 42:

42: 10 42: 10 42: 10 42: 10 42: 11 42: 11 42: 11 42: 11 42: 11 42: 11 42: 11 42: 11 10 , 2 10 , 2 10 , 2 10 , 2

, , , , , , , , , , , ,

PSLVC14\S1S2PB\TM2ASO\DIRECT\ PSLVC14\S1S2\TM1BSO\DIRECT\ PSLVC14\S1S2\TM2BSO\DIRECT\ PSLVC14\S1S2PB\TM1BSO\DIRECT\ PSLVC14\S1S2PB\TM2BSO\DIRECT\ PSLVC14\S1S2PB\TM1ASO\DIRECT\ PSLVC14\OBC\ PSLVC14\S1S2\OBC\ PSLVC14\S1S2\OBC\ PSLVC14\OBC\ PSLVC14\OBC\ PSLVC14\OBC\

- 66 -

Tmautolog.txt ….. continued(2) EE_04_01_IG5 EE_04_01_IG6 HH_04_01_IG1 HH_04_01_IG2 HH_04_01_IG3 HH_04_01_IG4 HH_04_01_IG5 HH_04_01_IG6

, , , , , , , ,

12:42:33 12:42:33 12:42:33 12:42:33 12:42:33 12:42:33 12:42:33 12:42:33

PM PM PM PM PM PM PM PM

, , , , , , , ,

0: 0: 0: 0: 0: 0: 0: 0:

42: 42: 42: 42: 42: 42: 42: 42:

********** Main task pass number=

11 11 11 11 11 11 11 11

, , , , , , , ,

2 2 2 2 2 2 2 2

5

02/03/2011 12:42:37 PM JJ_05_01_IG1 , 12:42:37 PM , 5 , 0: 42: 42 , S1S2PB1B_PRE.ngr JJ_05_01_IG2 , 12:42:37 PM , 5 , 0: 42: 42 , S1S2PB1B_PRE.np JJ_05_01_IG3 , 12:42:37 PM , 5 , 0: 42: 42 , S1S2PB1B_PRE.nr JJ_05_01_IG4 , 12:42:37 PM , 5 , 0: 42: 42 , S1S2PB2B_PRE.ngp JJ_05_01_IG5 , 12:42:37 PM , 5 , 0: 42: 42 , S1S2PB2B_PRE.ngr JJ_05_01_IG6 , 12:42:37 PM , 5 , 0: 42: 42 , S1S2PB2B_PRE.np JJ_05_01_IG7 , 12:42:37 PM , 5 , 0: 42: 42 , S1S2PB2B_PRE.nr JJ_05_01_IG8 , 12:42:37 PM , 5 , 0: 42: 42 , S1S21B_PRE.ngp JJ_05_01_IG9 , 12:42:37 PM , 5 , 0: 42: 42 , S1S21B_PRE.ngr JJ_05_01_IG10 , 12:42:37 PM , 5 , 0: 42: 42 , S1S21B_PRE.np JJ_05_01_IG11 , 12:42:37 PM , 5 , 0: 42: 42 , S1S21B_PRE.nr JJ_05_01_IG12 , 12:42:37 PM , 5 , 0: 42: 42 , S1S2PB1B_PRE.ngp JJ_05_01_IG13 , 12:42:37 PM , 5 , 0: 42: 42 , S1S2PB1A_PRE.ngp JJ_05_01_IG14 , 12:42:37 PM , 5 , 0: 42: 42 , S1S2PB1A_PRE.ngr JJ_05_01_IG15 , 12:42:37 PM , 5 , 0: 42: 42 , S1S2PB1A_PRE.np JJ_05_01_IG16 , 12:42:37 PM , 5 , 0: 42: 42 , S1S2PB1A_PRE.nr JJ_05_01_IG17 , 12:42:37 PM , 5 , 0: 42: 42 , S1S2PB2A_PRE.ngp JJ_05_01_IG18 , 12:42:37 PM , 5 , 0: 42: 42 , S1S2PB2A_PRE.ngr JJ_05_01_IG19 , 12:42:38 PM , 5 , 0: 42: 43 , S1S2PB2A_PRE.np JJ_05_01_IG20 , 12:42:38 PM , 5 , 0: 42: 43 , S1S2PB2A_PRE.nr JJ_05_01_IG21 , 12:42:38 PM , 5 , 0: 42: 43 , S1S22B_PRE.ngp JJ_05_01_IG22 , 12:42:38 PM , 5 , 0: 42: 43 , S1S22B_PRE.ngr JJ_05_01_IG23 , 12:42:38 PM , 5 , 0: 42: 43 , S1S22B_PRE.np JJ_05_01_IG24 , 12:42:38 PM , 5 , 0: 42: 43 , S1S22B_PRE.nr JJ_05_01_IG1 , 12:43:11 PM , 0: 42: 42 , 2 JJ_05_01_IG2 , 12:43:11 PM , 0: 42: 42 , 2 JJ_05_01_IG3 , 12:43:11 PM , 0: 42: 42 , 2 JJ_05_01_IG4 , 12:43:11 PM , 0: 42: 42 , 2 JJ_05_01_IG5 , 12:43:11 PM , 0: 42: 42 , 2 JJ_05_01_IG6 , 12:43:11 PM , 0: 42: 42 , 2 JJ_05_01_IG7 , 12:43:11 PM , 0: 42: 42 , 2 JJ_05_01_IG8 , 12:43:11 PM , 0: 42: 42 , 2 JJ_05_01_IG9 , 12:43:11 PM , 0: 42: 42 , 2 JJ_05_01_IG10 , 12:43:11 PM , 0: 42: 42 , 2 JJ_05_01_IG11 , 12:43:11 PM , 0: 42: 42 , 2 JJ_05_01_IG12 , 12:43:11 PM , 0: 42: 42 , 2 JJ_05_01_IG13 , 12:43:11 PM , 0: 42: 42 , 2 JJ_05_01_IG14 , 12:43:12 PM , 0: 42: 42 , 2 JJ_05_01_IG15 , 12:43:12 PM , 0: 42: 42 , 2 JJ_05_01_IG16 , 12:43:12 PM , 0: 42: 42 , 2 JJ_05_01_IG17 , 12:43:12 PM , 0: 42: 42 , 2 JJ_05_01_IG18 , 12:43:12 PM , 0: 42: 42 , 2 JJ_05_01_IG19 , 12:43:12 PM , 0: 42: 43 , 2 JJ_05_01_IG20 , 12:43:12 PM , 0: 42: 43 , 2 JJ_05_01_IG21 , 12:43:12 PM , 0: 42: 43 , 2 JJ_05_01_IG22 , 12:43:12 PM , 0: 42: 43 , 2 JJ_05_01_IG23 , 12:43:12 PM , 0: 42: 43 , 2 JJ_05_01_IG24 , 12:43:12 PM , 0: 42: 43 , 2

- 67 -

Tmautolog.txt ….. continued(3) ********** Main task pass number= 02/03/2011 12:43:16 PM KK_07_01_IG1 , 12:43:16 KK_07_01_IG2 , 12:43:16 KK_07_01_IG3 , 12:43:16 KK_07_01_IG4 , 12:43:16 KK_07_01_IG5 , 12:43:16 KK_07_01_IG6 , 12:43:16 KK_07_01_IG7 , 12:43:16 KK_07_01_IG8 , 12:43:16 KK_07_01_IG1 , 12:43:33 KK_07_01_IG2 , 12:43:33 KK_07_01_IG3 , 12:43:33 KK_07_01_IG4 , 12:43:33 KK_07_01_IG5 , 12:43:34 KK_07_01_IG6 , 12:43:34 KK_07_01_IG7 , 12:43:34 KK_07_01_IG8 , 12:43:34

PM PM PM PM PM PM PM PM PM PM PM PM PM PM PM PM

, , , , , , , , , , , , , , , ,

5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 0: 0: 0: 0: 0: 0: 0: 0:

6

0: 0: 0: 0: 0: 0: 0: 0: 43: 43: 43: 43: 43: 43: 43: 43:

********** Main task pass number=

43: 21 43: 21 43: 21 43: 21 43: 21 43: 21 43: 21 43: 21 21 , 2 21 , 2 21 , 2 21 , 2 21 , 2 21 , 2 21 , 2 21 , 2

, , , , , , , ,

GenericOutputNameIG1 GenericOutputNameIG2 GenericOutputNameIG3 GenericOutputNameIG4 GenericOutputNameIG5 GenericOutputNameIG6 GenericOutputNameIG7 GenericOutputNameIG8

7

02/03/2011 12:43:37 PM ********** Main task pass number=

8

02/03/2011 12:44:45 PM

From output folder of JJ_05_01 the following files can be retrieved: S1S2PB1B_PRE.ngr, Shar1, Shar2, Portblair- 1B redundant pre-processed (navigation guidance) S1S2PB1B_PRE.np, Shar1, Shar2, Portblair- 1B primary channel processed (navigation guidance) S1S22B_PRE.ngp S1S22B_PRE.ngr S1S22B_PRE.np S1S22B_PRE.nr

Here, TM DataPro application uses integrated program execution, so the preprocess function in the workspace folder “E:\TM DataPro\Sample” is executed in the same process function and the output be used to store in database table “AA_01_01” and the input criteria be set to “Wait” condition. The process “BB_01_01” gets filled with required details as and when process AA_01_01 is checked by the program scheduler loop if all the rows- of AA_01_01 are set to True,(indicated by flag bits). In this way the sequential processing can be achieved and each process wise tables can be given feed backed to the Tasks scheduler loop (please check the task manager /main program loop code). - 68 -

FUTURE WORK AND ENHANCEMENTS

The current development is primarily focused on the problem of processing overhead bottleneck on the present scenario of Telemetry data systems, possible outlook would include the reuse and transform the application structure facilitates to suit another platform. For a generic purpose, reuse of the system components for another feature such as providing web network capabilities and dedicated intercentre linking facilities for immediate uploading and data sharing are also suitable upgradation.

Telemetry systems operation in addition to custom process also enables quick look data support. The quick look data output deliverables made within the short span of launch mission strategy. While the present application functions are structured in the predefine plan in offline mode, further upgrading on anticipate the real time mission scenario.

- 69 -

CONCLUSION

The mission critical applications used in the launch operations need fault tolerant and streamlined policies to handle the space programme initiatives. Crucial parts of the development entail confirming the quality and reliability levels on accordance with standard procedures in organization. This can be ensured with rigorous testing and validation and consecutively the installation for the test bed facility. Through the development of application TM DataPro, which more enhancements are amenable, a significant part of manual intervention is minimized and automation being achieved for the effective functioning in space systems for the VSSC.

- 70 -

REFERENCES [1] ISPD (ISRO Software Process Document) and ISES-92(ISRO Software

Engineering Standards [2] A. Li, E. Hu, and C. Olson, Continuing to Improve Telemetry Data

Accessibility, Third IEEE International Conference on Space Mission Challenges, IEEE© 2009. [3] Kenny C. Gross, Scott McMaster, Adam Porter, Aleksey Urmanov,

Lawrence G. Votta, Towards Dependability in Everyday Software Using Software Telemetry, Third IEEE International Workshop on Engineering of Autonomic & Autonomous Systems, IEEE© 2006. [4] Philip M. Johnson, Hongbing Kou, Michael Paulding, Qin Zhang, Aaron

Kagawa, and Takuya Yamashita, Improving Software Development Management Through Software Project Telemetry, on IEEE Software, Published by the IEEE Computer Society, IEEE© 2005 [5] Dr David James, Batch Process Automation, Pages 32-37, IET Computing

& Control Engineering, Dec/January 2006/07, IET©. [6] V. Purnachandra Rao, Geetha Andrew & V. Siddiramulu, Low Cost And

High Performance Vehicle Telemetry Data Handling System, ISRO Telemetry, Tracking & Command Network(ISTRAC). [7] Mouna Samaan, Stepehen Cook, The Generation of Telemetry Frame

formats in User-Friendly Environment, IEEE©1997. [8] System And Method For Simultaneously Processing Telemetry Data

Inventors: Gerald E.Kaas, Derek L.Bassett US Patent Pub.No: US2010/0049381 A1, Date: Feb 25, 2010 [9] Automatic Generation Of Telemetry Flight Software Accompanying

Specifications, And Decode Files Inventors: Dennis W.Gvillo US Patent Pub.No: US2007/0032922 A1, Date: Feb 8, 2007 [10] Task Execution Controller, Task Execution Control Method, And

Program Inventors: Masaaki Tsujino, Kunihiko Hayashi US Patent Pub.No: US2007/0118838 A1, Date: May 24, 2007

- 71 -