Project pipeline.tpr
Mon Jul 26 18:08:33 GMT+04:30 1999
Diagrams List
Class diagram pil
Interaction diagram Reduction
Interaction diagram Execution
Interaction diagram Product
Interaction diagram Reduction
Interaction diagram Execute
Interaction diagram execute
Diagrams Descriptions
Class diagram pipeline

Packages
Class diagram pil.rbs

Classes
RBScheduler
Declaration
- public class pil.rbs.RBScheduler
Documentation
- RBScheduler performs the high level administration of Data
Reduction Systems (DRS) available to reduce Reduction Blocks. It
finds the DRS which can reduce a RB and submits the RB to it
for execution. The DRS's are accessed through wrappers which
provide a homogeneous interface to any DRS.
Operations
-
-
public void execute(pil.util.RedBlock redBlock)
Documentation
- Executes a Reduction Block by finding the appropriate system
and requesting it to actually perform the reductions.
public void removeWrapper(String name)
Documentation
- Removes a DRS wrapper from the current list.
public int addWrapper(String system, String[] resources)
Documentation
- Adds a DRS wrapper to the active systems.
public RBScheduler(File config)
Documentation
- Class constructor specifying the configuration file.
public RBScheduler()
Documentation
- Default class constructor.
Attributes
-
-
private pil.rsw.DRSWrapper lnkDRSWrapperSet
supplierCardinality
- 0..*
Association links
- RecipeImpl lnkRecImpl
supplierCardinality
- 0..1
RecipeImpl
Declaration
- public class pil.rbs.RecipeImpl
Documentation
- RecipeImpl defines the order of preference for executing a recipe by
specific Data Reduction Systems.
Operations
-
-
public String[] getPreference(String strategy, String recipe)
Documentation
- Gets a list of systems in order of preference which can
execute the recipe of a given strategy.
return
- Array of strings with names of Data Reduction Systems
in order or preference.
public RecipeImpl(File recImpl)
Documentation
- Class constructor specifying the configuration file.
Attributes
-
-
private Hashtable strategyImpl
Interaction diagram Execute

Objects
aClient
-
-
persistence
- transitory
name
- aClient
positions
- 25,35,96,350,1
rbs ClassOfInstance RBScheduler
-
-
persistence
- transitory
name
- rbs
positions
- 130,35,216,350,1
recImpl ClassOfInstance RecipeImpl
-
-
persistence
- transitory
name
- recImpl
positions
- 569,35,206,350,1
drsWrapperSet ClassOfInstance DRSWrapperSet
-
-
persistence
- transitory
name
- drsWrapperSet
positions
- 784,35,236,350,1
drsWrapper ClassOfInstance DRSWrapper
-
-
persistence
- transitory
name
- drsWrapper
positions
- 1035,35,206,350,1
rb ClassOfInstance RedBlock
-
-
persistence
- transitory
name
- rb
positions
- 360,35,196,350,1
Interaction diagram Initiation

Objects
aClient
-
-
persistence
- transitory
name
- aClient
positions
- 18,35,96,587,1
rbs ClassOfInstance RBScheduler
-
-
name
- rbs
created
persistence
- persistent
positions
- 132,35,216,587,1
recImpl ClassOfInstance RecipeImpl
-
-
persistence
- transitory
name
- recImpl
created
positions
- 363,35,206,587,1
drsWrapper ClassOfInstance DRSWrapper
-
-
persistence
- transitory
name
- drsWrapper
multipleInstance
created
destroyed
positions
- 830,35,206,587,1
drsWrapperSet ClassOfInstance DRSWrapperSet
-
-
persistence
- transitory
created
positions
- 582,35,236,587,1
name
- drsWrapperSet
Class diagram pil.cdb

Classes
CalibDB
Declaration
- public class pil.cdb.CalibDB
Documentation
- CalibDb is a proxy class which provides access to calibration
data used by the pipeline. It either uses a Database server or
a simple directory structure to find the data. It returns strings
with URI addresses of the calibration files requested.
Operations
-
-
public void disconnect()
Documentation
- Disconnects from the server. After this call, data cannot be
obtained and all request will return an empty string array.
public boolean connect(String database)
Documentation
- Connects to a database server or directory.
param
- database The database server or directory given as a
string with the URI address.
return
- The status of the connection - true if established
public String[] getDataSince(String instrument, String type, String mode, Date date, Date since)
Documentation
- Gets all calibration data fulfilling the criteria with a creation
data later than a specified time.
param
- instrument The instrument for the calibration data
param
- type The type of data such as CALIB or PHYS
param
- mode The data mode such as IMAG or LSS
param
- date The date for which the calibration should
should be found
param
- since Calibration data only after this date are
retrieved
return
- Array URI addresses as strings
public String[] getData(String instrument, String type, String mode, Date date)
Documentation
- Gets all calibration data which fulfill the specifications
param
- instrument The instrument for the calibration data
param
- type The type of data such as CALIB or PHYS
param
- mode The data mode such as IMAG or LSS
param
- date The date for which the calibration should
should be found
return
- Array with URI addresses
public CalibDB(String database)
Documentation
- Class constructor specifying the database server or directory
containing the calibration files.
param
- database The URI address.
public CalibDB()
Documentation
- Default class constructor
Attributes
-
-
private Object dbServer
Class diagram pil.util

