ETI - PowerPoint PPT Presentation

About This Presentation
Title:

ETI

Description:

In order to synthesize HLL from loose specifications, we must create type and action taxonomies. ... From browsing the taxonomy: Timed Graphs in Kronos KronosSystem ... – PowerPoint PPT presentation

Number of Views:115
Avg rating:3.0/5.0
Slides: 40
Provided by: cisU
Category:
Tags: eti | taxonomy

less

Transcript and Presenter's Notes

Title: ETI


1
ETI
  • Dave Arney

2
Overview
  • ETI Web Platform
  • Tool Integration
  • Tool Coordinatition
  • Using ETI's service
  • Integrating with ETI

3
ETI Overview
  • ETI Electronic Tool Integration
  • Associated with STTT
  • (Software Tools for Technology Transfer)
  • Tools published in STTT get integrated into ETI

www.eti-service.org http//eti.cs.uni-dortmund.de


4
Motivation
  • Too Many Tools!
  • Hard to find the right one
  • Trying tools is time consuming
  • Comparison of tools

5
  • Levels of tools...
  • intro to next slide.

6
(No Transcript)
7
Existing ETI Sites
  • University of Dortmund, Germany Public
  • http//eti.cs.uni-dortmund.de/
  • Kansas State University, USA
  • under construction
  • John Hatcliff
  • IT-Center Dortmund, Germany ITC internal
  • Hans-Jürgen Kottmann

8
(No Transcript)
9
Tool Coordination
  • Overview of tool coordination
  • HLL Coordination Language
  • SLTL Language

10
HLL
  • HLL High Level Language
  • High Level refers to its pragmatics
  • No powerful language constructs
  • Used to generate sequences of actions

11
SLTL
Semantic Linear-time Temporal Logic
  • Used to loosely coordinate type / action
    sequences.

12
Integration
13
Layered integration process
GUI
communication
coordination
integration
encapsulation
tool repository
14
Integration Process
The encapsulation layer wraps the functionality
and data formats of the tool into data structures
known to ETI.
GUI
communication
coordination
integration
encapsulation
tool repository
15
Integration Process
The integration layer makes the objects created
by encapsulation accessible from the HLL
coordination language.
GUI
communication
coordination
integration
encapsulation
tool repository
16
Integration Process
The coordination layer provides an environment
for automatic synthesis of coordination sequences.
GUI
communication
coordination
integration
encapsulation
tool repository
17
Integration Process
The communication layer connects the coordination
layer with the GUI.The communication layer is
provided by ETI.
GUI
communication
coordination
integration
encapsulation
tool repository
18
Integration Process
Three steps to integrating your tool with ETI
GUI
  • Taxonomy Extension
  • HLL Extension
  • Tool Encapsulation

communication
coordination
integration
encapsulation
tool repository
19
Integration Process
We really do this in the opposite order.
GUI
  • 1. Tool Encapsulation
  • 2. HLL Extension
  • 3. Taxonomy Extension

communication
coordination
integration
encapsulation
tool repository
20
1. Tool Encapsulation
We define
  • 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

21
Black Box Encapsulation
  • Ignores 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

22
Type Transformers
  • Type transformers link tools together by
    providing data type conversions.
  • They may be simple
  • converting int to real
  • Or complex
  • Pascal program to Fortran
  • May contain abstractions
  • More detail to come!

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

24
Encapsulation Details
  • Will 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.

25
Encapsulation Details
26
Encapsulation Details
class LOTOSFile represents 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.
27
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.

28
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.

29
Integration Layer
Adapter Code
Adapter Code
Integration Layer
AdapterSpecification
Encapsulation Layer
EncapsulationCode
Tool Repository
Tool
30
Adapter Specification
  • ETI 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.

31
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

32
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 ltlt CADP.caesarAUT uninitialized
    LOTOSFile or AUTFile object ltlt endl
  • else
  • // converting the HLL objects into the
    corresponding C objects
  • // and calling the corresponding function of
    the Caesar/Aldebaran
  • // functional module
  • ETIApplInfo i CAESAROperationscaesarAUT(l
    otosFile.value,autFile.value)
  • i-gtshow() // passing obtained runtime
    information to the GUI

33
Type / Action Taxonomies
  • At 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.

34
Type / Action Taxonomies
  • In order to synthesize HLL from loose
    specifications, we must create type and action
    taxonomies.

35
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.

36
Using ETI
  • From browsing the taxonomy
  • Timed Graphs in Kronos KronosSystem
  • minimization activities minimizer
  • visualize graphs on screen displayGraph

37
Using ETI
Given a benchmark system in KRONOS format,
compute an equivalent minimal system and display
it on screen. ((KronosSystemltminimizer) lt
displayGraph)
38
Using ETI
39
Using ETI
Given a benchmark system in KRONOS format,
compute an equivalent minimal system and display
it on screen. ((KronosSystemltminimizer) lt
displayGraph)
Write a Comment
User Comments (0)
About PowerShow.com