39
ETI Dave Arney

ETI Dave Arney. Overview ● ETI Web Platform ● Tool Integration ● Tool Coordinatition ● Using ETI's service ● Integrating with ETI

  • View
    236

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ETI Dave Arney. Overview ● ETI Web Platform ● Tool Integration ● Tool Coordinatition ● Using ETI's service ● Integrating with ETI

ETI

Dave Arney

Page 2: ETI Dave Arney. Overview ● ETI Web Platform ● Tool Integration ● Tool Coordinatition ● Using ETI's service ● Integrating with ETI

Overview

● ETI Web Platform● Tool Integration● Tool Coordinatition● Using ETI's service● Integrating with ETI

Page 3: ETI Dave Arney. Overview ● ETI Web Platform ● Tool Integration ● Tool Coordinatition ● Using ETI's service ● Integrating with ETI

ETI OverviewETI =Electronic Tool IntegrationAssociated with STTT

(Software Tools for Technology Transfer)Tools published in STTT get integrated into ETI

www.eti-service.orghttp://eti.cs.uni-dortmund.de

Page 4: ETI Dave Arney. Overview ● ETI Web Platform ● Tool Integration ● Tool Coordinatition ● Using ETI's service ● Integrating with ETI

MotivationToo Many Tools!

●Hard to find the right one●Trying tools is time consuming●Comparison of tools

Page 5: ETI Dave Arney. Overview ● ETI Web Platform ● Tool Integration ● Tool Coordinatition ● Using ETI's service ● Integrating with ETI

Levels of tools...intro to next slide.

Page 6: ETI Dave Arney. Overview ● ETI Web Platform ● Tool Integration ● Tool Coordinatition ● Using ETI's service ● Integrating with ETI
Page 7: ETI Dave Arney. Overview ● ETI Web Platform ● Tool Integration ● Tool Coordinatition ● Using ETI's service ● Integrating with ETI

University of Dortmund, Germany Publichttp://eti.cs.uni-dortmund.de/

Kansas State University, USA under construction

John Hatcliff

IT-Center Dortmund, Germany ITC internal Hans-Jürgen Kottmann

Existing ETI Sites

Page 8: ETI Dave Arney. Overview ● ETI Web Platform ● Tool Integration ● Tool Coordinatition ● Using ETI's service ● Integrating with ETI
Page 9: ETI Dave Arney. Overview ● ETI Web Platform ● Tool Integration ● Tool Coordinatition ● Using ETI's service ● Integrating with ETI

Tool Coordination

● Overview of tool coordination● HLL Coordination Language● SLTL Language

Page 10: ETI Dave Arney. Overview ● ETI Web Platform ● Tool Integration ● Tool Coordinatition ● Using ETI's service ● Integrating with ETI

HLLHLL = High Level Language

“High Level” refers to its pragmaticsNo powerful language

constructsUsed to generate sequences of

actions

Page 11: ETI Dave Arney. Overview ● ETI Web Platform ● Tool Integration ● Tool Coordinatition ● Using ETI's service ● Integrating with ETI

SLTL

Used to loosely coordinate type / action sequences.

Semantic Linear-time Temporal Logic

Page 12: ETI Dave Arney. Overview ● ETI Web Platform ● Tool Integration ● Tool Coordinatition ● Using ETI's service ● Integrating with ETI

Integration

Page 13: ETI Dave Arney. Overview ● ETI Web Platform ● Tool Integration ● Tool Coordinatition ● Using ETI's service ● Integrating with ETI

Layered integration process

GUIcommunication

encapsulation

coordinationintegration

tool repository

Page 14: ETI Dave Arney. Overview ● ETI Web Platform ● Tool Integration ● Tool Coordinatition ● Using ETI's service ● Integrating with ETI

Integration Process

GUIcommunication

encapsulation

coordinationintegration

tool repository

The encapsulation layer wraps the functionality and data formats of the tool into data structures known to ETI.

Page 15: ETI Dave Arney. Overview ● ETI Web Platform ● Tool Integration ● Tool Coordinatition ● Using ETI's service ● Integrating with ETI

Integration Process

GUIcommunication

encapsulation

coordinationintegration

tool repository

The integration layer makes the objects created by encapsulation accessible from the HLL coordination language.

