Tavernalc <ul><ul><li>How to transform your OpenOffice Calc into a grid </li></ul></ul>Marek Dopiera Adam Kawa Piotr Krews...
Agenda <ul><li>Tavernalc from user's side:  Why was there a need for such a tool? What does it offer to the user?  </li></...
Foreword: Experiments  in silico <ul><li>Experiments  in silico </li></ul><ul><ul><li>“ in silico” -  performed on compute...
What do we want to integrate? <ul><li>Why Taverna? </li></ul><ul><ul><li>Powerful tool for managing workflows </li></ul></...
Tavernalc from user's side <ul><li>Demonstration </li></ul><ul><ul><li>Easy interface </li></ul></ul><ul><ul><li>Calc's st...
Tavernalc from developer's side <ul><li>Main objectives </li></ul><ul><li>Achieve functionality similar to Taverna's... </...
Achieving Taverna's functionality <ul><li>How can we represent a workflow? </li></ul><ul><ul><li>Problems: </li></ul></ul>...
Achieving Taverna's functionality <ul><li>What is user intuition of dragging processor cell? </li></ul><ul><ul><li>Adding ...
Achieving Taverna's functionality <ul><li>First idea:  Use Calc's relative addressing mechanism! </li></ul><ul><ul><li>Pro...
Achieving Taverna's functionality <ul><li>Mapping Taverna's data types into a Calc </li></ul><ul><ul><li>Problem:  Taverna...
Achieving Taverna's functionality <ul><li>Workflow diagrams </li></ul><ul><ul><li>Keep minimum amount of data outside the ...
Our experience <ul><li>The tools we used </li></ul><ul><li>The problems we encountered </li></ul><ul><li>Our conclusions <...
The tools we used <ul><li>UNO Java bridge </li></ul><ul><ul><li>works fine </li></ul></ul><ul><ul><li>tends to crash the J...
The problems we encountered <ul><li>Lacks of documentation </li></ul><ul><ul><li>not enough samples </li></ul></ul><ul><ul...
Our conclusions <ul><li>A very good integration mechanism (UNO) </li></ul><ul><ul><li>a powerful OS independent solution <...
Thank You <ul><li>Project's site: </li></ul><ul><ul><li>http://tavernalc.googlecode.com/ </li></ul></ul><ul><li>Tavernalc ...
Upcoming SlideShare
Loading in …5
×

Tavernalc: How to transform your OpenOffice Calc into a grid.

2,779 views
2,677 views

Published on

