{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,8,24]],"date-time":"2025-08-24T01:17:27Z","timestamp":1755998247728,"version":"3.41.0"},"reference-count":50,"publisher":"Association for Computing Machinery (ACM)","issue":"EICS","license":[{"start":{"date-parts":[[2018,6,19]],"date-time":"2018-06-19T00:00:00Z","timestamp":1529366400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["Proc. ACM Hum.-Comput. Interact."],"published-print":{"date-parts":[[2018,6,19]]},"abstract":"<jats:p>The persistent difficulty to develop and maintain interactive software has unveiled the inadequacy of traditional imperative programming languages. In the recent years, several solutions have been proposed to enrich the existing languages with constructs dedicated to interaction. In this paper, we propose a different approach that takes interaction as the primary concern to build a new programming language. We present Djnn, a conceptual framework based on the concepts of process and process activation, then we introduce Smala a programming language derived from this framework. We propose a solution for the unification of the concepts of event and data-flow, and for the derivation of complex control structures from a small set of basic ones. We detail the syntax and the semantics of Smala. Finally, we illustrate through a real-size application how it enables building all parts of an interactive software. Djnn and Smala may offer designers and programmers usable means to think of interactions and translate them into running code.<\/jats:p>","DOI":"10.1145\/3229094","type":"journal-article","created":{"date-parts":[[2018,6,20]],"date-time":"2018-06-20T12:09:42Z","timestamp":1529496582000},"page":"1-27","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":9,"title":["Djnn\/Smala"],"prefix":"10.1145","volume":"2","author":[{"given":"Mathieu","family":"Magnaudet","sequence":"first","affiliation":[{"name":"Ecole Nationale de l'Aviation Civile, Toulouse, France"}]},{"given":"St\u00e9phane","family":"Chatty","sequence":"additional","affiliation":[{"name":"Ecole Nationale de l'Aviation Civile, Toulouse, France"}]},{"given":"St\u00e9phane","family":"Conversy","sequence":"additional","affiliation":[{"name":"Ecole Nationale de l'Aviation Civile, Toulouse, France"}]},{"given":"S\u00e9bastien","family":"Leriche","sequence":"additional","affiliation":[{"name":"Ecole Nationale de l'Aviation Civile, Toulouse, France"}]},{"given":"Celia","family":"Picard","sequence":"additional","affiliation":[{"name":"Ecole Nationale de l'Aviation Civile, Toulouse, France"}]},{"given":"Daniel","family":"Prun","sequence":"additional","affiliation":[{"name":"Ecole Nationale de l'Aviation Civile, Toulouse, France"}]}],"member":"320","published-online":{"date-parts":[[2018,6,19]]},"reference":[{"key":"e_1_2_1_1_1","volume-title":"Proceedings of the Third International Conference of Computer-Aided Design of User Interfaces, October 21--23","author":"Aerts Kris","year":"1999","unstructured":"Kris Aerts . 1999 . Visto: A More Declarative GUI Framework. In Computer-Aided Design of User Interfaces II , Proceedings of the Third International Conference of Computer-Aided Design of User Interfaces, October 21--23 , 1999, Louvain-la-Neuve, Belgium, Jean Vanderdonckt and Angel R. Puerta (Eds.). Kluwer, 73--78. Kris Aerts. 1999. Visto: A More Declarative GUI Framework. In Computer-Aided Design of User Interfaces II, Proceedings of the Third International Conference of Computer-Aided Design of User Interfaces, October 21--23, 1999, Louvain-la-Neuve, Belgium, Jean Vanderdonckt and Angel R. Puerta (Eds.). Kluwer, 73--78."},{"key":"e_1_2_1_2_1","volume-title":"Proceedings of the More Electrical Aircraft Conference (MEA '17)","author":"Antoine Philippe","year":"2017","unstructured":"Philippe Antoine and St\u00b4ephane Conversy . 2017 . Volta: the first all-electric conventional helicopter . In Proceedings of the More Electrical Aircraft Conference (MEA '17) . ACM Press. Philippe Antoine and St\u00b4ephane Conversy. 2017. Volta: the first all-electric conventional helicopter. In Proceedings of the More Electrical Aircraft Conference (MEA '17). ACM Press."},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1002\/spe.v38:11"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/2501654.2501666"},{"volume-title":"CHI'91 User Interface Developers Workshop.","author":"Bass Len","key":"e_1_2_1_5_1","unstructured":"Len Bass , R. Pellegrino , S. Reed , R. Seacord , R. Sheppard , and M. R. Szezur . 1991. The Arch Model: Seeheim Revisited. (April 1991) . Presented at the CHI'91 User Interface Developers Workshop. Len Bass, R. Pellegrino, S. Reed, R. Seacord, R. Sheppard, and M. R. Szezur. 1991. The Arch Model: Seeheim Revisited. (April 1991). Presented at the CHI'91 User Interface Developers Workshop."},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1016\/0167-6423(91)90001-E"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1016\/0167-6423(92)90005-V"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/1133265.1133275"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/192426.192500"},{"key":"e_1_2_1_10_1","volume-title":"A unified framework for control structures in interactive software. (Sept","author":"Chatty St\u00b4ephane","year":"2012","unstructured":"St\u00b4ephane Chatty . 2012. A unified framework for control structures in interactive software. (Sept . 2012 ). https:\/\/hal.archives-ouvertes.fr\/hal-01800741 . Working paper. First version authored in 2012, archived in HAL in 2018. St\u00b4ephane Chatty. 2012. A unified framework for control structures in interactive software. (Sept. 2012). https:\/\/hal.archives-ouvertes.fr\/hal-01800741 . Working paper. First version authored in 2012, archived in HAL in 2018."},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/2774225.2774848"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/1029632.1029678"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/1086228.1086261"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICAS.2008.37"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/2661136.2661138"},{"key":"e_1_2_1_16_1","volume-title":"Frapp\u00b4e: Functional Reactive Programming in Java. In Practical Aspects of Declarative Languages: Third International Symposium, PADL 2001 Las Vegas, Nevada, March 11--12","author":"Courtney Antony","year":"2001","unstructured":"Antony Courtney . 2001 . Frapp\u00b4e: Functional Reactive Programming in Java. In Practical Aspects of Declarative Languages: Third International Symposium, PADL 2001 Las Vegas, Nevada, March 11--12 , 2001 Proceedings, I. V. Ramakrishnan (Ed.). Springer Berlin Heidelberg , Berlin, Heidelberg, 29--44. Antony Courtney. 2001. Frapp\u00b4e: Functional Reactive Programming in Java. In Practical Aspects of Declarative Languages: Third International Symposium, PADL 2001 Las Vegas, Nevada, March 11--12, 2001 Proceedings, I. V. Ramakrishnan (Ed.). Springer Berlin Heidelberg, Berlin, Heidelberg, 29--44."},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/1027933.1027969"},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/258948.258973"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1109\/5.97300"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1016\/0167-6423(87)90035-9"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/62029.62031"},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/359576.359585"},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-70569-7_26"},{"volume-title":"Ergonomics of human-system interaction -- Part 210: Human-centred design for interactive systems. Standard","author":"ISO","key":"e_1_2_1_24_1","unstructured":"ISO 9241--210:2010 2010. Ergonomics of human-system interaction -- Part 210: Human-centred design for interactive systems. Standard . International Organization for Standardization , Geneva, CH . ISO 9241--210:2010 2010. Ergonomics of human-system interaction -- Part 210: Human-centred design for interactive systems. Standard. International Organization for Standardization, Geneva, CH."},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1145\/310641.310642"},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/2163.358093"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/2428116.2428127"},{"key":"e_1_2_1_28_1","volume-title":"Johnson and Brian Foote","author":"Ralph","year":"1988","unstructured":"Ralph E. Johnson and Brian Foote . 1988 . Designing Reusable Classes. Object-Oriented Programming 1, 2 (1988). Ralph E. Johnson and Brian Foote. 1988. Designing Reusable Classes. Object-Oriented Programming 1, 2 (1988)."},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/234286.1057828"},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/964696.964711"},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/2607023.2607028"},{"key":"e_1_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1145\/1640089.1640091"},{"volume-title":"A Calculus of Communicating Systems","author":"Milner Robin","key":"e_1_2_1_34_1","unstructured":"Robin Milner . 1980. A Calculus of Communicating Systems . Springer-Verlag . Robin Milner. 1980. A Calculus of Communicating Systems. Springer-Verlag."},{"key":"e_1_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1145\/120782.120805"},{"key":"e_1_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1109\/VLHCC.2008.4639081"},{"key":"e_1_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1145\/98188.98204"},{"key":"e_1_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1109\/2.60882"},{"key":"e_1_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1145\/1614390.1614393"},{"key":"e_1_2_1_40_1","doi-asserted-by":"crossref","unstructured":"G. E. Pfaff (Ed.). 1985. User Interface Management Systems. Springer-Verlag.   G. E. Pfaff (Ed.). 1985. User Interface Management Systems. Springer-Verlag.","DOI":"10.1007\/978-3-642-70041-5"},{"key":"e_1_2_1_41_1","volume-title":"Models - Views - Controllers. (December","author":"Reenskaug Trygve M. H.","year":"1979","unstructured":"Trygve M. H. Reenskaug . 1979. Models - Views - Controllers. (December 1979 ). http:\/\/heim.ifi.uio.no\/ ?trygver\/1979\/mvc-2\/1979--12-MVC.pdf heim.ifi.uio.no\/?trygver\/1979\/mvc-2\/1979--12-MVC.pdf. Trygve M. H. Reenskaug. 1979. Models - Views - Controllers. (December 1979). http:\/\/heim.ifi.uio.no\/ ?trygver\/1979\/mvc-2\/1979--12-MVC.pdf heim.ifi.uio.no\/?trygver\/1979\/mvc-2\/1979--12-MVC.pdf."},{"key":"e_1_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.2307\/j.ctt6wrc3b"},{"volume-title":"Scientific Explanation and the Causal Structure of the World","author":"Salmon Wesley","key":"e_1_2_1_43_1","unstructured":"Wesley Salmon . 1984. Scientific Explanation and the Causal Structure of the World . Princeton University Press . Wesley Salmon. 1984. Scientific Explanation and the Causal Structure of the World. Princeton University Press."},{"key":"e_1_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.1145\/2577080.2577083"},{"key":"e_1_2_1_45_1","doi-asserted-by":"publisher","DOI":"10.1007\/s11229-008-9373-z"},{"volume-title":"The Stanford Encyclopedia of Philosophy, Edward N","author":"Seibt Johanna","key":"e_1_2_1_46_1","unstructured":"Johanna Seibt . 2013. Process Philosophy . In The Stanford Encyclopedia of Philosophy, Edward N . Zalta (Ed.). Johanna Seibt. 2013. Process Philosophy. In The Stanford Encyclopedia of Philosophy, Edward N. Zalta (Ed.)."},{"key":"e_1_2_1_47_1","volume-title":"The Coq Proof Assistant, version 8.8.0. (April","author":"Development Team The Coq","year":"2018","unstructured":"The Coq Development Team . 2018. The Coq Proof Assistant, version 8.8.0. (April 2018 ). The Coq Development Team. 2018. The Coq Proof Assistant, version 8.8.0. (April 2018)."},{"key":"e_1_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.1145\/3141858.3141863"},{"key":"e_1_2_1_49_1","doi-asserted-by":"publisher","DOI":"10.1145\/2503778.2503783"},{"volume-title":"New Computational Paradigms for Computer Music","author":"Roy Peter Van","key":"e_1_2_1_50_1","unstructured":"Peter Van Roy . 2009. Programming Paradigms for Dummies: What Every Programmer Should Know . In New Computational Paradigms for Computer Music , G. Assayag and A. Gerzso (Eds.). IRCAM\/Delatour . Peter Van Roy. 2009. Programming Paradigms for Dummies: What Every Programmer Should Know. In New Computational Paradigms for Computer Music, G. Assayag and A. Gerzso (Eds.). IRCAM\/Delatour."},{"key":"e_1_2_1_51_1","doi-asserted-by":"publisher","DOI":"10.1145\/253769.253801"}],"container-title":["Proceedings of the ACM on Human-Computer Interaction"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3229094","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3229094","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T02:07:35Z","timestamp":1750212455000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3229094"}},"subtitle":["A Conceptual Framework and a Language for Interaction-Oriented Programming"],"short-title":[],"issued":{"date-parts":[[2018,6,19]]},"references-count":50,"journal-issue":{"issue":"EICS","published-print":{"date-parts":[[2018,6,19]]}},"alternative-id":["10.1145\/3229094"],"URL":"https:\/\/doi.org\/10.1145\/3229094","relation":{},"ISSN":["2573-0142"],"issn-type":[{"type":"electronic","value":"2573-0142"}],"subject":[],"published":{"date-parts":[[2018,6,19]]},"assertion":[{"value":"2018-06-19","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}