Foundations and Tools for End-User Architecting

Within an increasing number of domains an important emerging need is the ability for technically naive users to compose computational elements into novel configurations. Examples include astronomers who create new analysis pipelines to process telescopic data, intelligence analysts who must process diverse sources of unstructured text to discover socio-technical trends, and medical researchers who have to process brain image data in new ways to understand disease pathways. Creating such compositions today typically requires low-level technical expertise, limiting the use of computational methods and increasing the cost of using them. In this paper we describe an approach -- which we term end-user architecting -- that exploits the similarity between such compositional activities and those of software architects. Drawing on the rich heritage of software architecture languages, methods, and tools, we show how those techniques can be adapted to support end users in composing rich computational systems through domain-specific compositional paradigms and component repositories, without requiring that they have knowledge of the low-level implementation details of the components or the compositional infrastructure. Further, we outline a set of open research challenges that the area of end-user architecting raises.

[1]  Howie Goodell End-user computing , 1997, CHI Extended Abstracts.

[2]  David Garlan,et al.  Style-based reuse for software architectures , 1996, Proceedings of Fourth IEEE International Conference on Software Reuse.

[3]  Arthur W Toga,et al.  The LONI Pipeline Processing Environment , 2003, NeuroImage.

[4]  Kaminaga Tatsuro [A brief introduction about functional MRI]. , 2006, Nihon Ronen Igakkai zasshi. Japanese journal of geriatrics.

[5]  David Garlan,et al.  SWiFT: A Tool for Constructing Workflows for Dynamic Network Analysis , 2011 .

[6]  David Garlan,et al.  Documenting software architectures: views and beyond , 2002, 25th International Conference on Software Engineering, 2003. Proceedings..

[7]  Mary Shaw,et al.  The state of the art in end-user software engineering , 2011, ACM Comput. Surv..

[8]  James D. Hollan,et al.  Direct Manipulation Interfaces , 1985, Hum. Comput. Interact..

[9]  D. Eidelberg Metabolic brain networks in neurodegenerative disorders: a functional imaging approach , 2009, Trends in Neurosciences.

[10]  James D. Herbsleb,et al.  Scientific software production: incentives and collaboration , 2011, CSCW.

[11]  Cláudio T. Silva,et al.  VisTrails: enabling interactive multiple-view visualizations , 2005, VIS 05. IEEE Visualization, 2005..

[12]  Abdelsalam Helal,et al.  Enabling Smart Spaces with OSGi , 2003, IEEE Pervasive Comput..

[13]  Bonnie A. Nardi,et al.  A Small Matter of Programming: Perspectives on End User Computing , 1993 .

[14]  Catherine Letondal,et al.  Participatory Programming: Developing Programmable Bioinformatics Tools for End-Users , 2006, End User Development.

[15]  David Garlan,et al.  Bridging the Gap between Systems Design and Space Systems Software , 2005 .

[16]  Philip J. Guo,et al.  Two studies of opportunistic programming: interleaving web foraging, learning, and writing code , 2009, CHI.

[17]  Rick Kazman,et al.  Evaluating Software Architectures: Methods and Case Studies , 2001 .

[18]  David Garlan,et al.  Analyzing architectural styles , 2010, J. Syst. Softw..

[19]  David Garlan,et al.  Architecture-driven modelling and analysis , 2007 .

[20]  Daniel J. Blankenberg,et al.  Galaxy: a platform for interactive large-scale genome analysis. , 2005, Genome research.

[21]  David Garlan,et al.  Architectural Styles, Design Patterns, And Objects , 1997, IEEE Softw..

[22]  Robert Cloutier,et al.  Driving Major Change: The Balance between Methods and People , 2011 .

[23]  David Garlan,et al.  Acme: architectural description of component-based systems , 2000 .

[24]  Andrea Emilio Rizzoli,et al.  Modelling with knowledge: A review of emerging semantic approaches to environmental modelling , 2009, Environ. Model. Softw..

[25]  Paul Clements,et al.  Software architecture in practice , 1999, SEI series in software engineering.

[26]  Hong Yan,et al.  Discovering Architectures from Running Systems , 2006, IEEE Transactions on Software Engineering.

[27]  Michael J de Smith,et al.  Geospatial analysis - a comprehensive guide to principles, techniques and software tools (2. ed.) , 2007 .

