arrow
Return

A Two-Component Language for Adaptation: Design, Semantics and Program Analysis

delete2016-06-01
delete8
PRE
AI
P
Pierpaolo Degano *
G
Gian-Luigi Ferrari
L
Letterio Galletta
DOI:10.1109/TSE.2015.2496941delete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

Abstract

En 中文
Adaptive systems are designed to modify their behaviour in response to changes of their operational environment. We propose a two-component language for adaptive programming, within the Context-Oriented Programming paradigm. It has a declarative constituent for programming the context and a functional one for computing. We equip our language with a dynamic formal semantics. Since wrong adaptation could severely compromise the correct behaviour of applications and violate their properties, we also introduce a two-phase verification mechanism. It is based on a type and effect system that type-checks programs and computes, as an effect, a sound approximation of their behaviour. The effect is exploited at load time to mechanically verify that programs correctly adapt themselves to all possible running environments.
Keywords:
Adaptive software
context oriented programming
formal methods
datalog
functional programming
semantics
type systems
verification
AI Summary

AI Summary

Key information extracted from the uploaded paper, including a brief overview, abstract, background, key highlights, visual analysis, and future outlook.

Journal

IEEE Transactions on Software Engineering cover
IEEE Transactions on Software Engineering
IF:
5.6
Papers:
2.8K
Citations:
1.1W

Organization

U
University of Pisa
Scholars:
3.1W
Papers: 2.4W
Citations: 2.4W