International Conference on Concurrent Enterprising TU Dresden, Lst. für Computeranwendung im...

14
International Conference on Concurrent Enterprising TU Dresden, Lst. für Computeranwendung im Bauwesen C Wagner, Katranuschkov, Scherer 27-June-2001 A Generic Approach to the Mapping Problems in Cooperative Design U. Wagner, Dr. P. Katranuschkov, Prof. Dr. R. J. Scherer TU Dresden, Germany Presentation at ICE 2001 Bremen, Germany, June 2001

Transcript of International Conference on Concurrent Enterprising TU Dresden, Lst. für Computeranwendung im...

Page 1: International Conference on Concurrent Enterprising TU Dresden, Lst. für Computeranwendung im Bauwesen C Wagner, Katranuschkov, Scherer 27-June-2001 A.

International Conference on Concurrent Enterprising

TU Dresden, Lst. für Computeranwendung im Bauwesen C Wagner, Katranuschkov, Scherer 27-June-2001

A Generic Approach to the Mapping Problems in Cooperative Design

U. Wagner, Dr. P. Katranuschkov, Prof. Dr. R. J. SchererTU Dresden, Germany

Presentation at ICE 2001Bremen, Germany, June 2001

Page 2: International Conference on Concurrent Enterprising TU Dresden, Lst. für Computeranwendung im Bauwesen C Wagner, Katranuschkov, Scherer 27-June-2001 A.

TU Dresden, Lst. für Computeranwendung im Bauwesen C Wagner, Katranuschkov, Scherer 27-June-2001

Overview

The Problem DomainThe Problem Domain

The Model Mapping ApproachThe Model Mapping Approach

The Mapping SystemThe Mapping System

• Mapping languageMapping language

• Mapping language parserMapping language parser

• Implementation of the mapping engineImplementation of the mapping engine

• ExampleExample

ConclusionConclusion

Page 3: International Conference on Concurrent Enterprising TU Dresden, Lst. für Computeranwendung im Bauwesen C Wagner, Katranuschkov, Scherer 27-June-2001 A.

TU Dresden, Lst. für Computeranwendung im Bauwesen C Wagner, Katranuschkov, Scherer 27-June-2001

The Problem Domain

There are several differences b/n Building Construction and other industries :• Lower profits, lower IT investment• Lack of large key organisations as technology drivers• Complex supply and communication chains

Therefore:Concurrent engineering & cooperative design have to deal withcomplex model transformations in a distributed non homogeneous model world

Such transformations may be needed e.g. for:• Data exchange between major CAD-Applications• Generation of views (presentation, documentation, pre- and post-processing)• Coordinated change management• Extracting of management information for control and monitoring etc.

Page 4: International Conference on Concurrent Enterprising TU Dresden, Lst. für Computeranwendung im Bauwesen C Wagner, Katranuschkov, Scherer 27-June-2001 A.

TU Dresden, Lst. für Computeranwendung im Bauwesen C Wagner, Katranuschkov, Scherer 27-June-2001

The Problem Domain

Architect

StructuralEngineer

HVACEngineer

ControlsEngineer

Constr.Manager

FacilitiesManager

BuildingOwner

CivilEngineer

SHAREDPROJECTMODEL

Architect

StructuralEngineer

HVACEngineer

ControlsEngineer

Constr.Manager

FacilitiesManager

BuildingOwner

CivilEngineer

Not fully Not fully sufficientsufficient

The IAI Vision of Interoperability

Not fully sufficient are also all known database integration approachesNot fully sufficient are also all known database integration approachesNot fully sufficient are also all known database integration approachesNot fully sufficient are also all known database integration approaches

Page 5: International Conference on Concurrent Enterprising TU Dresden, Lst. für Computeranwendung im Bauwesen C Wagner, Katranuschkov, Scherer 27-June-2001 A.

TU Dresden, Lst. für Computeranwendung im Bauwesen C Wagner, Katranuschkov, Scherer 27-June-2001

The Model Mapping Approach

Background:Background:

• Underlying product modelling framework (IFC)

• Non fully harmonised domain / application models

• Distributed, a-priori non coordinated data

• Distributed C/S architecture with underlying shared data repository

Note: Note:

Mapping is an alternative to full harmonisation/integration methodsMapping is an alternative to full harmonisation/integration methods

But: Model mapping supports and does not contradict to integration!But: Model mapping supports and does not contradict to integration!

Principal approach:Principal approach:

Consolidation of the project data Consolidation of the project data only at discrete co-ordination points only at discrete co-ordination points

Page 6: International Conference on Concurrent Enterprising TU Dresden, Lst. für Computeranwendung im Bauwesen C Wagner, Katranuschkov, Scherer 27-June-2001 A.

