Ongoing Work
Syntax for Exchanging Schemata
and Data
GXL allows the exchange both
data and schemata using attributed, typed graphs. GXL models the data to
be exchanged as typed graphs and the schemata as UML-like diagrams. The
portion of GXL used to represent data includes features from RSF (UVic),
TA (UWaterloo), GraX and Tgraphs (UKoblenz), Progres (UBundeswehr) and
RPA (Philips). The portion of GXL for encoding data is ready to be used.
The portion of GXL for representing schemata is still to be determined,
but the goal is to remain compatible with OMG's MOF, while keeping the
SEF easy to learn, use, and implement. The future work for this area is
to:
-
formally specify schemas and
their encoding
-
construct translators from
well-known SEFs such as TA, RSF, Tgraphs, and Progres
-
create standard benchmarks
to validate the above
If you are interested in becoming
involved in this area, you should read the
GXL
home page, and contact Ric Holt
or Andreas Winter.
Step 1 Detailed specification
and documentation of GXL to support tool construction.
Step 2 Construction
of tools that use GXL.
C++ AST and API
There are currently number
of different approaches to representing C++ at the AST level, including
work by the Datrix Group (Bell Canada), by Bauhaus (UStuttgart), by GUPRO
(UKoblenz), and by Kontogiannis (UWaterloo). These schemas, and others,
seem more or less equivalent to each other. The group recommended looking
at the various schemata available for C++ and developing a unified schema.
Future work for this area:
-
arrive at a common schema
-
develop a corresponding API
to access this data
The previous contact person,
Sebastién Lapierre, has a new job outside of reverse engineering
and we are seeking a new contact person. If you would like to assume
this role, please send me
a message. The following to-do list was established
by the previous contact person.
Step 1: The aim is
to consolidate equivalent schemas into a single schema. The Datrix schema
will serve as the basis of a first schema evaluation, upon which modifications
or additions will possibly be made if need be. The researchers present
at WoSEF have chosen to study the Datrix schema and discuss this schema. The Datrix
schema has been chosen because:
The tool usage (how to do system
parsing) is also documented.
Step 2: With the
aid of Ric's lab, the Datrix schema should be formally described as expected
in the schema description sections of TA and GXL.
Step 3:Study the
APIs used by others, in particular, IBM's CodeStore for C++ API, and the
TA-DOM approach for LSEdit (from U of Waterloo).
Format for Higher Level Program
Structure
During the workshop, a comparison
was made between various schemas that record information from the architectural
level down to the externally visible declarations, include the FAMIX schema
(UBerne/Nokia), the Bauhaus (UStuttgart) schema, and the TA++ schema (UOttawa).
It was agreed that the structure and meaning of these schemata are quite
similar and that some effort should be made to reconcile them. Future work
for this area is
-
creating a reference schema
for high-level program information
Sander Tichelaar has created
a Wiki page for
discussing this topic. Susan Sim
is collecting input and output schemas for tools (both written descriptions
and diagrams) in a gallery. |
Getting Involved
There are a number of ways
that you can get involved with the exchange effort.
Supporters
The following groups have committed
to refining GXL to be the standard exchange format:
-
Bell Canada (Datrix Group),
Canada
-
IBM Centre for Advanced Studies,
Canada
-
Mahindra British Telecom, India
-
Nokia Research Center (Software
Technology Laboratory), Finland
-
Philips Research (Software
Architecture Group), The Netherlands
-
RWTH Aachen (Department of
Computer Science III), Germany
-
University of Berne (Software
Composition Group), Switzerland
-
University Bw München
(Institute for Software Technology), Germany
-
University of Koblenz (IST,
Re-Group), Germany
-
University of Oregon (Department
of Computer Science), U.S.A.
-
University of Ottawa (Knowledge
Based Reverse Engineering), Canada
-
University of Paderborn (AG
Softwaretechnik), Germany
-
University of Stuttgart (BAUHAUS
Group), Germany
-
University of Victoria (RIGI
Group), Canada
-
University of Waterloo (Software
Architecture Group), Canada
Organizers
Susan Elliott Sim
Department of Computer Science
University of Toronto
10 Kings College Rd.
Toronto, Ontario
Canada
M5S 3G4
Tel. +1 416 978-4158
Fax. +1 416 978-4765
simsuz@cs.utoronto.ca |
Ric Holt
Department of Computer Science
University of Waterloo
Waterloo, Ontario
Canada
N2L 3G1
Tel. +1 519 888-4567, x4671
Fax. +1 519 885-1208
holt@plg.uwaterloo.ca |
Rainer
Koschke
Institut für Informatik
Programmiersprachen und Compilerbau
Universität Stuttgart
Breitwiesenstraße 20-22
70565 Stuttgart
Germany
Tel. (+49) +711-7816-206
Fax. (+49) +711-7816-380
koschke@informatik.uni-stuttgart.de |
Acknowledgements
WoSEF logo was created by Tiago
Campos, TRAFFX Design, Toronto, Canada. |