LIP6 2002/014

  • Thesis
    Outils pour les Langages d'Experts - Adaptation, Refactoring et Réflexivité
  • S. R. Razavi Ebrahimi
  • 285 pages - 11/30/2001- document en - http://www.lip6.fr/lip6/reports/2002/lip6.2002.014.pdf - 1,481 Ko
  • Contact : Reza.Razavi (at) nulllip6.fr
  • Ancien Thème : OASIS
  • An Adaptive Object Model (AOM) is a piece of software designed to interpret an evolving representation of the modeled universe. This technique serves, e.g., for creating software product lines and modeling environments. Very recent research by Ralph Johnson & al. asserts the problem of building tool to support dynamic co-evolution of structure and behavior. The goal is to document, especially by means of design patterns, an object-oriented framework that supports creating AOMs that let, at runtime, defining and interpreting procedures that operate on data structures, themselves defined at runtime. Such a dynamic co-evolution can be assimilated to runtime definition of classes, their structure and behavior (adaptation). However, on the basis of our industrial experience, we consider that such a tool should allows creating software (expert-programmable software) that fulfills "simultaneously" the following requirements: 1) ensures adaptation by non-programmer domain experts; 2) provides experts with an easy to learn, task-specific language; 3) ensures collaborative work practices between experts and programmers; 4) interprets experts defined models as workflow processes; 5) ensures the causal connection between each interpretation of a model and its definition; 6) ensures the local choice of adaptation type. We document and implement three complementary frameworks. Only the last one, which is based on using a reflexive object-oriented language allowing the explicit choice of meta-classes (METACLASSTALK), lets creating expert-programmable software that fulfills entirely the above-mentioned requirements. We introduce also the concepts of prototypical adaptation and autonomous classes. This research is based on a long and successful industrial experience in building expert-programmable software. Its results have been tested on an expert-programmable, multi-agent simulation environment (MOBIDYC) in collaboration with INRA (France).
  • Keywords : Adaptive Object-Models, Object-oriented Frameworks, Design Patterns, Smalltalk-80, Reflection, Meta-classes and Meta-level Architectures, End-user Programming, Workflow
  • Publisher : Ghislaine.Mary (at) nulllip6.fr