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

Slides:



Advertisements
Similar presentations
Ernst Oberortner Vienna University of Technology.
Advertisements

Práctica con el verbo tener 1.I have a notebook. 2.She has a pen. 3.They have a car. 4.We have some notebooks. 5.You have a pencil.
Requirements Engineering Processes – 2
Chapter 12 Decision Support Systems
Chapter 16 Graphical User Interfaces
1 End-User Programming to Support Classroom Activities on Small Devices Craig Prince University of Washington VL/HCC 2008.
© 2005 by Prentice Hall Appendix 3 Object-Oriented Analysis and Design Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F. George.
Chapter 7 System Models.
© 2008 The MathWorks, Inc. ® ® Using Instant Messaging to Usability Test an API Rachel Cobleigh Donna Cooper.
Service Oriented Architecture Reference Model
ASYCUDA Overview … a summary of the objectives of ASYCUDA implementation projects and features of the software for the Customs computer system.
1 End User Software Engineering Mary Shaw Carnegie Mellon University.
Debugging in End- User Software Engineering summarized by Andrew Ko Toward Sharing Reasoning to Improve Fault Localization in Spreadsheets Joey Lawrance,
Implementation of a Validated Statistical Computing Environment Presented by Jeff Schumack, Associate Director – Drug Development Information September.
Business Transaction Management Software for Application Coordination 1 Business Processes and Coordination.
XP New Perspectives on Microsoft Office Word 2003 Tutorial 7 1 Microsoft Office Word 2003 Tutorial 7 – Collaborating With Others and Creating Web Pages.
Jeopardy Q 1 Q 6 Q 11 Q 16 Q 21 Q 2 Q 7 Q 12 Q 17 Q 22 Q 3 Q 8 Q 13
Jeopardy Q 1 Q 6 Q 11 Q 16 Q 21 Q 2 Q 7 Q 12 Q 17 Q 22 Q 3 Q 8 Q 13
Title Subtitle.
Addition Facts
Making the System Operational
Copyright 2006 Digital Enterprise Research Institute. All rights reserved. MarcOnt Initiative Tools for collaborative ontology development.
BALANCING 2 AIM: To solve equations with variables on both sides.
Visual Model-based Software Development EUD-Net Workshop, Pisa, Italy September 23 rd, 2002 University of Paderborn Gregor Engels, Stefan Sauer University.
Profiles Construction Eclipse ECESIS Project Construction of Complex UML Profiles UPM ETSI Telecomunicación Ciudad Universitaria s/n Madrid 28040,
Introduction Lesson 1 Microsoft Office 2010 and the Internet
Week 2 The Object-Oriented Approach to Requirements
Configuration management
Software change management
1 Dr. Ashraf El-Farghly SECC. 2 Level 3 focus on the organization - Best practices are gathered across the organization. - Processes are tailored depending.
Object-Oriented Software Engineering Visual OO Analysis and Design
Testing Workflow Purpose
1 Web-Enabled Decision Support Systems Access Introduction: Touring Access Prof. Name Position (123) University Name.
State of Connecticut Core-CT Project Query 8 hrs Updated 6/06/2006.
Code Generation in CDE Remi Lequette ILOG.
1 Elevators, Airbags & FM Radio Communication Planning Innovation and Next Practice Division (DEECD) Design Teams Professional Development Workshop February.
Use Case Diagrams.
Request Tracker IT Partners Conference Oliver Thomas 19 April 2005.
XP New Perspectives on Introducing Microsoft Office 2003 Tutorial 1 1 Using Common Features of Microsoft Office 2003 Tutorial 1.
Microsoft Office Illustrated Fundamentals Unit C: Getting Started with Unit C: Getting Started with Microsoft Office 2010 Microsoft Office 2010.
1 UML ++ Mohamed T IBRAHIM University of Greenwich -UK.
Copyright © 2011, Splunk Inc.Listen to your data. Get Started with Splunk Reports & Dashboards.
Squares and Square Root WALK. Solve each problem REVIEW:
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 27 Slide 1 Quality Management.
Chapter 11 Software Evolution
1 Knowledge Transfer Concepts Presented by the Division of Personnel State of Alaska.
آزمایشگاه مهندسی نرم افزار
Executional Architecture
Web Design Principles 5th Edition
Visual Scripting of XML
]po[ Docu Wiki.  ]project-opem[ 2008, Rollout Methodology / Frank Bergmann / 2 Types of Readers  Beginners – These users have just started using ]po[.
Addition 1’s to 20.
Pasewark & Pasewark Microsoft Office XP: Introductory Course 1 INTRODUCTORY MICROSOFT WORD Lesson 8 – Increasing Efficiency Using Word.
25 seconds left…...
Week 1.
Chapter 10: The Traditional Approach to Design
Systems Analysis and Design in a Changing World, Fifth Edition
We will resume in: 25 Minutes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 1 Application architectures.
14-1 © Prentice Hall, 2004 Chapter 14: OOSAD Implementation and Operation (Adapted) Object-Oriented Systems Analysis and Design Joey F. George, Dinesh.
14-1 © Prentice Hall, 2004 Chapter 14: OOSAD Implementation and Operation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
Use the buttons on the top to navigate through the presentation 1 PrevNext Menu.
1 A Systematic Review of Cross- vs. Within-Company Cost Estimation Studies Barbara Kitchenham Emilia Mendes Guilherme Travassos.
INFORMATION SOLUTIONS Citation Analysis Reports. Copyright 2005 Thomson Scientific 2 INFORMATION SOLUTIONS Provide highly customized datasets based on.
Languages for IT & CS Pseudo-code What HTML isn’t Early history Compiling & interpreting Classifying languages The process of programming.
1 Distributed Agents for User-Friendly Access of Digital Libraries DAFFODIL Effective Support for Using Digital Libraries Norbert Fuhr University of Duisburg-Essen,
From Model-based to Model-driven Design of User Interfaces.
A Comparative Framework for End User Development
ANALYSIS PHASE OF BUSINESS SYSTEM DEVELOPMENT METHODOLOGY.
Presentation transcript:

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

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

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

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

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

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

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

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

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

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 , to- do, etc. Scaffidis Topes Can have a tope created from multiple examples

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

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

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

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

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

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

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

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

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

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

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

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

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

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]