Presentation is loading. Please wait.

Presentation is loading. Please wait.

Obstacles and opportunities with using visual and domain-specific languages in scientific programming Michael Jones, Christopher Scaffidi School of Electrical.

Similar presentations


Presentation on theme: "Obstacles and opportunities with using visual and domain-specific languages in scientific programming Michael Jones, Christopher Scaffidi School of Electrical."— Presentation transcript:

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


Download ppt "Obstacles and opportunities with using visual and domain-specific languages in scientific programming Michael Jones, Christopher Scaffidi School of Electrical."

Similar presentations


Ads by Google