Classes
Criterion
Declaration
- public class pil.util.Criterion
Documentation
- Criterion defines a logical expression between internal
pipeline frame variable. It is used for classification and
association of frames.
Operations
-
-
public boolean evaluate(Header keys, Header ref)
Documentation
- Computes the boolean value of the expression using a set of keys
and keys from a reference frame.
param
- keys The header for which the expression is computed
param
- ref The header for reference frame
public boolean evaluate(Header keys)
Documentation
- Computes the boolean value of the expression using a set of keys.
param
- keys The frame header for which the expression is computed
public void setExpression(String expr)
Documentation
- Sets the boolean expression of the criterion.
public void setName(String name)
Documentation
- Sets name of criterion.
public String getName()
Documentation
- Gets name of criterion.
public Criterion(String name, String expr)
Documentation
- Class contructor specifying name and boolean expression.
public Criterion()
Documentation
- Default class constructor.
FrameTree
Declaration
- public class pil.util.FrameTree extends DefaultMutableTreeModel
Documentation
- FrameTree keeps a collection of Frames using a hierarchical
structure defined by the strategy levels.
Operations
-
-
public Frame[] getFrames(String[] level, String category)
Documentation
- Gets set of frames at hierarchical level with given category.
param
- level The hierarchical level for frames
param
- category The category of frames
Aggregation links
- Vector lnkFrames
associates
- Frame
supplierCardinality
- 0..*
Frame
Declaration
- public class pil.util.Frame implements TreeNode
Documentation
- Frame is the class which gives a strategy specific view of
a data frame, typically a FITS file. It contains information
of the strategy, category, mode and domain associated to
frame. In addition, a link to the original data file is
kept. A Frame contains a set of headers corresponding to
FITS extension. Each of the headers has a set of keywords
associated to it. The keywords are translated from the
original FITS keywords using a strategy specific map.
Operations
-
-
public void setStrategy(String strategy)
Documentation
- Sets strategy which created frame
tgSet
public String getStrategy()
Documentation
- Gets strategy for which frame was created
tgGet
public void setFileRef(String fileRef)
Documentation
- Sets URI address of original data file
tgSet
public String getFileRef()
Documentation
- Gets URI address of original data file
tgGet
public void setCategory(String category)
Documentation
- Sets frame category
tgSet
public String getCategory()
Documentation
- Gets frame category of frame as defined by strategy
tgGet
public void setDomain(String domain)
Documentation
- Sets data domain for frame
tgSet
public String getDomain()
Documentation
- Gets data domain such as visual or infra-red
tgGet
public void setMode(String mode)
Documentation
- Sets operational mode of frame
tgSet
public String getMode()
Documentation
- Gets operational mode such as on-line or service
tgGet
public Header getHeader(int no)
Documentation
- Gets header associated to frame
param
- no The index of header
public Frame(Object fitsFile, KeyMap map)
Documentation
- Class constructor specifying FITS file and keyword map.
param
- fitsFile The data file in FITS format
param
- map The map to translate FITS keywords to internal
variables
public Frame()
Documentation
- Default Class constructor
Attributes
-
-
private String strategy
private String fileRef
private String category
private String domain
private String mode
Aggregation links
- Header[] lnkKeyset
supplierCardinality
- 1..*
Keyword
Declaration
- public class pil.util.Keyword implements IVariable
Documentation
- Keyword defines a name/value pair. A unit may be associated to
the value which also has a type. Values consisting of an array of
values of the same type are supported.
Operations
-
-
public int getSize()
Documentation
- Gets no. of single scalers in value for arrays.
For normal scaler values, one is returned.
public int getType()
Documentation
- Gets data type of value field
public String getUnit()
Documentation
- Gets unit for value of variable
public void setUnit(String unit)
Documentation
- Sets unit of value field
public boolean isValid()
Documentation
- Checks if variable has a valid value
public Object getValue()
Documentation
- Gets value of variable
public void setValue(Object value)
Documentation
- Sets value field of variable
public String getName()
Documentation
- Gets name of variable
public void setName(String name)
Documentation
- Sets name of variable
public Keyword(String name, Object value)
Documentation
- Class constructor specifying name and value
param
- name The name of the keyword
param
- value The keyword value given as an object
public Keyword()
Documentation
- Default Class constructor
Implementation links
Header
Declaration
- public class pil.util.Header
Documentation
- Header is a class containing Header information of FITS prime unit
or its extensions. It keeps a set of keywords translated from
the FITS keywords using a strategy specific keyword map.
Operations
-
-
public Enumeration getKeywords()
Documentation
- Gets enumeration to list of keywords in header
public Keyword getKeyword(String name)
Documentation
- Gets keyword through its name
public void removeKeyword(Keyword key)
Documentation
- Removes given keyword from header.
public void addKeyword(Keyword key)
Documentation
- Adds keyword to header.
public Header()
Documentation
- Default Class constructor
Attributes
-
-
private Hashtable keywords
Aggregation links
- Vector lnkKeywords
associates
- Keyword
supplierCardinality
- 0..*
RedBlock
Declaration
- public class pil.util.RedBlock implements IAction
Documentation
- RedBlock defines a pipeline Reduction Block which is a special
data reduction action. It carries information of the recipe
to be executed and its parameters. It also kepts the results
of the execution.
Operations
-
-
public void setCommand(String command)
Documentation
- Sets name of recipe to execute.
tgSet
public void setPriority(int priority)
Documentation
- Sets execution priority.
tgSet
public int getPriority()
Documentation
- Gets execution priority.
tgGet
public int getStatus()
Documentation
- Gets status of Reduction Block.
tgGet
public int getType()
Documentation
- Gets type of action.
tgGet
public Date getDate()
Documentation
- Gets date of creation of Reduction Block.
tgGet
public String getName()
Documentation
- Gets unique name of reduction block.
tgGet
public String[] getResources()
Documentation
- Gets resources required for execution.
public void getParameters(IVariable[] parms)
Documentation
- Sets parameters associated to recipe.
public IVariable[] getParameters()
Documentation
- Gets parameters associated to recipe.
public IVariable[] getResult()
Documentation
- Gets results of execution.
public void setResult(IVariable[] result)
Documentation
- Sets results obtained through execution.
public void setStatus(int status)
Documentation
- Sets status of Reduction Block.
public RedBlock(String name, Recipe recipe)
Documentation
- Class constructor giving name and recipe.
public RedBlock(String name)
Documentation
- Class constructor specifying its name.
public RedBlock()
Documentation
- Default class constructor.
Attributes
-
-
private String name
private int type
private int status
private int priority
private String command
private Date date
Association links
- Recipe lnkRecipe
supplierCardinality
- 1
Implementation links
Recipe
Declaration
- public class pil.util.Recipe
Documentation
- Recipe defines a data reduction algorithm including its signature
and return values.
Operations
-
-
public String getDescription()
Documentation
- Gets description of recipe.
public void setDescription(String desc)
Documentation
- Sets description of recipe.
public String[] getResources()
Documentation
- Gets resources required for the execution of recipe.
public void setResources(String[] resource)
Documentation
- Sets resources required for the execution of recipe.
public IVariable[] getParameters()
Documentation
- Gets list of general parameters needed for recipe.
public void setParameter(IVariable[] input)
Documentation
- Sets list of general parameters needed for recipe.
public IVariable[] getDepend()
Documentation
- Gets list of input parameters depending on input parameters.
public void setDepend(IVariable[] input)
Documentation
- Sets list of input parameters depending on input parameters.
public IVariable[] getInput()
Documentation
- Gets list of independent input parameters required by recipe.
public void setInput(IVariable[] input)
Documentation
- Sets list of independent input parameters required by recipe.
public IVariable[] getResult()
Documentation
- Gets list of result values which will be returned as result.
public void setResult(IVariable[] result)
Documentation
- Sets list of result values which will be returned.
public String getName()
Documentation
- Gets name of recipe
public void setName(String name)
Documentation
- Sets name of recipe
public Recipe(String recipe)
Documentation
- Class constructor specifying the persistent form of the recipe
public Recipe()
Documentation
- Default class constructor
Attributes
-
-
private String description
private String[] resources
private String name
Association links
- IVariable[] parameters
- IVariable[] depends
- IVariable[] inputs
- IVariable[] results
Parameter
Declaration
- public class pil.util.Parameter implements IVariable
Documentation
- Parameter defines a name/value pair. A unit may be
associated to the value which also has a type. Values
consisting of an array of values of the same type are supported.
Operations
-
-
public int getSize()
Documentation
- Gets no. of single scalers in value for arrays.
For normal scaler values, one is returned.
public int getType()
Documentation
- Gets data type of value field
public String getUnit()
Documentation
- Gets unit for value of variable
public void setUnit(String unit)
Documentation
- Sets unit of value field
public boolean isValid()
Documentation
- Checks if variable has a valid value
public Object getValue()
Documentation
- Gets value of variable
public void setValue(Object value)
Documentation
- Sets value field of variable
public String getName()
Documentation
- Gets name of variable
public void setName(String name)
Documentation
- Sets name of variable
public Parameter(String name, Object value)
Documentation
- Class constructor giving name and value
public Parameter()
Documentation
- Default class constructor
Implementation links
KeyMap
Declaration
- public class pil.util.KeyMap
Documentation
- KeyMap defines translation from extranal FITS keywords to internal
pipeline variables
Operations
-
-
public Enumeration getKeyList(String name)
Documentation
- Gets list of FITS keywords which may be mapped to the given
internal variable.
param
- name The name of internal pipeline keyword
public KeyMap(File keymap)
Documentation
- Class constructor using file with the map specifications
public KeyMap()
Documentation
- Default Class constructor
Attributes
-
-
private Hashtable keyMap
Status
Declaration
- public class pil.util.Status
Documentation
- Status keeps inforamation of state associated to
execution of actions.
Operations
-
-
public void setStatus(int status)
Documentation
- Sets execution status.
tgSet
public int getStatus()
Documentation
- Gets execution status.
tgGet
public Status()
Documentation
- Default class constructor
Attributes
-
-
private int status
Interfaces
IAction
Declaration
- public abstract interface pil.util.IAction
Documentation
- IAction is an interface defining a generic data reduction action
for the Pipeline system.
Operations
-
-
IVariable[] getResults()
Documentation
- Gets results created by action
IVariable getParameter(String name)
Documentation
- Gets value of named parameter
void setParameter(String name, IVariable var)
Documentation
- Sets value of named parameter
String getCommand()
Documentation
- Gets name of command or recipe to execute action.
void setCommand(String name)
Documentation
- Sets name of command or recipe to execute action.
String[] getResourses()
Documentation
- Gets resourses required to execute action.
int getPriority()
Documentation
- Gets priority of action.
int getState()
Documentation
- Gets current state of action.
int getType()
Documentation
- Gets type ofaction.
String getScope()
Documentation
- Gets scope of action.
Date getDate()
Documentation
- Gets date/time when action was created.
String getName()
Documentation
- Gets name of action. This name is unique within the scope.
IVariable
Declaration
- public abstract interface pil.util.IVariable
Documentation
- IVariable is an interface defining a generic data variable
for the Pipeline system.
Operations
-
-
int getSize()
Documentation
- Gets no. of single scalers in value for arrays
int getType()
Documentation
- Gets data type of value field
Object getUnit()
Documentation
- Gets unit for value of variable
void setUnit(String unit)
Documentation
- Sets unit of value field
boolean isValid()
Documentation
- Checks if variable has a valid value
Object getValue()
Documentation
- Gets value of variable
void setValue(Object value)
Documentation
- Sets value field of variable
String getName()
Documentation
- Gets name of variable
void setName(String name)
Documentation
- Sets name of variable
Class diagram pil.prs

