Adaptive Object-Models and Metamodeling Techniques

- Workshop #6 @ Ecoop 01

- dead line for submission : april 17

- held on : monday, june 18

- location: room Mon -1.63/P48B, Eotvos Lorand University, Budapest, Hungary (Ecoop ws staff will provide a local map for the room arrangements later)

 

Associated Url:
http://adaptiveobjectmodel.com/ECOOP2001/

and/or

http://www-poleia.lip6.fr/~revault/research/ecoop01ws

 

Organizers

 

Nicolas Revault, Joseph W. Yoder & Ali Arsanjani

Respectively:

 

Nicolas.Revault@lip6.fr
Univ.
Paris 6
LIP6/PoleIA (& Univ. Cergy-Pontoise)
4 place Jussieu, 75252 Paris Cedex 05
France

 

yoder@refactory.com
The Refactory Inc
7 Florida Drive, Urbana, IL 61801
USA

 

arsanjan@us.ibm.com
National e-business Application Development Center of Competency
IBM Global Services
USA

 

Abstract

 

A system with an Adaptive Object-Model (AOM) has an explicit object model that it interprets at run-time. If you change the object model, the system changes its behavior. For example, a lot of workflow systems have an Adaptive Object-Model. Objects have states and respond to events by changing state. The Adaptive Object-Model defines the objects, their states, the events, and the conditions under which an object changes state.

 

There are various techniques that share common features with AOM's. Especially, those that try also to capture business rules and build domain specific languages, namely – Grammar-oriented Object Design (applied in the three major areas of configurable workflow, tier-to-tier mapping and object graph traversal) or – Meta-CASE tools and environments approaches, à la MetaEdit+ or à la MétaGen (applied in various fields of information system modeling: telecom, finance, medicine, etc.). There are other techniques which also describe ways to build systems that change behavior at runtime, namely – Reflection at the language level (mostly applied to programming language design). What is actually common to those various techniques is that they are leading to, or are driven by, metamodeling principles and implementation using OO languages.

 

This workshop will focus on identifying, cataloging and comparing these techniques one towards another. We will also try to establish the conditions of use of these techniques, look at where they meet or overlap, and hopefully set some cross-fertilization ideas of benefit for each technique.

 

Call for Papers

 

Adaptive Object-Models and other techniques such as Grammar-oriented Object Design, meta-CASE environment approaches or Reflection at the language level, address at least one of the two following problems:

-       Capturing [business] rules for user modeling and/or building [Domain] Specific Languages;

-       Building systems that need to change requirements and reflect those requirements as quickly as possible, i.e. runtime or dynamic adaptability;

What is generally common to these techniques is that they actually implement or use metamodeling principles through OO languages capabilities.

 

This workshop will focus on identifying, cataloging and comparing these techniques one towards another, and other similar ones that share common goals. We will also try to establish the conditions of use of these techniques, look at where they meet or overlap, and hopefully set some cross-fertilization ideas of benefit for each technique.

 

Workshop position papers should be 3-10 pages in length and should address one or more of the following:

-       Examples of the different techniques

-       Concrete development reports with lessons learned from them

-       Prerequisites or needs for each technique

-       Pros and Cons of the different techniques

-       Comparison of the different techniques showing overlapping and non-overlapping areas

 

Please submit position papers to the three organizers:

Nicolas.Revault@lip6.fr; yoder@refactory.com; arsanjan@us.ibm.com

or simply to the alias:

ecoop2001submissions@adaptiveobjectmodel.com.

 

Other Links

 

A link to the Metadata and Active Object-Model Pattern Mining Workshop given at ECOOP 2000 in Cannes France can be found at:

http://adaptiveobjectmodel.com/ECOOP2000/

Also you can find links to other related workshops and related links at:

          http://adaptiveobjectmodel.com/

See also some other interesting links:

          http://www.mum.edu/cs_dept/aarsanjani/oopsla2000/business-rules.html
         
http://www.metamodel.com/IWME00
         
http://www.metamodel.com/oopsla98-cdif-workshop/
         
http://saturne.info.uqam.ca/Labo_Recherche/Larc/metamodeling-wshop.html

 

Biographies

 

Nicolas Revault

 

