small tools and interoperability l.
Skip this Video
Loading SlideShow in 5 Seconds..
Small Tools and Interoperability PowerPoint Presentation
Download Presentation
Small Tools and Interoperability

Loading in 2 Seconds...

  share
play fullscreen
1 / 19
Download Presentation

Small Tools and Interoperability - PowerPoint PPT Presentation

Leo
268 Views
Download Presentation

Small Tools and Interoperability

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Small Toolsand Interoperability Arend RensinkFormal Methods and ToolsUniversity of Twente

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

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

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

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

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

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

  8. Questionnaire 2 • What solutions do you have • Documentation • Building/testing • Availability • Versioning/maintenance • Licensing Small tools and interoperability

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

  10. Questionnaire 3 • What ambition level are you on? Small tools and interoperability

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

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

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

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

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

  16. Questionnaire 4 • What interoperability solutions do you use? Small tools and interoperability

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

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

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