Classes
Strategy
Declaration
- public class pil.prs.Strategy
Documentation
- Strategy defines the reduction strategy to be followed for
the pipeline reduction of data frames. As part of this strategy
all data are classified in unique categories (using a CategorySet)
and grouped in to a hierarchical structure. A set of reduction
rules are specified to determine the action to be performed on a
set of data depending on their category, level, mode and domain.
Operations
-
-
protected Category classify(pil.util.Frame frame)
Documentation
- Classifies frame according to strategy categories.
param
- frame The frame to be classified
return
- Category of frame
public pil.util.Frame[] getRecipeDepends(String recipe, pil.util.Frame[] input)
Documentation
- Gets list of all calibration frame which can be used for a
recipe with a given set of input frames.
param
- recipe The recipe name
param
- input The frames to be used as input for recipe
return
- Array of frames which can be used for calibration
public pil.util.Frame[] getRecipeInputs(String recipe)
Documentation
- Gets list of all frames in the strategy frame collection which
can be used as input for a recipe.
param
- recipe The recipe name
return
- Array of frames which can be used as input
public String[] getRecipesByCategory(String category)
Documentation
- Gets list of all recipes which can produce a specified category.
param
- category The name of the category
return
- Array of recipe identifiers
public String[] getCategories(String type)
Documentation
- Gets list of all categories defined by strategy.
param
- type The type of categories such as RAW, CALIB or PHYS
return
- Array of category identifiers
public ActionScript getActionScript(pil.util.Frame[] coll)
Documentation
- Gets actions to be performed to process a set of frames.
param
- coll The set of frames to be processed
return
- The actions which should be performed to reduce
the set of frames
public pil.util.Frame createFrame(Object fitsFile, String mode, String domain)
Documentation
- Creates frame using strategy specific keyword map.
The frame is added to the strategy collection of frames.
param
- fitsFile The FITS file object to be mapped
param
- mode The operational mode of file
param
- domain The observation domain of file
return
- The frame mapped using strategy. If no
category can be found null is returned.
public Strategy(File config)
Documentation
- Class constructor specifying its configuration file.
Attributes
-
-
private pil.util.FrameTree lnkFrameColl
private pil.cdb.CalibDB lnkCalibDB
private pil.util.KeyMap lnkKeyMap
supplierCardinality
- 1
Association links
- Level lnkGrouping
supplierCardinality
- 1
- CategorySet lnkCategories
supplierCardinality
- 1
Rule
Declaration
- public class pil.prs.Rule
Documentation
- Rule defines reduction actions required to pipeline process
a set of frames.
Operations
-
-
public ActionScript getActionScript(pil.util.Frame[] coll)
Documentation
- Gets actions to be execution for a set of frames to reduce
them.
return
- Action script which specifies reduction steps.
public Rule()
Documentation
- Default class constructor.
Aggregation links
- Vector lnkScripts
associates
- ActionScript
supplierCardinality
- 1..*
Category
Declaration
- public class pil.prs.Category
Documentation
- Category defines a category of frames within a reduction strategy.
A category has a unique name and a criterion defined as a boolean
expression of frame keywords which is true for frames belonging to
it. Further, it defined a primary key used for association of
calibration data and a list of required keywords. The structure
of the frame may also be specified.
Operations
-
-
public void setPrimaryKey(pil.util.IVariable[] primaryKey)
Documentation
- Sets primary key for category.
tgSet
public pil.util.IVariable[] getPrimaryKey()
Documentation
- Gets primary key used for association of calibration frames.
tgGet
public String getName()
Documentation
- Gets name of category.
tgGet
public void setKeys(pil.util.IVariable[] keys)
Documentation
- Sets keys which must be defined for frame belonging to
category.
tgSet
public boolean belongsTo(pil.util.Frame frame)
Documentation
- Determines if a frame belongs to the category.
return
- True if frame belongs to category.
public Category(String name, pil.util.Criterion criterion)
Documentation
- Class constructor specifying its name and criterion.
Attributes
-
-
private pil.util.Criterion criterion
private pil.util.IVariable[] primaryKey
private String name
private pil.util.IVariable[] keys
CategorySet
Declaration
- public class pil.prs.CategorySet
Documentation
- CategorySet contains collection of Category objects for a
reduction strategy. It is used to classify frame into unique
categories within the strategy.
Operations
-
-
public Category getCategory(String name)
Documentation
- Gets category by its name.
public Category classify(pil.util.Frame frame)
Documentation
- Classifies frame into a category defined by strategy.
return
- The category object for frame. If no category
was found null is returned.
public CategorySet(File categories)
Documentation
- Class constructor specifying the configuration file.
Aggregation links
- Vector lnkCategories
associates
- Category
supplierCardinality
- 0..*
RuleSet
Declaration
- public class pil.prs.RuleSet
Documentation
- RuleSet is a collection of reduction rules for a strategy.
It is used to locate the reduction rule for a given level.
Operations
-
-
public Rule findRule(pil.util.Frame[] frames)
Documentation
- Finds reduction rule associated to a set of frames.
public RuleSet(File rules)
Documentation
- Class constructure specifying configuration file.
Aggregation links
- Vector lnkUnnamed
associates
- Rule
supplierCardinality
- 0..*
ActionScript
Declaration
- public class pil.prs.ActionScript
Documentation
- ActionScript specifies set of reduction actions which must be
executed to perform pipeline processing of a set of frames.
Operations
-
-
private void optimize()
Documentation
- Optimizes sequence of actions define by script.
private boolean associate(pil.util.Frame frame, pil.util.Frame ref)
Documentation
- Associates calibration frames to input frames specified
for recipe.
public void execute()
Documentation
- Executes actions specified by script. The script is
first optimized after which all actions are analyzed and
converted into specific Reduction Blocks. The Reduction
Blocks are then send to the Reduction Block Scheduler for
execution.
public ActionScript(String script)
Documentation
- Class constructor giving the script.
Level
Declaration
- public class pil.prs.Level
Documentation
- Level defines hierarachical location of frame in strategy.
Operations
-
-
protected void setLevelKey(String levelKey)
Documentation
- Sets name of keyword used to identify node at this level.
tgSet
protected void setLevelCriterion(pil.util.Criterion levelCriterion)
Documentation
- Sets criterion for hierarchical levels of frames in to a
tree.
param
- levelCriterion The criterion for this hierarchical level
tgSet
private boolean isLeaf()
Documentation
- Check if level is bottom level that is with no children.
public RuleSet getRuleSet(String[] level)
Documentation
- Gets RuleSet corresponding to specific level.
public String[] findLevel(pil.util.Frame frame)
Documentation
- Determines hierarchical location of frame within
level structure of strategy. A null is returned if no level can
be found due criteria are not fulfilled or identifier keyword is
not present.
return
- Array of strings defining the hierachical level within
stratefy frame collection
public Level()
Documentation
- Default class constructor
Attributes
-
-
private pil.util.Criterion levelCriterion
private String levelKey
Association links
- RuleSet lnkRuleSet
supplierCardinality
- 1
Aggregation links
- Level lnkLevel
associates
- Level
supplierCardinality
- 0..1
Interaction diagram Reduction

