Foundations and Tools for End-User Architecting

  • David Garlan
  • Vishal Dwivedi
  • Ivan Ruchkin
  • Bradley Schmerl
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7539)

Abstract

Within an increasing number of domains an important emerging need is the ability for technically naïve 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.

Keywords

end-user architecture end-user architecting software architecture end-user programming software composition software development tools 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Alion MA&D Operation. VIBES: Visualization of Belief Systems (May 2012), http://www.maad.com/index.pl/visualization_of_belief_systems
  2. 2.
    Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice, 2nd edn. Addison Wesley (2007) ISBN 0-201-19930-0Google Scholar
  3. 3.
    Bavoil, L., Callahan, S.P., Scheidegger, C.E., Vo, H.T., Crossno, P., Silva, C.T., Freire, J.: Vistrails: Enabling interactive multiple-view visualizations. In: IEEE Visualization, vol. 18 (2005)Google Scholar
  4. 4.
    Biomedical Informatics Research Network. (BIRN), http://www.birncommunity.org
  5. 5.
    Brandt, J., Guo, P.J., Lewenstein, J., Dontcheva, M., Klemmer, S.R.: Two studies of opportunistic programming: interleaving web foraging, learning, and writing code. In: CHI, pp. 1589–1598 (2009)Google Scholar
  6. 6.
    Buschmann, F., Meunier, R., Rohnert, H., Sommerlad, P., Stal, M.: Pattern Oriented Software Architecture: A System of Patterns. John Wiley & Sons (1996)Google Scholar
  7. 7.
    Carley, K.M.: A dynamic network approach to the assessment of terrorist groups and the impact of alternative courses of action. In: Visualizing Network Information Meeting, RTO-MP-IST 2006, France (2006)Google Scholar
  8. 8.
    Clements, P., Bachmann, F., Bass, L., Garlan, D., Ivers, J., Little, R., Merson, P., Nord, R., Stafford, J.: Documenting Software Architectures: Views and Beyond, 2nd edn. Addison-Wesley Professional (October 2010)Google Scholar
  9. 9.
    Clements, P., Kazman, R., Klein, M.: Evaluating Software Architectures: Methods and Case Studies. Addison Wesley (2001)Google Scholar
  10. 10.
    Cypher, A. (ed.): Watch What I Do – Programming by Demonstration. MIT Press, Cambridge (1993)Google Scholar
  11. 11.
    Deelman, E., Singh, G., Su, M.-H., Blythe, J., Gil, Y., Kesselman, C., Mehta, G., Vahi, K., Bruce Berriman, G., Good, J., Laity, A.C., Jacob, J.C., Katz, D.S.: Pegasus: A framework for mapping complex scientific workflows onto distributed systems. Scientific Programming 13(3), 219–237 (2005)Google Scholar
  12. 12.
    Dwivedi, V., Velasco-Elizondo, P., Maria Fernandes, J., Garlan, D., Schmerl, B.: An Architectural Approach to End User Orchestrations. In: Crnkovic, I., Gruhn, V., Book, M. (eds.) ECSA 2011. LNCS, vol. 6903, pp. 370–378. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  13. 13.
    Eidelberg, D.: Metabolic brain networks in neurodegenerative disorders: A functional imaging approach. Trends Neurosci. 32, 548–557 (2009)CrossRefGoogle Scholar
  14. 14.
    FMRIB Software Library (fsl), http://www.fmrib.ox.ac.uk/fsl/
  15. 15.
    Fowler, M.J.: Domain-Specific Languages. Addison-Wesley (2011)Google Scholar
  16. 16.
    Garlan, D., Carley, K.M., Schmerl, B., Bigrigg, M., Celiku, O.: Using service-oriented architectures for socio-cultural analysis. In: Proceedings of the 21st International Conference on Software Engineering and Knowledge Engineering (SEKE 2009), Boston, USA, July 1-3 (2009)Google Scholar
  17. 17.
    Garlan, D., Monroe, R.T., Wile, D.: Acme: Architectural description of component-based systems. In: Leavens, G.T., Sitaraman, M. (eds.) Foundations of Component-Based Systems, p. 47. Cambridge University Press (2000)Google Scholar
  18. 18.
    Garlan, D., Reinholtz, W.K., Schmerl, B., Sherman, N., Tseng, T.: Bridging the gap between systems design and space systems software. In: Proceedings of the 29th Annual IEEE/NASA Software Engineering Workshop (SEW-29), Greenbelt, MD, April 6-7 (2005)Google Scholar
  19. 19.
    Garlan, D., Schmerl, B.: Architecture-driven modelling and analysis. In: Cant, T. (ed.) Proceedings of the 11th Australian Workshop on Safety Related Programmable Systems (SCS 2006), Melbourne, Australia. Conferences in Research and Practice in Information Technology, vol. 69 (2006)Google Scholar
  20. 20.
    Garlan, D., Schmerl, B., Dwivedi, V., Banerjee, A., Glendenning, L., Nakayama, M., Patel, N.: Swift: A tool for constructing workflows for dynamic network analysis (2011), http://acme.able.cs.cmu.edu/pubs/show.php?id=333
  21. 21.
    Giardine, B., Riemer, C., Hardison, R.C., Burhans, R., Elnitski, L., Shah, P., Zhang, Y., Blankenberg, D., Albert, I., Taylor, J., Miller, W., Kent, W.J., Nekrutenko, A.: Galaxy: a platform for interactive large-scale genome analysis. Genome Res. 15(10), 1451–1455 (2005)CrossRefGoogle Scholar
  22. 22.
    Gil, Y., Ratnakar, V., Deelman, E., Mehta, G., Kim, J.: Wings for Pegasus: Creating large-scale scientific applications using semantic representations of computational workflows. In: AAAI, pp. 1767–1774 (2007)Google Scholar
  23. 23.
    Goodell, H.: End-user computing. In: CHI 1997 Extended Abstracts on Human Factors in Computing Systems: Looking to the Future, CHI EA 1997, pp. 132–132. ACM, New York (1997)CrossRefGoogle Scholar
  24. 24.
    Hellar, D.B., Vega, L.C.: The Ozone Widget Framework: towards modularity for C2 human interfaces. In: Proceedings of SPIE Conference on Defense Transformation and Net-Centric Systems, Baltimore, Maryland (2012)Google Scholar
  25. 25.
    Howison, J., Herbsleb, J.D.: Scientific software production: incentives and collaboration. In: CSCW, pp. 513–522 (2011)Google Scholar
  26. 26.
    Hutchins, E.L., Hollan, J.D., Norman, D.A.: Direct manipulation interfaces. Human Computer Interaction 1(4), 311–338 (1985)CrossRefGoogle Scholar
  27. 27.
    Kim, J.S., Garlan, D.: Analyzing architectural styles. Journal of Software and Systems 83(7), 1216–1235 (2010)CrossRefGoogle Scholar
  28. 28.
    Ko, A.J., Abraham, R., Beckwith, L., Blackwell, A.F., Burnett, M.M., Erwig, M., Scaffidi, C., Lawrance, J., Lieberman, H., Myers, B.A., Rosson, M.B., Rothermel, G., Shaw, M., Wiedenbeck, S.: The state of the art in end-user software engineering. ACM Comput. Surv. 43(3), 21 (2011)CrossRefGoogle Scholar
  29. 29.
    Lee, C., Nordstedt, D., Helal, S.: Enabling smart spaces with osgi. IEEE Pervasive Computing 2, 89–94 (2003)Google Scholar
  30. 30.
    Letondal, C.: Participatory programming: Developing programmable bioinformatics tools for end-users. In: Lieberman, H., Paterno, F., Wulf, V. (eds.) End-User Development, pp. 207–242 (2005)Google Scholar
  31. 31.
  32. 32.
    Ludäscher, B., Altintas, I., Berkley, C., Higgins, D., Jaeger, E., Jones, M.B., Lee, E.A., Tao, J., Zhao, Y.: Scientific workflow management and the Kepler system. Concurrency and Computation: Practice and Experience 18(10), 1039–1065 (2006)CrossRefGoogle Scholar
  33. 33.
    McConahy, A.L., Herbsleb, J.D.: Platform design strategies: Contrasting case studies of two audio production systems. In: FutureCSD Workshop at CSCW (2011)Google Scholar
  34. 34.
    Medvidovic, N., Taylor, R.N.: A framework for classifying and comparing architecture description languages. In: ESEC / SIGSOFT FSE, pp. 60–76 (1997)Google Scholar
  35. 35.
    Monroe, R.T.: Rapid Develpomentof Custom Software Design Environments. PhD thesis, Carnegie Mellon University, School of Computer Science (July 1999)Google Scholar
  36. 36.
    Monroe, R.T., Garlan, D.: Style-based reuse for software architectures. In: Proceedings of the Fourth International Conference on Software Reuse (April 1996)Google Scholar
  37. 37.
    Monroe, R.T., Kompanek, A., Melton, R.E., Garlan, D.: Architectural styles, design patterns, and objects. IEEE Software 14(1), 43–52 (1997)CrossRefGoogle Scholar
  38. 38.
    Moore, D.M., Crowe, P., Cloutier, R.: Driving major change: The balance between methods and people. Software Technology Support Center Hill AFB UT (2011)Google Scholar
  39. 39.
    Myers, B.A.: Taxonomies of visual programming and program visualization. J. Vis. Lang. Comput. 1(1), 97–123 (1990)CrossRefGoogle Scholar
  40. 40.
  41. 41.
    Nardi, B.A.: A small matter of programming: perspectives on end user computing. MIT Press (1993)Google Scholar
  42. 42.
    neuGRID CNRS. N4u - neugrid for you, http://neugrid4you.eu
  43. 43.
    Oinn, T.M., Mark Greenwood, R., Addis, M., Nedim Alpdemir, M., Ferris, J., Glover, K., Goble, C.A., Goderis, A., Hull, D., Marvin, D., Li, P., Lord, P.W., Pocock, M.R., Senger, M., Stevens, R., Wipat, A., Wroe, C.: Taverna: lessons in creating a workflow environment for the life sciences. Concurrency and Computation: Practice and Experience 18(10), 1067–1100 (2006)CrossRefGoogle Scholar
  44. 44.
    Pekar, J.J.: A brief introduction to functional MRI. IEEE Engineering in Medicine and Biology Magazine 25(2), 24–26 (2006)CrossRefGoogle Scholar
  45. 45.
    Potomac Fusion. Ozone/Synapse download portal (2012), http://widget.potomacfusion.com/main/home
  46. 46.
    Rex, D.E., Ma, J.Q., Toga, A.W.: The LONI Pipeline Processing Environment. Neuroimage 19, 1033–1048 (2003)CrossRefGoogle Scholar
  47. 47.
    Schmerl, B., Aldrich, J., Garlan, D., Kazman, R., Yan, H.: Discovering architectures from running systems. IEEE Transactions on Software Engineering 32(7) (July 2006); also available from IEEE. Appendix A, Appendix BGoogle Scholar
  48. 48.
    Schmerl, B.R., Garlan, D., Dwivedi, V., Bigrigg, M.W., Carley, K.M.: SORASCS: a case study in SOA-based platform design for socio-cultural analysisGoogle Scholar
  49. 49.
    Segal, J.: Some problems of professional end user developers. In: VL/HCC, pp. 111–118 (2007)Google Scholar
  50. 50.
    Shaw, M., Garlan, D.: Software architecture - perspectives on an emerging discipline. Prentice Hall (1996)Google Scholar
  51. 51.
    de Smith, M.J., Goodchild, M.F., Longley, P.A.: Geospatial Analysis: A Comprehensive Guide to Principles, Techniques and Software Tools, 2nd edn. Troubador Publishing Ltd. (December 2007)Google Scholar
  52. 52.
    Spitznagel, B., Garlan, D.: A compositional formalization of connector wrappers. In: The 2003 International Conference on Software Engineering, ICSE 2003 (2003)Google Scholar
  53. 53.
    Strother, S.C.: Evaluating fMRI preprocessing pipelines. IEEE Engineering in Medicine and Biology Magazine 25(2), 27–41 (2006)CrossRefGoogle Scholar
  54. 54.
    The Portuguese Brain Imaging Network Grid - IEETA. (BING), http://www.brainimaging.pt
  55. 55.
    The University of Manchester and the European Bioinformatics Institute (EMBL-EBI). BioCatalogue. The Life Science Web Services Registry, http://www.biocatalogue.org/
  56. 56.
    Elizondo, P.V., Dwivedi, V., Garlan, D., Schmerl, B., Fernandes, J.M.: Resolving data mismatches in end-user compositions (submitted for publication, 2012)Google Scholar
  57. 57.
    Villa, F., Athanasiadis, I.N., Rizzoli, A.E.: Modelling with knowledge: A review of emerging semantic approaches to environmental modelling. Environmental Modelling and Software 24(5), 577–587 (2009)CrossRefGoogle Scholar
  58. 58.
    Yan, H., Garlan, D., Schmerl, B., Aldrich, J., Kazman, R.: DiscoTect: A system for discovering architectures from running systems. In: Proceedings of the 26th International Conference on Software Engineering, Edinburgh, Scotland, May 23-28 (2004)Google Scholar
  59. 59.
    Zhao, Y., Gallup, S.P., MacKinnon, D.J.: Lexical link analysis for the haiti earthquake relief operation using open data sources. In: International Command and Control, Research and Technology Symposium, Québec City, Canada, June 21-23 (2011)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • David Garlan
    • 1
  • Vishal Dwivedi
    • 1
  • Ivan Ruchkin
    • 1
  • Bradley Schmerl
    • 1
  1. 1.School of Computer ScienceCarnegie Mellon UniversityPittsburghUSA

Personalised recommendations