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 条
  • [41] Semantics for consistent activation in context-oriented systems
    Cardozo, Nicolas
    Gonzalez, Sebastian
    Mens, Kim
    Van Der Straeten, Ragnhild
    Vallejos, Jorge
    D'Hondt, Theo
    INFORMATION AND SOFTWARE TECHNOLOGY, 2015, 58 : 71 - 94
  • [42] Context-oriented Software Transactional Memory in Common Lisp
    Costanza, Pascal
    Herzeel, Charlotte
    D'Hondt, Theo
    ACM SIGPLAN NOTICES, 2009, 44 (12) : 59 - 68
  • [43] Towards Context-oriented Project Management for Virtual Organizations
    Hsu, Chouyin
    Lee, Minfeng
    JCPC: 2009 JOINT CONFERENCE ON PERVASIVE COMPUTING, 2009, : 761 - 764
  • [44] Dynamic Visualisation of Features and Contexts for Context-Oriented Programmers
    Duhoux, Benoit
    Dumas, Bruno
    Leung, Hoo Sing
    Mens, Kim
    PROCEEDINGS OF THE ACM SIGCHI SYMPOSIUM ON ENGINEERING INTERACTIVE COMPUTING SYSTEMS (EICS'19), 2019,
  • [45] A context-oriented framework for software testing in pervasive environment
    Lu, Heng
    29TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING: ICSE 2007 COMPANION VOLUME, PROCEEDINGS, 2007, : 77 - 78
  • [46] Detecting the Onset of Dementia using Context-Oriented Architecture
    Magableh, Basel
    AlBeiruti, Nidal
    2012 6TH INTERNATIONAL CONFERENCE ON NEXT GENERATION MOBILE APPLICATIONS, SERVICES AND TECHNOLOGIES (NGMAST), 2012, : 24 - 30
  • [47] LETTERS AS A MEANS OF DAILY COMMUNICATION - A CONTEXT-ORIENTED ANALYSIS
    GOTZ, I
    LOFFLER, K
    SPECKLE, B
    SCHWEIZERISCHES ARCHIV FUR VOLKSKUNDE, 1993, 89 (02): : 165 - 183
  • [48] Context-oriented and transaction-based service provisioning
    ICT Department, The Open University, Milton Keynes MK7 6AA, United Kingdom
    不详
    Int. J. Web Grid. Serv., 2007, 2 (194-218):
  • [49] ScalableViT: Rethinking the Context-Oriented Generalization of Vision Transformer
    Yang, Rui
    Ma, Hailong
    Wu, Jie
    Tang, Yansong
    Xiao, Xuefeng
    Zheng, Min
    Li, Xiu
    COMPUTER VISION, ECCV 2022, PT XXIV, 2022, 13684 : 480 - 496
  • [50] Visual argumentation in political advertising A context-oriented perspective
    Dahl, John Magnus R.
    JOURNAL OF ARGUMENTATION IN CONTEXT, 2015, 4 (03) : 286 - 298