PhD from University of Paris 6 (Université Pierre et Marie Curie), Nicolas Revault is an assistant professor since 1998 at University of Cergy-Pontoise (near Paris). He's attached at the Théma lab (an associated unit of CNRS) and he's teaching at both departments of economics & management and computer science of the university. He's also an affiliated member of the CS lab of university of Paris 6 (LIP6), where he's working in collaboration with the members of its OASIS team (http://www-poleia.lip6.fr/OASIS/eng_index.html).

 

From 1991 to 1995, at Lip6 (formerly Laforia lab), he has been the project leader for the development the first version of the MétaGen tool, a meta-CASE environment written in Smalltalk (http://www-poleia.lip6.fr/~revault/mg/publications.html). From a rapid prototyping environment with metamodeling facilities he had been working on in 1991, he has established the distinction between User Metamodeling and Implementor Metamodeling promoted by the MétaGen approach. He has illustrated it through various examples, especially using OO frameworks through metamodeling (see his PhD thesis). Since then, after three positions of assistant professor at university of Paris 13, at university of Paris 12 and at École des Mines de Nantes, he has been working on various other projects on metamodeling and on model transformation. He is currently working on adapting these projects to the recently appeared metamodeling standards (OMG's MOF); he is actually considering the way of "putting the MOF to work" with existing [meta-]CASE tools.

 

He has been using OO languages and techniques since 1988 (C++, Smalltalk, Java), and teaching them since 1991, especially with the Smalltalk language (the various dialects) and more recently… Java.

 

Joseph W. Yoder

 

Joseph W. Yoder has worked on the architecture, design, and implementation of various software projects dating back to 1985. These projects have incorporated many technologies and range from stand-alone to client-server applications, multi-tiered, databases, object-oriented, frameworks, human-computer interaction, collaborative environments, and domain-specific visual-languages. Joe has primarily worked with objects since the early 90’s.

 

Over the last few years, he has taught Object-Oriented concepts including Patterns and Smalltalk to Caterpillar and the Illinois Department of Public Health (IDPH) analysts and developers, and has mentored many developers on the development applications being deployed across the state of Illinois such as the Newborn Screening application, the Refugee System, and the Food Drug and Dairy application. His work with these systems was spawned from his involvement in the development of an Enterprise Class Library to assist with the ongoing development of needed IDPH applications. This Enterprise Class Library is a collection of frameworks and resuable components used for more quickly building applications at IDPH.

 

Joe's recent research has focused on the building adaptable systems; systems that can quickly adapt to meet the changing requirements of businesses without a huge programming efforts. Joe is the author of over two-dozen published patterns and has been working with patterns for a long time, writing his first pattern paper in 1995, and chaired the PLoP'97 conference on software patterns (http://jerry.cs.uiuc.edu/~plop). Joe is also one of the original members of the Ralph Johnson's Software Architect Group at the University of Illinois and collaborated with five of the original members to form The Refactory, Inc. (http://www.refactory.com).

 

Joe enjoys building elegant and successful systems, helping people succeed, and learning new things. He wants to continue to provide analysis, design, and mentoring and to write papers that reflect these experiences.

 

Ali Arsanjani

 

Ali Arsanjani has 17 years industry experience and is a Consulting I/T Architect for IBM's National E-business Application Development Center of Competency were he leads the component-based development and integration initiative.

 

Mr. Arsanjani has been architecting n-tier e-business systems based on object and component technology for IBM's larger clients. His areas of experience and research include best-practices for component-based development, business rules modeling and implementation, creation and evolution for reusable assets, extending methods for CBD, building business frameworks and components and incorporating patterns and pattern languages to build resilient and stable software architecures.

 

He has been actively presenting and publishing in these areas for a variety of audiences in industry and academia.

 

Papers

 

Building a Completely Adaptable Reflective System

F. Ortín Soler and J. M. Cueva Lovelle

Reflection is one of the main techniques used to develop adaptable systems and, currently, different kinds of reflective systems exist. Compile-time re-flection systems provide the ability to customize their language but they are not adaptable at runtime. On the other hand, runtime reflection systems define meta-object protocols to customize the system semantics at runtime. However, these meta-object protocols restrict the way a system may be adapted before its execu-tion, and they do not permit the customization of its language.

Our system implements a non-restrictive reflection mechanism over a virtual ma-chine, in which every feature may be adapted at runtime. No meta-object protocol is used and, therefore, it is not needed to specify previously what may be reflected. With our reflective system, the programming language may be also customized at runtime.

ortin.pdf

 

Metamodel Composition in the Generic Modeling Environment

A. Ledeczi, P. Volgyesi and G. Karsai

This paper introduces a CDSDE, the Generic Modeling Environment (GME 2000), developed at the Institute for Software Integrated Systems at Vanderbilt University. GME 2000 utilizes metamodeling to define the domain modeling language along with model integrity constraints and it automatically configures itself to support the new language. The metamodeling capabilities of GME 2000, especially its support for metamodel composition, are in the focus of this paper.

Ledeczi_Vanderbilt_ECOOP_WS.pdf

 

Model-Driven Architecture: Vision, Standards And Emerging Technologies

J. D. Poole

This paper surveys the core OMG MDA standards (i.e., UML, MOF, XMI and CWM) and discusses the current attempts at mapping these standards to J2EE, as examples of  PIM-to-PSM translations that are currently under development. These forthcoming APIs will provide the initial building blocks for a new generation of systems based on the model-driven architecture concept. The progression of these initial MDA realizations to AOMs is the next logical step in this evolution.

Model-Driven_Architecture.pdf

 

The Architectural Style of Adaptive Object-Models

J. Yoder, F. Balaguer and R. Johnson

Many object-oriented information systems share an architectural style that emphasizes flexibility and dynamically configurable. Business rules are stored in a database instead of in code. The object model that the user cares about is part of the database, and the object model of the code is just an interpreter of the users’ object model. We call these systems “Adaptive Object-Models”, because the users’ object model is interpreted at runtime and can be changed with immediate (but controlled) effects on the system interpreting it.

AOM_ECOOP2001.pdf

 

Program

 

>> 9:00-10:30 - Welcome and introduction

* Presentation of the participants

* Context of the workshop

* Brief presentation of the main workshop topics: [organizers]

- reflexivity at the language level, - adaptive object-models, - grammar-oriented object design, - meta-case environments approaches and model engineering

* Particularities of the works of submitters: [F. Ortín Soler et al., A. Ledeczi et al., J. D. Poole]

>> 10:30-11:00 - Break

 

>> 11:00-12:30 - Group discussion part I (depending on the number of attendees !)

* Composition of interest groups

* Beginning of discussions

>> 12:30-14:00 - Lunch

 

>> 14:00-15:30 - Group discussion part II

* Discussions, depending on each group !

* Preparation of report for the whole group

>> 15:30-16:00 - Break

 

>> 16:00-17:30 - Discussion reports and conclusion

* Presentations of group discussion reports

* Synthesis and perspectives

 

Note: a beamer will be available for plugging in laptops in order use slide shows and / or have demo sessions

 

Declared participants

 

title

surname

firstname

company

email

Dr.

Alvarez

Dario

University of Oviedo

darioa@pinon.ccu.uniovi.es

Mr.

Gerhardt

Frank

 

fg@acm.org

Dr

Ledeczi

Akos

Vanderbilt University

akos@isis.vanderbilt.edu

Dr.

Oliver

Ian

Nokia Research Center

ian.oliver@nokia.com

Mr

Ortín

Francisco

University of Oviedo

ortin@pinon.ccu.uniovi.es

Ms

Ose

Ilona

Information Centre

VSR@APOLLO.LV

Mr

Poole

John

Hyperion Solutions Corp

John_Poole@hyperion.com

Mr

Revault

Nicolas

Univ. Cergy-Pontoise - LIP6

Nicolas.Revault@lip6.fr

Mr.

Yoder

Joseph

The Refactory

yoder@refactory.com

--------

For joining all the participants: ecoop2001@adaptiveobjectmodel.com

 

Workshop summary

 

Presentations

Here are some links to the various presentations we had during the workshop, in PDF format:

Main presentation

N. Revault's presentation

J. Yoder's presentation

F. Ortin's presentation

A. Ledeczi's presentation

 

and here is for those who can read PP SlideShows on-line (better quality):

main and annex slides (general and specific presentations)

 

Report

Finally, here is a link to the workshop report (PDF), approximately like it should appear in the Ecoop'01 Workshop Reader.

 

 

 (collapse all sections here)