Software Engineering Techniques for the Development of Systems of Systems

  • Radu Calinescu
  • Marta Kwiatkowska
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6028)

Abstract

This paper investigates how existing software engineering techniques can be employed, adapted and integrated for the development of systems of systems. Starting from existing system-of-systems (SoS) studies, we identify computing paradigms and techniques that have the potential to help address the challenges associated with SoS development, and propose an SoS development framework that combines these techniques in a novel way. This framework addresses the development of a class of IT systems of systems characterised by high variability in the types of interactions between their component systems, and by relatively small numbers of such interactions. We describe how the framework supports the dynamic, automated generation of the system interfaces required to achieve these interactions, and present a case study illustrating the development of a data-centre SoS using the new framework.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Allen, R., Garlan, D.: A formal basis for architectural connection. ACM Transactions on Software Engineering and Methodology 6(3), 213–249 (1997)CrossRefGoogle Scholar
  2. 2.
    Arbab, F.: Abstract behavior types: a foundation model for components and their composition. Science of Computer Programming 55(1-3), 3–52 (2005)MATHCrossRefMathSciNetGoogle Scholar
  3. 3.
    Bar-Yam, Y., et al.: The characteristics and emerging behaviors of system-of-systems. Complex physical, biological and social systems project report, New England Complex Systems Institute (January 2004), http://necsi.org/education/oneweek/winter05/NECSISoS.pdf
  4. 4.
    Bishop, C.M.: Pattern Recognition and Machine Learning. Springer, Heidelberg (2007)Google Scholar
  5. 5.
    Boardman, J., Sauser, B.: System of systems – the meaning of of. In: Proceedings of the 2006 IEEE/SMC International Conference on System of Systems Engineering, pp. 118–123 (2006)Google Scholar
  6. 6.
    Brownsword, L., Fisher, D., Morris, E., Smith, J., Kirwan, P.: System-of-systems navigator: An approach for managing system-of-systems interoperability. Technical Report CMU/SEI-2006-TN-019, Carnegie Mellon Software Engineering Institute (April 2006), http://www.sei.cmu.edu/pub/documents/06.reports/pdf/06tn019.pdf
  7. 7.
    Calinescu, R.: Towards a generic autonomic architecture for legacy resource management. In: Elleithy, K. (ed.) Innovations and Advanced Techniques in Systems, Computing Sciences and Software Engineering, pp. 410–415. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  8. 8.
    Calinescu, R.: General-purpose autonomic computing. In: Denko, M., et al. (eds.) Autonomic Computing and Networking, pp. 3–20. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  9. 9.
    Calinescu, R., Hill, J.M.D.: System providing methodology for policy-based resource allocation. US Patent Application 20050149940 (July 2005)Google Scholar
  10. 10.
    Calinescu, R., Kwiatkowska, M.: Using quantitative analysis to implement autonomic IT systems. In: Proceedings of the 31st International Conference on Software Engineering (ICSE 2009) (May 2009)Google Scholar
  11. 11.
    Calinescu, R.: Challenges and best practices in policy-based autonomic architectures. In: Proceedings of the 3rd IEEE International Symposium on Dependable, Autonomic and Secure Computing (DASC 2007), Columbia, Maryland, USA, pp. 65–74 (2007)Google Scholar
  12. 12.
    Calinescu, R.: Model-driven autonomic architecture. In: Proceedings of the 4th IEEE International Conference on Autonomic Computing, Jacksonville, Florida (June 2007)Google Scholar
  13. 13.
    Calinescu, R.: Implementation of a generic autonomic framework. In: Greenwood, D., et al. (eds.) Proceedings 4th International Conference on Autonomic and Autonomous Systems (ICAS 2008), pp. 124–129. IEEE Computer Society Press, Los Alamitos (2008)CrossRefGoogle Scholar
  14. 14.
    Calinescu, R., Kwiatkowska, M.: CADS*: Computer-aided development of self-* systems. In: Chechik, M., Wirsing, M. (eds.) FASE 2009. LNCS, vol. 5503, pp. 421–424. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  15. 15.
    Carnegie Mellon Software Engineering Institute. Ultra-Large-Scale Systems. The Software Challenge of the Future. Carnegie Mellon University (2006), http://www.sei.cmu.edu/uls/files/ULS_Book2006.pdf
  16. 16.
    Clarke, E.M., Grumberg, O., Peled, D.A.: Model Checking. MIT Press, Cambridge (2000)Google Scholar
  17. 17.
    Crnkovic, I., Larsson, M. (eds.): Building Reliable Component-Based Software Systems. Artech House Publishers (2002)Google Scholar
  18. 18.
    Crossley, W.A.: System of Sytems: An Introduction of Purdue University Schools of Engineering’s Signature Area. In: Proceedings of the Engineering Systems Symposium (2004), http://esd.mit.edu/symposium/pdfs/papers/crossley.pdf
  19. 19.
    El-Ghazawi, T., El-Araby, E., Huang, M., Gaj, K., Kindratenko, V., Buell, D.: The promise of high-performance reconfigurable computing. Computer 41(2), 69–76 (2008)CrossRefGoogle Scholar
  20. 20.
    Epifani, I., Ghezzi, C., Mirandola, R., Tamburrelli, G.: Model evolution by runtime adaptation. In: Proceedings of the 31st International Conference on Software Engineering (ICSE 2009), May 2009, pp. 111–121 (2009)Google Scholar
  21. 21.
    Garcia, R., et al.: A comparative study of language support for generic programming. ACM SIGPLAN Notices 38(11), 115–134 (2003)CrossRefGoogle Scholar
  22. 22.
    Goth, G.: Ultralarge systems: Redefining software engineering? IEEE Software 25(3), 91–94 (2008)CrossRefGoogle Scholar
  23. 23.
    Hannebauer, M.: Autonomous Dynamic Reconfiguration in Multi-agent Systems. Springer, Heidelberg (2002)MATHCrossRefGoogle Scholar
  24. 24.
    Integration of Software-Intensive Systems (ISIS) Initiative: Addressing System-of-Systems Interoperability, http://www.sei.cmu.edu/isis
  25. 25.
    Jansen, D.N., et al.: How fast and fat is your probabilistic model checker? An experimental comparison. In: Yorav, K. (ed.) HVC 2007. LNCS, vol. 4899, pp. 69–85. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  26. 26.
    Kaplan, J.M.: A new conceptual framework for net-centric, enterprise-wide, system-of-systems engineering. Defense & Technology Papers 30, US Center for Technology and National Security Policy (July 2006), http://www.ndu.edu/ctnsp/Def_Tech/DTP%2030%20A%20New%20Conceptual%20Framework.pdf
  27. 27.
    Keating, C.: Research foundations for system of systems engineering. In: 2005 IEEE International Conference on Systems, Man and Cybernetics, vol. 3, pp. 2720–2725 (2005)Google Scholar
  28. 28.
    Keating, C., Rogers, R., Unal, R., Dryer, D., Sousa-Poza, A., Safford, R., Peterson, W., Rabadi, G.: System of systems engineering. Engineering Management Journal 15(3), 36–45 (2003)Google Scholar
  29. 29.
    Kephart, J.O., Walsh, W.E.: An artificial intelligence perspective on autonomic computing policies. In: Proc. 5th IEEE Intl. Workshop on Policies for Distributed Systems and Networks (2004)Google Scholar
  30. 30.
    Kephart, J.O., Chess, D.M.: The vision of autonomic computing. IEEE Computer Journal 36(1), 41–50 (2003)Google Scholar
  31. 31.
    Kwiatkowska, M., Norman, G., Parker, D.: Probabilistic model checking in practice: Case studies with PRISM. ACM SIGMETRICS Performance Evaluation Review 32(4), 16–21 (2005)CrossRefGoogle Scholar
  32. 32.
    Kwiatkowska, M., Norman, G., Parker, D.: Quantitative analysis with the probabilistic model checker PRISM. Electronic Notes in Theoretical Computer Science 153(2), 5–31 (2005)CrossRefGoogle Scholar
  33. 33.
    Kwiatkowska, M.: Quantitative verification: Models, techniques and tools. In: Proc. 6th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE), September 2007, pp. 449–458. ACM Press, New York (2007)CrossRefGoogle Scholar
  34. 34.
    Kwiatkowska, M., Norman, G., Parker, D.: Stochastic model checking. In: Bernardo, M., Hillston, J. (eds.) SFM 2007. LNCS, vol. 4486, pp. 220–270. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  35. 35.
    LSCITS Consortium. Large-Scale Complex Information Technology Systems Initiative, http://www.lscits.org
  36. 36.
    Maier, M.W.: Architecting principles for systems-of-systems. Systems Engineering 1(4), 267–284 (1999)CrossRefMathSciNetGoogle Scholar
  37. 37.
    Meilich, A.: System of systems engineering (SoSE) and architecture challenges in a net centric environment. In: Proceedings of the 2006 IEEE/SMC International Conference on System of Systems Engineering, pp. 1–5 (2006)Google Scholar
  38. 38.
    US National Centers for Systems of Systems Engineering (NCSOSE), http://www.eng.odu.edu/ncsose/
  39. 39.
    Popper, S.W., Bankes, S.C., Callaway, R., DeLaurentis, D.: System of systems symposium: Report on a summer conversation. In: Proceedings of the 1st System of Systems Symposium (2004), http://www.potomacinstitute.org/academiccen/SoS%20Summer%20Conversation%20report.pdf
  40. 40.
    Sobel, J.M., Friedman, D.P.: An introduction to reflection-oriented programming. In: Proceedings of Reflection 1996 (1996)Google Scholar
  41. 41.
    US System of Systems Engineering Center of Excellence (SoSECE), http://www.sosece.org
  42. 42.
    US Industry/University Collaborative Research Center for Ultra-Large-Scale Software-Intensive Systems (ULSSIS), http://ulssis.cs.virginia.edu
  43. 43.
    Vanthournout, K., Deconinck, G., Belmans, R.: A taxonomy for resource discovery. Personal and Ubiquitous Computing 9(2), 81–89 (2005)CrossRefGoogle Scholar
  44. 44.
    Walsh, W.E., et al.: Utility functions in autonomic systems. In: Proc. 1st Intl. Conf. Autonomic Computing, pp. 70–77 (2004)Google Scholar
  45. 45.
    White, S.R., et al.: An architectural approach to autonomic computing. In: Proc. 1st IEEE Intl. Conf. Autonomic Computing, pp. 2–9. IEEE Computer Society, Los Alamitos (2004)CrossRefGoogle Scholar
  46. 46.
    Zimmermann, O., et al.: Perspectives on Web Services: Applying SOAP, WSDL and UDDI to Real-World Projects. Springer, Heidelberg (2005)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Radu Calinescu
    • 1
  • Marta Kwiatkowska
    • 1
  1. 1.Computing LaboratoryUniversity of OxfordOxfordUK

Personalised recommendations