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.
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
Feigenbaum, E.: Interview with Donald Knuth: A life’s work interrupted. Commun. ACM 51(8), 31–35 (2008)
Frederick, P., Brooks, J.: No Silver Bullet Essence and Accidents of Software Engineering. Computer 20(4), 10–19 (1987)
Frederick, P., Brooks, J.: The Mythical Man-Month: After 20 Years. IEEE Softw. 12(5), 57–60 (1995)
Kranakis, E.: Primality and Cryptography. Wiley-Teubner Series in Computer Science. B. G. Teubner, Stuttgart (1987)
Booch, G., Rumbaugh, J., Jacobson, I.: The Unified Modeling Language User Guide, 2nd edn. Addison-Wesley, Reading (2005)
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)
Cook, S., Kent, S.: The unified modelling language. In: [80], pp. 611–627
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)
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)
Mellor, S.J., Kendall, S., Uhl, A., Weise, D.: MDA Distilled. Addison Wesley Longman Publishing Co., Inc., Redwood City (2004)
Object Management Group: Model Driven Architecture (OMG) (Last visited: June 2008), http://www.omg.org/mda/
Schumann, J.M.: Automated Theorem Proving in Software Engineering. Springer, Heidelberg (2001)
CADE: Conference on Automated Deduction, Conference Web Site (last accessed 2008-09-16), http://www.cadeconference.org/
IJCAR: International Joint Conference on Automated Reasoning, Conference Web Site (last accessed 2008-09-16), http://www.ijcar.org/
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)
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)
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)
Kaufmann, M., Panagiotis, M., Strother, M.J.: Computer-Aided Reasoning—An Approach. Advances in Formal Methods. Kluwer Academic Publishers, Dordrecht (2000)
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)
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)
McDonald, J., Anton, J.: SPECWARE—Producing Software Correct by Construction. Technical Report KES.U.01.3, Kestrel Institute (March 2001)
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)
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)
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)
van Harmelen, F., Lifschitz, V., Porter, B. (eds.): Handbook of Knowledge Representation. Foundations of Artificial Intelligence. Elsevier, Amsterdam (2007)
Brachman, R., Levesque, H.: Knowledge Representation and Reasoning. Morgan Kaufmann Publishers Inc., San Francisco (2004)
Sowa, J.F.: Knowledge Representation: Logical, Philosophical and Computational Foundations. Thomson Learning (1999)
Giarratano, J.C., Riley, G.: Expert Systems, Principles and Programming. PWS Publishing Company (2005)
Struss, P.: Model-Based Problem Solving. In: [25], pp. 395–465
Stickel, M.E.: Automated deduction by theory resolution. Journal of Automated Reasoning 1, 333–355 (1985)
Nelson, G., Oppen, D.C.: Simplification by cooperating decision procedures. ACM Trans. Program. Lang. Syst. 1(2), 245–257 (1979)
Copeland, J.B.: Cyc: A case study in ontological engineering. Electronic Journal of Analytic Philosophy 5 (1997)
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)
Hart, P.E.: Directions for ai in the eighties. SIGART Bull. 79, 11–16 (1982)
Davis, R.: Expert systems: Where are we? and where do we go from here? AI Magazine 3(2), 3–22 (1982)
Chandrasekaran, B., Mittal, S.: Deep versus compiled knowledge approaches to diagnostic problem-solving. In: AAAI, pp. 349–354 (1982)
OpenCyc (last accessed 2008-09-15), http://www.opencyc.org/
Dutoit, A.H., McCall, R., Mistrik, I., Paech, B.: Rationale Management in Software Engineering. Springer, New York (2006)
Pearl, J.: Causality: Models, Reasoning and Inference. Cambridge University Press, Cambridge (2000)
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)
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)
Reiter, R.: Knowledge in Action. MIT Press, Cambridge (2001)
Mueller, E.T.: Commonsense Reasoning. Morgan Kaufmann, San Francisco (2006)
Hopkins, M., Pearl, J.: Causality and counterfactuals in the situation calculus. J. Log. Comput. 17(5), 939–953 (2007)
Sommerville, I.: Software Engineering, 8th edn. Addison-Wesley, Reading (2007)
Bedau, M.A.: Weak emergence. In: Tomberlin, J. (ed.) Philosophical Perspectives: Mind, Causation, and World, vol. 11, pp. 375–399. Blackwell Publishers, Malden (1997)
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)
Costanza, P., Hirschfeld, R.: Reflective layer activation in contextl. In: SAC 2007, pp. 1280–1285. ACM, New York (2007)
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)
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)
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)
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)
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)
Kiczales, G., des Rivières, J., Bobrow, D.G.: The Art of the Metaobject Protocol. MIT Press, Cambridge (1991)
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)
Wainwright, R.T.: Life is universal! In: WSC 1974: Proceedings of the 7th conference on Winter simulation, pp. 449–459. ACM, New York (1974)
Beer, R.D.: Autopoiesis and cognition in the game of life. Artif. Life 10(3), 309–326 (2004)
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)
European Commission: FET Proactive Initiative: Massive ICT Systems (last accessed 2008-09-18), http://cordis.europa.eu/fp7/ict/fet-proactive/massict_en.html
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)
Finkelstein, A.: Relating viewpoints. In: ACM SIGSOFT 1996 Workshop - Viewpoints 1996, p. 157. ACM Press, New York (1996)
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)
Ossher, H., Tarr, P.: Using multidimensional separation of concerns to (re)shape evolving software. Commun. ACM 44(10), 43–50 (2001)
Hölzl, M.: Combining language extensions. In: de Lacaze, R. (ed.) Proceedings of the International Lisp Conference 2003, Association of Lisp Users (2003)
AOSD: Aspect-oriented software development conference web site (last accessed 2008-09-15), http://aosd.net/
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
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
Zhang, G., Hölzl, M.M., Knapp, A.: Enhancing uml state machines with aspects. In: [88], pp. 529–543
Poppendieck, M., Poppendieck, T.: Lean Software Development: An Agile Toolkit. Addison-Wesley Longman Publishing Co., Inc., Boston (2003)
Kegel, H., Steimann, F.: Systematically refactoring inheritance to delegation in java. In: Robby (ed.) ICSE, pp. 431–440. ACM, New York (2008)
Steimann, F.: Personal communication
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)
Git: Web site for the git distributed version control system (last accessed 2008-09-09), http://git.or.cz/
Mercurial: Web site for the mercurial distributed version control system (last accessed 2008-09-09), http://www.selenic.com/mercurial/wiki/
Monotone: Web site for the monotone distributed version control system (last accessed 2008-09-09), http://monotone.ca/
Darcs: Web site for the darcs distributed version control system (last accessed 2008-09-09), http://darcs.net/
Evans, E.: Domain-Driven Design: Tackling Complexity in the Heart of Software. Addison-Wesley Professional, Reading (2004)
Jackson, M.: Problem Frames: Analysing and Structuring Software Development Problems. Pearson Education, London (2001)
Pohl, K., Böckle, G., van der Linden, F.J.: Software Product Line Engineering: Foundations, Principles and Techniques. Springer, Heidelberg (2005)
Greenfield, J., Short, K.: Software Factories: Assembling Applications with Patterns, Frameworks, Models and Tools. Wiley, Chichester (2004)
Czarnecki, K., Eisenecker, U.: Generative Programming: Methods, Tools and Applications. Addison-Wesley Professional, Reading (2000)
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)
Batory, D., Sarvela, J., Rauschmayer, A.: Scaling step-wise refinement. ACM Transactions on Software Engineering (TSE) 30(6), 355–371 (2004)
Fowler, M.: Domain specific languages (last accessed 2008-09-16), http://martinfowler.com/dslwip/
Graham, P.: On Lisp: advanced techniques for Common Lisp. Prentice-Hall, Englewood Cliffs (1994)
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
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
Engels, G., Opdyke, B., Schmidt, D.C., Weil, F. (eds.): MODELS 2007. LNCS, vol. 4735. Springer, Heidelberg (2007)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)