TU Dresden, Lst. für Computeranwendung im Bauwesen C Wagner, Katranuschkov, Scherer 27-June-2001

The Model Mapping Approach

T1T0

Struct. ModelS 0map(A 0)

MAPPING

S 1map(A 1)

Arch. Model A 0

Matching

Struct. ModelS 1merged

Merging

models are diff.

Struct. ModelS 1local

Arch. ModelA 1

design changes

design changes

models are semantically equivalent

MAPPING

coordination point

T0 T1 TN

process phase

Page 7: International Conference on Concurrent Enterprising TU Dresden, Lst. für Computeranwendung im Bauwesen C Wagner, Katranuschkov, Scherer 27-June-2001 A.

TU Dresden, Lst. für Computeranwendung im Bauwesen C Wagner, Katranuschkov, Scherer 27-June-2001

The Mapping System

A mapping language - CSMLA mapping language - CSML

A generic parser - MaLaPaGA generic parser - MaLaPaG

Explicit public operations enabling Explicit public operations enabling

distributed C/S realisationsdistributed C/S realisations

A set of implementation methods A set of implementation methods

comprising the interoperability enginecomprising the interoperability engine

(server-side object-oriented methods (server-side object-oriented methods

based on set theory)based on set theory)

Page 8: International Conference on Concurrent Enterprising TU Dresden, Lst. für Computeranwendung im Bauwesen C Wagner, Katranuschkov, Scherer 27-June-2001 A.

TU Dresden, Lst. für Computeranwendung im Bauwesen C Wagner, Katranuschkov, Scherer 27-June-2001

Characteristics of CSML

Declarative languageDeclarative language

Mapping of two (full or partial) modelsMapping of two (full or partial) models

Context-free grammarContext-free grammar

Recursively specified Recursively specified the rules are directly realizable the rules are directly realizable

Predefined mapping patterns for typical problemsPredefined mapping patterns for typical problems

on class, instance and attribute levelon class, instance and attribute level

Better suited to real-time distributed systems than EXPRESS-XBetter suited to real-time distributed systems than EXPRESS-X

Less suited for model evolution and model migrationLess suited for model evolution and model migration

Still under development …Still under development …

Page 9: International Conference on Concurrent Enterprising TU Dresden, Lst. für Computeranwendung im Bauwesen C Wagner, Katranuschkov, Scherer 27-June-2001 A.

TU Dresden, Lst. für Computeranwendung im Bauwesen C Wagner, Katranuschkov, Scherer 27-June-2001

The Generic Parser (MaLaPaG)

Basically, instead of developing parsing rules for all language Basically, instead of developing parsing rules for all language constructs, the language itself is used as input in the parser constructs, the language itself is used as input in the parser

More difficult to realize than a static parserMore difficult to realize than a static parser But: applicable for a class of similar languagesBut: applicable for a class of similar languages Easy to modify by changes in the language specificationEasy to modify by changes in the language specification Static vs. Generic Parser:Static vs. Generic Parser:

Static Parser:Static Parser:

• statically integrated rulesstatically integrated rules• designed for a specific designed for a specific

languagelanguage• low development effort low development effort • high maintenance efforthigh maintenance effort

Generic Parser:

• rules are externally stored• suitable for different

languages• high development effort• low maintenance effort

Page 10: International Conference on Concurrent Enterprising TU Dresden, Lst. für Computeranwendung im Bauwesen C Wagner, Katranuschkov, Scherer 27-June-2001 A.

TU Dresden, Lst. für Computeranwendung im Bauwesen C Wagner, Katranuschkov, Scherer 27-June-2001

Hashing the Rule Map

MAP

'('

FROM

mapping_spec_set

')'

mapping_spec_decl

[ PARTIALLY ]

PARTIALLY

optional

{ schema }+

schema

min. 1 mal

{ schema }+

min. 1 mal

schema

MAP

'('

FROM

mapping_spec_set

')'

mapping_spec_decl

[ PARTIALLY ]

PARTIALLY

optional

{ schema }+

schema

min. 1 mal

{ schema }+

min. 1 mal

schema

'PARTIALLY'

PARTIALLY

'MAP'

MAP

Page 11: International Conference on Concurrent Enterprising TU Dresden, Lst. für Computeranwendung im Bauwesen C Wagner, Katranuschkov, Scherer 27-June-2001 A.

TU Dresden, Lst. für Computeranwendung im Bauwesen C Wagner, Katranuschkov, Scherer 27-June-2001

Implementation of the Mapping Engine

Input data sets:Input data sets:• The source and target schemas in EXPRESS• The source model data• The CSML specification providing the mapping rules for the

translation of the source model data into the target model data Processing:Processing:

