SEDRIS Technology Conference How to Produce SEDRIS Transmittals Presenter: Paul Berner, Ph.D....

21
SEDRI SEDRI S S Technology Conference Technology Conference How to Produce SEDRIS Transmittals Presenter: Paul Berner, Ph.D. Consultant

description

SEDRIS Technology Conference What is a SEDRIS Transmittal? A logical organization of the data into a SEDRIS data model compliant structure. A corresponding STF Data Set

Transcript of SEDRIS Technology Conference How to Produce SEDRIS Transmittals Presenter: Paul Berner, Ph.D....

Page 1: SEDRIS Technology Conference How to Produce SEDRIS Transmittals Presenter: Paul Berner, Ph.D. Consultant.

SEDRISSEDRIS Technology ConferenceTechnology Conference

How to Produce SEDRIS Transmittals

Presenter:

Paul Berner, Ph.D. Consultant

Page 2: SEDRIS Technology Conference How to Produce SEDRIS Transmittals Presenter: Paul Berner, Ph.D. Consultant.

SEDRISSEDRIS Technology ConferenceTechnology Conference

What is a SEDRIS Transmittal?

• A logical organization of the data into a SEDRIS data model compliant structure.

• A software implementation of the SEDRIS Read API that provides access to the data in its SEDRIS logical structure.

Consumer Application

DataConsumer

Application

SEDRIS transmittal

Native Data Set"A"

ReadAPI"A"

Library Rea

d A

PI

Page 3: SEDRIS Technology Conference How to Produce SEDRIS Transmittals Presenter: Paul Berner, Ph.D. Consultant.

SEDRISSEDRIS Technology ConferenceTechnology Conference

Consumer Application

DataConsumer

Application

SEDRIS transmittal

STF Data Set

ReadAPISTF

Library Rea

d A

PI

What is a SEDRIS Transmittal?

• A logical organization of the data into a SEDRIS data model compliant structure.

• A corresponding STF Data Set

Page 4: SEDRIS Technology Conference How to Produce SEDRIS Transmittals Presenter: Paul Berner, Ph.D. Consultant.

SEDRISSEDRIS Technology ConferenceTechnology Conference

Example Consumer ApplicationConsumer Application

ConvertTo "B"

Application

SEDRIS transmittal

Native Data Set"A"

ReadAPI"A"

Library Rea

d A

PI

Native Data Set"B"

Data Exchange via a SEDRIS Transmittal

Data Exchange via a SEDRIS Transmittal

Page 5: SEDRIS Technology Conference How to Produce SEDRIS Transmittals Presenter: Paul Berner, Ph.D. Consultant.

SEDRISSEDRIS Technology ConferenceTechnology Conference

Example: Data Exchange to STF

Converting to STF with a SEDRIS Read API implemention and

the “Traverse” Application

Consumer Application

TraverseApplication

Writ

e API

STF Data Set

STF Production using a Read API Library

STFWrite

Library

SEDRIS transmittal

Native Data Set"A"

ReadAPI"A"

Library Read

API

STF Production using a Read API Library

Page 6: SEDRIS Technology Conference How to Produce SEDRIS Transmittals Presenter: Paul Berner, Ph.D. Consultant.

SEDRISSEDRIS Technology ConferenceTechnology Conference

Data Conversion

Native Data Set"A"

Converter

Writ

e A

PI

STF Data Set

STF Production using the Write API Library

STFWrite

Library

STF Production Using the Write API Library

Page 7: SEDRIS Technology Conference How to Produce SEDRIS Transmittals Presenter: Paul Berner, Ph.D. Consultant.

SEDRISSEDRIS Technology ConferenceTechnology Conference

Creating a Transmittal• STEP 1

– Logically map Native Data organization to the SEDRIS Data Representation Model

– Model conformance: Objects and Organization» Consumer oriented vice “write only”

– Produce a Mapping Document• STEP 2

– Choose a Transmittal Mechanism:» Native Data + SEDRIS Read API portable implementation» Convert to STF with Traverse + SEDRIS Read API

implementation» Convert to STF with SEDRIS Write API Library

Page 8: SEDRIS Technology Conference How to Produce SEDRIS Transmittals Presenter: Paul Berner, Ph.D. Consultant.

SEDRISSEDRIS Technology ConferenceTechnology Conference

Implementing the SEDRIS Read API

• Understand the Read API interface• SEDRIS Documentation Set - Part 4• Components of the Read API• Implicit Conversions• Context and Inheritance• ANSI C API Versus a C++ Implementation• Fundamental Types

Page 9: SEDRIS Technology Conference How to Produce SEDRIS Transmittals Presenter: Paul Berner, Ph.D. Consultant.

SEDRISSEDRIS Technology ConferenceTechnology Conference

Components of The SEDRIS Read API

C onsum er A pp lica tionLev e l 1 A P I

Lev e l 0 A P ID ata E x trac tion

A P ID a ta M od e l

A P IC onv ers ions

A P I

Lev e l 1L ib ra ry

C onv ers ionsL ib ra ry

D ata M o de lL ib ra ry

N ativ eto

S E D R ISM app ingspec ificL ib ra ry

N ativ e A ccess L ib ra ry

N a tiv e D a ta B ase (s )

API Specification

Reference L ibrary

Developer Library

Page 10: SEDRIS Technology Conference How to Produce SEDRIS Transmittals Presenter: Paul Berner, Ph.D. Consultant.

SEDRISSEDRIS Technology ConferenceTechnology Conference

Understanding the Read API Interface• Implicit Conversions

• World Coordinate Systems– Locations– Reference Vectors– Transformations

• Color Model

• Context and Inheritance• Inheriting Attributes in the Hierarchy• Context: Which Path?

