Upload
randolf-burke
View
223
Download
0
Embed Size (px)
DESCRIPTION
Virtual Lab AMsterdam VLAM Virtual Laboratory AMsterdam A collaborative analysis environment for applied experimental science
Citation preview
Virt
ual L
ab A
Mst
erda
m
VLAMsterdamAbstract Machine Toolbox
A.S.Z. Belloum, Z.W. Hendrikse, E.C. Kaletas, H. Afsarmanesh and L.O. Hertzberger Computer Architecture and Parallel Systems Group
Department of Computer ScienceUniversiteit van Amsterdam
D.L. GroepNational Institute for Nuclear and High Energy Physics
Virt
ual L
ab A
Mst
erda
m
Outline Introduction Objectives VLAM Components VLAM Experiments VLAM Abstract Machine Conclusions
Virt
ual L
ab A
Mst
erda
m
VLAMVirtual Laboratory AMsterdam
A collaborative analysis environment
for applied experimental science
Virt
ual L
ab A
Mst
erda
m
Objectives Designing middleware:
bridge gap beween Grid- and application-layer Enable VL users to
define, execute, and monitor their experiments Provide to VL users:
location independent experimentation, familiar experimentation environment assistance during his experiment
Virt
ual L
ab A
Mst
erda
m
VLAM Functional View
VLAM Science Portal + Workbench
OthersDNA Arraygenome
expression
Material AnaMicro beam
FTIR, ...
Bio Medicine
MRI Scanner
Application
Grid Fabric(Farms, microscope, etc.)
VLAM RTS
Grid Middleware(Globus)
Domains
Virt
ual L
ab A
Mst
erda
m
Virt
ual L
ab A
Mst
erda
mExperimental Workflow
Informationgathering
Experimentation Interpretation
Access todevices Access to information
Grid accessible infra: apparatus, systems, network
Virtu
al L
abor
ator
y AM
Access todata
Virt
ual L
ab A
Mst
erda
m
The VL Architecture
Front- end
RTS Assistant
Collaboration
Globus Toolkit Application DB
VLAM
KernelDB
Virt
ual L
ab A
Mst
erda
m
VL-AM Kernel DB Stores user support information:
experiment topology definitions module descriptions user information
Provides cross-links to application annotations
Based on object-oriented database technology
Extends resource directories now used in Grid
Virt
ual L
ab A
Mst
erda
m
Application Domain DB Characteristics of typical application
Scientist(s) performing the experiment On objects and preexisting information & data On which processes operate
That use apparatus with specific properties Resulting in new data and information
A domain-specific flow of processes
Expressive MACS EFC Examples:Expressive, MACS, EFC, ...
Virt
ual L
ab A
Mst
erda
m
VL Experimentation Environment Data Model
DNA micro-arrayexperiment
Micro-beamexperiment
LIB RARYname: STRI NGid: STRINGpurchase_date: DATEnum_plates : SHORTnum_clones : SHORTmat erial: STRI NGcatalogue_no: STRINGpr ice: FLOATdata_sheet: STRINGpcr_primers: STRINGvolume: SHORTdescription: STRI NG
ORGANISMname: STR INGid: STRING
GENEname: STRI NGid: ST RINGchrom _ l oc: STRINGchrom _start: STRINGchrom _end: STRING
CLONEname: STRI NGid: STRINGvendor_id: STR INGinsert_size: INTEGERdescription: ST RING
WELLgr id: INTEGE Rrow: INTEGE Rcol : INTEGERfl ag: SHORT
LIB_ PLATESUB_ LIBRARYvol ume: SHORTlocation: STRING
CLONE _LIB_ ALIQUOTING SUB_ LIB _ PLATE
P IPETTING_ ROBOThas_program: PIPETTING_ROBOT_PRG
CLONE_ SELECTION CLONE_ SEL_ LISTCLONE_ ASSORTING CLO NE_ PICK ING CULTURE_ INO CULATIO NCLONE_ SEL_ PLATE PLAS MID_ DNA_ ISOLATION
CULT URE_ INCUBATIONvolume: SHORT
temp: FLOATtime: STRI NGrpm: SHORT
CULTURE_ PLATE
CULTURE_ CENTRIFUGATIONt emp: FLOATt ime: STRINGr pm: SHORT
PLAS MID_ DNA_ EXTRACTION
DNA_ COL_ PLATE
DNA_ EXT_ M EMB_ PLATE
CULTURE_ ME DIUM
SHAKING_INCUBATOR
CE NTRIFUGE
PIPETTING_ ROBOThas_pr ogram: PIPETTING_ROBOT_PRG
PCR_ SRC_ DNA_ DILUTION PCR_ SRC_ DNA_ DILUTION _ PLATE
PIP ETTING_ ROBOThas_program: PIPETTING_ROBOT_PRG
PCR_ AM PL IFICATION
PCR_ M IX_ MAKINGhas_ taq _suppl ier: ORGANIZATION
taq_lot_no: STRINGhas_ nucl_suppl ier: ORGANIZATION
nucl _lot_no: STRING
PCR_ PRODUCT _P LATE
PCR_ MIX_ PLATE
PCR_ RXN_ M IX_ DISTRIBUTION
PCR_ TC_ PLATE
PCR_ TC_ RXN
PCR_ PRODUCT_ POOLING
PCR_ RXN_ SETUP
PCR_ M ASTER_ M IX
PCR_ PRIMERname: STRI NGid: STRING
PCR_ PRIMERname: STRI NGid: STRING
PCR_ MIXTURE
PIPETTING_ ROBOThas_pr ogram: PIPET TING_ROBOT_PRG
PIPETTING_ ROBOThas_pr ogram: PIPETTING_ROBOT_PRG
THERM OCYCLERhas_progr am: THERMOCYCLER_PRG
PCR_ VALIDATION
GEL_ MAKING
GELtype: STRING
GE L_ SETUP
GE L_ ELECTROPHORESISloading_buffer: STRING
curr ent: FLOATtime: STRING
GE L_ IMAGING GEL_ IMG_ ANALYSIShas_pr ogram: IMG_ANALYSIS_PRG
GEL_ IMAGE
GEL_ INTERPRE TATION
GEL_ DNA_ MARKER
GEL_ DNA_ SAMPLEname: STRINGid: STRI NG
PIPETTING_ ROBOThas_progr am: PI PETTING_ROBOT_PR G EL ECTROPHORESIS_ APP
CAMERA
PCR_ CLEANUP
DNA_ BIND_ MEMB_ PLATEPIPETTING _RO BO Thas_program: PIPETTING_ROBOT_PRG
PCR_ CLEAN_ PLATE PCR_ EQUILIBRATION
OD_ CALIBRATION DNA_ CONC_ EQUILIBRATIONvolume: SHOR T
OD_ MEASUREMENT
OD_ SAMPLE_ PREPARATIONvolume: SHORT
OD_ SAMPLE _ PLATE
DNA_ DESICCATION
DNA_ EQUILIBRATED_PL ATE
OD_ DATA OD_ CONC_ CALCULATION
DNA_ CONCENTRATION
PIPETTING_ ROBOThas_program: PIPET TING_ROBOT_PRG
DENSITOMETERhas_program: OD_PRG
SPEED_ VAChas_program: VAC_PRG
DNA_ REPLATING P3 8 4 _ SPO TTER_ PLATE
PIPETTING _ ROBO Thas_pr ogram: PIPET TING_ROBOT_PRG
ARRAY_SPOTTING
MICRO_ ARRAYplatform_type: STRINGarray_dimensions : STRINGspot_dimensions : STRINGpitch: STRINGnum _grids: INTEGERnum _rows : INT EGERnum _cols : INT EGERsubstrate: STRINGbinding_protocol : STRINGlocation: STRING
SPOTgrid: I NTEGERrow: I NTEGERcol: INTEGERflag: SHORT
ARRAY_ SPOTTERhas_program: ARRAY_SPOTTER_PRG
O RG ANISMname: STRINGid: STRING
CELL_ SAMPLEorgan: STRINGtissue: STRINGcell_type: STRINGcell_line: STRINGcell_culture: STRINGdevelopment_stage: STRINGsex: STRINGstrain: STRING
CE LL _SAM PL E_ TREATMENTm RNA_ EXTRACTION
cel l_rupture: ST RI NGrna _isolated: ST RING
volume: SHORT
m RNA TREATED_ CELL_ SAMPLEcDNA _L ABELING
label: STRI NGeffi ciency: FLOAT
cDNA _ PROBE
ARRAY_ HYBRIDIZATIONmanual : BOOLEANhyb _t emp: FLOAThyb _t ime: STRING
wash_t emp: FLOATwash_t ime: STR INGdry_t ime: STRINGsol ut ion: STRING
HYBRIDIZED_ ARRAYlocation: STRING
ARRAY_ SCANNINGphotomul tiplier : STRING
ARRAY_ IMAGE
SLIDE_ PROCESSORhas_program: SLIDE_PROCESSOR_PRG
SCANNER
BLOCKING_ AGENT
ARRAY_ IMG_ ANALYSIShas_program: IMG_ANALYSIS_PRG
ARRAY_ MEASUREM ENTraw_result s: STRING
SP OT_ M EASUREME NTgri d: I NTEGE Rrow: I NTEGE Rcol umn: INTEGERflag: SHORTder ived_val ue: DOUBLEder ivat ion_method: STRI NG
CHANNEL_ MEASUREMENTint ensi ty: DOUBLEbkg _intens it y: DOUBL E
Process Flow Template
Expressive MACS EFC
Application databases
DATA_ELEMENT
has_parameter 0 ..*
PARAMETERhas_parameter 0..*
has_comment0..*
has_sub_elm
0..*
has_super_elm0 ..1
PROPERTYname : STRINGnum_val : DOUBLEtext_val : STRINGunit : STRING
has_property0..*
has_prev_elm 0..*
has_next_elm 0..*
has_hardware1..1
HW_TOOL 0 ..*
has_software
1..1
SW_TOOL 0..*
has_p rotocol 0..1
PROTOCOLname : STRINGid : STRINGdescription : STRING
has_comment0..*
COMMENTdate : DATEcomment : STRINGcreator : PERSON
has_related_exp
0..*
has_next_exp
0..1
has_prev_exp
0 ..1
has_exp0..*
experiment_in
1..*
has_element 0..*
EXP_ELEMENTname : STRINGid : STRINGexp_id : STRINGdescription : STRING
0..*
0..*
0 ..1
0..*
0..*
0..*
element_of1..*
has_address0..*
has_project
1..*
PROJECTname : STRINGid : STRINGdescription : STRINGstart_date : DATEend_date : DATEurl : STRING
project_of
has_vendor 0..*
HARDWAREname : STRINGid : STRINGdescription : STRING
1..1
has_vendor 0..*
SOFTWAREname : STRINGid : STRINGdescription : STRING
1..1
has_address0..*
ADDRESSstreet : STRINGpostal_code : STRINGcity : STRINGstate : STRINGcountry : STRING
has_performed
0..*
performed_by1 ..*
PROCESSdate : DATE
0..1
defined_by1..1
TEMPLATEname : STRINGid : STRING
has_defined0..*
has_submitter
1..1
has_submitted0. .*
has_contributor
0..*
EXPERIMENTname : STRINGid : STRINGproject_id : STRINGtype : STRINGsubject : STRINGdate : DATEdescription : STRINGpublished_in : STRINGliterature : STRINGurl : STRING
0..*
0..*
0..1
0 ..1
0..* 1..*
0..* 1..*
has_contributed0..*
employee_of
0..*
PERSONname : STRINGid : STRINGtitle : STRINGphone : STRINGfax : STRINGemail : STRINGurl : STRING
0..*0..*
1 ..*
1..1
0..*
1..1
0. .*
0..*
0..*
has_employee
0 ..*
ORGANIZATIONname : STRINGactivity_ type : STRINGphone : STRINGfax : STRINGemail : STRINGurl : STRING
0..*
1..*
0..*0..*
0..*0 ..*
Experimentation Environment Data Model
Common aspects of an experiment
Process and data flow in an experiment
Annotations on an experiment
Virt
ual L
ab A
Mst
erda
mProcess Flow Template
Owner
Empty
Literature
Extraction
Conversion
Q. Ctrl
DC Analys.
Sample
Treatment
Treated sample
Surface Scan Raw Data
Data CubeInterpretation
Photograph
Settings
Apparatus
Data Cube
Cerf. Tool
Ana Tool
Virt
ual L
ab A
Mst
erda
m
MacsLab Experiment
Virt
ual L
ab A
Mst
erda
m
VL-AM Front End
Virt
ual L
ab A
Mst
erda
m
VL Run Time System Features:
Data-flow-like experiments with modules Control parameters & read state Interact with the Grid layer
Interaction with VL RTS? Module developers: API End-users: None (transparent)
Virt
ual L
ab A
Mst
erda
m
Module Skeleton API Principles
Module core shared lib. with entry points: Init(); Run();
Module Skeleton Services I/O stream lib. (`port' based) Data-type interface lib. Parameter & state access lib.
Virt
ual L
ab A
Mst
erda
m
Communications
Module Module FIFO Stream
User code User code
Virt
ual L
ab A
Mst
erda
m
Communications
ProcessProcess
VL-AM RTS
User code User codeGridFTPenabledHPSS
Virt
ual L
ab A
Mst
erda
m
Vlab Testbed
VL-AMGlobus
NIKHEF
VL-AMGlobus
UvA
Glo
bus
VL-
AM
AMOLF Glo
bus
Glo
bus
VL-
AM
SARA
XXXXXXXX
XXXX
XXXXXXXX
XXXX
Other DB
External DB
Virt
ual L
ab A
Mst
erda
m
Status of the VL Prototype VL-AM RunTime System
Module skeleton and manager available
Communication via sockets and GridFTP
VL Front End VL assistant VL graphical editor
Virt
ual L
ab A
Mst
erda
mConclusions
VLAM: a science portal for exp. analysis Workflow support for
Bio-informatics, Materials Scienceand Biomedical Simulation & Visualisation
Seamless access to distributed resources and content
Resource Management: based on Globus Content Management: VLAM middleware Current status: integrating first prototypes