• Parsing of the EXPRESS schemas• Parsing of the CSML specification• Recursive generation of the source & target data sets• Compressing the target data by eliminating redundancies

Output data set:Output data set:• The target model data e.g. in the form of a STEP exchange file

or as a XML document (see ifcXML)

Page 12: International Conference on Concurrent Enterprising TU Dresden, Lst. für Computeranwendung im Bauwesen C Wagner, Katranuschkov, Scherer 27-June-2001 A.

TU Dresden, Lst. für Computeranwendung im Bauwesen C Wagner, Katranuschkov, Scherer 27-June-2001

Example

Source Schema: Source Schema: Target Schema:Target Schema:

SCHEMA SCHEMA shared_modelshared_model; ;

ENTITY circle; ENTITY circle;

centre: point; centre: point;

radius: REAL; radius: REAL;

END_ENTITY; END_ENTITY;

ENTITY Point; ENTITY Point;

x, y, z: REAL; x, y, z: REAL;

END_ENTITY; END_ENTITY;

END_SCHEMA;END_SCHEMA;

SCHEMA SCHEMA local_modellocal_model;;

ENTITY circ; ENTITY circ;

centre : point;centre : point;

diameter : REAL;diameter : REAL;

END_ENTITY;END_ENTITY;

ENTITY Point;ENTITY Point;

x_coord : REAL; x_coord : REAL;

y_coord : REAL; y_coord : REAL;

z_coord : REAL; z_coord : REAL;

END_ENTITY; END_ENTITY;

END_SCHEMA;END_SCHEMA;

((MAP MAP local_modellocal_model FROM FROM shared_modelshared_model CLASSESCLASSES ( MAP CLASS circ FROM circle( MAP CLASS circ FROM circle ATTRIBUTESATTRIBUTES (SAME centre)(SAME centre) (MAKE diameter FROM radius APPLY (MAKE diameter FROM radius APPLY (LAMBDA (X) (* X 2.0))))(LAMBDA (X) (* X 2.0)))) DEPENDENT-CLASSESDEPENDENT-CLASSES (MAP CLASS point FROM point(MAP CLASS point FROM point ATTRIBUTESATTRIBUTES (SAME x_coord y_coord z_coord AS x y z)(SAME x_coord y_coord z_coord AS x y z) )) ))

((MAP MAP local_modellocal_model FROM FROM shared_modelshared_model CLASSESCLASSES ( MAP CLASS circ FROM circle( MAP CLASS circ FROM circle ATTRIBUTESATTRIBUTES (SAME centre)(SAME centre) (MAKE diameter FROM radius APPLY (MAKE diameter FROM radius APPLY (LAMBDA (X) (* X 2.0))))(LAMBDA (X) (* X 2.0)))) DEPENDENT-CLASSESDEPENDENT-CLASSES (MAP CLASS point FROM point(MAP CLASS point FROM point ATTRIBUTESATTRIBUTES (SAME x_coord y_coord z_coord AS x y z)(SAME x_coord y_coord z_coord AS x y z) )) ))

Mapping Specification:Mapping Specification:

Page 13: International Conference on Concurrent Enterprising TU Dresden, Lst. für Computeranwendung im Bauwesen C Wagner, Katranuschkov, Scherer 27-June-2001 A.

TU Dresden, Lst. für Computeranwendung im Bauwesen C Wagner, Katranuschkov, Scherer 27-June-2001

Parser Tree for the Example

MAP : local_modelFROM : shared_model

CLASSES

MAKE : diameterFROM : radiusAPPLY : (LAMBDA (X) (* X 2.0))

MAP CLASS: circFROM : circle

MAP CLASS: pointFROM : point

SAME: centreSAME : x_coord y_coord z_coordAS x y z

ATTRIBUTES

DEPENDENT-CLASSES

ATTRIBUTES

Schema mapping

Class mapping

Leaf nodesAttr. mappings

Page 14: International Conference on Concurrent Enterprising TU Dresden, Lst. für Computeranwendung im Bauwesen C Wagner, Katranuschkov, Scherer 27-June-2001 A.

TU Dresden, Lst. für Computeranwendung im Bauwesen C Wagner, Katranuschkov, Scherer 27-June-2001

Conclusions

The modular mapping system provides The modular mapping system provides greatest greatest

freedom for independent, parallel design workfreedom for independent, parallel design work

The integration of a generic parser provides a high level The integration of a generic parser provides a high level

of flexibility enabling easy re-adjustment of the of flexibility enabling easy re-adjustment of the

environmentenvironment

As a whole, the presented approach fulfils major As a whole, the presented approach fulfils major

interoperability requirements of a concurrent interoperability requirements of a concurrent

engineering environment in building designengineering environment in building design