Objects
aClient
-
-
persistence
- transitory
name
- aClient
positions
- 4,35,96,350,1
strategy ClassOfInstance Strategy
-
-
persistence
- transitory
name
- strategy
positions
- 107,35,186,350,1
actions ClassOfInstance ActionScript
-
-
persistence
- transitory
name
- actions
created
positions
- 840,35,226,350,1
rules ClassOfInstance RuleSet
-
-
persistence
- transitory
name
- rules
positions
- 501,35,176,350,1
rule ClassOfInstance Rule
-
-
persistence
- transitory
name
- rule
positions
- 687,35,146,350,1
level ClassOfInstance Level
-
-
persistence
- transitory
name
- level
positions
- 301,35,186,350,1
Interaction diagram Product

Objects
aClient
-
-
persistence
- transitory
name
- aClient
positions
- 4,35,96,524,1
strategy ClassOfInstance Strategy
-
-
persistence
- transitory
name
- strategy
positions
- 105,35,186,524,1
recipe ClassOfInstance Recipe
-
-
persistence
- transitory
name
- recipe
positions
- 298,35,176,524,1
collection ClassOfInstance FrameTree
-
-
persistence
- transitory
name
- collection
positions
- 481,35,206,524,1
cdb ClassOfInstance CalibDB
-
-
persistence
- transitory
name
- cdb
positions
- 694,35,176,524,1
rb ClassOfInstance RedBlock
-
-
persistence
- transitory
name
- rb
created
positions
- 879,35,196,524,1
rbs ClassOfInstance RBScheduler
-
-
persistence
- transitory
name
- rbs
positions
- 1082,35,216,524,1
Interaction diagram Execution

