Higher-order concurrent programs with finite communication topology (extended abstract)
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
PI-Calculus: A Theory of Mobile Processes
PI-Calculus: A Theory of Mobile Processes
Introduction To Automata Theory, Languages, And Computation
Introduction To Automata Theory, Languages, And Computation
Language Primitives and Type Discipline for Structured Communication-Based Programming
ESOP '98 Proceedings of the 7th European Symposium on Programming: Programming Languages and Systems
Computability classes for enforcement mechanisms
ACM Transactions on Programming Languages and Systems (TOPLAS)
Language constructs for context-oriented programming: an overview of ContextL
DLS '05 Proceedings of the 2005 symposium on Dynamic languages
Types and trace effects of higher order programs
Journal of Functional Programming
Self-adaptive software: Landscape and research challenges
ACM Transactions on Autonomous and Adaptive Systems (TAAS)
Local policies for resource usage analysis
ACM Transactions on Programming Languages and Systems (TOPLAS)
A semantics for context-oriented programming with layers
International Workshop on Context-Oriented Programming
Software Engineering for Self-Adaptive Systems: A Research Roadmap
Software Engineering for Self-Adaptive Systems
Automata for Context-Dependent Connectors
COORDINATION '09 Proceedings of the 11th International Conference on Coordination Models and Languages
Planning and verifying service composition
Journal of Computer Security - 18th IEEE Computer Security Foundations Symposium (CSF 18)
ContextFJ: a minimal core calculus for context-oriented programming
Proceedings of the 10th international workshop on Foundations of aspect-oriented languages
A conceptual framework for adaptation
FASE'12 Proceedings of the 15th international conference on Fundamental Approaches to Software Engineering
Formalising security in ubiquitous and cloud scenarios
CISIM'12 Proceedings of the 11th IFIP TC 8 international conference on Computer Information Systems and Industrial Management
Hi-index | 0.00 |
Context-Oriented programming languages provide us with primitive constructs to adapt program behaviour depending on the evolution of their operational environment. We are interested here in software components, the behaviour of which depend on the following: their actual operating context; the security policies that control accesses to their resources and the potential interactions with the external environment. For that, we extend a core functional language with mechanisms to program behavioural variations, to manipulate resources and to enforce security policies over both variations and resource usages. Additionally, there are message passing primitives to interact with the environment, also subject to a simple policy. Changes of the operational context are triggered both by the program and by the exchanged messages. Besides a definition of the dynamic semantics, we introduce a static analysis for guaranteeing programs to safely operate in any admissible context, and to correctly interact with the environment they comply with.