Skip to main content

Software Engineering for Ensembles

  • Chapter

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 5380))

Abstract

Software development is difficult, even if we control most of the operational parameters and if the software is designed to run on a single machine. But in the future we will face an even more challenging task: engineering ensembles consisting of thousands, or even millions, of nodes, all operating in parallel, with open boundaries, possibly unreliable components and network links, and governed by multiple entities. To develop reliable and trustworthy software for these kinds of systems we need to go far beyond the current state of the art and address fundamental problems in software development. We present some challenges and promising avenues for research about software-engineering for ensembles.

This work has been partially sponsored by the projects Sensoria, IST-2 005-016004 and InterLink, IST-FET CN 034051.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Feigenbaum, E.: Interview with Donald Knuth: A life’s work interrupted. Commun. ACM 51(8), 31–35 (2008)

    Article  Google Scholar 

  2. Frederick, P., Brooks, J.: No Silver Bullet Essence and Accidents of Software Engineering. Computer 20(4), 10–19 (1987)

    Article  Google Scholar 

  3. Frederick, P., Brooks, J.: The Mythical Man-Month: After 20 Years. IEEE Softw. 12(5), 57–60 (1995)

    Article  Google Scholar 

  4. Kranakis, E.: Primality and Cryptography. Wiley-Teubner Series in Computer Science. B. G. Teubner, Stuttgart (1987)

    MATH  Google Scholar 

  5. Booch, G., Rumbaugh, J., Jacobson, I.: The Unified Modeling Language User Guide, 2nd edn. Addison-Wesley, Reading (2005)

    Google Scholar 

  6. Amelunxen, C., Schürr, A.: Vervollständigung des Constraint-basierten Assoziationskonzeptes von UML 2.0. In: Mayr, H., Breu, R. (eds.) Proc. of Modellierung 2006, Bonn, Gesellschaft für Informatik, Gesellschaft für Informatik. Lecture Notes in Informatics, vol. P-82, pp. 163–172 (2006)

    Google Scholar 

  7. Cook, S., Kent, S.: The unified modelling language. In: [80], pp. 611–627

    Google Scholar 

  8. Misra, A., Karsai, G., Sztipanovits, J.: Model-integrated development of complex applications. In: SAST 1997: Proceedings of the 5th International Symposium on Assessment of Software Tools (SAST 1997), Washington, DC, USA, p. 14. IEEE Computer Society Press, Los Alamitos (1997)

    Google Scholar 

  9. Karsai, G., Ledeczi, A., Neema, S., Sztipanovits, J.: The model-integrated computing toolsuite: Metaprogrammable tools for embedded control system design. In: Proc. of the IEEE Joint Conference CCA, ISIC and CACSD, Munich, Germany, pp. 50–55 (October 2006)

    Google Scholar 

  10. Mellor, S.J., Kendall, S., Uhl, A., Weise, D.: MDA Distilled. Addison Wesley Longman Publishing Co., Inc., Redwood City (2004)

    Google Scholar 

  11. Object Management Group: Model Driven Architecture (OMG) (Last visited: June 2008), http://www.omg.org/mda/

  12. Schumann, J.M.: Automated Theorem Proving in Software Engineering. Springer, Heidelberg (2001)

    Book  Google Scholar 

  13. CADE: Conference on Automated Deduction, Conference Web Site (last accessed 2008-09-16), http://www.cadeconference.org/

  14. IJCAR: International Joint Conference on Automated Reasoning, Conference Web Site (last accessed 2008-09-16), http://www.ijcar.org/

  15. Rushby, J.: Harnessing disruptive innovation in formal verification. In: Hung, D.V., Pandya, P. (eds.) Fourth International Conference on Software Engineering and Formal Methods (SEFM), Pune, India, September 2006, pp. 21–28. IEEE Computer Society, Los Alamitos (2006)

    Chapter  Google Scholar 

  16. Gotel, O., Finkelstein, A.: An analysis of the requirements traceability problem. In: Arnold, R., Bohner, S. (eds.) Software Change Impact Analysis. IEEE Computer Society Press, Los Alamitos (1996)

    Google Scholar 

  17. Tekinerdogan, B., Hofmann, C., Aksit, M.: Modeling traceability of concerns in architectural views. In: AOM 2007: Proceedings of the 10th international workshop on Aspect-oriented modeling, pp. 49–56. ACM, New York (2007)

    Google Scholar 

  18. Kaufmann, M., Panagiotis, M., Strother, M.J.: Computer-Aided Reasoning—An Approach. Advances in Formal Methods. Kluwer Academic Publishers, Dordrecht (2000)

    Google Scholar 

  19. Owre, S., Rushby, J.M., Shankar, N.: PVS: A prototype verification system. In: Kapur, D. (ed.) CADE 1992. LNCS (LNAI), vol. 607, pp. 748–752. Springer, Heidelberg (1992)

    Google Scholar 

  20. Owre, S., Rushby, J., Shankar, N., Stringer-Calvert, D.: PVS: an experience report. In: Hutter, D., Stephan, W., Traverso, P., Ullman, M. (eds.) FM-Trends 1998. LNCS, vol. 1641, pp. 338–345. Springer, Heidelberg (1999)

    Google Scholar 

  21. McDonald, J., Anton, J.: SPECWARE—Producing Software Correct by Construction. Technical Report KES.U.01.3, Kestrel Institute (March 2001)

    Google Scholar 

  22. Baader, F., Calvanese, D., McGuinness, D.L., Nardi, D., Patel-Schneider, P.F. (eds.): The Description Logic Handbook: Theory, Implementation, and Applications, 2nd edn. Cambridge University Press, Cambridge (2007)

    MATH  Google Scholar 

  23. Gnesi, S., Mazzanti, F.: A model checking verification environment for UML statecharts. In: Proceedings XLIII AICA Annual Conference, University of Udine - AICA 2005, October 2-5 (2005)

    Google Scholar 

  24. Blackburn, P., van Benthem, J.F.A.K., Wolter, F.: Handbook of Modal Logic. Studies in Logic and Practical Reasoning, vol. 3. Elsevier Science Inc., New York (2006)

    MATH  Google Scholar 

  25. van Harmelen, F., Lifschitz, V., Porter, B. (eds.): Handbook of Knowledge Representation. Foundations of Artificial Intelligence. Elsevier, Amsterdam (2007)

    MATH  Google Scholar 

  26. Brachman, R., Levesque, H.: Knowledge Representation and Reasoning. Morgan Kaufmann Publishers Inc., San Francisco (2004)

    MATH  Google Scholar 

  27. Sowa, J.F.: Knowledge Representation: Logical, Philosophical and Computational Foundations. Thomson Learning (1999)

    Google Scholar 

  28. Giarratano, J.C., Riley, G.: Expert Systems, Principles and Programming. PWS Publishing Company (2005)

    Google Scholar 

  29. Struss, P.: Model-Based Problem Solving. In: [25], pp. 395–465

    Google Scholar 

  30. Stickel, M.E.: Automated deduction by theory resolution. Journal of Automated Reasoning 1, 333–355 (1985)

    Article  MathSciNet  MATH  Google Scholar 

  31. Nelson, G., Oppen, D.C.: Simplification by cooperating decision procedures. ACM Trans. Program. Lang. Syst. 1(2), 245–257 (1979)

    Article  MATH  Google Scholar 

  32. Copeland, J.B.: Cyc: A case study in ontological engineering. Electronic Journal of Analytic Philosophy 5 (1997)

    Google Scholar 

  33. Ramach, D., Reagan, R.P., Goolsbey, K.: First-orderized researchcyc: Expressivity and efficiency in a common-sense ontology. In: Papers from the AAAI Workshop on Contexts and Ontologies: Theory, Practice and Applications (2005)

    Google Scholar 

  34. Hart, P.E.: Directions for ai in the eighties. SIGART Bull. 79, 11–16 (1982)

    Article  Google Scholar 

  35. Davis, R.: Expert systems: Where are we? and where do we go from here? AI Magazine 3(2), 3–22 (1982)

    Google Scholar 

  36. Chandrasekaran, B., Mittal, S.: Deep versus compiled knowledge approaches to diagnostic problem-solving. In: AAAI, pp. 349–354 (1982)

    Google Scholar 

  37. OpenCyc (last accessed 2008-09-15), http://www.opencyc.org/

  38. Dutoit, A.H., McCall, R., Mistrik, I., Paech, B.: Rationale Management in Software Engineering. Springer, New York (2006)

    Book  Google Scholar 

  39. Pearl, J.: Causality: Models, Reasoning and Inference. Cambridge University Press, Cambridge (2000)

    MATH  Google Scholar 

  40. Avin, C., Shpitser, I., Pearl, J.: Identifiability of path-specific effects. In: Kaelbling, L.P., Saffiotti, A. (eds.) IJCAI, pp. 357–363. Professional Book Center (2005)

    Google Scholar 

  41. McCarthy, J., Hayes, P.J.: Some philosophical problems from the standpoint of artificial intelligence. In: Meltzer, B., Michie, D. (eds.) Machine Intelligence 4, pp. 463–502. Edinburgh University Press (1969) (reprinted in McC90)

    Google Scholar 

  42. Reiter, R.: Knowledge in Action. MIT Press, Cambridge (2001)

    MATH  Google Scholar 

  43. Mueller, E.T.: Commonsense Reasoning. Morgan Kaufmann, San Francisco (2006)

    Google Scholar 

  44. Hopkins, M., Pearl, J.: Causality and counterfactuals in the situation calculus. J. Log. Comput. 17(5), 939–953 (2007)

    Article  MathSciNet  MATH  Google Scholar 

  45. Sommerville, I.: Software Engineering, 8th edn. Addison-Wesley, Reading (2007)

    MATH  Google Scholar 

  46. Bedau, M.A.: Weak emergence. In: Tomberlin, J. (ed.) Philosophical Perspectives: Mind, Causation, and World, vol. 11, pp. 375–399. Blackwell Publishers, Malden (1997)

    Google Scholar 

  47. Costanza, P., Hirschfeld, R.: Language constructs for context-oriented programming: an overview of contextl. In: DLS 2005: Proceedings of the 2005 symposium on Dynamic languages, pp. 1–10. ACM, New York (2005)

    Google Scholar 

  48. Costanza, P., Hirschfeld, R.: Reflective layer activation in contextl. In: SAC 2007, pp. 1280–1285. ACM, New York (2007)

    Chapter  Google Scholar 

  49. Thompson, A., Layzell, P., Zebulum, R.S.: Explorations in design space: Unconventional electronics design through artificial evolution. IEEE Trans. Evol. Comp. 3(3), 167–196 (1999)

    Article  Google Scholar 

  50. Garvie, M., Thompson, A.: Scrubbing away transients and jiggling around the permanent: Long survival of FPGA systems through evolutionary self-repair. In: Metra, C., Leveugle, R., Nicolaidis, M., Teixeira, J. (eds.) ICES 2003. LNCS, vol. 2606, pp. 155–160. IEEE Computer Society, Los Alamitos (2004)

    Chapter  Google Scholar 

  51. Thompson, A.: Notes on design through artificial evolution: Opportunities and algorithms. In: Parmee, I.C. (ed.) Adaptive computing in design and manufacture V, pp. 17–26. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  52. Koza, J.R.: Survey of genetic algorithms and genetic programming. In: Proceedings of the Wescon 1995 - Conference Record: Microelectronics, Communications Technology, Producing Quality Products, Mobile and Portable Power, Emerging Technologies, pp. 589–594. IEEE Press, Los Alamitos (1995)

    Google Scholar 

  53. Koza, J.R., Keane, M.A., Yu, J., Forrest, H., Bennett, I., Mydlowec, W.: Automatic creation of human-competitive programs and controllers by means of genetic programming. Genetic Programming and Evolvable Machines 1(1-2), 121–164 (2000)

    Article  MATH  Google Scholar 

  54. Kiczales, G., des Rivières, J., Bobrow, D.G.: The Art of the Metaobject Protocol. MIT Press, Cambridge (1991)

    Google Scholar 

  55. Hölzl, M.: A model-based architecture for entertainment applications. In: White, J. (ed.) Proceedings of the 25th International Lisp Conference, Association of Lisp Users (2005)

    Google Scholar 

  56. Wainwright, R.T.: Life is universal! In: WSC 1974: Proceedings of the 7th conference on Winter simulation, pp. 449–459. ACM, New York (1974)

    Google Scholar 

  57. Beer, R.D.: Autopoiesis and cognition in the game of life. Artif. Life 10(3), 309–326 (2004)

    Article  Google Scholar 

  58. Gotts, N.M., Callahan, P.B.: Emergent structures in sparse fields of conway’s game of life. In: ALIFE: Proceedings of the sixth international conference on Artificial life, pp. 104–113. MIT Press, Cambridge (1998)

    Google Scholar 

  59. European Commission: FET Proactive Initiative: Massive ICT Systems (last accessed 2008-09-18), http://cordis.europa.eu/fp7/ict/fet-proactive/massict_en.html

  60. Finkelstein, A., Kramer, J., Nuseibeh, B., Finkelstein, L., Goedicke, M.: Viewpoints: a framework for integrating multiple perspectives in system development. International Journal of Software Engineering and Knowledge Engineering 2(1), 31–57 (1992)

    Article  Google Scholar 

  61. Finkelstein, A.: Relating viewpoints. In: ACM SIGSOFT 1996 Workshop - Viewpoints 1996, p. 157. ACM Press, New York (1996)

    Google Scholar 

  62. Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.G.: An overview of aspectJ. In: Knudsen, J.L. (ed.) ECOOP 2001. LNCS, vol. 2072, pp. 327–353. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  63. Ossher, H., Tarr, P.: Using multidimensional separation of concerns to (re)shape evolving software. Commun. ACM 44(10), 43–50 (2001)

    Article  Google Scholar 

  64. Hölzl, M.: Combining language extensions. In: de Lacaze, R. (ed.) Proceedings of the International Lisp Conference 2003, Association of Lisp Users (2003)

    Google Scholar 

  65. AOSD: Aspect-oriented software development conference web site (last accessed 2008-09-15), http://aosd.net/

  66. Lahire, P., Morin, B., Vanwormhoudt, G., Gaignard, A., Barais, O., Jézéquel, J.M.: Introducing variability into aspect-oriented modeling approaches. In: [88], pp. 498–513

    Google Scholar 

  67. Whittle, J., Moreira, A., Araújo, J., Jayaraman, P.K., Elkhodary, A.M., Rabbi, R.: An expressive aspect composition language for uml state diagrams. In: [88], pp. 514–528

    Google Scholar 

  68. Zhang, G., Hölzl, M.M., Knapp, A.: Enhancing uml state machines with aspects. In: [88], pp. 529–543

    Google Scholar 

  69. Poppendieck, M., Poppendieck, T.: Lean Software Development: An Agile Toolkit. Addison-Wesley Longman Publishing Co., Inc., Boston (2003)

    Google Scholar 

  70. Kegel, H., Steimann, F.: Systematically refactoring inheritance to delegation in java. In: Robby (ed.) ICSE, pp. 431–440. ACM, New York (2008)

    Chapter  Google Scholar 

  71. Steimann, F.: Personal communication

    Google Scholar 

  72. Nierstrasz, O., Denker, M., Gîrba, T., Lienhard, A., Röthlisberger, D.: Change-enabled software systems. In: Wirsing, M., et al. (eds.) Software-Intensive Systems. LNCS, vol. 5380. Springer, Heidelberg (2008)

    Google Scholar 

  73. Git: Web site for the git distributed version control system (last accessed 2008-09-09), http://git.or.cz/

  74. Mercurial: Web site for the mercurial distributed version control system (last accessed 2008-09-09), http://www.selenic.com/mercurial/wiki/

  75. Monotone: Web site for the monotone distributed version control system (last accessed 2008-09-09), http://monotone.ca/

  76. Darcs: Web site for the darcs distributed version control system (last accessed 2008-09-09), http://darcs.net/

  77. Evans, E.: Domain-Driven Design: Tackling Complexity in the Heart of Software. Addison-Wesley Professional, Reading (2004)

    Google Scholar 

  78. Jackson, M.: Problem Frames: Analysing and Structuring Software Development Problems. Pearson Education, London (2001)

    Google Scholar 

  79. Pohl, K., Böckle, G., van der Linden, F.J.: Software Product Line Engineering: Foundations, Principles and Techniques. Springer, Heidelberg (2005)

    Book  MATH  Google Scholar 

  80. Greenfield, J., Short, K.: Software Factories: Assembling Applications with Patterns, Frameworks, Models and Tools. Wiley, Chichester (2004)

    Google Scholar 

  81. Czarnecki, K., Eisenecker, U.: Generative Programming: Methods, Tools and Applications. Addison-Wesley Professional, Reading (2000)

    Google Scholar 

  82. Rauschmayer, A., Knapp, A., Wirsing, M.: Consistency checking in an infrastructure for large-scale generative programming. In: Proc. 19th IEEE Int. Conf. Automated Software Engineering (ASE), September 2004, pp. 238–247. IEEE, Los Alamitos (2004)

    Google Scholar 

  83. Batory, D., Sarvela, J., Rauschmayer, A.: Scaling step-wise refinement. ACM Transactions on Software Engineering (TSE) 30(6), 355–371 (2004)

    Article  Google Scholar 

  84. Fowler, M.: Domain specific languages (last accessed 2008-09-16), http://martinfowler.com/dslwip/

  85. Graham, P.: On Lisp: advanced techniques for Common Lisp. Prentice-Hall, Englewood Cliffs (1994)

    Google Scholar 

  86. Krebs, B.: Cyber incident blamed for nuclear power plant shutdown. The Washington Post (June 5, 2008) (last accessed 2008-09-18), http://www.washingtonpost.com/wp-dyn/content/article/2008/06/05/AR2008060501958.html

  87. Powell, D.: Space station computer virus raises security concerns. New Scientist Space (August 29, 2008) (last accessed 2008-09-18), http://space.newscientist.com/article/dn14628-space-station-computer-virus-raises-security-concerns.html

  88. Engels, G., Opdyke, B., Schmidt, D.C., Weil, F. (eds.): MODELS 2007. LNCS, vol. 4735. Springer, Heidelberg (2007)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2008 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Hölzl, M., Rauschmayer, A., Wirsing, M. (2008). Software Engineering for Ensembles. In: Wirsing, M., Banâtre, JP., Hölzl, M., Rauschmayer, A. (eds) Software-Intensive Systems and New Computing Paradigms. Lecture Notes in Computer Science, vol 5380. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-89437-7_2

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-89437-7_2

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-89436-0

  • Online ISBN: 978-3-540-89437-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics