Flage: A Programming Language for Adaptive Software

Fumihiro KUMENO  Akihiko OHSUGA  Shinichi HONIDEN  

IEICE TRANSACTIONS on Information and Systems   Vol.E81-D    No.12    pp.1394-1403
Publication Date: 1998/12/25
Online ISSN: 
Print ISSN: 0916-8532
Type of Manuscript: Special Section PAPER (Special Issue on Knowledge-Based Software Engineering)
Category: System
programming language,  concurrent objects,  dynamic adaptation,  metalevel architecture,  field,  

Full Text: PDF>>
Buy this Article

We propose a programming language, Flage, for building software systems which dynamically adapt to changing local situations. In our language, we construct applications by agents; concurrent mobile objects with the metalevel architecture. Metalevel programming facilities realize a self-control of an agent's actions and an autonomous adaptation to changes. We also introduce another kind of program element called field. A field represents a local situation around agents. For example, one field represents a virtual place to get local information in a network environment and another represents a virtual place where agents do cooperative works. If an agent enters a field, it gets programs and shared information in the field. By moving field to field, an agent can change its program composition by itself and it adapts to changing local situations. In this paper, we describe the language specification of Flage, the implementation of the platform for Flage programming and show some program examples.