The Problem: Software produced with current technology is typically opaque and brittle. That is, applications adapt poorly to changes in environment (OS, hardware, data profile) or intended use, scale poorly, and are difficult to debug, maintain, and enhance. As the scale and complexity of applications attempted by the software development community as a whole and by the artificial intelligence research community in particular grow, software needs to be developed with the ability to adapt to a complex, dynamic environment. Motivation: We are developing an infrastructure to support the addition of advanced language features to the toolset available to programmers. We are focusing on: • Reflection, dynamism, and metaprogramming: Reflection re...
Self-adaptive software has become increasingly important to address the new challenges of complex co...
The authors of this paper have all developed a framework that allows runtime adaptation of software ...
All computers run software, such as operating systems, web browsers, and video games, which are used...
architectures give the programmer the ability to create applications that might customize themselves...
Programming languages researchers have developed many advanced tools that promise to greatly ease so...
The work presented in this thesis seeks to improve programmer productivity in the following ways: - ...
Incremental computations are those that process input changes faster than naive computation that run...
The programming languages of today are stuck in a deep rut that has developed over the past 50 years...
Dynamic languages are becoming widely used in software engineering due to the flexibility needs of s...
International audienceContext. Refining or altering existing behavior is the daily work of every dev...
Distributed applications and middleware systems typically involve language and system-wide heterogen...
Abstract. Reflection is one of the main techniques used to develop adaptable sys-tems and, currently...
A programming style can be seen as a particular model of shaping thought or a special way of codifyi...
Software needs now strain the design limits of traditional programming languages. Modern application...
While dynamic languages are now mainstream choices for application development, most popular dynamic...
Self-adaptive software has become increasingly important to address the new challenges of complex co...
The authors of this paper have all developed a framework that allows runtime adaptation of software ...
All computers run software, such as operating systems, web browsers, and video games, which are used...
architectures give the programmer the ability to create applications that might customize themselves...
Programming languages researchers have developed many advanced tools that promise to greatly ease so...
The work presented in this thesis seeks to improve programmer productivity in the following ways: - ...
Incremental computations are those that process input changes faster than naive computation that run...
The programming languages of today are stuck in a deep rut that has developed over the past 50 years...
Dynamic languages are becoming widely used in software engineering due to the flexibility needs of s...
International audienceContext. Refining or altering existing behavior is the daily work of every dev...
Distributed applications and middleware systems typically involve language and system-wide heterogen...
Abstract. Reflection is one of the main techniques used to develop adaptable sys-tems and, currently...
A programming style can be seen as a particular model of shaping thought or a special way of codifyi...
Software needs now strain the design limits of traditional programming languages. Modern application...
While dynamic languages are now mainstream choices for application development, most popular dynamic...
Self-adaptive software has become increasingly important to address the new challenges of complex co...
The authors of this paper have all developed a framework that allows runtime adaptation of software ...
All computers run software, such as operating systems, web browsers, and video games, which are used...