Small tools and interoperability
Download
1 / 19

Small Tools - PowerPoint PPT Presentation


  • 239 Views
  • Updated On :

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

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

PowerPoint Slideshow about 'Small Tools' - Leo


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
Outline

  • 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
Interoperability

  • 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
Classifications

  • 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
LIST

  • 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
Conclusion

  • 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
Provocations

  • 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


ad