Download presentation
Presentation is loading. Please wait.
Published byEthelbert Gibbs Modified over 9 years ago
1
Obstacles and opportunities with using visual and domain-specific languages in scientific programming Michael Jones, Christopher Scaffidi School of Electrical Engineering and Computer Science Oregon State University
2
2 Scientists as end-user programmers Professional objectives –Discovering knowledge –Disseminating knowledge –Funding knowledge creation Reasons for programming –Data acquisition –Data analysis –Data visualization Background Study Results Conclusion Photo credit: Microsoft Office (2010)
3
3 Results from prior empirical studies Testing –Often reliant on visualization, rarely systematic Reuse –Usually white-box rather than black-box Languages –Usually procedural and compiled –Rarely changes during a project Background Study Results Conclusion
4
4 Few mentions of visual or domain-specific languages (DSLs) Three studies mentioned… –Matlab was used to pre-process data –Hypercard, LabVIEW, spreadsheets were used More widespread use might be expected!!! –Matlab: “enjoys wide usage among scientists” –LabView: over 1 million users worldwide –Excel: 500 million users… maybe some scientists? Background Study Results Conclusion
5
5 We need more details Key research questions: –To what extent are DSLs used by scientists? –What concerns do scientists have about using DSLs and other languages? Background Study Results Conclusion ?
6
6 Interviews of scientists Artifact walkthrough –Interviewee identified a recent programming project –We didn’t mention visual/domain-specific languages! –The selected project served as an anchor for questions Interviewed 10 scientists –One later requested that his data not be used –Recruited by emails to physical/natural scientists Background Study Results Conclusion
7
7 Participant and project overview Background Study Results Conclusion Programming experience (yrs) Job titleField Project age (years) 15Professor Biology6 5Scientist 15ScientistBioinformatics6 1 Graduate student Bioinformatics3 15ScientistMeteorology18 4ProfessorChemistry2 1ProfessorChemistry11 25ScientistPhysics2 15ScientistPhysics6
8
8 Participants and their projects Most participants were end-user programmers –6 produced code for own use –2 produced code for others’ use Each program performed scientific modeling –Mining historical data to generate models E.g., mining weather + disease data to create models –Running models to make predictions + visualizations E.g., simulating chemical reactions Background Study Results Conclusion
9
9 DSLs were indeed in widespread use Background Study Results Conclusion Language / tool# projects using it Excel2 Matlab2 Minitab1 Sigma Plot1 ArcGIS1 Flash1 Silverlight1 MayaVi1 Only 2 of 8 projects had exclusively relied on non-DSLs (C, C++, Perl)
10
10 Most projects demonstrated a language transition Addition or replacement of languages –5 of 8 projects added one or more DSL –4 of 8 projects added a non-DSL Lots of “language thrashing” –Biologists: Excel, Matlab, C, Perl, Minitab, Sigma Plot –Chemists: Fortran, C, Perl, Java, PHP, ArcGIS What concerns motivated language choices?... Background Study Results Conclusion
11
11 Four concerns that drove language choices Background Study Results Conclusion
12
12 Concern #1: Need for specific functionality Physical measurements Historical data Hypothetical values 1. Pre-process by transforming (often DSL) 2. Instantiate, run models (not DSL) Models’ output/predictions 3. Post-process: transform or visualize (often DSL) DSL Trad. Background Study Results Conclusion
13
13 Concern #2: Complexity Complaints about complexity –Traditional languages: poor fit, unintuitive –Regardless of language: algorithmic complexity –When mixing languages: Hard to trace data dependencies and relationships DSL Trad. Background Study Results Conclusion
14
14 Concern #3: Cost and time Tendency to grab what was familiar –Little resistance to licensing costs –Often reliant on what colleagues recommended (including grad students) Led to some unpleasant surprises –Often reliant on outside consultants acting as advisors or developers Big trouble when grants run out! DSL Trad. Background Study Results Conclusion
15
15 Concern #4: Performance Traditional languages were preferred over DSLs –One project team used parallel programming; one team wanted it –Challenges: Shared servers Time for revising code Insufficient funds DSL Trad. Background Study Results Conclusion
16
16 Two non-language concerns Lack of version control –Diving into coding –No planning ahead for managing versions –No planning ahead for team coordination Lack of documentation –No proactive recognition of the need –Insufficient secondary notation support in DSLs –Heavy reliance on naming conventions Background Study Results Conclusion
17
17 Key results DSLs are… –Alive and well among scientists –Often used for data transformation and visualization Opportunities to help scientists with… –Selecting appropriate languages –Tracing data flow among multiple programs –Improving performance –Managing different versions Background Study Results Conclusion
18
18Questions? Princeton pulsar lab, where I worked with astrophysicists (1996-98) Photo credit: colleague Ingrid Stairs (2006) Background Study Results Conclusion
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.