The Travenalc project implements a new way to use OpenOffice.org calc

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,779
On SlideShare
0
From Embeds
0
Number of Embeds
44
Actions
Shares
0
Downloads
27
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Tavernalc: How to transform your OpenOffice Calc into a grid.

  1. 2. Tavernalc <ul><ul><li>How to transform your OpenOffice Calc into a grid </li></ul></ul>Marek Dopiera Adam Kawa Piotr Krewski Tomek Weksej under the aegis of Jacek Sroka Prof. Jerzy Tyszkiewicz
  2. 3. Agenda <ul><li>Tavernalc from user's side: Why was there a need for such a tool? What does it offer to the user? </li></ul><ul><li>Tavernalc from developer's side: Simply - how did we manage to achieve Taverna's functionality using Calc? </li></ul><ul><li>Our experience learning and using UNO, OpenOffice.org API and tools. </li></ul>
  3. 4. Foreword: Experiments in silico <ul><li>Experiments in silico </li></ul><ul><ul><li>“ in silico” - performed on computer or via computer simulation </li></ul></ul><ul><ul><li>using remote resources and tools </li></ul></ul><ul><ul><li>problem - a lot of useless work when constructing complex workflows </li></ul></ul><ul><ul><li>solution - we need a tool for high-level workflow handling! </li></ul></ul>
  4. 5. What do we want to integrate? <ul><li>Why Taverna? </li></ul><ul><ul><li>Powerful tool for managing workflows </li></ul></ul><ul><ul><li>An effect of cooperation of many institutions such as European Bioinformatics Institute (EBI), Biomoby project, Seqhound, Biomart </li></ul></ul><ul><ul><li>Processors - most basic entities that process the data </li></ul></ul><ul><ul><li>Workflow = graph consisting of processors </li></ul></ul><ul><li>Why OpenOffice.org Calc? </li></ul><ul><ul><li>Ease of use - the power of Calc's intuitiveness when dealing with such data </li></ul></ul><ul><ul><li>Many more oportunites: making graphs, applying Calc formulas... </li></ul></ul><ul><ul><li>An integrated solution </li></ul></ul>
  5. 6. Tavernalc from user's side <ul><li>Demonstration </li></ul><ul><ul><li>Easy interface </li></ul></ul><ul><ul><li>Calc's standard features (dragging, graphs, formula, etc.) </li></ul></ul><ul><ul><li>Lazy evaluation </li></ul></ul><ul><ul><li>Diagrams </li></ul></ul><ul><ul><li>Content preview </li></ul></ul>
  6. 7. Tavernalc from developer's side <ul><li>Main objectives </li></ul><ul><li>Achieve functionality similar to Taverna's... </li></ul><ul><ul><li>lazy evaluation </li></ul></ul><ul><ul><li>iteration </li></ul></ul><ul><ul><li>workflow diagrams </li></ul></ul><ul><li>...in an interface in Calc's style </li></ul><ul><ul><li>dragging behaviour </li></ul></ul><ul><ul><li>mapping Taverna's data types to Calc </li></ul></ul><ul><li>Very important: </li></ul><ul><ul><li>OpenOffice should do the majority of work - not we! </li></ul></ul>
  7. 8. Achieving Taverna's functionality <ul><li>How can we represent a workflow? </li></ul><ul><ul><li>Problems: </li></ul></ul><ul><ul><ul><li>It can take a long time until the processor evaluates </li></ul></ul></ul><ul><ul><ul><ul><li>= we should be able to actualize it's result after time </li></ul></ul></ul></ul><ul><ul><ul><li>Processor must start evaluating after previous processors have evaluated </li></ul></ul></ul><ul><ul><li>Solution: Processor output = VolatileResult </li></ul></ul><ul><ul><ul><li>Can change its value over time </li></ul></ul></ul><ul><ul><ul><li>Allows addition of listeners which are notified when value changes </li></ul></ul></ul><ul><ul><ul><li>So... </li></ul></ul></ul><ul><ul><ul><ul><li>It's simple! When processor produces an output -> change VolatileResult's value! </li></ul></ul></ul></ul>
  8. 9. Achieving Taverna's functionality <ul><li>What is user intuition of dragging processor cell? </li></ul><ul><ul><li>Adding new instances of the same processor! </li></ul></ul><ul><li>Problems: </li></ul><ul><ul><li>When copying -> new instance should be added </li></ul></ul><ul><ul><li>When cut&paste -> same instance should be added </li></ul></ul><ul><ul><li>It should be done by OpenOffice - not us! </li></ul></ul>
  9. 10. Achieving Taverna's functionality <ul><li>First idea: Use Calc's relative addressing mechanism! </li></ul><ul><ul><li>Processor id = cell address </li></ul></ul><ul><ul><li>Problems with cut&paste </li></ul></ul><ul><li>Solution: </li></ul><ul><ul><li>Processor id = cell range address </li></ul></ul><ul><ul><li>Works fine! </li></ul></ul>
  10. 11. Achieving Taverna's functionality <ul><li>Mapping Taverna's data types into a Calc </li></ul><ul><ul><li>Problem: Taverna uses complex, unsupported by Calc's data types </li></ul></ul><ul><ul><li>Solution: Represent them by using Calc's data types! </li></ul></ul><ul><li>Examples </li></ul><ul><ul><li>Lists </li></ul></ul><ul><ul><li>Images </li></ul></ul>
  11. 12. Achieving Taverna's functionality <ul><li>Workflow diagrams </li></ul><ul><ul><li>Keep minimum amount of data outside the sheet! </li></ul></ul><ul><ul><li>Using Calc's cell dependencies functionality </li></ul></ul>
  12. 13. Our experience <ul><li>The tools we used </li></ul><ul><li>The problems we encountered </li></ul><ul><li>Our conclusions </li></ul>
  13. 14. The tools we used <ul><li>UNO Java bridge </li></ul><ul><ul><li>works fine </li></ul></ul><ul><ul><li>tends to crash the JVM during debugging </li></ul></ul><ul><li>Netbeans together with OpenOffice plugin </li></ul><ul><ul><li>a very good helper </li></ul></ul><ul><ul><li>lacks advanced functionality </li></ul></ul><ul><ul><li>some bugs </li></ul></ul>
  14. 15. The problems we encountered <ul><li>Lacks of documentation </li></ul><ul><ul><li>not enough samples </li></ul></ul><ul><ul><li>not many people writing in UNO </li></ul></ul><ul><ul><li>it's just a matter of time, fortunately :) </li></ul></ul><ul><li>Lacks of API functionality </li></ul><ul><ul><li>locking cells </li></ul></ul><ul><ul><li>getting the address from which a formulae is called </li></ul></ul><ul><ul><li>slow listeners </li></ul></ul>
  15. 16. Our conclusions <ul><li>A very good integration mechanism (UNO) </li></ul><ul><ul><li>a powerful OS independent solution </li></ul></ul><ul><li>A well thought API </li></ul><ul><ul><li>self explanatory hierarchy </li></ul></ul><ul><li>A little bit to hard for the masses to start writing plugins </li></ul><ul><ul><li>over 100 lines of code to produce a simple Calc addin </li></ul></ul><ul><ul><li>a whole new philosophy to learn to write a plugin (UNO) </li></ul></ul>
  16. 17. Thank You <ul><li>Project's site: </li></ul><ul><ul><li>http://tavernalc.googlecode.com/ </li></ul></ul><ul><li>Tavernalc Team </li></ul><ul><ul><li>Marek Dopiera </li></ul></ul><ul><ul><li>Adam Kawa </li></ul></ul><ul><ul><li>Piotr Krewski </li></ul></ul><ul><ul><li>Tomek Weksej </li></ul></ul><ul><li>Project Promoters, Motivators and Helpers </li></ul><ul><ul><li>Jacek Sroka </li></ul></ul><ul><ul><li>Prof. Jerzy Tyszkiewicz </li></ul></ul>

×