Objects
aClient
-
-
persistence
- transitory
name
- aClient
positions
- 7,35,96,618,1
actions ClassOfInstance ActionScript
-
-
persistence
- transitory
name
- actions
positions
- 118,35,226,618,1
rb ClassOfInstance RedBlock
-
-
persistence
- transitory
name
- rb
created
positions
- 939,35,196,618,1
recipe ClassOfInstance Recipe
-
-
persistence
- transitory
name
- recipe
positions
- 354,35,176,618,1
collection ClassOfInstance FrameTree
-
-
persistence
- transitory
name
- collection
positions
- 728,35,206,618,1
cdb ClassOfInstance CalibDB
-
-
persistence
- transitory
name
- cdb
positions
- 1141,35,176,618,1
rbs ClassOfInstance RBScheduler
-
-
persistence
- transitory
name
- rbs
positions
- 1323,35,216,618,1
category ClassOfInstance Category
-
-
persistence
- transitory
name
- category
positions
- 536,35,0,618,1
Interaction diagram Initiation

Objects
aClient
-
-
persistence
- transitory
name
- aClient
positions
- 14,35,96,445,1
strategy ClassOfInstance Strategy
-
-
persistence
- transitory
name
- strategy
created
positions
- 120,35,186,445,1
keyMap ClassOfInstance KeyMap
-
-
persistence
- transitory
name
- keyMap
created
positions
- 314,35,176,445,1
categories ClassOfInstance CategorySet
-
-
persistence
- transitory
name
- categories
created
positions
- 499,35,126,445,1
rules ClassOfInstance RuleSet
-
-
persistence
- transitory
name
- rules
created
positions
- 1051,35,176,445,1
collection ClassOfInstance FrameTree
-
-
persistence
- transitory
name
- collection
created
positions
- 1235,35,206,445,1
frame ClassOfInstance Frame
-
-
persistence
- transitory
name
- frame
created
positions
- 718,35,0,445,1
level ClassOfInstance Level
-
-
persistence
- transitory
name
- level
created
positions
- 888,35,0,445,1
Class diagram pil

