Software & Systems Modeling

, Volume 11, Issue 4, pp 599–608 | Cite as

The quest for runware: on compositional, executable and intuitive models

  • David Harel
  • Assaf MarronEmail author
Expert's Voice


We believe that future models of complex software and systems will combine the crucial traits of intuitiveness, compositionality, and executability. The importance of each of these to modeling is already well recognized, but our vision suggests a far more powerful synergy between them. First, models will be aligned with cognitive processes used by humans to think about system behavior and will be understood, and perhaps creatable, by almost anyone. Second, one will be able to build models incrementally, adding to, refining or sculpting away already-specified behaviors without changing most existing parts of the model. Third, there will be powerful ways to execute such intuitive and compositional models, in whole or in part, at any stage of the development. The presence of these three traits in a single artifact will blur the boundaries between natural-language requirements, formal models, and actual software, bringing in its wake a major advance in the way systems are built, and in their cost and quality. We propose the term runware to refer to this kind of higher level artifact.


Executable specifications Model-driven engineering Behavioral programming Computational methods 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Backus, J.W., Beeber, R.J., Best, S., Goldberg, R., Haibt, L.M., Herrick, H.L., Nelson, R.A., Sayre, D., Sheridan, P.B, Stern, H., Ziller, I., Hughes, R.A., Nutt, R.: The FORTRAN automatic coding system. In: Papers presented at the February 26–28, 1957, western joint computer conference: Techniques for reliability, pp. 188–198. ACM (1957)Google Scholar
  2. 2.
    Batory, D.: Product-line architectures. In: Smalltalk and Java Conference (1998)Google Scholar
  3. 3.
    Begel, A., Graham, S.L.: An assessment of a speech-based programming environment. In: IEEE Symposium on Visual Languages and Human-Centric Computing, 2006. VL/HCC 2006, pp. 116–120. IEEE (2006)Google Scholar
  4. 4.
    Bishop C.M.: Pattern Recognition and Machine Learning, vol. 4. Springer, New York (2006)Google Scholar
  5. 5.
    Bliudze, S., Sifakis, J.: A notion of glue expressiveness for component-based systems. In: CONCUR (2008)Google Scholar
  6. 6.
    Bloem, R., Jobstmann, B., Piterman, N., Pnueli, A., Saar, Y.: Synthesis of reactive(1) designs. J. Comput. Syst. Sci. 78(3) 2011Google Scholar
  7. 7.
    Bordini R.H., Dastani M., Dix J., Seghrouchni A.E.F.: Multi-Agent Programming: Languages, Tools and Applications. Springer, Berlin (2009)zbMATHGoogle Scholar
  8. 8.
    Bradbury, J.S., Cordy, J.R., Dingel, J., Wermelinger, M.: A survey of self-management in dynamic software architecture specifications. In: Proceedings of the 1st ACM SIGSOFT Workshop on Self-Managed Systems, pp. 28–33. ACM (2004)Google Scholar
  9. 9.
    Brooks, R.: A Robust Layered Control System for a Mobile Robot. IEEE J. Robot. Automat. 2(1) 1986Google Scholar
  10. 10.
    Clarke E.M. Jr, Grumberg O., Peled D.A.: Model Checking. MIT Press, Cambridge (1999)Google Scholar
  11. 11.
    Damm W., Harel D.: LSCs: Breathing Life into Message Sequence Charts. J. Form. Methods Syst. Des. 19(1), 45–80 (2001)zbMATHCrossRefGoogle Scholar
  12. 12.
    Date C.J.: What Not How: The Business Rules Approach to Application Development. Addison-Wesley Professional, Reading (2000)Google Scholar
  13. 13.
    Davis, II J., Goel, M., Hylands, C., Kienhuis, B., Lee, E.A., Liu, J., Liu, X., Muliadi, L., Neuendorffer, S., Reekie, J. et al.: Overview of the Ptolemy project. Department EECS, University of California, Berkeley, CA, ERL Technical Report UCB/ERL (M99/37) (1999)Google Scholar
  14. 14.
    Eclipse Foundation. Eclipse inetgrated development environment documentation. Accessed May 2012
  15. 15.
    European Organisation for the Safety of Air Navigation. EUROCONTROL Specifications For The Use Of Military Unmanned Aerial Vehicles As Operational Air Traffic Outside Segregated Airspace. EUROCONTROL (2007)Google Scholar
  16. 16.
    Forsyth, D.A., Ponce, J.: Computer vision: a modern approach. Prentice Hall Professional Technical Reference, Englewood Cliffs (2002)Google Scholar
  17. 17.
    Harel D., Marelly R.: Come, Let’s Play: Scenario-Based Programming Using LSCs and the Play-Engine. Springer, Berlin (2003)Google Scholar
  18. 18.
    Harel D., Marron A., Weiss G.: Behavioral programming. Commun. ACM 55(7), 90–100 (2012)CrossRefGoogle Scholar
  19. 19.
    Harel, D., Marron, A., Weiss, G.: Programming coordinated scenarios in java. In: Proceedings of the 24th European Conference on Object-Oriented Programming (ECOOP), pp. 250–274 (2010)Google Scholar
  20. 20.
    Harel D., Pnueli A.: On the Development of Reactive Systems. NATO ASI Series, vol. F-13. Springer-Verlag, New York (1985)Google Scholar
  21. 21.
    Harel D., Rumpe B.: Meaningful modeling: what’s the semantics of semantics?. Computer 37(10), 64–72 (2004)CrossRefGoogle Scholar
  22. 22.
    Jackson M., Zave P.: Distributed feature composition: a virtual architecture for telecommunications services. IEEE Trans. Softw. Eng. 24(10), 831–847 (1998)CrossRefGoogle Scholar
  23. 23.
    Kandel E.R., Schwartz J.H., Jessell T.M. et al.: Principles of Neural Science, Vol. 4. McGraw-Hill, New York (2000)Google Scholar
  24. 24.
    Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., Loingtier, J.M., Irwin, J.: Aspect-oriented programming. In: European Conference on Object-Oriented Programming (ECOOP) (1997)Google Scholar
  25. 25.
    Kortum, P.: HCI beyond the GUI: design for haptic, speech, olfactory and other nontraditional interfaces. Elsevier/Morgan Kaufmann, Amsterdam (2008)Google Scholar
  26. 26.
    Koza, J., Poli, R.: Genetic programming. Search Methodol, pp. 127–164 (2005)Google Scholar
  27. 27.
    LaValle S.M.: Planning Algorithms. Cambridge University Press, Cambridge (2006)zbMATHCrossRefGoogle Scholar
  28. 28.
    Louden, K.C., Lambert, K.A.: Programming languages: principles and practices. Course Technology (2011)Google Scholar
  29. 29.
    McKinley P.K., Sadjadi S.M., Kasten E.P., Cheng B.H.C.: Composing adaptive software. Computer 37(7), 56–64 (2004)CrossRefGoogle Scholar
  30. 30.
    Mellor S.J., Balcer M., Foreword By-Jacoboson I.: Executable UML: a foundation for model-driven architectures. Addison-Wesley Longman Publishing Co. Inc, Boston (2002)Google Scholar
  31. 31.
    Mernik M., Heering J., Sloane A.M.: When and how to develop domain-specific languages. ACM Comput. Surv. (CSUR) 37(4), 316–344 (2005)CrossRefGoogle Scholar
  32. 32.
    Meyer B.: Object-Oriented Software Construction. Prentice hall, New York (2000)Google Scholar
  33. 33.
    Nuseibeh, B., Easterbrook, S.: Requirements engineering: a roadmap. In: Proceedings of the Conference on the Future of Software Engineering, pp. 35–46. ACM (2000)Google Scholar
  34. 34.
    Object Management Group. OMG Model-Driven Architecture. Accessed May 2012
  35. 35.
    Object Management Group. OMG Unified Modeling Language Superstructure version 2.4. Accessed May 2012Google Scholar
  36. 36.
    OSCI. Open SystemC Initiative. IEEE 1666 Language Reference Manual. Accessed Sept. 2011
  37. 37.
    Prehofer, C.: Feature-oriented programming: a fresh look at objects. In: ECOOP (1997)Google Scholar
  38. 38.
    Resnick M., Maloney J., Monroy-Hernández A., Rusk N., Eastmond E., Brennan K., Millner A., Rosenbaum E., Silver J., Silverman B. et al.: Scratch: programming for all. Commun. ACM 52(11), 60–67 (2009)CrossRefGoogle Scholar
  39. 39.
    Robinson A., Voronkov A.: Handbook of Automated Reasoning, vol. 2. Elsevier, Amsterdam (2001)Google Scholar
  40. 40.
    Saraswat, V.A., Rinard, M., Panangaden, P.: The semantic foundations of concurrent constraint programming. In: Proceedings of the 18th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 333–352. ACM (1991)Google Scholar
  41. 41.
    Schmidt D.C.: Guest editor’s introduction: model-driven engineering. Computer 39(2), 25–31 (2006)CrossRefGoogle Scholar
  42. 42.
    Simonyi, C.: The death of computer languages, the birth of intentional programming. In: NATO Science Committee Conference (1995)Google Scholar
  43. 43.
    Sterling L., Shapiro E., Eytan M.: The Art of Prolog, vol. 94. Wiley Online Library, London (1986)Google Scholar
  44. 44.
    US General Services Administration. Acquisition System Requirements Draft. Accessed May 2012
  45. 45.
    USDA-Agricultural Research Service. CEAP/STEWARDS System Requirements Specification. USDA (2006)Google Scholar
  46. 46.
    Wadler, P.: Monads for Functional Programming. Adv. Funct. Program. LNCS, vol. 925, pp. 24–52 (1995)Google Scholar
  47. 47.
    Zave P., Jackson M.: Four dark corners of requirements engineering. ACM Trans. Softw. Eng. Methodol. (TOSEM) 6(1), 1–30 (1997)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag 2012

Authors and Affiliations

  1. 1.The Weizmann Institute of ScienceRehovotIsrael

Personalised recommendations