Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 End-User Tools for Creating Dependable Software Brad Myers Carnegie Mellon University Fourth Workshop on End-User Software Engineering WEUSE IV May 12,

Similar presentations


Presentation on theme: "1 End-User Tools for Creating Dependable Software Brad Myers Carnegie Mellon University Fourth Workshop on End-User Software Engineering WEUSE IV May 12,"— Presentation transcript:

1 1 End-User Tools for Creating Dependable Software Brad Myers Carnegie Mellon University Fourth Workshop on End-User Software Engineering WEUSE IV May 12, 2008

2 WEUSE-IV -5/12/08 2 Outline Summary of authoring tool aspects of the following: Anslow, Borggrafe, Costabile, El-Gayyar, Kankuzi, McDaid, Myers, Prähofer, Scaffidi, Sestoft, Shani, Stoitsev Techniques for creating EU software Database Query Languages Visual Programming Spreadsheet Programming Programming By Example Form-based fill-in Application areas Focus on Creating Dependable Software Three Research Questions

3 WEUSE-IV -5/12/08 3 Database Query Languages Anslows Wiki Business Query Can embed business query code into web pages and will be executed on web services

4 WEUSE-IV -5/12/08 4 Visual Programming Systems Borggrafes Paper-Based EUD Draw processes using Anoto pen on paper pRemote: Different stamp templates printed on Anoto paper and selected to trigger the function

5 WEUSE-IV -5/12/08 5 Visual Programming Systems El-Gayyars TailorBPEL For SOAs Business Process Execution Language (BPEL) Change process at run-time Tailor remotely … in an easy graphical way

6 WEUSE-IV -5/12/08 6 Visual Programming Systems Prähofers Monaco IDE supports visual and textual programming, based on Eclipse Flowcharts, timing diagrams

7 WEUSE-IV -5/12/08 7 Visual Programming Systems Shanis UML class diagrams for designing Domain-Specific Languages Automatic code generation Applied to Telco record processing example

8 WEUSE-IV -5/12/08 8 Visual Programming Systems Stoitsevs Visual Query Composition (VQC) Semantic Queries concepts and relations as a graph Costabiles Domain-Oriented Visual Language (DOVL) Applied in case study for candy companies

9 WEUSE-IV -5/12/08 9 Spreadsheet Systems Sestofts Function Sheet Add functions to spreadsheets using a spreadsheet to define the function Supports recursion and higher-order functions

10 WEUSE-IV -5/12/08 10 Programming By Example Stoitsevs CTM (Collaborative Task Manager) Create tasks by performing weakly-structured processes by doing them with Outlooks email, to- do, etc. Scaffidis Topes Can have a tope created from multiple examples

11 WEUSE-IV -5/12/08 11 Form-Based Fill-in Scaffidis Toped Define topes – end user types – by choosing options

12 WEUSE-IV -5/12/08 12 Application Areas Spreadsheet (numerical) Sestofts Function Sheets Kankuzis visualizations Scaffidis topes McDaids Test-Driven Development Tool SOA (business) El-Gayyars TailorBPEL Borggrafes Paper-Based EUD Stoitsevs CTM, WCP, SQD Anslows WikiDocs and Wiki Business Query Web page programs Scaffidis topes Domain-Specific Languages Shanis UML class diagrams Prahofers Robot programs

13 WEUSE-IV -5/12/08 13 Dependability Use familiar paradigms Sestofts Function Sheets (uses familiar spreadsheet language) Providing abstraction and reusability Sestofts Function Sheets Help to only enter legal elements Prahofers semantic IntelliSence

14 WEUSE-IV -5/12/08 14 Dependability Better visibility while creating Visualization of Kankuzis system But any evidence that useful or helpful? Andy Kos WhyLine

15 WEUSE-IV -5/12/08 15 Dependability Automatic testing for consistency, etc. El-Gayyars TailorBPEL consistency and validation checks Support for collaboration Stoitsevs CTM, etc. Costabiles Workshops

16 WEUSE-IV -5/12/08 16 Dependability Continuous testing while authoring Most PBE approaches, e.g., Scaffidis topes McDaids Test-Driven Development Tool Enter expected input and output values

17 WEUSE-IV -5/12/08 17 Three Research Questions to Spark Discussion 1) How validate claims that the tool makes it possible or easier or more reliable for EU to create their programs? Too many of the papers have unsubstantiated, and questionable claims At least need evidence that someone was effective Valid user studies would be even better. But expensive and hard to design Statistical studies Con: not usually tested with experts Case-based prototypes Pro: More external validity – actual target (expert) users

18 WEUSE-IV -5/12/08 18 Three Research Questions to Spark Discussion 2) What is the appropriate form of collaboration support for development? To support collaboration between EU & developer To support collaboration EU & other EU Sharing, reuse, co-development, providing software at different layers Ad-hoc, unplanned collaborations Open Source EU software

19 WEUSE-IV -5/12/08 19 Three Research Questions to Spark Discussion 3) What should be considered after identifying a problem and before building a tool to solve it? How choose authoring paradigm (VP, PBE, etc.)? How choose primitives with which EUs write code? How plan for authoring more dependable software? Refs to help: [Blackwells VL/HCC 2002]: Attention [Green & Petre, ~JVLC 1996]: Cognitive Dimensions [Eriksson] patterns for end-user tailorable s/w

20 WEUSE-IV -5/12/08 20 Discussion Issue: How much re-use of actual software now? Professional programmers do reuse s/w Designers reuse examples, but not component-level Joels study of programmers: Willing to pick up new tools, but not libraries If libraries break, then no idea how to fix it Differences between tools and libraries? Jeff Styloss studies of API use Steven Clarkes opportunistic programmers APIs are hard to use But often have to use APIs and libraries

21 WEUSE-IV -5/12/08 21 Discussion Mary Shaws HVAC example What buildings have we done that are like this? Use that as a starting point Programming languages: can create syntax diagrams, but people start from examples Copy & paste programming People prefer to work from tangible examples

22 WEUSE-IV -5/12/08 22 Discussion Artifacts: what characterizes the solution E.g., Yahoo pipes, hard to tell what they do Put solutions in the context in which they might be relevant End-user tailoring Organizational studies Reusing, quality-assurance (Nardis SMOP) Case studies on the use side of reuse (not technical) CSCW perspective on sharing Lots of work on open-source [Henderson & McLean] Support for emergent collaboration Tailoring object – pass on to other users Level of formalization required from EUPs Distribution of work among different EUPs in the group Delegation and collaboration structures

23 WEUSE-IV -5/12/08 23 Discussion Need better ways to capture design rationale Random comments Not even supported in some visual programming Better annotations Try to get people to share and improve a single artifact Wiki model of creating extractors (rather than making your own) Encourage Rob Ennals ICFP2006 SAP Wiki work CoScripter – Wiki-based mashup builder People would grab top script and modify it But users didnt realize that they were messing up the official example Hartmans d.mix – focus on better ways to document APIs Uncover how web page scripting works from examples

24 WEUSE-IV -5/12/08 24 Discussion Progression of testing, e.g. of WYSIWYT? (Long story) Janice Singer: Lack of coordination and communication across communities Lots of communities have methodologies for almost all of these topics Measurement: edited volume on Empirical S/W Eng [Shull, Singer, Sjoberg]


Download ppt "1 End-User Tools for Creating Dependable Software Brad Myers Carnegie Mellon University Fourth Workshop on End-User Software Engineering WEUSE IV May 12,"

Similar presentations


Ads by Google