ABSTRACT
Adaptive applications are designed and programmed to dynamically adjust their behaviour to respond to changes of their execution environment. This paper introduces MLCoDa, a new COP language, made of two components: a declarative one for the context and a functional constituent for computing. Here we concentrate on the rational behind the design of MLCoDa and on its dynamic semantics. We also sketch a verification mechanism based on static analysis to prevent wrong adaptations which could compromise the correct behaviour of applications.
- Tomoyuki Aotani, Tetsuo Kamina, and Hidehiko Masuhara. Featherweight EventCJ: a core calculus for a context-oriented language with event-based per-instance layer transition. COP '11. ACM, 2011. Google ScholarDigital Library
- M. Appeltauer, R. Hirschfeld, M. Haupt, and H. Masuhara. ContextJ: Context-oriented programming with Java. Computer Software, 28(1), 2011.Google Scholar
- Malte Appeltauer, Robert Hirschfeld, Michael Haupt, Jens Lincke, and Michael Perscheid. A comparison of context-oriented programming languages. COP '09. ACM, 2009. Google ScholarDigital Library
- S. Ceri, G. Gottlob, and L. Tanca. What you always wanted to know about datalog (and never dared to ask). IEEE Trans. on Knowl. & Data Eng., 1(1), 1989. Google ScholarDigital Library
- H. Chen, T. Finin, and A. Joshi. An ontology for context-aware pervasive computing environments. The Knowledge Engineering Review, 18(03), 2003. Google ScholarDigital Library
- Dave Clarke and Ilya Sergey. A semantics for context-oriented programming with layers. COP '09. ACM, 2009. Google ScholarDigital Library
- Pascal Costanza. Language constructs for context-oriented programming. In In Proc. of the Dynamic Languages Symposium. ACM, 2005. Google ScholarDigital Library
- Pierre-Charles David and Thomas Ledoux. Wildcat: a generic framework for context-aware applications. In MPAC '05. ACM, 2005. Google ScholarDigital Library
- Pierpaolo Degano, Gian-Luigi Ferrari, Letterio Galletta, and Gianluca Mezzetti. Typing for coordinating secure behavioural variations. In Coordination Models and Languages, volume 7274 of LNCS. Springer, 2012. Google ScholarDigital Library
- Letterio Galletta. Adaptivity: linguistic mechanisms and static analysis techniques. PhD thesis, Comp. Sci. Dept., University of Pisa, 2014. http://www.di.unipi.it/~galletta/phdThesis.pdf.Google Scholar
- T. Gu, X.H. Wang, H.K. Pung, and D.Q. Zhang. An ontology-based context model in intelligent environments. In Proceedings of communication networks and distributed systems modeling and simulation conference, 2004.Google Scholar
- R. Hirschfeld, A. Igarashi, and H. Masuhara. ContextFJ: a minimal core calculus for context-oriented programming. In Proceedings of the 10th international workshop on Foundations of aspect-oriented languages. ACM, 2011. Google ScholarDigital Library
- Robert Hirschfeld, Pascal Costanza, and Oscar Nierstrasz. Context-oriented programming. Journal of Object Technology, March-April 2008, ETH Zurich, 7(3):125--151, 2008.Google ScholarCross Ref
- Atsushi Igarashi, Robert Hirschfeld, and Hidehiko Masuhara. A type system for dynamic layer composition. In FOOL 2012, page 13, 2012.Google Scholar
- Seng W. Loke. Representing and reasoning with situations for context-aware pervasive computing: a logic programming perspective. Knowl. Eng. Rev., 19(3), September 2004. Google ScholarDigital Library
- George C. Necula and Peter Lee. Safe, untrusted agents using proof-carrying code. In Mobile Agents and Security, pages 61--91, 1998. Google ScholarDigital Library
- Giorgio Orsi and Letizia Tanca. Context modelling and context-aware querying. In O. Moor, G. Gottlob, T. Furche, and A. Sellers, editors, Datalog Reloaded, volume 6702 of LNCS, pages 225--244. Springer, 2011. Google ScholarDigital Library
- Bhaskar Prasad Rimal, Eunmi Choi, and Ian Lumb. A taxonomy and survey of cloud computing systems. In NCM '09. IEEE Computer Society, 2009.Google ScholarDigital Library
- Eva Rose. Lightweight bytecode verification. J. Autom. Reason., 31(3-4), 2004. Google ScholarDigital Library
- Guido Salvaneschi, Carlo Ghezzi, and Matteo Pradella. Context-oriented programming: A software engineering perspective. Journal of Systems and Software, 85(8):1801--1817, 2012. Google ScholarDigital Library
- Guido Salvaneschi, Carlo Ghezzi, and Matteo Pradella. ContextErlang: introducing context-oriented programming in the actor model. AOSD '12, 2012. Google ScholarDigital Library
- Jorge Vallejos, Sebastián González, Pascal Costanza, Wolfgang De Meuter, Theo D'Hondt, and Kim Mens. Predicated generic functions: Enabling context-dependent method dispatch. In Proceedings of the 9th International Conference on Software Composition, volume 6144 of LNCS, pages 66--81, Berlin, 2010. Springer. Google ScholarDigital Library
- Bart van Wissen, Nicholas Palmer, Roelof Kemp, Thilo Kielmann, and Henri Bal. ContextDroid: an expression-based context framework for Android. In Proceedings of PhoneSense 2010, 2010.Google Scholar
- X.H. Wang, D.Q. Zhang, T. Gu, and H.K. Pung. Ontology based context modeling and reasoning using owl. In Pervasive Computing and Communications Workshops, 2004. Proceedings of the Second IEEE Annual Conference on, pages 18--22. Ieee, 2004. Google ScholarDigital Library
- Pamela Zave and Michael Jackson. Four dark corners of requirements engineering. ACM Trans. Softw. Eng. Methodol., 6(1):1--30, January 1997. Google ScholarDigital Library
Index Terms
- A Two-Component Language for COP
Recommendations
Datafun: a functional Datalog
ICFP 2016: Proceedings of the 21st ACM SIGPLAN International Conference on Functional ProgrammingDatalog may be considered either an unusually powerful query language or a carefully limited logic programming language. Datalog is declarative, expressive, and optimizable, and has been applied successfully in a wide variety of problem domains. ...
Systems programming in the functional language FP
AbstractThe development of systems software in functional programming language is still an open problem. This paper describes a preliminary experiment with systems programming in Backus’ FP systems[1]. It consists of two systems programs. One is a self-...
mimium: a self-extensible programming language for sound and music
FARM 2021: Proceedings of the 9th ACM SIGPLAN International Workshop on Functional Art, Music, Modelling, and DesignWe propose a programming language for music named mimium, which combines temporal-discrete control and signal processing in a single language. mimium has an intuitive imperative syntax and can use stateful functions as Unit Generator in the same way as ...
Comments