Page 16: ETI Dave Arney. Overview ● ETI Web Platform ● Tool Integration ● Tool Coordinatition ● Using ETI's service ● Integrating with ETI

Integration Process

GUIcommunication

encapsulation

coordinationintegration

tool repository

The coordination layer provides an environment for automatic synthesis of coordination sequences.

Page 17: ETI Dave Arney. Overview ● ETI Web Platform ● Tool Integration ● Tool Coordinatition ● Using ETI's service ● Integrating with ETI

Integration Process

GUIcommunicati

on

encapsulation

coordinationintegration

tool repository

The communication layer connects the coordination layer with the GUI.

The communication layer is provided by ETI.

Page 18: ETI Dave Arney. Overview ● ETI Web Platform ● Tool Integration ● Tool Coordinatition ● Using ETI's service ● Integrating with ETI

Integration Process

Taxonomy ExtensionHLL ExtensionTool Encapsulation

Three steps to integrating your tool with ETI

GUIcommunication

encapsulation

coordinationintegration

tool repository

Page 19: ETI Dave Arney. Overview ● ETI Web Platform ● Tool Integration ● Tool Coordinatition ● Using ETI's service ● Integrating with ETI

Integration Process

1. Tool Encapsulation2. HLL Extension3. Taxonomy Extension

We really do this in the opposite order.

GUIcommunication

encapsulation

coordinationintegration

tool repository

Page 20: ETI Dave Arney. Overview ● ETI Web Platform ● Tool Integration ● Tool Coordinatition ● Using ETI's service ● Integrating with ETI

1. Tool Encapsulation● classes that represent tool's data types● a class to access the tool's functionality● methods to convert from this tool's data types into types available in ETI

We define:

Page 21: ETI Dave Arney. Overview ● ETI Web Platform ● Tool Integration ● Tool Coordinatition ● Using ETI's service ● Integrating with ETI

Black Box EncapsulationIgnores the internal operation of the tool.Only has access to its functional behavior and external data representations.

● Define classes representing external data types of the tool (files)● Implement a class with methods to invoke the tool

Page 22: ETI Dave Arney. Overview ● ETI Web Platform ● Tool Integration ● Tool Coordinatition ● Using ETI's service ● Integrating with ETI

Type TransformersType transformers link tools together by providing data type conversions.

They may be simpleconverting int to real

Or complexPascal program to Fortran

May contain abstractionsMore detail to come!

Page 23: ETI Dave Arney. Overview ● ETI Web Platform ● Tool Integration ● Tool Coordinatition ● Using ETI's service ● Integrating with ETI

Encapsulation Questions

What are the external data types the tool uses?What operations can be performed on those types?What type transformations are needed?

Page 24: ETI Dave Arney. Overview ● ETI Web Platform ● Tool Integration ● Tool Coordinatition ● Using ETI's service ● Integrating with ETI

Encapsulation DetailsWill show the details of encapsulating a single functionality of the tool CAESAR.

Note that this is a simple example.A more complicated example showing ETIs support for labeled directed graphs is in one of the papers.

Page 25: ETI Dave Arney. Overview ● ETI Web Platform ● Tool Integration ● Tool Coordinatition ● Using ETI's service ● Integrating with ETI

Encapsulation Details

Page 26: ETI Dave Arney. Overview ● ETI Web Platform ● Tool Integration ● Tool Coordinatition ● Using ETI's service ● Integrating with ETI

Encapsulation Detailsclass LOTOSFilerepresents in ETI the contents of a file

type .lotos which contains a LOTOS program.class CAESAROperations

encapsulates the functionality of CAESAR.

includes a method caesarAUT which translates a LOTOS program into

a FSA.class AUTFile

represents file type .aut which contains a labled transition system.

Page 27: ETI Dave Arney. Overview ● ETI Web Platform ● Tool Integration ● Tool Coordinatition ● Using ETI's service ● Integrating with ETI

Implementing Type Transformers

In order to transform class A to class B, create a class ABTransformer which contains all the methods needed to transform an object of class A into an object of class B.

Page 28: ETI Dave Arney. Overview ● ETI Web Platform ● Tool Integration ● Tool Coordinatition ● Using ETI's service ● Integrating with ETI

2. Integration Layer

When encapsulation is done, we have a collection of C++ classes. The next step is to make these methods accessible to the coordination mechanism via HLL.

