Towards a rule model for self-adaptive software
ACM SIGSOFT Software Engineering Notes
Architecture-based self-adaptation in the presence of multiple objectives
Proceedings of the 2006 international workshop on Self-adaptation and self-managing systems
Self Adaptive Software Problems and Projects
SOFTWARE-EVOLVABILITY '06 Proceedings of the Second International IEEE Workshop on Software Evolvability
Tasks: language support for event-driven programming
Proceedings of the 2007 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
An Adaptive Software Framework based on Service Composition
SERA '07 Proceedings of the 5th ACIS International Conference on Software Engineering Research, Management & Applications
Self-adaptive software: Landscape and research challenges
ACM Transactions on Autonomous and Adaptive Systems (TAAS)
Software Engineering for Self-Adaptive Systems
Software Engineering for Self-Adaptive Systems
Towards self-adaptive software-intensive systems
Proceedings of the joint international and annual ERCIM workshops on Principles of software evolution (IWPSE) and software evolution (Evol) workshops
TomML: A Rule Language for Structured Data
RuleML '09 Proceedings of the 2009 International Symposium on Rule Interchange and Applications
A programming model for self-adaptive open enterprise systems
Proceedings of the 5th International Workshop on Middleware for Service Oriented Computing
EventCJ: a context-oriented programming language with declarative event-based context transition
Proceedings of the tenth international conference on Aspect-oriented software development
Hi-index | 0.00 |
We introduce a new programming language called INI, which eases the development of self-adaptive software. INI combines both rule-based and event-based programming paradigms, by allowing the definitions of rules that can be triggered by events. Besides a convenient language-level support for synchronization, the key point with INI events is that they come with a configuration layer, which is set up through input parameters passed to the events when created. Additionally, events can be stopped, reconfigured, and restarted at runtime by the program itself. Ultimately, this re-configuration can be triggered by other events, thus allowing the program to adapt to new operational environments.