eclipse coordination tools
play

Eclipse Coordination Tools Software Development at SEN3 Christian - PowerPoint PPT Presentation

Reo Tools Automata Tools Implementations Eclipse Coordination Tools Software Development at SEN3 Christian Koehler Centrum voor Wiskunde en Informatica (CWI) Amsterdam, The Netherlands 17th October 2007 Christian Koehler Eclipse


  1. Reo Tools Automata Tools Implementations Eclipse Coordination Tools Software Development at SEN3 Christian Koehler Centrum voor Wiskunde en Informatica (CWI) Amsterdam, The Netherlands 17th October 2007 Christian Koehler Eclipse Coordination Tools

  2. Reo Tools Automata Tools Implementations Outline Reo Tools 1 Eclipse Overview Editor, Animation & Model Checking Connector Reconfiguration Automata Tools 2 Concepts & Features Extension Types Implementations 3 Example Application Code Generation Christian Koehler Eclipse Coordination Tools

  3. Reo Tools Eclipse Overview Automata Tools Editor, Animation & Model Checking Implementations Connector Reconfiguration Outline Reo Tools 1 Eclipse Overview Editor, Animation & Model Checking Connector Reconfiguration Automata Tools 2 Concepts & Features Extension Types Implementations 3 Example Application Code Generation Christian Koehler Eclipse Coordination Tools

  4. Reo Tools Eclipse Overview Automata Tools Editor, Animation & Model Checking Implementations Connector Reconfiguration Eclipse Platform Open-source, platform-independent software framework. Sophisticated plug-in architecture. Meta-tools for development of graphical and textual editors. Integration of heterogeneous tools possible. Christian Koehler Eclipse Coordination Tools

  5. Reo Tools Eclipse Overview Automata Tools Editor, Animation & Model Checking Implementations Connector Reconfiguration Eclipse Coordination Tools (ECT) Reo Tools Automata Tools Christian Koehler Eclipse Coordination Tools

  6. Reo Tools Eclipse Overview Automata Tools Editor, Animation & Model Checking Implementations Connector Reconfiguration Reo Tools Reo Model Graphical Animation Editor View Edit connectors graphically and save them as XML/XMI. Generate Flash animations of connectors on the fly. Extend the Reo model to define your own channel types. Model check Reo circuits and constraint automata. Christian Koehler Eclipse Coordination Tools

  7. Reo Tools Eclipse Overview Automata Tools Editor, Animation & Model Checking Implementations Connector Reconfiguration Reo Editor Supported channel types: Sync, LossySync FIFO, LossyFIFO SyncDrain, AsyncDrain SyncSpout, AsyncSpout Figure: Exclusive router. Christian Koehler Eclipse Coordination Tools

  8. Reo Tools Eclipse Overview Automata Tools Editor, Animation & Model Checking Implementations Connector Reconfiguration Reo Editor Other primitive connectors: Writer, Reader Replicator, Merger ... Figure: Sequencer. Christian Koehler Eclipse Coordination Tools

  9. Reo Tools Eclipse Overview Automata Tools Editor, Animation & Model Checking Implementations Connector Reconfiguration Generic Primitives Support for Generics: Connectors can be exported to a library. Internal structure and behaviour is hidden. Reuse connectors to build more complex ones. Figure: 3-Counter circuit. ⇒ Modularization and encapsulation. Christian Koehler Eclipse Coordination Tools

  10. Reo Tools Eclipse Overview Automata Tools Editor, Animation & Model Checking Implementations Connector Reconfiguration Reo Animation Compositionally computed animations : Figure: Animated 3-Counter. Christian Koehler Eclipse Coordination Tools

  11. Reo Tools Eclipse Overview Automata Tools Editor, Animation & Model Checking Implementations Connector Reconfiguration Integrated Model Checker Model Checking: Efficient symbolic model checking implemented in C++. Joint project with TU-Dresden. Figure: Dining philosophers. Christian Koehler Eclipse Coordination Tools

  12. Reo Tools Eclipse Overview Automata Tools Editor, Animation & Model Checking Implementations Connector Reconfiguration Dynamic Reo Need for dynamic coordination: Software systems evolve over time. Static connectors are not sufficient for complex applications. New paradigms demand highly dynamic adaptations (e.g. in SOA or Grid computing). Deployment and reconfiguration procedures are essential for a reliable coordination environment. Christian Koehler Eclipse Coordination Tools

  13. Reo Tools Eclipse Overview Automata Tools Editor, Animation & Model Checking Implementations Connector Reconfiguration High-Level Transformations Connector Reconfiguration: Support for local and global changes. Pattern-based transformation rules. Perform complex refactorings in an atomic step. ⇒ Need for a high-level transformation language. Christian Koehler Eclipse Coordination Tools

  14. Reo Tools Eclipse Overview Automata Tools Editor, Animation & Model Checking Implementations Connector Reconfiguration SOA Example Restaurant XOR XOR Flight Hotel Hotel Flight Train Flight Train Hotel Maps Payment Payment Payment Figure: SOA process customization. Christian Koehler Eclipse Coordination Tools

  15. Reo Tools Eclipse Overview Automata Tools Editor, Animation & Model Checking Implementations Connector Reconfiguration Graph Transformation Calendar Modeling structure or behavior is often done with Hotel some sort of graphs. Maps Restaurant Model transformation can XOR be realized as a Flight Train transformation of graphs. A set of transformation Payment rules constitutes a graph grammar. Figure: SOA process. Christian Koehler Eclipse Coordination Tools

  16. Reo Tools Eclipse Overview Automata Tools Editor, Animation & Model Checking Implementations Connector Reconfiguration Process Customization XOR Flight Flight Service Figure: Rewrite rule "Add flight alternative" . Christian Koehler Eclipse Coordination Tools

  17. Reo Tools Eclipse Overview Automata Tools Editor, Animation & Model Checking Implementations Connector Reconfiguration EMF Model Transformation (EMT) Figure: Graphical Transformation editor. Christian Koehler Eclipse Coordination Tools

  18. Reo Tools Concepts & Features Automata Tools Extension Types Implementations Outline Reo Tools 1 Eclipse Overview Editor, Animation & Model Checking Connector Reconfiguration Automata Tools 2 Concepts & Features Extension Types Implementations 3 Example Application Code Generation Christian Koehler Eclipse Coordination Tools

  19. Reo Tools Concepts & Features Automata Tools Extension Types Implementations Eclipse Coordination Tools (ECT) Reo Tools Automata Tools Christian Koehler Eclipse Coordination Tools

  20. Reo Tools Concepts & Features Automata Tools Extension Types Implementations Automata Tools General purpose automata tools. Separation of graph structure and attached data (extensions). Compositional validation and product. Automata extensions are registered using Eclipse’ extension point mechanisms. Can be (de)activated in the context menu of the editor. Christian Koehler Eclipse Coordination Tools

  21. Reo Tools Concepts & Features Automata Tools Extension Types Implementations Automata Tools Currently implemented extensions: Start states, port names, local memory, constraints, costs. ⇒ Constraint automata with memory and costs. Christian Koehler Eclipse Coordination Tools

  22. Reo Tools Concepts & Features Automata Tools Extension Types Implementations Start State Extensions Boolean flag attached to states. It indicates whether a state is a start / initial state. Extension Product isStart 1 × 2 = isStart 1 ∧ isStart 2 Christian Koehler Eclipse Coordination Tools

  23. Reo Tools Concepts & Features Automata Tools Extension Types Implementations Port Names Extensions List of port names that is attached to the automaton itself and all of its transitions. Validation routines check for illegal (e.g. undefined, duplicate) port names. Extension Product Names 1 × 2 Names 1 ∪ Names 2 = names 1 × 2 names 1 ∪ names 2 iff = Names 1 ∩ names 2 = Names 2 ∩ names 1 Christian Koehler Eclipse Coordination Tools

  24. Reo Tools Concepts & Features Automata Tools Extension Types Implementations Memory Extensions List of memory cell names that is attached to states. Can be referenced in constraints. Extension Product memory 1 × 2 = memory 1 ⊎ memory 2 Christian Koehler Eclipse Coordination Tools

  25. Reo Tools Concepts & Features Automata Tools Extension Types Implementations Constraint Extensions Constraints over the port names and the memory cells are attached to the transitions. Only the memory cells of the source and the target state can be used (local memory). Extension Product constraint 1 × 2 = constraint 1 ∧ constraint 2 Christian Koehler Eclipse Coordination Tools

  26. Reo Tools Concepts & Features Automata Tools Extension Types Implementations Cost Extensions List of cost algebras is attached to the automaton. List of cost values is attached to the transitions. Implementations of the algebras handle the parsing and the product of cost values. Extension Product cost 1 × 2 = cost 1 ȅ cost 2 Christian Koehler Eclipse Coordination Tools

  27. Reo Tools Example Application Automata Tools Code Generation Implementations Outline Reo Tools 1 Eclipse Overview Editor, Animation & Model Checking Connector Reconfiguration Automata Tools 2 Concepts & Features Extension Types Implementations 3 Example Application Code Generation Christian Koehler Eclipse Coordination Tools

Recommend


More recommend