Packages
UseCase diagram UseCase11

Usecases
-
Documentation
- The Calibration database server is started.. The configuration is
read and connection to a DB engine is established after which the
Calibration Database server is activated.
name
- startup CalibDB
-
Communications
-
Documentation
- Calibration Database server is terminated after all pending
requests have been served and resources be freed.
name
- shutdown CalibDB
-
Communications
-
Documentation
- Calibration data are submitted to the Calibration Database. Type
and format of the data are checked. The data are then copied to the
database and internal tables updated.
name
- submit calibration data
-
Actors
-
-
name
- user
Communication
- shutdown CalibDB
- startup CalibDB
-
-
name
- administrator
Communication
UseCase diagram UseCase1

Usecases
-
Documentation
- The Data Organizer server is started. This involves reading its
configuration and initiating reduction strategies and frame collection
as specified. If required, a connection to the CalibDB server is
opened to retrieve data. Calibration data are obtained and added to
the appropriate frame collections. Finally, the DO server is started
and ready to receive requests.
name
- startup DataOrganizer
-
Communications
UsesRelationships
-
Documentation
- The Reduction Block Scheduler is started. After reading its
configuration, a requested set of Reduction Systems are started and
connected to the Scheduler. The Scheduler is made active ready to
receive requests.
name
- startup RBScheduler
-
Communications
UsesRelationships
-
Documentation
- The Reduction Block Scheduler is terminated after it has finished
processing all pending requests and freed its resources.
name
- shutdown RBScheduler
-
Communications
-
Documentation
- The Data Organizer server is terminated after all outstanding
requests have been served and resources released.
name
- shutdown DataOrganizer
-
Communications
-
Documentation
- The request for retrieval of data from the Calibration Database is
converted to a Database specific query and send to the DB engine. The
result of the query is translated and returned.
name
- retrieve calibration data
-
Actors
-
-
name
- user
Communication
-
-
name
- administrator
UseCase diagram UseCase2

Usecases
-
Documentation
- A set of frames is reduced according to rule defined by a given
strategy. The frames are first associated to a reduction strategy and
then classified by its rules. The specific reduction recipes to be
applied are given by the strategy. Corresponding to the recipes,
Reduction Blocks are created and executed. The results are returned
to the client.
name
- reduce frames
-
UsesRelationships
-
Documentation
- The reduction strategy applicable to a given frame is found by
checking the frame header information and operational mode.
name
- find strategy
-
-
Documentation
- A frame is classified according to rules given a reduction
strategy and its category is returned.
name
- classify frame
-
-
Documentation
- A set of Reduction Blocks is created based on the recipes
specified by rules for a given frame category of a strategy. For each
recipe, the signature is retrieved and calibration frames of the
specified categories are found. These frames are then associated to
the frames to be reduced to identify proper matches. With the
information, the Reduction Blocks are created and returned.
name
- create RB's
-
UsesRelationships
-
Documentation
- A set of Reduction Blocks are executed by submitting them to the
Reduction Block Scheduler. It identifies the appropriate Reduction
System for each RB and converts the RB to a system specific script
which then is forwarded to the reduction system for actual execution.
The results are obtained from the Reduction System and returned to the
client.
name
- execute RB's
-
-
Documentation
- A specified data product is generated for a given strategy. First
all possible recipe which can make the product are identified after
which data required for the processing are found. This is done by
finding frame of the appropriate categories and associating
calibration data to them. Finally, Reduction Blocks are created and
executed. The results are returned to the client.
name
- generate data product
-
UsesRelationships
-
Documentation
- All recipes which can produce a specific data product are found by
scanning the recipe signatures.
name
- find recipe
-
-
Documentation
- All frame of a given category are found by searching the frame
collections specified.
name
- find frame of category
-
-
Documentation
- Frames of a given category are associated to another frame by
comparing the primary key defined in the respective categories. First
all frames of the given category are found after which the comparison
is made.
name
- associate frames
-
ExtendsRelationships
Actors
-
-
name
- user
Communication
- generate data product
- reduce frames
Class diagram pil.pdo

