Abstract
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.
Similar content being viewed by others
References
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)
Batory, D.: Product-line architectures. In: Smalltalk and Java Conference (1998)
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)
Bishop C.M.: Pattern Recognition and Machine Learning, vol. 4. Springer, New York (2006)
Bliudze, S., Sifakis, J.: A notion of glue expressiveness for component-based systems. In: CONCUR (2008)
Bloem, R., Jobstmann, B., Piterman, N., Pnueli, A., Saar, Y.: Synthesis of reactive(1) designs. J. Comput. Syst. Sci. 78(3) 2011
Bordini R.H., Dastani M., Dix J., Seghrouchni A.E.F.: Multi-Agent Programming: Languages, Tools and Applications. Springer, Berlin (2009)
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)
Brooks, R.: A Robust Layered Control System for a Mobile Robot. IEEE J. Robot. Automat. 2(1) 1986
Clarke E.M. Jr, Grumberg O., Peled D.A.: Model Checking. MIT Press, Cambridge (1999)
Damm W., Harel D.: LSCs: Breathing Life into Message Sequence Charts. J. Form. Methods Syst. Des. 19(1), 45–80 (2001)
Date C.J.: What Not How: The Business Rules Approach to Application Development. Addison-Wesley Professional, Reading (2000)
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)
Eclipse Foundation. Eclipse inetgrated development environment documentation. http://help.eclipse.org/indigo/. Accessed May 2012
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)
Forsyth, D.A., Ponce, J.: Computer vision: a modern approach. Prentice Hall Professional Technical Reference, Englewood Cliffs (2002)
Harel D., Marelly R.: Come, Let’s Play: Scenario-Based Programming Using LSCs and the Play-Engine. Springer, Berlin (2003)
Harel D., Marron A., Weiss G.: Behavioral programming. Commun. ACM 55(7), 90–100 (2012)
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)
Harel D., Pnueli A.: On the Development of Reactive Systems. NATO ASI Series, vol. F-13. Springer-Verlag, New York (1985)
Harel D., Rumpe B.: Meaningful modeling: what’s the semantics of semantics?. Computer 37(10), 64–72 (2004)
Jackson M., Zave P.: Distributed feature composition: a virtual architecture for telecommunications services. IEEE Trans. Softw. Eng. 24(10), 831–847 (1998)
Kandel E.R., Schwartz J.H., Jessell T.M. et al.: Principles of Neural Science, Vol. 4. McGraw-Hill, New York (2000)
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)
Kortum, P.: HCI beyond the GUI: design for haptic, speech, olfactory and other nontraditional interfaces. Elsevier/Morgan Kaufmann, Amsterdam (2008)
Koza, J., Poli, R.: Genetic programming. Search Methodol, pp. 127–164 (2005)
LaValle S.M.: Planning Algorithms. Cambridge University Press, Cambridge (2006)
Louden, K.C., Lambert, K.A.: Programming languages: principles and practices. Course Technology (2011)
McKinley P.K., Sadjadi S.M., Kasten E.P., Cheng B.H.C.: Composing adaptive software. Computer 37(7), 56–64 (2004)
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)
Mernik M., Heering J., Sloane A.M.: When and how to develop domain-specific languages. ACM Comput. Surv. (CSUR) 37(4), 316–344 (2005)
Meyer B.: Object-Oriented Software Construction. Prentice hall, New York (2000)
Nuseibeh, B., Easterbrook, S.: Requirements engineering: a roadmap. In: Proceedings of the Conference on the Future of Software Engineering, pp. 35–46. ACM (2000)
Object Management Group. OMG Model-Driven Architecture. http://www.omg.org/mda/. Accessed May 2012
Object Management Group. OMG Unified Modeling Language Superstructure version 2.4. Accessed May 2012
OSCI. Open SystemC Initiative. IEEE 1666 Language Reference Manual. http://www.systemc.org. Accessed Sept. 2011
Prehofer, C.: Feature-oriented programming: a fresh look at objects. In: ECOOP (1997)
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)
Robinson A., Voronkov A.: Handbook of Automated Reasoning, vol. 2. Elsevier, Amsterdam (2001)
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)
Schmidt D.C.: Guest editor’s introduction: model-driven engineering. Computer 39(2), 25–31 (2006)
Simonyi, C.: The death of computer languages, the birth of intentional programming. In: NATO Science Committee Conference (1995)
Sterling L., Shapiro E., Eytan M.: The Art of Prolog, vol. 94. Wiley Online Library, London (1986)
US General Services Administration. Acquisition System Requirements Draft. http://www.acquisition.gov/fas_reqdraft042808.pdf. Accessed May 2012
USDA-Agricultural Research Service. CEAP/STEWARDS System Requirements Specification. USDA (2006)
Wadler, P.: Monads for Functional Programming. Adv. Funct. Program. LNCS, vol. 925, pp. 24–52 (1995)
Zave P., Jackson M.: Four dark corners of requirements engineering. ACM Trans. Softw. Eng. Methodol. (TOSEM) 6(1), 1–30 (1997)
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by Prof. Jon Whittle and Gregor Engels.
Rights and permissions
About this article
Cite this article
Harel, D., Marron, A. The quest for runware: on compositional, executable and intuitive models. Softw Syst Model 11, 599–608 (2012). https://doi.org/10.1007/s10270-012-0258-8
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-012-0258-8