Small Tools and Interoperability - PowerPoint PPT Presentation

Small tools and interoperability l.jpg
1 / 19

Small Tools and Interoperability Arend Rensink Formal Methods and Tools University of Twente Outline What are small tools? Characteristics Lifecycle How to support small tools? Aspects of tool support Tool ambition levels Tool interoperability Classification Problems

Related searches for Small Tools and Interoperability

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

Download Presentation

Small Tools and Interoperability

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript

Small tools and interoperability l.jpg

Small Toolsand Interoperability

Arend RensinkFormal Methods and ToolsUniversity of Twente

Outline l.jpg


  • What are small tools?

    • Characteristics

    • Lifecycle

  • How to support small tools?

    • Aspects of tool support

    • Tool ambition levels

  • Tool interoperability

    • Classification

    • Problems

  • Long-term vision: LIST

Small tools and interoperability

What are small tools l.jpg

What are small tools?

  • Tools developed in an academic context

    • Small basis for support

      • Time: all that is not spent on “real” research

      • Money: none (university infrastructure)

      • Manpower: 1 person

    • Tend to die at the end of project

  • Tools YOU write

    • Origin:

      • PhD research topic (throwaway prototype)

      • MSc final project

Identified as problem at 3TU mid-term visitation

Small tools and interoperability

Questionnaire 1 l.jpg

Questionnaire 1

  • What tools do you have?

    • What do they do?

    • What language(s) and platform?

  • Which of them are small tools?

Small tools and interoperability

Characteristics of small tools l.jpg

Characteristics of small tools

  • Small tools may embody big ideas

    • “Small” does not refer to the research ideas

  • Small tools are numerous

    • Virtually all PhD students create one or more

  • Small tools are not integrated

    • PhD students are not software engineers

    • No ambition to make tools part of larger framework

    • Innovation does not extend beyond own research

  • Small tools are prototypes

    • PhD students are not software engineers

    • No time devoted to user interface, documentation

Small tools and interoperability

Typical small tools lifecycle l.jpg

Typical small tools lifecycle

  • A new research project is started

  • Research yields (preliminary) results

    • Tool needed to experiment, validate ideas

  • Small, throwaway prototype created

    • Validate results on dedicated examples

    • Experiment with real data

  • Research results published

    • Including experimental data

  • Project ends

    • Tool not maintained, no users

      Steps 2-4 may be iterated

Latest point to intervene, raise ambition, find funding

Small tools and interoperability

Aspects of tool support l.jpg

Aspects of tool support

  • Documentation

    • Programmer and user level

  • Building and testing

    • Manual or automatic; regression tests

  • Availability

    • Downloading, installing on multiple platforms

  • Versioning/maintenance

    • Continuous development, releases

  • Interoperability

    • Interchange formats, protocols

  • Licensing

  • Code doc

  • On-line help

  • Build farm (Delft)

  • Sourceforge

  • Build farm

  • Svn (or cvs)

  • Sourceforge

  • (L)GPL, Apache, FreeBSD

Small tools and interoperability

Questionnaire 2 l.jpg

Questionnaire 2

  • What solutions do you have

    • Documentation

    • Building/testing

    • Availability

    • Versioning/maintenance

    • Licensing

Small tools and interoperability

Ambition levels for small tools l.jpg

Ambition levels for small tools

  • (Low): Prototype tool

    • One developer = user

    • Lifespan: one paper

  • (Medium): Project tool

    • One or more developers = users

    • Lifespan: one project (4 years)

  • (High): Strategic tool

    • Multiple developers, external users

    • Lifespan: indefinite

  • Building

  • Versioning

  • Documentation

  • Availability

  • Interoperability

  • Licensing

Small tools and interoperability

Questionnaire 3 l.jpg

Questionnaire 3

  • What ambition level are you on?

Small tools and interoperability

Interoperability l.jpg


  • Various definitions in existence

  • Key elements:

    • Diversity of components

    • Cooperation to achieve common task

    • Here: components are individual tools

  • Related concepts:

    • Integration: stronger than interoperability

      • Global, unified view or presentation

      • Imposes requirements upon individual tools

    • Interaction: weaker than interoperability

      • Any kind of mutual influence, no “common goal”

Small tools and interoperability

Classifications l.jpg


  • Conceptual level classification

    • Syntactic interoperation: tools exchange data

    • Semantic interoperation: data mean the same

    • We concentrate on syntactic

      • Better achievable (semantics hard to formalise)

      • Necessary precondition for semantic

  • Solution level classification

    • Run-time communication

    • File interchange

    • Programming-level integration

Small tools and interoperability

Run time communication l.jpg

Run-time communication

  • Based on pipes, channels…

    • Special case: mutual invocation

  • Examples

    • Web services

    • TorX (test generation toolset)

  • Advantages

    • Multi-paradigm solution

  • Problems:

    • Precise definition of protocol

    • Setup phase: scripting?

Small tools and interoperability

File interchange l.jpg

File interchange

  • Based on agreed-upon “standard” format

    • Most frequently chosen solution

  • Examples:

    • UML, programming languages, XML, tool specific

  • Advantages:

    • Multi-paradigm solution

    • Reduces work (from quadratic to linear in #tools)

  • Problems:

    • Agreeing upon format (exponential in #tools?)

    • Precise definition of format, versions

    • Poor performance

Small tools and interoperability

Programming level integration l.jpg

Programming-level integration

  • Based on public program interface

  • Examples

    • Language libraries, plugins

    • CADP

  • Advantages

    • Best performance

  • Problems

    • Single-paradigm solution

    • Learning curve

    • Contract & interface changes

Small tools and interoperability

Questionnaire 4 l.jpg

Questionnaire 4

  • What interoperability solutions do you use?

Small tools and interoperability

Slide17 l.jpg


  • Laboratory for Interoperability of Small Tools

  • Initiative at FMT, University of Twente

    • Funding: CeDICT/LaQuSo

    • 1 technical assistant, 3 years

  • Set up framework for tool support

    • Especially solutions for interoperability

    • Cooperation Eindhoven (Groote), Delft (Van Deursen)

  • Improve interoperability of existing (FMT) tools

    • Especially strategic tools

  • Set up & run responsible experiments

    • Documentation, reproducibility

Small tools and interoperability

Conclusion l.jpg


  • Building tools is a lot of fun!

  • But: think it through!

    • What is your ambition level?

    • What are desired interoperability modes?

Small tools and interoperability

Provocations l.jpg


  • We should not invest in tool integration

    • in contrast to interoperability

  • We should not invest in semantic interoperability

    • as long as we haven’t solved syntactic interoperability

  • We should not invest in strategic tools

    • academia is wrong environment for serious tool development

    • small tools are a solution, not a problem

Small tools and interoperability

  • Login