Classes
DataOrganizer
Declaration
- public class pil.pdo.DataOrganizer
Documentation
- DataOrganizer is the class responsible to the high level
administration of data files to be processed by the pipeline. It
determines the context (such as operational mode and observing
domain) for the data and identifies which reduction strategies
available can perform the actual processing. All strategy
which can reduce a file are used in the order specified.
Operations
-
-
public void processFile(File file)
Documentation
- Processes data file. The mode and domain or the file
is found by using the context definition which also
determines the reduction strategies able to process it.
Each or these strategies is then used to do the actual
reduction of the file.
param
- file The file in FITS format to be processed
public void setContext(File context)
Documentation
- Sets context used by dataorganizer.
param
- context The configuration file for context
public void addStrategy(pil.prs.Strategy strategy)
Documentation
- Adds reduction strategy.
public DataOrganizer(File context)
Documentation
- Class constructor specifying its context
param
- context The configuration file for context
public DataOrganizer()
Documentation
- Default class constructor
Attributes
-
-
private Vector lnkStrategies
associates
- pil.prs.Strategy
supplierCardinality
- 1..*
Association links
- Context lnkContext
supplierCardinality
- 1
Context
Declaration
- public class pil.pdo.Context
Documentation
- Context specifies the opeartional mode and observation domain
of data files. Further, it defines the criteria after which
a given data file should be processed by a reduction strategy.
Header information of data files are accessed through a keyword map.
Operations
-
-
public String[] findStrategies(pil.util.Frame frame)
Documentation
- Finds all strategies which should be used for processing of
frame. The frame must be cerated by the same context
with the same keyword map.
param
- frame The frame for which reduction strategies
should be found
return
- Array of strategy identifiers
public pil.util.Frame createFrame(Object fitsFile)
Documentation
- Creates frame object from a FITS file using context
keyword map. Mode and domain are stored in frame.
param
- fitsFile The FITS file which context should be found
return
- Frame with mode and domain attributes
public String[] getStrategies()
Documentation
- Gets all reduction strategies specified by the context.
return
- Array of strategy identifiers
public Context(File context)
Documentation
- Class constructor specifying configuration file
Attributes
-
-
private Vector lnkModeCriteria
associates
- pil.util.Criterion
supplierCardinality
- 0..*
private Vector lnkStrategyCriteria
associates
- pil.util.Criterion
private Vector lnkDomainCriteria
associates
- pil.util.Criterion
private pil.util.KeyMap lnkKeymap
Interaction diagram initiation

Objects
aClient
-
-
persistence
- transitory
name
- aClient
positions
- 8,35,96,350,1
do ClassOfInstance DataOrganizer
-
-
persistence
- transitory
name
- do
created
positions
- 109,35,236,350,1
context ClassOfInstance Context
-
-
persistence
- transitory
name
- context
created
positions
- 356,35,176,350,1
strategy ClassOfInstance Strategy
-
-
persistence
- transitory
name
- strategy
created
positions
- 723,35,186,350,1
keymap ClassOfInstance KeyMap
-
-
persistence
- transitory
name
- keymap
created
positions
- 539,35,176,350,1
Interaction diagram Reduction

Objects
aClient
-
-
persistence
- transitory
name
- aClient
positions
- 12,35,96,458,1
do ClassOfInstance DataOrganizer
-
-
persistence
- transitory
name
- do
positions
- 119,35,236,458,1
context ClassOfInstance Context
-
-
persistence
- transitory
name
- context
positions
- 363,35,176,458,1
strategy ClassOfInstance Strategy
-
-
persistence
- transitory
name
- strategy
positions
- 717,35,186,458,1
rbs ClassOfInstance RBScheduler
-
-
persistence
- transitory
name
- rbs
positions
- 1141,35,216,458,1
frame ClassOfInstance Frame
-
-
persistence
- transitory
name
- frame
created
positions
- 544,35,0,458,1
actions ClassOfInstance ActionScript
-
-
persistence
- transitory
name
- actions
created
positions
- 909,35,226,458,1
Class diagram pil.rsw