Page 29: ETI Dave Arney. Overview ● ETI Web Platform ● Tool Integration ● Tool Coordinatition ● Using ETI's service ● Integrating with ETI

Integration Layer

Tool

Encapsulation

Code

AdapterSpecification

Adapter Code

Integration Layer

Adapter Code

Encapsulation

Layer

Tool Repository

Page 30: ETI Dave Arney. Overview ● ETI Web Platform ● Tool Integration ● Tool Coordinatition ● Using ETI's service ● Integrating with ETI

Adapter SpecificationETI found that writing the HLL adapter code was tedious and prone to error.

Now they write adapter specifications in MFI(MetaFrame intermediate integration language)

Soon they hope to completely automate it.

Page 31: ETI Dave Arney. Overview ● ETI Web Platform ● Tool Integration ● Tool Coordinatition ● Using ETI's service ● Integrating with ETI

Sample HLL definition

// The HLL type AUTGraph is realized by

// a pointer to a C++ AUTGraph object

%type AUTGraph // HLL type name

{

AUTGraph *value; // C++ realization

}

Page 32: ETI Dave Arney. Overview ● ETI Web Platform ● Tool Integration ● Tool Coordinatition ● Using ETI's service ● Integrating with ETI

HLL function definition in MFI// declaring and defining a HLL procedure caeserAUT that takes a

// reference to a HLL LOTOSFile and delivers a corresponding

// HLL AUTFile object in the autFile argument

%procedure caeserAUT(ref LOTOSFile: lotosFile: lotosFile, ref AUTFile: autFile)

{

// check for uninitialized LOTOSFile and AUTFile objects

if(lotosFile.value == NULL || autFile.value == NULL)

cout << “CADP.caesarAUT: uninitialized LOTOSFile or AUTFile object” << endl;

else {

// converting the HLL objects into the corresponding C++ objects

// and calling the corresponding function of the Caesar/Aldebaran

// functional module

ETIApplInfo* i CAESAROperations::caesarAUT(*lotosFile.value,*autFile.value);

i->show(); // passing obtained runtime information to the GUI

}}

Page 33: ETI Dave Arney. Overview ● ETI Web Platform ● Tool Integration ● Tool Coordinatition ● Using ETI's service ● Integrating with ETI

Type / Action TaxonomiesAt this point, users could write their own coordination programs in HLL.

However, a goal is to support users not familiar with HLL.

A solution is to offer support for loose coordination specifications which are then automagically synthesized into HLL.

Page 34: ETI Dave Arney. Overview ● ETI Web Platform ● Tool Integration ● Tool Coordinatition ● Using ETI's service ● Integrating with ETI

Type / Action Taxonomies

In order to synthesize HLL from loose specifications, we must create type and action taxonomies.

Page 35: ETI Dave Arney. Overview ● ETI Web Platform ● Tool Integration ● Tool Coordinatition ● Using ETI's service ● Integrating with ETI

Using ETI

We'll walk through the steps of using ETI to solve this informal problem:

Given a benchmark system in KRONOS format, compute an equivalent minimal system and display it on screen.

Page 36: ETI Dave Arney. Overview ● ETI Web Platform ● Tool Integration ● Tool Coordinatition ● Using ETI's service ● Integrating with ETI

Using ETIFrom browsing the taxonomy:

Timed Graphs in KronosKronosSystemminimization activitiesminimizervisualize graphs on screendisplayGraph

Page 37: ETI Dave Arney. Overview ● ETI Web Platform ● Tool Integration ● Tool Coordinatition ● Using ETI's service ● Integrating with ETI

Using ETI

Given a benchmark system in KRONOS format, compute an equivalent minimal system and display it on screen.

((KronosSystem<minimizer) < displayGraph)

Page 38: ETI Dave Arney. Overview ● ETI Web Platform ● Tool Integration ● Tool Coordinatition ● Using ETI's service ● Integrating with ETI

Using ETI

Page 39: ETI Dave Arney. Overview ● ETI Web Platform ● Tool Integration ● Tool Coordinatition ● Using ETI's service ● Integrating with ETI

Using ETI

Given a benchmark system in KRONOS format, compute an equivalent minimal system and display it on screen.

((KronosSystem<minimizer) < displayGraph)