Download presentation
Presentation is loading. Please wait.
Published byHomer Johnston Modified over 9 years ago
1
Domain Specific Language for Medical Laboratory Team #6 Vikram Sriram Venkat Narasimha Bhyravabotla Haritha Rani Jadcherla Saloti Annapurna Mentor Mr. Ravi Ganta Instructor Dr. Kwok-Bun Yue
2
Agenda Background Problems with current system Solution Architecture diagram Implementation of Solution Demo Website Conclusion References 2 CSCI 6838: Team#6 Language for Array Data Processing
3
Background Medical laboratory Microplate Laboratory specific operations on microplate Problems 3 CSCI 6838: Team#6 Language for Array Data Processing
4
Medical Laboratory Physicians Tests – Immunoassay Results – Observations – Photons emitted from the test sample Different tools exist to read results from microplate 4 CSCI 6838: Team#6 Language for Array Data Processing
5
Microplate 5 A Microtiter plate (spelled Microtitre in Europe) or microplate is a flat plate with multiple "wells" used as small test tubes. [1] Figure 1: Microplate [2]
6
Operations on Microplate Shaking Light projecting Adding chemicals/catalysts Reading the number of photons 6 CSCI 6838: Team#6 Language for Array Data Processing
7
Immunoassay An immunoassay is a biochemical test that measures the concentration of a substance in a biological liquid, typically serum or urine, using the reaction of an antibody or antibodies to its antigen. 7 [3] CSCI 6838: Team#6 Language for Array Data Processing
8
8 Patient “A” test results with two tests for D1, D2 as Tags CSCI 6838: Team#6 Language for Array Data Processing
9
Problems Tag based operations Storing and accessing results General purpose Programming Languages( GPLs) do not satisfy physicians requirements Overhead on physician to learn GPL Preciseness of results 9 CSCI 6838: Team#6 Language for Array Data Processing
10
10 Storing and accessing results 1.Paper Based[4] 2.Table Based [5] CSCI 6838: Team#6 Language for Array Data Processing
11
Solution Domain Specific Language for laboratory specific 11 CSCI 6838: Team#6 Language for Array Data Processing
12
Motivation towards DSL Problems with current system – Memory problems – End user overheads – Disadvantages with programming languages Advantages of having a DSL specific to laboratory – Domain specific semantics – User friendly syntax – Overcoming problems with programming languages 12 CSCI 6838: Team#6 Language for Array Data Processing
13
Why only DSL ? Most programming language doesn’t supports end users syntaxes GPLs can address solution specific to domain but not optimal End user has to learn syntaxes in GPL 13 CSCI 6838: Team#6 Language for Array Data Processing
14
Lexer Parser ECLIPSE IDE Mat.java Mat.txt Library.java Run.java Readingfile.jav a Architecture Diagram 14 Run Console Grammar Lexer Parser Generate ANTLR IDE CSCI 6838: Team#6 Language for Array Data Processing
15
Implementation of DSL Language specification Grammar design Lexer and Parser generation 15 CSCI 6838: Team#6 Language for Array Data Processing
16
Language Specification Problem domain semantics are analyzed Description of the new syntaxes is described in this document – Expression syntax – Accessing matrix values – Function syntax Target language is Java 16 CSCI 6838: Team#6 Language for Array Data Processing
17
Example For example the following syntax will return a set of values stored in a matrix with row index 1,2, and column index as 2,3. M1[{1,2},{2,3}] Following example will assign a value to matrix M1 whose tag is value with 32.12 M1[1,2].value=32.12 17 CSCI 6838: Team#6 Language for Array Data Processing
18
Grammar Design Automated tools are used for generating Lexer and parser code Example: – ANTLR ( Another Tool for Language Recognizer) – Eclipse – ANTLR plug-in for Eclipse 18 CSCI 6838: Team#6 Language for Array Data Processing
19
Lexer and Parser generation 19 CSCI 6838: Team#6 Language for Array Data Processing
20
20 Matrix Access Single Index Multiple Index – Ordered Set – Range – Wildcard(* means “all”) CSCI 6838: Team#6 Language for Array Data Processing
21
Some example syntaxes for laboratory specific Single access M1[1,2] Range M1[{0..2},1] Ordered set M1[{0,1,2},1] Wild card M1[*,*] Avg(1,2,3) Min(1,2,3) 21 M1 0.10.20.3 1.11.21.3 2.12.22.3 CSCI 6838: Team#6 Language for Array Data Processing
22
Tags Properties of tags – Name – Value Operations on tags – Add – Delete – Set
23
More about our website http://dcm.uhcl.edu/c423008fasalotia/caps10g6/ default.htm 23 CSCI 6838: Team#6 Language for Array Data Processing
24
DEMO 24 CSCI 6838: Team#6 Language for Array Data Processing
25
Conclusion There are many possible solutions One good solution DSL (Domain Specification Language) Satisfy all requirements User Friendly Accuracy 25 CSCI 6838: Team#6 Language for Array Data Processing
26
References [1] http://en.wikipedia.org/wiki/Microtiter_plate. [2] http://www- odp.tamu.edu/publications/201_IR/chap_05/im ages/05_f10.gif [3] http://en.wikipedia.org/wiki/Immunoassay 26 CSCI 6838: Team#6 Language for Array Data Processing
27
27 References http://en.wikipedia.org/wiki/Domain- specific_language#Advantages_and_disadvantages http://en.wikipedia.org/wiki/Programming_language http://homepages.cwi.nl/~arie/papers/dslbib/ http://english.njhuahong.com/uploadfile/sb-jc4.jpg http://www- odp.tamu.edu/publications/201_IR/chap_05/images/0 5_f10.gif http://www.marylandfluwatch.org/_/rsrc/1241811361 336/clinical-laboratories/8401_lores.jpg CSCI 6838: Team#6 Language for Array Data Processing
28
28 Questions CSCI 6838: Team#6 Language for Array Data Processing
29
29 CSCI 6838: Team#6 Language for Array Data Processing
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.