Classes
DRSWrapper
Declaration
- public class pil.rsw.DRSWrapper
Documentation
- DRSWrapper provides an adaptor to a specific Data Reduction System.
It keeps the mapping of abstract Reduction Block specification into
scripts for the DRS.
Operations
-
-
public pil.util.Status getStatus()
Documentation
- Gets status of wrapper.
tgGet
public void execute(pil.util.RedBlock redBlock)
Documentation
- Executes Reduction Block by wrapper DRS.
public DRSWrapper(String system, File recipeMap)
Documentation
- Class constructor specifying Data Reduction System and
associated mapping of recipes.
Attributes
-
-
private Vector lknRedBlocks
associates
- pil.util.RedBlock
private int status
Association links
- RecipeMapSet lnkRecipeMap
supplierCardinality
- 1
- DRSystem lnkSystem
supplierCardinality
- 1..*
DRSystem
Declaration
- public class pil.rsw.DRSystem
Documentation
- DRSystem is an interface class which connects to a specific
Data Reduction System. The class handles all specific
communication to the DRS.
Operations
-
-
public void execute(String script)
Documentation
- Executes script in specific DRS.
public DRSystem()
Documentation
- Default class constructor.
DRSWrapperSet
Declaration
- public class pil.rsw.DRSWrapperSet
Documentation
- DRSWrapperSet contains a collection of active Data Reduction
Systems represented through wrappers. It can create new
wrappers using a facroty class.
Operations
-
-
public DRSWrapper getDRSW(String name)
Documentation
- Gets DRS wrapper with given name.
public DRSWrapper getDRSWbyRecipe(String recName)
Documentation
- Gets DRS wrapper which is willing to execute given recipe.
public void removeDRSWrapper(String name)
Documentation
- Removes name wrapper.
public String createDRSWrapper(String system, String resource)
Documentation
- Creates new wrapper for specific Data Reduction System with
give resources using Fractory.
return
- Name of new DRS wrapper.
public DRSWrapperSet()
Documentation
- Default class constructor.
Association links
- DRSWFactory lnkFactory
supplierCardinality
- 1
Aggregation links
- Vector lnkWrappers
associates
- DRSWrapper
supplierCardinality
- 0..*
DRSWFactory
Declaration
- public class pil.rsw.DRSWFactory
Documentation
- DRSWFacroty is a factory class which creates new Data Reduction
System wrapper after a set of specifications.
Operations
-
-
public DRSWrapper createDRSW(String system, String version, String resource)
Documentation
- Creates new DRSWrapper object for specific DRS.
param
- system The name of the Data Reduction System.
param
- version The version of the DRS.
param
- resource The resources required for the DRS instance.
return
- DRSWrapper instance or null if the wrapper
could not be created.
public DRSWFactory()
Documentation
- Default class constructor.
RecipeMapSet
Declaration
- public class pil.rsw.RecipeMapSet
Documentation
- RecipeMapSet is a collection of all recipe maps for a specific
Data Reduction System. The class maps a Reduction Block to a
script by first finding the map of the recipe and asking it to
create the script.
Operations
-
-
public String mapRecipe(pil.util.RedBlock rb)
Documentation
- Maps Reduction Block into DRS specific script.
return
- String containing script.
public RecipeMapSet()
Documentation
- Default class constructor.
Aggregation links
- Hashtable lnkMaps
associates
- RecipeMap
supplierCardinality
- 0..*
RecipeMap
Declaration
- public class pil.rsw.RecipeMap
Documentation
- RecipeMap defines mapping of abstract recipe to system
specific script.
Operations
-
-
public String getName()
Documentation
- Gets name of recipe.
tgGet
public String map(pil.util.RedBlock rb)
Documentation
- Maps Reduction Block into system specific script.
public RecipeMap(File map)
Documentation
- Class constructor specifying configuration file.
Attributes
-
-
private String name
Interaction diagram Initiation

Objects
aClient
-
-
persistence
- transitory
name
- aClient
positions
- 18,35,96,441,1
drsWrapperSet ClassOfInstance DRSWrapperSet
-
-
persistence
- transitory
name
- drsWrapperSet
created
positions
- 118,35,236,441,1
drswFactory ClassOfInstance DRSWFactory
-
-
persistence
- transitory
name
- drswFactory
created
positions
- 358,35,216,441,1
drsWrapper ClassOfInstance DRSWrapper
-
-
persistence
- transitory
name
- drsWrapper
created
destroyed
positions
- 581,35,206,441,1
recMap ClassOfInstance RecipeMap
-
-
persistence
- transitory
name
- recMap
multipleInstance
created
destroyed
positions
- 1030,35,196,441,1
recMapSet ClassOfInstance RecipeMapSet
-
-
persistence
- transitory
name
- recMapSet
created
destroyed
positions
- 795,35,226,441,1
drStytem ClassOfInstance DRSystem
-
-
persistence
- transitory
name
- drStytem
created
destroyed
positions
- 1233,35,186,441,1
Interaction diagram execute

Objects
aClient
-
-
persistence
- transitory
positions
- 9,35,96,364,1
name
- aClient
drsWrapper ClassOfInstance DRSWrapper
-
-
persistence
- transitory
name
- drsWrapper
positions
- 112,35,206,364,1
recMapSet ClassOfInstance RecipeMapSet
-
-
persistence
- transitory
name
- recMapSet
positions
- 530,35,226,364,1
recMap ClassOfInstance RecipeMap
-
-
persistence
- transitory
name
- recMap
positions
- 766,35,196,364,1
drSystem ClassOfInstance DRSystem
-
-
persistence
- transitory
name
- drSystem
positions
- 970,35,186,364,1
rb ClassOfInstance RedBlock
-
-
persistence
- transitory
name
- rb
positions
- 327,35,196,364,1