Context-Oriented Behavioral Programming

被引:13
|
作者
Elyasaf, Achiya [1 ]
机构
[1] Ben Gurion Univ Negev, Dept Software & Informat Syst Engn, Beer Sheva, Israel
关键词
Behavioral programming; Scenario-based programming; Programming paradigm; Context awareness; Context-oriented programming; Context-Oriented Behavioral Programming;
D O I
10.1016/j.infsof.2020.106504
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Context: Modern systems require programmers to develop code that dynamically adapts to different contexts, leading to the evolution of new context-oriented programming languages. These languages introduce new software-engineering challenges, such as: how to maintain the separation of concerns of the codebase? how to model the changing behaviors? how to verify the system behavior? and more. Objective: This paper introduces Context-Oriented Behavioral Programming (COBP) - a novel paradigm for developing context-aware systems, centered on natural and incremental specification of context-dependent behaviors. As the name suggests, we combine behavioral-programming (BP) - a scenario-based modeling paradigm - with context idioms that explicitly specify when scenarios are relevant and what information they need. The core idea is to connect the behavioral model with a data model that represents the context, allowing an intuitive connection between the models via update and select queries. Combining behavioral-programming with context-oriented programming brings the best of the two worlds, solving issues that arise when using each of the approaches in separation. Methods: We begin with providing abstract semantics for COBP and two implementations for the semantics, laying the foundations for applying reasoning algorithms to context-aware behavioral programs. Next, we exemplify the semantics with formal specifications of systems, including a variant of Conway's Game of Life. Then, we provide two case studies of real-life context-aware systems (one in robotics and another in IoT) that were developed using this tool. Throughout the examples and case studies, we provide design patterns and a methodology for coping with the above challenges. Results: The case studies show that the proposed approach is applicable for developing real-life systems, and presents measurable advantages over the alternatives - behavioral programming alone and context-oriented programming alone. Conclusion: We present a paradigm allowing programmers and system engineers to capture complex context-dependent requirements and align their code with such requirements.
引用
收藏
页数:19
相关论文
共 50 条
  • [31] Mobile context-oriented platform for learning support
    Budina, J.
    Klapka, O.
    Zmitko, M.
    2015 13TH INTERNATIONAL CONFERENCE ON EMERGING ELEARNING TECHNOLOGIES AND APPLICATIONS (ICETA), 2015, : 51 - 57
  • [32] THOUGHTS ON CONTEXT-ORIENTED GENRE THEORY OF THE BALLAD
    WURZBACH, N
    JAHRBUCH FUR VOLKSLIEDFORSCHUNG, 1984, 29 : 112 - 116
  • [33] Auto-COP: Adaptation generation in Context-oriented Programming using Reinforcement Learning options
    Cardozo, Nicolas
    Dusparic, Ivana
    INFORMATION AND SOFTWARE TECHNOLOGY, 2023, 164
  • [34] RTCOP: Context-Oriented Programming Framework based on C plus plus for Application in Embedded Software
    Tanigawa, Ikuta
    Hisazumi, Kenji
    Ogura, Nobuhiko
    Sugaya, Midori
    Watanabe, Harumi
    Fukuda, Akira
    PROCEEDINGS OF THE 2ND INTERNATIONAL CONFERENCE ON INFORMATION SCIENCE AND SYSTEMS (ICISS 2019), 2019, : 65 - 72
  • [35] Group Decision Making A Context-oriented View
    Brezillon, Patrick
    Zarate, Pascale
    JOURNAL OF DECISION SYSTEMS, 2008, 17 (01) : 11 - 26
  • [36] CONTEXT-ORIENTED WEB METHODOLOGY WITH A QUALITY APPROACH
    Griman, Anna
    Perez, Maria
    Ortega, Maryoly
    Mendoza, Luis E.
    ICEIS 2008: PROCEEDINGS OF THE TENTH INTERNATIONAL CONFERENCE ON ENTERPRISE INFORMATION SYSTEMS, VOL ISAS-2: INFORMATION SYSTEMS ANALYSIS AND SPECIFICATION, VOL 2, 2008, : 213 - 219
  • [37] Context-oriented web application protection model
    Prokhorenko, Victor
    Choo, Kim-Kwang Raymond
    Ashman, Helen
    APPLIED MATHEMATICS AND COMPUTATION, 2016, 285 : 59 - 78
  • [38] Relational Schema Summarization: A Context-Oriented Approach
    Sampaio, Marcus
    Quesado, Jefferson
    Barros, Samarony
    ADVANCES IN DATABASES AND INFORMATION SYSTEMS, 2013, 186 : 217 - 228
  • [39] Visibility of context-oriented behavior and state in L
    Hirschfeld, Robert
    Masuhara, Hidehiko
    Igarashi, Atsushi
    Felgentreff, Tim
    Computer Software, 2015, 32 (03) : 149 - 158
  • [40] Context-oriented Knowledge Management in Production Networks
    Sandkuhl, Kurt
    Smirnov, Alexander
    APPLIED COMPUTER SYSTEMS, 2018, 23 (02) : 81 - 89