Page 11: SEDRIS Technology Conference How to Produce SEDRIS Transmittals Presenter: Paul Berner, Ph.D. Consultant.

SEDRISSEDRIS Technology ConferenceTechnology Conference

Understanding the Read API Interface

• ANSI C API Versus a C++ Implementation• A stable and universally applicable interface for

consumer applications• A natural fit for an object oriented programming language

Page 12: SEDRIS Technology Conference How to Produce SEDRIS Transmittals Presenter: Paul Berner, Ph.D. Consultant.

SEDRISSEDRIS Technology ConferenceTechnology Conference

Understanding the Read API Interface

• Fundamental Types• Handles that point to implementation specific "opaque"

types–SE_OBJECT–SE_SEARCHFILTER–SE_SEARCHBOUNDARY–SE_ITERATOR

• Tagged Data Structures (Tagged Unions)–SE_FIELDS–SE_COORDINATE_SYSTEM_PARAMETERS–SE_PROPERTY_DATA_VALUE

Page 13: SEDRIS Technology Conference How to Produce SEDRIS Transmittals Presenter: Paul Berner, Ph.D. Consultant.

SEDRISSEDRIS Technology ConferenceTechnology Conference

Understanding the Read API Interface

• Synthetic Environment Control• SE_OpenSE• SE_CloseSE

• Data Retrieval Functions• SE_GetFields• Data Table Retrieval• Image Retrieval

• Object Retrieval Functions• SE_GetNextObject• SE_GetNthComponentOfGivenType• SE_CloneObject

Page 14: SEDRIS Technology Conference How to Produce SEDRIS Transmittals Presenter: Paul Berner, Ph.D. Consultant.

SEDRISSEDRIS Technology ConferenceTechnology Conference

Understanding the Read API Interface

• Search and Iterator Functions• Memory Management Functions

• SE_FreeObject• SE_FreeSearchFilter• SE_FreeSpatialSearchBoundary• SE_FreeIterator

• Coordinate System and Color Model State Functions• SE_SetCoordinateSystemParameters• SE_UseDefaultWorldCoordinateSystemParameters• SE_GetCoordinateSystemParameters

Page 15: SEDRIS Technology Conference How to Produce SEDRIS Transmittals Presenter: Paul Berner, Ph.D. Consultant.

SEDRISSEDRIS Technology ConferenceTechnology Conference

Support Layer• Polymorphic Implementation of almost all API

functions• Implementations for Hidden Types• Implicit Conversions

• Coordinate System & Color Model

• Context Tracking & Inheritance Expansion• Full Search and Filter Functionality• Memory Management

• Dynamic - on demand - component & data loading

Page 16: SEDRIS Technology Conference How to Produce SEDRIS Transmittals Presenter: Paul Berner, Ph.D. Consultant.

SEDRISSEDRIS Technology ConferenceTechnology Conference

Using The Support Layer

C onsum er A pp lica tionLev e l 1 A P I

Lev e l 0 A P ID ata E x trac tion

A P ID a ta M od e l

A P IC onv ers ions

A P I

Lev e l 1L ib ra ry

C onv ers ionsL ib ra ry

D a ta M o de lL ib ra ryN ativ e

toS E D R ISM app ing

S uppo rtLaye r

N ativ e A ccess L ib ra ry

N a tiv e D a ta B ase (s )

API Specification

Reference L ibrary

Developer Library

Page 17: SEDRIS Technology Conference How to Produce SEDRIS Transmittals Presenter: Paul Berner, Ph.D. Consultant.

SEDRISSEDRIS Technology ConferenceTechnology Conference

Support Layer Class Hierarchy

SE_BaseIm age

SE _Internal_Object

SE_Projenitior_Capable

SE_Projenitior

SE_BaseColorDataSE_BaseLocationSE_BaseD ataTable

User_C lass User_C lass User_C lass

User_C lass

U ser_C lass User_C lass U ser_C lass User_C lass

Page 18: SEDRIS Technology Conference How to Produce SEDRIS Transmittals Presenter: Paul Berner, Ph.D. Consultant.

SEDRISSEDRIS Technology ConferenceTechnology Conference

Sub-classing SE_Internal_Object

• Field Methods• virtual SE_ATTRIBUTES_PTR get_fields()= 0• virtual void generate_fields()

• Component Methods• add_component( … )• virtual void load_components()• virtual SE_BOOLEAN components_are_loaded()• virtual SE_BOOLEAN get_nth_component_of_type()

Page 19: SEDRIS Technology Conference How to Produce SEDRIS Transmittals Presenter: Paul Berner, Ph.D. Consultant.

SEDRISSEDRIS Technology ConferenceTechnology Conference

Sub-classing SE_Internal_Object

• Association Methods• add_association( … )• virtual void load_associations()• virtual SE_BOOLEAN associations_are_loaded()

• Support Layer Search Support• virtual void push_search_objects( … )• void place_on_list( … )

Page 20: SEDRIS Technology Conference How to Produce SEDRIS Transmittals Presenter: Paul Berner, Ph.D. Consultant.

SEDRISSEDRIS Technology ConferenceTechnology Conference

Sub-classing Special Classes• SE_BaseImage

• virtual get_image( … )

• SE_BaseDataTable• virtual get_data_table( … )

• SE_BaseLocation• SE_BaseReferenceVector• SE_BaseWorld3x3

• SE_BaseColorData

Page 21: SEDRIS Technology Conference How to Produce SEDRIS Transmittals Presenter: Paul Berner, Ph.D. Consultant.

SEDRISSEDRIS Technology ConferenceTechnology Conference

What Next?

SEDRIS Technology Documentation Set

Part 4:Technical Reference Set

Volume 14: How to Produce SEDRIS Transmittals