[28]  Bradley R. Schmerl,et al.  SORASCS: a case study in soa-based platform design for socio-cultural analysis , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[29]  Brad A. Myers,et al.  Taxonomies of visual programming and program visualization , 1990, J. Vis. Lang. Comput..

[30]  Kathleen M. Carley A Dynamic Network Approach to the Assessment of Terrorist Groups and the Impact of Alternative Courses of Action , 2006 .

[31]  Judith Segal Some Problems of Professional End User Developers , 2007 .

[32]  Mary Beth Rosson,et al.  Design Planning in End-User Web Development , 2007 .

[33]  Bradley R. Schmerl,et al.  Bridging the Gap between Systems Design , 2005, 29th Annual IEEE/NASA Software Engineering Workshop.

[34]  David Garlan,et al.  A compositional formalization of connector wrappers , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[35]  J. Pekar,et al.  A brief introduction to functional MRI , 2006, IEEE Engineering in Medicine and Biology Magazine.

[36]  Yolanda Gil,et al.  Wings for Pegasus: Creating Large-Scale Scientific Applications Using Semantic Representations of Computational Workflows , 2007, AAAI.

[37]  Paul Clements,et al.  Software Architecture in Practice (Second Edition) , 2011 .

[38]  Richard N. Taylor,et al.  A framework for classifying and comparing architecture description languages , 1997, ESEC '97/FSE-5.

[39]  Alexander L. Wolf,et al.  Software architecture , 2001 .

[40]  Jacqueline Warren Mills,et al.  Geospatial Analysis: A Comprehensive Guide to Principles, Techniques, and Software Tools, Second Edition - by Michael J. de Smith, Michael F. Goodchild, and Paul A. Longley , 2008, Trans. GIS.

[41]  B. J. Ferro Castro,et al.  Pattern-Oriented Software Architecture: A System of Patterns , 2009 .

[42]  Daniel S. Katz,et al.  Pegasus: A framework for mapping complex scientific workflows onto distributed systems , 2005, Sci. Program..

[43]  W. Taha,et al.  Plenary talk III Domain-specific languages , 2008, 2008 International Conference on Computer Engineering & Systems.

[44]  Dragan C. Curcija Appendix A; Appendix B , 2006 .

[45]  Mary Shaw,et al.  Software architecture - perspectives on an emerging discipline , 1996 .

[46]  Edward A. Lee,et al.  CONCURRENCY AND COMPUTATION: PRACTICE AND EXPERIENCE Concurrency Computat.: Pract. Exper. 2000; 00:1–7 Prepared using cpeauth.cls [Version: 2002/09/19 v2.02] Taverna: Lessons in creating , 2022 .

[47]  Edward A. Lee,et al.  Scientific workflow management and the Kepler system , 2006, Concurr. Comput. Pract. Exp..

[48]  David Benjamin Hellar,et al.  The Ozone Widget Framework: towards modularity of C2 human interfaces , 2012, Defense, Security, and Sensing.

[49]  Aruna Raja,et al.  Domain Specific Languages , 2010 .

[50]  Henry Lieberman,et al.  Watch what I do: programming by demonstration , 1993 .

[51]  Bradley R. Schmerl,et al.  Using Service-oriented Architectures for Socio-Cultural Analysis , 2009, SEKE.

[52]  S.C. Strother,et al.  Evaluating fMRI preprocessing pipelines , 2006, IEEE Engineering in Medicine and Biology Magazine.

[53]  Ann Zimmerman,et al.  The Biomedical Informatics Research Network , 2008 .

[54]  Ying Zhao,et al.  Lexical Link Analysis for the Haiti earthquake Relief Operation Using Open Data Sources , 2011 .

[55]  Hong Yan,et al.  DiscoTect: a system for discovering architectures from running systems , 2004, Proceedings. 26th International Conference on Software Engineering.

[56]  David Garlan,et al.  Rapid development of custom software architecture design environments , 1999 .

[57]  B. F. Castro Buschmann, Frank; Meunier, Regine; Rohnert, Hans; Sommerlad, Peter; Stal, Michael. Pattern-oriented software architecture: a system of patterns, John Wiley & Sons Ltd, 1996 , 1997 .

[58]  Bradley R. Schmerl,et al.  Resolving Data Mismatches in End-User Compositions , 2013, IS-EUD.

[59]  Bradley R. Schmerl,et al.  An Architectural Approach to End User Orchestrations , 2011, ECSA.