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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Alion MA&D Operation. VIBES: Visualization of Belief Systems (May 2012), http://www.maad.com/index.pl/visualization_of_belief_systems
Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice, 2nd edn. Addison Wesley (2007) ISBN 0-201-19930-0
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)
Biomedical Informatics Research Network. (BIRN), http://www.birncommunity.org
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)
Buschmann, F., Meunier, R., Rohnert, H., Sommerlad, P., Stal, M.: Pattern Oriented Software Architecture: A System of Patterns. John Wiley & Sons (1996)
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)
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)
Clements, P., Kazman, R., Klein, M.: Evaluating Software Architectures: Methods and Case Studies. Addison Wesley (2001)
Cypher, A. (ed.): Watch What I Do – Programming by Demonstration. MIT Press, Cambridge (1993)
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)
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)
Eidelberg, D.: Metabolic brain networks in neurodegenerative disorders: A functional imaging approach. Trends Neurosci. 32, 548–557 (2009)
FMRIB Software Library (fsl), http://www.fmrib.ox.ac.uk/fsl/
Fowler, M.J.: Domain-Specific Languages. Addison-Wesley (2011)
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)
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)
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)
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)
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
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)
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)
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)
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)
Howison, J., Herbsleb, J.D.: Scientific software production: incentives and collaboration. In: CSCW, pp. 513–522 (2011)
Hutchins, E.L., Hollan, J.D., Norman, D.A.: Direct manipulation interfaces. Human Computer Interaction 1(4), 311–338 (1985)
Kim, J.S., Garlan, D.: Analyzing architectural styles. Journal of Software and Systems 83(7), 1216–1235 (2010)
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)
Lee, C., Nordstedt, D., Helal, S.: Enabling smart spaces with osgi. IEEE Pervasive Computing 2, 89–94 (2003)
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)
LexisNexis, http://www.lexisnexis.net
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)
McConahy, A.L., Herbsleb, J.D.: Platform design strategies: Contrasting case studies of two audio production systems. In: FutureCSD Workshop at CSCW (2011)
Medvidovic, N., Taylor, R.N.: A framework for classifying and comparing architecture description languages. In: ESEC / SIGSOFT FSE, pp. 60–76 (1997)
Monroe, R.T.: Rapid Develpomentof Custom Software Design Environments. PhD thesis, Carnegie Mellon University, School of Computer Science (July 1999)
Monroe, R.T., Garlan, D.: Style-based reuse for software architectures. In: Proceedings of the Fourth International Conference on Software Reuse (April 1996)
Monroe, R.T., Kompanek, A., Melton, R.E., Garlan, D.: Architectural styles, design patterns, and objects. IEEE Software 14(1), 43–52 (1997)
Moore, D.M., Crowe, P., Cloutier, R.: Driving major change: The balance between methods and people. Software Technology Support Center Hill AFB UT (2011)
Myers, B.A.: Taxonomies of visual programming and program visualization. J. Vis. Lang. Comput. 1(1), 97–123 (1990)
myExperiment, http://www.myexperiment.org/
Nardi, B.A.: A small matter of programming: perspectives on end user computing. MIT Press (1993)
neuGRID CNRS. N4u - neugrid for you, http://neugrid4you.eu
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)
Pekar, J.J.: A brief introduction to functional MRI. IEEE Engineering in Medicine and Biology Magazine 25(2), 24–26 (2006)
Potomac Fusion. Ozone/Synapse download portal (2012), http://widget.potomacfusion.com/main/home
Rex, D.E., Ma, J.Q., Toga, A.W.: The LONI Pipeline Processing Environment. Neuroimage 19, 1033–1048 (2003)
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 B
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 analysis
Segal, J.: Some problems of professional end user developers. In: VL/HCC, pp. 111–118 (2007)
Shaw, M., Garlan, D.: Software architecture - perspectives on an emerging discipline. Prentice Hall (1996)
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)
Spitznagel, B., Garlan, D.: A compositional formalization of connector wrappers. In: The 2003 International Conference on Software Engineering, ICSE 2003 (2003)
Strother, S.C.: Evaluating fMRI preprocessing pipelines. IEEE Engineering in Medicine and Biology Magazine 25(2), 27–41 (2006)
The Portuguese Brain Imaging Network Grid - IEETA. (BING), http://www.brainimaging.pt
The University of Manchester and the European Bioinformatics Institute (EMBL-EBI). BioCatalogue. The Life Science Web Services Registry, http://www.biocatalogue.org/
Elizondo, P.V., Dwivedi, V., Garlan, D., Schmerl, B., Fernandes, J.M.: Resolving data mismatches in end-user compositions (submitted for publication, 2012)
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)
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)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2012 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Garlan, D., Dwivedi, V., Ruchkin, I., Schmerl, B. (2012). Foundations and Tools for End-User Architecting. In: Calinescu, R., Garlan, D. (eds) Large-Scale Complex IT Systems. Development, Operation and Management. Monterey Workshop 2012. Lecture Notes in Computer Science, vol 7539. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-34059-8_9
Download citation
DOI: https://doi.org/10.1007/978-3-642-34059-8_9
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-34058-1
Online ISBN: 978-3-642-34059-8
eBook Packages: Computer ScienceComputer Science (R0)