Advertisement

Software Engineering for Ensembles

  • Matthias Hölzl
  • Axel Rauschmayer
  • Martin Wirsing
Part of the Lecture Notes in Computer Science book series (LNCS, 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.

Keywords

Software Development Software Engineer Software Product Line Automate Theorem Prove Situation Calculus 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Feigenbaum, E.: Interview with Donald Knuth: A life’s work interrupted. Commun. ACM 51(8), 31–35 (2008)CrossRefGoogle Scholar
  2. 2.
    Frederick, P., Brooks, J.: No Silver Bullet Essence and Accidents of Software Engineering. Computer 20(4), 10–19 (1987)CrossRefGoogle Scholar
  3. 3.
    Frederick, P., Brooks, J.: The Mythical Man-Month: After 20 Years. IEEE Softw. 12(5), 57–60 (1995)CrossRefGoogle Scholar
  4. 4.
    Kranakis, E.: Primality and Cryptography. Wiley-Teubner Series in Computer Science. B. G. Teubner, Stuttgart (1987)zbMATHGoogle Scholar
  5. 5.
    Booch, G., Rumbaugh, J., Jacobson, I.: The Unified Modeling Language User Guide, 2nd edn. Addison-Wesley, Reading (2005)Google Scholar
  6. 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. 7.
    Cook, S., Kent, S.: The unified modelling language. In: [80], pp. 611–627Google Scholar
  8. 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. 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. 10.
    Mellor, S.J., Kendall, S., Uhl, A., Weise, D.: MDA Distilled. Addison Wesley Longman Publishing Co., Inc., Redwood City (2004)Google Scholar
  11. 11.
    Object Management Group: Model Driven Architecture (OMG) (Last visited: June 2008), http://www.omg.org/mda/
  12. 12.
    Schumann, J.M.: Automated Theorem Proving in Software Engineering. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  13. 13.
    CADE: Conference on Automated Deduction, Conference Web Site (last accessed 2008-09-16), http://www.cadeconference.org/
  14. 14.
    IJCAR: International Joint Conference on Automated Reasoning, Conference Web Site (last accessed 2008-09-16), http://www.ijcar.org/
  15. 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)CrossRefGoogle Scholar
  16. 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. 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. 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. 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. 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. 21.
    McDonald, J., Anton, J.: SPECWARE—Producing Software Correct by Construction. Technical Report KES.U.01.3, Kestrel Institute (March 2001)Google Scholar
  22. 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)zbMATHGoogle Scholar
  23. 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. 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)zbMATHGoogle Scholar
  25. 25.
    van Harmelen, F., Lifschitz, V., Porter, B. (eds.): Handbook of Knowledge Representation. Foundations of Artificial Intelligence. Elsevier, Amsterdam (2007)zbMATHGoogle Scholar
  26. 26.
    Brachman, R., Levesque, H.: Knowledge Representation and Reasoning. Morgan Kaufmann Publishers Inc., San Francisco (2004)zbMATHGoogle Scholar
  27. 27.
    Sowa, J.F.: Knowledge Representation: Logical, Philosophical and Computational Foundations. Thomson Learning (1999)Google Scholar
  28. 28.
    Giarratano, J.C., Riley, G.: Expert Systems, Principles and Programming. PWS Publishing Company (2005)Google Scholar
  29. 29.
    Struss, P.: Model-Based Problem Solving. In: [25], pp. 395–465Google Scholar
  30. 30.
    Stickel, M.E.: Automated deduction by theory resolution. Journal of Automated Reasoning 1, 333–355 (1985)MathSciNetCrossRefzbMATHGoogle Scholar
  31. 31.
    Nelson, G., Oppen, D.C.: Simplification by cooperating decision procedures. ACM Trans. Program. Lang. Syst. 1(2), 245–257 (1979)CrossRefzbMATHGoogle Scholar
  32. 32.
    Copeland, J.B.: Cyc: A case study in ontological engineering. Electronic Journal of Analytic Philosophy 5 (1997)Google Scholar
  33. 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. 34.
    Hart, P.E.: Directions for ai in the eighties. SIGART Bull. 79, 11–16 (1982)CrossRefGoogle Scholar
  35. 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. 36.
    Chandrasekaran, B., Mittal, S.: Deep versus compiled knowledge approaches to diagnostic problem-solving. In: AAAI, pp. 349–354 (1982)Google Scholar
  37. 37.
    OpenCyc (last accessed 2008-09-15), http://www.opencyc.org/
  38. 38.
    Dutoit, A.H., McCall, R., Mistrik, I., Paech, B.: Rationale Management in Software Engineering. Springer, New York (2006)CrossRefGoogle Scholar
  39. 39.
    Pearl, J.: Causality: Models, Reasoning and Inference. Cambridge University Press, Cambridge (2000)zbMATHGoogle Scholar
  40. 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. 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. 42.
    Reiter, R.: Knowledge in Action. MIT Press, Cambridge (2001)zbMATHGoogle Scholar
  43. 43.
    Mueller, E.T.: Commonsense Reasoning. Morgan Kaufmann, San Francisco (2006)Google Scholar
  44. 44.
    Hopkins, M., Pearl, J.: Causality and counterfactuals in the situation calculus. J. Log. Comput. 17(5), 939–953 (2007)MathSciNetCrossRefzbMATHGoogle Scholar
  45. 45.
    Sommerville, I.: Software Engineering, 8th edn. Addison-Wesley, Reading (2007)zbMATHGoogle Scholar
  46. 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. 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. 48.
    Costanza, P., Hirschfeld, R.: Reflective layer activation in contextl. In: SAC 2007, pp. 1280–1285. ACM, New York (2007)CrossRefGoogle Scholar
  49. 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)CrossRefGoogle Scholar
  50. 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)CrossRefGoogle Scholar
  51. 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)CrossRefGoogle Scholar
  52. 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. 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)CrossRefzbMATHGoogle Scholar
  54. 54.
    Kiczales, G., des Rivières, J., Bobrow, D.G.: The Art of the Metaobject Protocol. MIT Press, Cambridge (1991)Google Scholar
  55. 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. 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. 57.
    Beer, R.D.: Autopoiesis and cognition in the game of life. Artif. Life 10(3), 309–326 (2004)CrossRefGoogle Scholar
  58. 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. 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. 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)CrossRefGoogle Scholar
  61. 61.
    Finkelstein, A.: Relating viewpoints. In: ACM SIGSOFT 1996 Workshop - Viewpoints 1996, p. 157. ACM Press, New York (1996)Google Scholar
  62. 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)CrossRefGoogle Scholar
  63. 63.
    Ossher, H., Tarr, P.: Using multidimensional separation of concerns to (re)shape evolving software. Commun. ACM 44(10), 43–50 (2001)CrossRefGoogle Scholar
  64. 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. 65.
    AOSD: Aspect-oriented software development conference web site (last accessed 2008-09-15), http://aosd.net/
  66. 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–513Google Scholar
  67. 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–528Google Scholar
  68. 68.
    Zhang, G., Hölzl, M.M., Knapp, A.: Enhancing uml state machines with aspects. In: [88], pp. 529–543Google Scholar
  69. 69.
    Poppendieck, M., Poppendieck, T.: Lean Software Development: An Agile Toolkit. Addison-Wesley Longman Publishing Co., Inc., Boston (2003)Google Scholar
  70. 70.
    Kegel, H., Steimann, F.: Systematically refactoring inheritance to delegation in java. In: Robby (ed.) ICSE, pp. 431–440. ACM, New York (2008)CrossRefGoogle Scholar
  71. 71.
    Steimann, F.: Personal communicationGoogle Scholar
  72. 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. 73.
    Git: Web site for the git distributed version control system (last accessed 2008-09-09), http://git.or.cz/
  74. 74.
    Mercurial: Web site for the mercurial distributed version control system (last accessed 2008-09-09), http://www.selenic.com/mercurial/wiki/
  75. 75.
    Monotone: Web site for the monotone distributed version control system (last accessed 2008-09-09), http://monotone.ca/
  76. 76.
    Darcs: Web site for the darcs distributed version control system (last accessed 2008-09-09), http://darcs.net/
  77. 77.
    Evans, E.: Domain-Driven Design: Tackling Complexity in the Heart of Software. Addison-Wesley Professional, Reading (2004)Google Scholar
  78. 78.
    Jackson, M.: Problem Frames: Analysing and Structuring Software Development Problems. Pearson Education, London (2001)Google Scholar
  79. 79.
    Pohl, K., Böckle, G., van der Linden, F.J.: Software Product Line Engineering: Foundations, Principles and Techniques. Springer, Heidelberg (2005)CrossRefzbMATHGoogle Scholar
  80. 80.
    Greenfield, J., Short, K.: Software Factories: Assembling Applications with Patterns, Frameworks, Models and Tools. Wiley, Chichester (2004)Google Scholar
  81. 81.
    Czarnecki, K., Eisenecker, U.: Generative Programming: Methods, Tools and Applications. Addison-Wesley Professional, Reading (2000)Google Scholar
  82. 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. 83.
    Batory, D., Sarvela, J., Rauschmayer, A.: Scaling step-wise refinement. ACM Transactions on Software Engineering (TSE) 30(6), 355–371 (2004)CrossRefGoogle Scholar
  84. 84.
    Fowler, M.: Domain specific languages (last accessed 2008-09-16), http://martinfowler.com/dslwip/
  85. 85.
    Graham, P.: On Lisp: advanced techniques for Common Lisp. Prentice-Hall, Englewood Cliffs (1994)Google Scholar
  86. 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. 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. 88.
    Engels, G., Opdyke, B., Schmidt, D.C., Weil, F. (eds.): MODELS 2007. LNCS, vol. 4735. Springer, Heidelberg (2007)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Matthias Hölzl
    • 1
  • Axel Rauschmayer
    • 1
  • Martin Wirsing
    • 1
  1. 1.Ludwig-Maximilians-Universität MünchenGermany

Personalised recommendations