SlideShare uma empresa Scribd logo
1 de 44
Baixar para ler offline
The SENSORIA
                    The SENSORIA
              Development Environment
              Development Environment
                                 CASE Tool for SOA Development
                                                         p

                                                 SENSORIA EU FP6 project
                                                19 partners from 7 countries
                                                     4 years, 4 M EUR

                     Coordinator: Prof. Dr. Martin Wirsing, Ludwig‐Maximilians‐Universität München, Germany
           Università di Trento | University of Leicester | Warsaw University | TU Denmark at Lyngby | Università di Pisa
             Università di Firenze | Università di Bologna | ISTI Pisa | Universidade de Lisboa | University of Edinburgh 
             Università di Firenze | Università di Bologna | ISTI Pisa | Universidade de Lisboa | University of Edinburgh
       ATX Software | SATelecom Italia Lab | Imperial College London | Cirquent GnbH (FAST GmbH) | Budapest University of 
                      Technology and Economics |S&N AG | University College London | Politecnico di Milano


                                                  István Ráth
                                                  István Ráth
SENSORIA Development                          rath@mit.bme.hu 
Environment for SOA
Context
• Service‐Oriented Computing
    –   Create new services 
        Create new services
    –   By composing existing functionality
    –   With „Loosely‐coupled” interaction
    –   >Resilient to changing (business) environment
        >Resilient to changing (business) environment
• Envisaged market impact
    – Time‐to‐market of service integration can be reduced
    – Increased quality of service
      (security, response time, throughput, availability….)
    – Portability to existing platforms to maintain profitable services
• Challenges
    –   Specification and querying of services?
    –   Correctness and consistency of service composition?
                                     y              p
    –   Continuous operation in changing environment (service outages)?
    –   Design for justifiable SLA‐compliance (security, performance)?

 SENSORIA Development 
 Environment for SOA
The SENSORIA Approach
The SENSORIA Approach




SENSORIA Development 
Environment for SOA
The SENSORIA Development Environment (SDE)


 • Obj ti
   Objective of the SDE
              f th SDE
       – Provide a service‐oriented platform for tool 
         integration
 • Benefits
       – Discover & install SOA development tools
                  & install SOA development tools
       – Orchestrate & compose tools as services
       – A homogeneous platform for
         A homogeneous platform for
         the service‐based toolchain
 • SDE is based on SOA
       – OSGi for services
       – Eclipse for UI
 SENSORIA Development 
 Environment for SOA
The SDE UI


                                  Tool Browser
                       Lists available tools, ordered by 
                                                   Function Browser
                                    category
                                         Shows functionality available in a 
                           T l        b di          d
                           Tools can be discovered,  tool
                        downloaded and installed via 
                        Aspire One talán a legszexibb az eddig nálunk 
                              Eclipse update sites.
                        járt mini notebookok közül. A fényes tejszínű 
                        burkolat és a zsanérok melletti metálpiros 
                        gyűrű már‐már nőiessé varázsolják a gépet."    Blackboard
                    Shell                                 Stores data in‐between tool function 
  Allows direct access to tool functions
  Allows direct access to tool functions                                  calls




SENSORIA Development 
Environment for SOA
Correctness analysis with WS‐Engineer

•   WS‐Engineer supports model‐checking WS‐BPEL, WS‐CDL and WSIF behavioural 
    specifications 
     – Properties for analysis of service interaction & behaviour
     – Verification and violation traces
     – Animation for validation
•   Automotive Case Study – On Road Assistance Scenario:
     – Is it true that the credit card of the driver won’t be charged
       Is it true that the credit card of the driver won t be charged 
       if there are no available garages?
           • Generate formal models of service orchestrations
           • Specify a property for verification 
                  – e.g. “property
                    service.orderGarage throw_fault bank.revokeChar
                    ge””
           • Check model for violation traces of this property


    SENSORIA Development 
    Environment for SOA
WS‐Engineer at a glance
       g           g


Available 
Services                                                             WS‐BPEL 
                                                                     example

Blackboard 
 of results
 of results                     Available
                                Methods                               A trace of 
                                                                      property



  Tool 
  Tool
                                                                      Graphical 
 Output
                                                                       Views


  SENSORIA Development 
                          SENSORIA Development Environment for SOA
  Environment for SOA
Dynamic and Adaptive Services (Dino)

• Dino ‐ QoS and Adaptive Service Brokering
   – S i Di
     Service Discovery, Selection, Binding and Adaptation
                        S l i      Bi di     d Ad     i
   – Functional and non‐functional aspects required/provided
   – Local, Remote and P2P service repository search
         l            d 2        i        i         h
• DinoModes:
   –G
    Generates Dino specs. From UML Mode models 
          t Di            F    UML M d    d l
     • Extracts services required and provided
     • Generates functional and non‐functional Dino inputs
       Generates functional and non functional Dino inputs
     • Check model for violation traces of this property
• Modes + WS‐Engineer
   – Analyse modes for consistency and constraints
         • Architectural, Behaviour and Policy reconfigurations

  SENSORIA Development 
                            SENSORIA Development Environment for SOA
  Environment for SOA
Dino+Modes at a glance
                                   at a glance
                                                                      DinoModes
                                                                       Browser
                                                                         o se



                                            ModesAPI
                                                                             DinoModesAPI


 UML 
Modes


                                                                                  Functional
                                                                                  Specificatio
                                                                                       n
                                                       Mode 
                                                      Selectio
                                                         n
SENSORIA Development 
                           SENSORIA Development Environment for SOA
Environment for SOA
Performance analysis with PEPA
   PEPA is a formal language for quantitative analysis of systems
      A model is expressed in terms of components which perform 
      A model is expressed in terms of components which perform
      timed activities and co‐operate with each other
   The SCT Plug‐in for PEPA supports steady‐state analysis, that can 
   The SCT Plug‐in for PEPA supports steady‐state analysis that can
   answer questions such as:
      What is the percentage of time that the local discovery server is 
                    p       g                                 y
      idle in the long run? (Utilisation Analysis)
      What is the throughput at which remote services are 
      discovered? (Throughput Analysis)
      What is the probability that the system does compensation 
      upon notification of failure?


 SENSORIA Development 
 Environment for SOA
PEPA at a Glance

    Interface for PEPA steady‐
    I    f    f PEPA         d
        state analysis tools
                                                  Interface of 
                                                    the UML 
                                                    th UML
                                                   converter
PEPA model description               Available 
automatically inferred from UML      Methods

model

                                                  Throughput 
                                                     results 
                                                     results
      Utilisation Analysis Results                  reflected 
                                                  back into the 
                                                   UML model
                                                   UML model




 SENSORIA Development 
 Environment for SOA
Service deployment transformations


 • G
   Generate WSDL descriptors from UML4SOA
           t WSDL d   i t f       UML4SOA
 • Tool: VIATRA2
       – VIsual Automated model TRAnsformations
                Automated model TRAnsformations
       – general‐purpose model transformation framework 
         that supports the entire life‐cycle for transformations
                pp                      y
             •   specification
             •   design
             •   execution
             •   validation
       – within and between various modeling languages 
       – Eclipse subproject: http://eclipse.org/gmt
                                  //           /
       – Wiki: http://wiki.eclipse.org/VIATRA2

 SENSORIA Development 
 Environment for SOA
VIATRA2 transformations in SDE




                                              WSDL files are 
                                                created
Source models in UML




 Uniform representation of 
                              Model transformation 
models and transformations
models and transformations
                                      code



SENSORIA Development 
Environment for SOA
The UML2BPEL Transformation

• The UML2BPEL transformer converts from UML activity diagrams 
  to BPEL and WSDL
            d S
   – Input: Service orchestrations in UML based on the 
     UML4SOA profile
   – Output: BPEL and WSDL files
• Integrated into Eclipse 
               p           pp      p
• Based on Eclipse EMF, supports input models from Rational 
  Software Architect and other tools which export EMF XMI
• See http://www.pst.ifi.lmu.de/projekte/uml4soa/



  SENSORIA Development 
                          SENSORIA Development Environment for SOA
  Environment for SOA
UML2BPEL at a glance


                                    Transformation




      UML
                                                                    BPEL + WSDL


 SENSORIA Development 
                         SENSORIA Development Environment for SOA
 Environment for SOA
SENSORIA provides…
                             SENSORIA provides

SENSORIA tools extend standard design 
                            VIATRA:
           Standard deployment code generated in WSDL.
  workflow by providing justifiable solutions.
             yp             gj
                  WS‐Engineer:
No deposit will be charged if service is cancelled.
No deposit will be charged if service is cancelled
 The driver will get everything according to his 
        policy if payment if confirmed.
                                                                     PEPA:
                                               The car will arrive within 15 minutes with 90% 
                                                                  probability.
                                              The GPS location service is a quality bottleneck.
                                              The GPS location service is a quality bottleneck.
          SENSORIA Development Environment:
         Additional tools can easily be integrated

SENSORIA Development 
Environment for SOA
SENSORIA answers to SOA challenges



                            Precise model‐driven development of 
       Customizable domain‐specific development process
                            services

                           Deployment to standard platforms



                         Standards‐compliant service modelling 
                         languages
                              Hidden formal analysis of service models
                              Hidden formal analysis of service models




 SENSORIA Development 
 Environment for SOA
The SENSORIA Development Environment
The SENSORIA Development Environment

A PROGRAMMER’S PERSPECTIVE
Eclipse, OSGi as an integration platform
  Eclipse OSGi as an integration platform

• OSGi = Open Services Gateway Initiative

       Bundle 1       Bundle 2          Bundle n




                  OSGi framework
                  OSGi framework
                  Java Runtime Environment
                      (J2SE, J2ME, J2EE)

                                 OS
Eclipse, OSGi as an integration platform
Eclipse OSGi as an integration platform


                                                   Java 
     Bundle 1       Bundle 2          Bundle n   packages




                OSGi framework
                OSGi framework
                Java Runtime Environment
                    (J2SE, J2ME, J2EE)

                               OS
Eclipse, OSGi as an integration platform
Eclipse OSGi as an integration platform


                                                    Java 
     Bundle 1       Bundle 2          Bundle n    packages




                OSGi framework
                OSGi framework
                                                 Classes are 
                Java Runtime Environment         (re)usable
                    (J2SE, J2ME, J2EE)

                               OS
Eclipse, OSGi as an integration platform
       Eclipse OSGi as an integration platform


                                                               Java 
                Bundle 1       Bundle 2          Bundle n    packages



  Dynamic 
configuration              OSGi framework
                           OSGi framework
                                                            Classes are 
                           Java Runtime Environment         (re)usable
                               (J2SE, J2ME, J2EE)

                                          OS
Eclipse, OSGi as an integration platform
  Eclipse OSGi as an integration platform

• OSGi = Open Services Gateway Initiative
• Bundle 
  – Dynamic add / remove
    Dynamic add / remove
  – Can provide OSGi services
  – Web services compatible”
    Web services „compatible
• Component‐based, extensible system
• Examples: Eclipse Equinox, Knopflerfish, ...
Sensoria
• OSGi bundles, and an Eclipse UI
• Provides basic infrastructure for OSGi‐based
  Provides basic infrastructure for OSGi based 
  tool and service integration

                     Sensoria
                       Core




        Tool Store              Blackboard
Sensoria


           Tool Store
Sensoria


                  Tool Store



                       OSGi 
                  implementation 
                  implementation
       Eclipse      + Extension 
      Extension        point 
       Registry     mechanism
Sensoria

                   Extension point: 
ISensoriaTool      tool description
                                        Tool Store



                                             OSGi 
                                        implementation 
                                        implementation
                             Eclipse      + Extension 
                            Extension        point 
                             Registry     mechanism
Sensoria
                   Extension point: 
                   marker Interface, 
ISensoriaTool      implemented by 
                        Tools
                                        Tool Store



                                             OSGi 
                                        implementation 
                                        implementation
                            Eclipse       + Extension 
                           Extension         point 
                            Registry      mechanism
Sensoria
                                     Extension point: 
                                     marker Interface, 
 Describes                           implemented by 
                 ISensoriaTool
  services                                Tools
offered by a                                              Tool Store
    Tool


                                                               OSGi 
                MyToolInterface
                                                          implementation 
                                                          implementation
                                              Eclipse       + Extension 
                                             Extension         point 
                                              Registry      mechanism


                  MyToolImpl
Sensoria
                                       Extension point: 
                                       marker Interface, 
  Describes                            implemented by 
                   ISensoriaTool
   services                                 Tools
 offered by a                                               Tool Store
     Tool


                                                                 OSGi 
                  MyToolInterface
                                                            implementation 
                                                            implementation
                                                Eclipse       + Extension 
                                               Extension         point 
                                                Registry      mechanism

     The            MyToolImpl
implementation 
i l       t ti
     class
Distributed operation
               Distributed operation

                    Sensoria                Sensoria
                      Core
                      C                       Core
                                              C
                    Registry                Registry


     Core
                                     Core



BB           Tool                              Tool
                                BB
            Store                             Store
Remote OSGi (R‐OSGi)
             Remote OSGi (R OSGi)

         S
         e    I                      I
         r    F                      F
         v    a                      a
         i    c                      c
R‐OSGi                                   R‐OSGi
         c    e                      e
bundle                                   bundle
         e

     OSGi framwork           OSGi framework
Remote OSGi (R‐OSGi)
             Remote OSGi (R OSGi)

                        Interface is 
         S           present on both 
                     present on both
         e    I       the server and            I
         r    F          the client             F
         v    a                                 a
         i    c                                 c
R‐OSGi                                              R‐OSGi
         c    e                                 e
bundle                                              bundle
         e

    OSGi framework                      OSGi framework
Remote OSGi (R‐OSGi)
             Remote OSGi (R OSGi)

         S
         e    I                                I
         r    F                                F
         v    a                                a
                     Implementation 
                     I l       t ti
         i    c                                c
R‐OSGi                    class                    R‐OSGi
         c    e                                e
bundle                 („server”)                  bundle
         e

    OSGi framework                     OSGi framework
Remote OSGi (R‐OSGi)
                    Remote OSGi (R OSGi)

Register 
service         S
                e    I                      I
                r    F                      F
                v    a                      a
                i    c                      c
     R‐OSGi                                     R‐OSGi
                c    e                      e
     bundle                                     bundle
                e

            OSGi framework          OSGi framework
Remote OSGi (R‐OSGi)
             Remote OSGi (R OSGi)

         S
         e    I                             I
         r    F                             F
         v    a                             a
         i    c                             c
R‐OSGi                                          R‐OSGi
         c    e                             e
bundle                                          bundle
         e

     OSGi framework                 OSGi framework




    A remote client requests the 
    A remote client requests the
             service...
Remote OSGi (R‐OSGi)
             Remote OSGi (R OSGi)

                                             P
                           A proxy is 
                             p y             r
         S
                           created...        o
         e    I                          I
                                             x
         r    F                          F
                                             y
         v    a                          a
         i    c                          c
R‐OSGi                                       R‐OSGi
         c    e                          e
bundle                                       bundle
         e

    OSGi framework              OSGi framework
Remote OSGi (R‐OSGi)
             Remote OSGi (R OSGi)

                                                                       P
                                                                       r
         S
                                                                       o
         e    I                                                  I
                                                                       x
         r    F                                                  F
                                                                       y
         v    a   Eclipse, OSGi as an integration platform
                  Eclipse OSGi as an integration platform        a
         i    c                                                  c
R‐OSGi                                                                 R‐OSGi
         c    e                                                  e
bundle                                                                 bundle
         e

    OSGi framework                                     OSGi framework



                                                     Function calls are passed, return 
                                                        values are serialized and 
                                                               transported
Comparing ECF and R‐OSGi
        Comparing ECF and R OSGi

• ECF                        R‐OSGi
  – ‐ More complex             + Simple
    architecture               + Lightweight (only 
  – + More features            depends on OSGi)
    ( y
    (asynchronous calls, ,     Better suited for our 
                               goals
                                   l
    timing service, stb.)
The R‐OSGi‐based implementation
The R OSGi based implementation



         Sensoria         RemoteCore
       Core Registry
                       RemoteService Tool
                                            R‐OSGi
                          +mini model       bundle

           Core




  BB                       Tool
                          Store
Workflow orchestration – Hello world
Workflow orchestration Hello world

cReg.addRemoteCore("r‐osgi://localhost:9278");

remoteCore   cReg.findCoreByName( r osgi://localhost:9278 );
remoteCore = cReg.findCoreByName("r‐osgi://localhost:9278");

testTool = remoteCore.findToolById("hu.bme.test.htmlconverter");

testIf = testTool.getServiceInterface();

sCore.print(testIf.htmlEscape("<<"));
      p    (               p (    ))
Tool scripts
                      Tool scripts
function soa2wsdl(umlFileName, outputDirectory)
{
  viatra = sCore.findToolByName( Viatra ).getServiceInterface();
  viatra   sCore findToolByName("Viatra") getServiceInterface();
  vU = sCore.findToolByName("vUtil").getServiceInterface();
  fw = viatra.createFramework();

  vpml = 
vU.getInputStream(vU.getFileFromBundle("hu.bme.mit.viatra.integr
ation.sensoria , model/uml2soa_clean.vpml ));
ation.sensoria","model/uml2soa clean.vpml"));
       umlmodel_file = vU.getFile(umlFileName);
  viatra.nativeImportFromFile(fw,umlmodel_file,"uml");

  result = 
viatra.runTransformation(fw,"transformations.uml2soa2wsdl","Mode
l=uml2.models."+umlmodel+"_uml");
                          _    )
  viatra.writeoutput(fw,...);
  viatra.disposeFramework(fw);
}
Outlooks
• Support a proper workflow orchestration 
    g                                    p
  engine instead of the built‐in JS interpreter
  – Parallelism
  – Exception handling
    Exception handling
  – Asynchronous messages
• UI integration
  – Allow for user interaction in automated workflows
    Allow for user interaction in automated workflows
Where to get it?
              Where to get it?
• General info:
  – http://www.sensoria‐ist.eu/
       p //                   /
• SDE:
  – h //
    http://svn.pst.ifi.lmu.de/trac/sct
                   ifi l   d /    /

Mais conteúdo relacionado

Semelhante a The SENSORIA Development Environment

01 necto introduction_ready
01 necto introduction_ready01 necto introduction_ready
01 necto introduction_readywww.panorama.com
 
Study of solution development methodology for small size projects.
Study of solution development methodology for small size projects.Study of solution development methodology for small size projects.
Study of solution development methodology for small size projects.Joon ho Park
 
Using Composite Feature Models to Support Agile Software Product Line Evoluti...
Using Composite Feature Models to Support Agile Software Product Line Evoluti...Using Composite Feature Models to Support Agile Software Product Line Evoluti...
Using Composite Feature Models to Support Agile Software Product Line Evoluti...Simon Urli
 
Verteilte Synchronisierung von Modellen in automatisierten Entwicklungsprozessen
Verteilte Synchronisierung von Modellen in automatisierten EntwicklungsprozessenVerteilte Synchronisierung von Modellen in automatisierten Entwicklungsprozessen
Verteilte Synchronisierung von Modellen in automatisierten EntwicklungsprozessenIntland Software GmbH
 
Dreamforce_2012_Hadoop_Use_Cases
Dreamforce_2012_Hadoop_Use_CasesDreamforce_2012_Hadoop_Use_Cases
Dreamforce_2012_Hadoop_Use_CasesNarayan Bharadwaj
 
4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture Portfolio4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture PortfolioMajong DevJfu
 
Linking Services and Linked Data: Keynote for AIMSA 2012
Linking Services and Linked Data: Keynote for AIMSA 2012Linking Services and Linked Data: Keynote for AIMSA 2012
Linking Services and Linked Data: Keynote for AIMSA 2012John Domingue
 
Kahuna Corporate Profile
Kahuna Corporate ProfileKahuna Corporate Profile
Kahuna Corporate Profilekahunasystems
 
EclipseConEurope2012 SOA - Models As Operational Documentation
EclipseConEurope2012 SOA - Models As Operational DocumentationEclipseConEurope2012 SOA - Models As Operational Documentation
EclipseConEurope2012 SOA - Models As Operational DocumentationMarc Dutoo
 
ALIVE (Newsfromthefront 2010)
ALIVE (Newsfromthefront 2010)ALIVE (Newsfromthefront 2010)
ALIVE (Newsfromthefront 2010)STI International
 
Collaborative Lifecycle Managmenent - an Introduction
Collaborative Lifecycle Managmenent - an IntroductionCollaborative Lifecycle Managmenent - an Introduction
Collaborative Lifecycle Managmenent - an IntroductionStrongback Consulting
 
Fourth Serenoa Newsletter
Fourth Serenoa NewsletterFourth Serenoa Newsletter
Fourth Serenoa NewsletterSerenoa Project
 
Soa4 all technical achievements final
Soa4 all technical achievements finalSoa4 all technical achievements final
Soa4 all technical achievements finalJohn Domingue
 
Service Oriented Architecture
Service Oriented Architecture Service Oriented Architecture
Service Oriented Architecture Prabhat gangwar
 
Aspirea sales presentation
Aspirea sales presentationAspirea sales presentation
Aspirea sales presentationMayank Singh
 
The challenges and opportunities in open source reuse
The challenges and opportunities in open source reuseThe challenges and opportunities in open source reuse
The challenges and opportunities in open source reuseIvica Crnkovic
 
DashMash: a Mashup Environment for End User Development
DashMash: a Mashup Environment for End User DevelopmentDashMash: a Mashup Environment for End User Development
DashMash: a Mashup Environment for End User DevelopmentMatteo Picozzi
 

Semelhante a The SENSORIA Development Environment (20)

01 necto introduction_ready
01 necto introduction_ready01 necto introduction_ready
01 necto introduction_ready
 
Study of solution development methodology for small size projects.
Study of solution development methodology for small size projects.Study of solution development methodology for small size projects.
Study of solution development methodology for small size projects.
 
Using Composite Feature Models to Support Agile Software Product Line Evoluti...
Using Composite Feature Models to Support Agile Software Product Line Evoluti...Using Composite Feature Models to Support Agile Software Product Line Evoluti...
Using Composite Feature Models to Support Agile Software Product Line Evoluti...
 
Verteilte Synchronisierung von Modellen in automatisierten Entwicklungsprozessen
Verteilte Synchronisierung von Modellen in automatisierten EntwicklungsprozessenVerteilte Synchronisierung von Modellen in automatisierten Entwicklungsprozessen
Verteilte Synchronisierung von Modellen in automatisierten Entwicklungsprozessen
 
Dreamforce_2012_Hadoop_Use_Cases
Dreamforce_2012_Hadoop_Use_CasesDreamforce_2012_Hadoop_Use_Cases
Dreamforce_2012_Hadoop_Use_Cases
 
4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture Portfolio4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture Portfolio
 
Linking Services and Linked Data: Keynote for AIMSA 2012
Linking Services and Linked Data: Keynote for AIMSA 2012Linking Services and Linked Data: Keynote for AIMSA 2012
Linking Services and Linked Data: Keynote for AIMSA 2012
 
Kahuna Corporate Profile
Kahuna Corporate ProfileKahuna Corporate Profile
Kahuna Corporate Profile
 
EclipseConEurope2012 SOA - Models As Operational Documentation
EclipseConEurope2012 SOA - Models As Operational DocumentationEclipseConEurope2012 SOA - Models As Operational Documentation
EclipseConEurope2012 SOA - Models As Operational Documentation
 
ALIVE (Newsfromthefront 2010)
ALIVE (Newsfromthefront 2010)ALIVE (Newsfromthefront 2010)
ALIVE (Newsfromthefront 2010)
 
Collaborative Lifecycle Managmenent - an Introduction
Collaborative Lifecycle Managmenent - an IntroductionCollaborative Lifecycle Managmenent - an Introduction
Collaborative Lifecycle Managmenent - an Introduction
 
Demo: ALIVE@AAMAS'2010
Demo: ALIVE@AAMAS'2010Demo: ALIVE@AAMAS'2010
Demo: ALIVE@AAMAS'2010
 
Fourth Serenoa Newsletter
Fourth Serenoa NewsletterFourth Serenoa Newsletter
Fourth Serenoa Newsletter
 
Soa4 all technical achievements final
Soa4 all technical achievements finalSoa4 all technical achievements final
Soa4 all technical achievements final
 
Service Oriented Architecture
Service Oriented Architecture Service Oriented Architecture
Service Oriented Architecture
 
Aspirea sales presentation
Aspirea sales presentationAspirea sales presentation
Aspirea sales presentation
 
The challenges and opportunities in open source reuse
The challenges and opportunities in open source reuseThe challenges and opportunities in open source reuse
The challenges and opportunities in open source reuse
 
Improve Android System Component Performance
Improve Android System Component PerformanceImprove Android System Component Performance
Improve Android System Component Performance
 
postgres.pptx
postgres.pptxpostgres.pptx
postgres.pptx
 
DashMash: a Mashup Environment for End User Development
DashMash: a Mashup Environment for End User DevelopmentDashMash: a Mashup Environment for End User Development
DashMash: a Mashup Environment for End User Development
 

Mais de Istvan Rath

Cloud-based Modelling Solutions Empowering Tool Integration
Cloud-based Modelling Solutions Empowering Tool IntegrationCloud-based Modelling Solutions Empowering Tool Integration
Cloud-based Modelling Solutions Empowering Tool IntegrationIstvan Rath
 
Cloud-based Modelling Solutions Empowering Tool Integration
Cloud-based Modelling Solutions Empowering Tool IntegrationCloud-based Modelling Solutions Empowering Tool Integration
Cloud-based Modelling Solutions Empowering Tool IntegrationIstvan Rath
 
MBSE meets Industrial IoT: Introducing the New MagicDraw Plug-in for RTI Co...
MBSE meets Industrial IoT: Introducing the New MagicDraw Plug-in for RTI Co...MBSE meets Industrial IoT: Introducing the New MagicDraw Plug-in for RTI Co...
MBSE meets Industrial IoT: Introducing the New MagicDraw Plug-in for RTI Co...Istvan Rath
 
IncQuery Server for Teamwork Cloud - Talk at IW2019
IncQuery Server for Teamwork Cloud - Talk at IW2019IncQuery Server for Teamwork Cloud - Talk at IW2019
IncQuery Server for Teamwork Cloud - Talk at IW2019Istvan Rath
 
VIATRA 2.0 Webinar
VIATRA 2.0 WebinarVIATRA 2.0 Webinar
VIATRA 2.0 WebinarIstvan Rath
 
Easier smart home development with simulators and rule engines
Easier smart home development with simulators and rule enginesEasier smart home development with simulators and rule engines
Easier smart home development with simulators and rule enginesIstvan Rath
 
Eclipse VIATRA Overview 2017
Eclipse VIATRA Overview 2017Eclipse VIATRA Overview 2017
Eclipse VIATRA Overview 2017Istvan Rath
 
Smarter internet of things with stream and event processing virtual io_t_meet...
Smarter internet of things with stream and event processing virtual io_t_meet...Smarter internet of things with stream and event processing virtual io_t_meet...
Smarter internet of things with stream and event processing virtual io_t_meet...Istvan Rath
 
Modes3: Model-based Demonstrator for Smart and Safe Systems
Modes3: Model-based Demonstrator for Smart and Safe SystemsModes3: Model-based Demonstrator for Smart and Safe Systems
Modes3: Model-based Demonstrator for Smart and Safe SystemsIstvan Rath
 
Eclipse DemoCamp Budapest 2016 November: Best of EclipseCon Europe 2016
Eclipse DemoCamp Budapest 2016 November: Best of EclipseCon Europe 2016Eclipse DemoCamp Budapest 2016 November: Best of EclipseCon Europe 2016
Eclipse DemoCamp Budapest 2016 November: Best of EclipseCon Europe 2016Istvan Rath
 
Exploring the Future of Eclipse Modeling: Web and Semantic Collaboration
Exploring the Future of Eclipse Modeling: Web and Semantic CollaborationExploring the Future of Eclipse Modeling: Web and Semantic Collaboration
Exploring the Future of Eclipse Modeling: Web and Semantic CollaborationIstvan Rath
 
Okosabb Internet of Things rendszerek komplex eseményfeldolgozás alkalmazásával
Okosabb Internet of Things rendszerek komplex eseményfeldolgozás alkalmazásával Okosabb Internet of Things rendszerek komplex eseményfeldolgozás alkalmazásával
Okosabb Internet of Things rendszerek komplex eseményfeldolgozás alkalmazásával Istvan Rath
 
IoT Supercharged: Complex event processing for MQTT with Eclipse technologies
IoT Supercharged: Complex event processing for MQTT with Eclipse technologiesIoT Supercharged: Complex event processing for MQTT with Eclipse technologies
IoT Supercharged: Complex event processing for MQTT with Eclipse technologiesIstvan Rath
 
mbeddr meets IncQuer - Combining the Best Features of Two Modeling Worlds
mbeddr meets IncQuer - Combining the Best Features of Two Modeling Worldsmbeddr meets IncQuer - Combining the Best Features of Two Modeling Worlds
mbeddr meets IncQuer - Combining the Best Features of Two Modeling WorldsIstvan Rath
 
Xcore meets IncQuery: How the New Generation of DSLs are Made
Xcore meets IncQuery: How the New Generation of DSLs are MadeXcore meets IncQuery: How the New Generation of DSLs are Made
Xcore meets IncQuery: How the New Generation of DSLs are MadeIstvan Rath
 
EMF-IncQuery 0.7 Presentation for Itemis
EMF-IncQuery 0.7 Presentation for ItemisEMF-IncQuery 0.7 Presentation for Itemis
EMF-IncQuery 0.7 Presentation for ItemisIstvan Rath
 
Event-driven Model Transformations in Domain-specific Modeling Languages
Event-driven Model Transformations in Domain-specific Modeling LanguagesEvent-driven Model Transformations in Domain-specific Modeling Languages
Event-driven Model Transformations in Domain-specific Modeling LanguagesIstvan Rath
 
Challenges for advanced domain-specific frameworks
Challenges for advanced domain-specific frameworksChallenges for advanced domain-specific frameworks
Challenges for advanced domain-specific frameworksIstvan Rath
 
Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésben
Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésbenTranszformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésben
Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésbenIstvan Rath
 
Change-driven model transformations
Change-driven model transformationsChange-driven model transformations
Change-driven model transformationsIstvan Rath
 

Mais de Istvan Rath (20)

Cloud-based Modelling Solutions Empowering Tool Integration
Cloud-based Modelling Solutions Empowering Tool IntegrationCloud-based Modelling Solutions Empowering Tool Integration
Cloud-based Modelling Solutions Empowering Tool Integration
 
Cloud-based Modelling Solutions Empowering Tool Integration
Cloud-based Modelling Solutions Empowering Tool IntegrationCloud-based Modelling Solutions Empowering Tool Integration
Cloud-based Modelling Solutions Empowering Tool Integration
 
MBSE meets Industrial IoT: Introducing the New MagicDraw Plug-in for RTI Co...
MBSE meets Industrial IoT: Introducing the New MagicDraw Plug-in for RTI Co...MBSE meets Industrial IoT: Introducing the New MagicDraw Plug-in for RTI Co...
MBSE meets Industrial IoT: Introducing the New MagicDraw Plug-in for RTI Co...
 
IncQuery Server for Teamwork Cloud - Talk at IW2019
IncQuery Server for Teamwork Cloud - Talk at IW2019IncQuery Server for Teamwork Cloud - Talk at IW2019
IncQuery Server for Teamwork Cloud - Talk at IW2019
 
VIATRA 2.0 Webinar
VIATRA 2.0 WebinarVIATRA 2.0 Webinar
VIATRA 2.0 Webinar
 
Easier smart home development with simulators and rule engines
Easier smart home development with simulators and rule enginesEasier smart home development with simulators and rule engines
Easier smart home development with simulators and rule engines
 
Eclipse VIATRA Overview 2017
Eclipse VIATRA Overview 2017Eclipse VIATRA Overview 2017
Eclipse VIATRA Overview 2017
 
Smarter internet of things with stream and event processing virtual io_t_meet...
Smarter internet of things with stream and event processing virtual io_t_meet...Smarter internet of things with stream and event processing virtual io_t_meet...
Smarter internet of things with stream and event processing virtual io_t_meet...
 
Modes3: Model-based Demonstrator for Smart and Safe Systems
Modes3: Model-based Demonstrator for Smart and Safe SystemsModes3: Model-based Demonstrator for Smart and Safe Systems
Modes3: Model-based Demonstrator for Smart and Safe Systems
 
Eclipse DemoCamp Budapest 2016 November: Best of EclipseCon Europe 2016
Eclipse DemoCamp Budapest 2016 November: Best of EclipseCon Europe 2016Eclipse DemoCamp Budapest 2016 November: Best of EclipseCon Europe 2016
Eclipse DemoCamp Budapest 2016 November: Best of EclipseCon Europe 2016
 
Exploring the Future of Eclipse Modeling: Web and Semantic Collaboration
Exploring the Future of Eclipse Modeling: Web and Semantic CollaborationExploring the Future of Eclipse Modeling: Web and Semantic Collaboration
Exploring the Future of Eclipse Modeling: Web and Semantic Collaboration
 
Okosabb Internet of Things rendszerek komplex eseményfeldolgozás alkalmazásával
Okosabb Internet of Things rendszerek komplex eseményfeldolgozás alkalmazásával Okosabb Internet of Things rendszerek komplex eseményfeldolgozás alkalmazásával
Okosabb Internet of Things rendszerek komplex eseményfeldolgozás alkalmazásával
 
IoT Supercharged: Complex event processing for MQTT with Eclipse technologies
IoT Supercharged: Complex event processing for MQTT with Eclipse technologiesIoT Supercharged: Complex event processing for MQTT with Eclipse technologies
IoT Supercharged: Complex event processing for MQTT with Eclipse technologies
 
mbeddr meets IncQuer - Combining the Best Features of Two Modeling Worlds
mbeddr meets IncQuer - Combining the Best Features of Two Modeling Worldsmbeddr meets IncQuer - Combining the Best Features of Two Modeling Worlds
mbeddr meets IncQuer - Combining the Best Features of Two Modeling Worlds
 
Xcore meets IncQuery: How the New Generation of DSLs are Made
Xcore meets IncQuery: How the New Generation of DSLs are MadeXcore meets IncQuery: How the New Generation of DSLs are Made
Xcore meets IncQuery: How the New Generation of DSLs are Made
 
EMF-IncQuery 0.7 Presentation for Itemis
EMF-IncQuery 0.7 Presentation for ItemisEMF-IncQuery 0.7 Presentation for Itemis
EMF-IncQuery 0.7 Presentation for Itemis
 
Event-driven Model Transformations in Domain-specific Modeling Languages
Event-driven Model Transformations in Domain-specific Modeling LanguagesEvent-driven Model Transformations in Domain-specific Modeling Languages
Event-driven Model Transformations in Domain-specific Modeling Languages
 
Challenges for advanced domain-specific frameworks
Challenges for advanced domain-specific frameworksChallenges for advanced domain-specific frameworks
Challenges for advanced domain-specific frameworks
 
Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésben
Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésbenTranszformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésben
Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésben
 
Change-driven model transformations
Change-driven model transformationsChange-driven model transformations
Change-driven model transformations
 

Último

🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 

Último (20)

🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 

The SENSORIA Development Environment

  • 1. The SENSORIA The SENSORIA Development Environment Development Environment CASE Tool for SOA Development p SENSORIA EU FP6 project 19 partners from 7 countries 4 years, 4 M EUR Coordinator: Prof. Dr. Martin Wirsing, Ludwig‐Maximilians‐Universität München, Germany Università di Trento | University of Leicester | Warsaw University | TU Denmark at Lyngby | Università di Pisa Università di Firenze | Università di Bologna | ISTI Pisa | Universidade de Lisboa | University of Edinburgh  Università di Firenze | Università di Bologna | ISTI Pisa | Universidade de Lisboa | University of Edinburgh ATX Software | SATelecom Italia Lab | Imperial College London | Cirquent GnbH (FAST GmbH) | Budapest University of  Technology and Economics |S&N AG | University College London | Politecnico di Milano István Ráth István Ráth SENSORIA Development  rath@mit.bme.hu  Environment for SOA
  • 2. Context • Service‐Oriented Computing – Create new services  Create new services – By composing existing functionality – With „Loosely‐coupled” interaction – >Resilient to changing (business) environment >Resilient to changing (business) environment • Envisaged market impact – Time‐to‐market of service integration can be reduced – Increased quality of service (security, response time, throughput, availability….) – Portability to existing platforms to maintain profitable services • Challenges – Specification and querying of services? – Correctness and consistency of service composition? y p – Continuous operation in changing environment (service outages)? – Design for justifiable SLA‐compliance (security, performance)? SENSORIA Development  Environment for SOA
  • 4. The SENSORIA Development Environment (SDE) • Obj ti Objective of the SDE f th SDE – Provide a service‐oriented platform for tool  integration • Benefits – Discover & install SOA development tools & install SOA development tools – Orchestrate & compose tools as services – A homogeneous platform for A homogeneous platform for the service‐based toolchain • SDE is based on SOA – OSGi for services – Eclipse for UI SENSORIA Development  Environment for SOA
  • 5. The SDE UI Tool Browser Lists available tools, ordered by  Function Browser category Shows functionality available in a  T l b di d Tools can be discovered,  tool downloaded and installed via  Aspire One talán a legszexibb az eddig nálunk  Eclipse update sites. járt mini notebookok közül. A fényes tejszínű  burkolat és a zsanérok melletti metálpiros  gyűrű már‐már nőiessé varázsolják a gépet." Blackboard Shell Stores data in‐between tool function  Allows direct access to tool functions Allows direct access to tool functions calls SENSORIA Development  Environment for SOA
  • 6. Correctness analysis with WS‐Engineer • WS‐Engineer supports model‐checking WS‐BPEL, WS‐CDL and WSIF behavioural  specifications  – Properties for analysis of service interaction & behaviour – Verification and violation traces – Animation for validation • Automotive Case Study – On Road Assistance Scenario: – Is it true that the credit card of the driver won’t be charged Is it true that the credit card of the driver won t be charged  if there are no available garages? • Generate formal models of service orchestrations • Specify a property for verification  – e.g. “property service.orderGarage throw_fault bank.revokeChar ge”” • Check model for violation traces of this property SENSORIA Development  Environment for SOA
  • 7. WS‐Engineer at a glance g g Available  Services WS‐BPEL  example Blackboard  of results of results Available Methods A trace of  property Tool  Tool Graphical  Output Views SENSORIA Development  SENSORIA Development Environment for SOA Environment for SOA
  • 8. Dynamic and Adaptive Services (Dino) • Dino ‐ QoS and Adaptive Service Brokering – S i Di Service Discovery, Selection, Binding and Adaptation S l i Bi di d Ad i – Functional and non‐functional aspects required/provided – Local, Remote and P2P service repository search l d 2 i i h • DinoModes: –G Generates Dino specs. From UML Mode models  t Di F UML M d d l • Extracts services required and provided • Generates functional and non‐functional Dino inputs Generates functional and non functional Dino inputs • Check model for violation traces of this property • Modes + WS‐Engineer – Analyse modes for consistency and constraints • Architectural, Behaviour and Policy reconfigurations SENSORIA Development  SENSORIA Development Environment for SOA Environment for SOA
  • 9. Dino+Modes at a glance at a glance DinoModes Browser o se ModesAPI DinoModesAPI UML  Modes Functional Specificatio n Mode  Selectio n SENSORIA Development  SENSORIA Development Environment for SOA Environment for SOA
  • 10. Performance analysis with PEPA PEPA is a formal language for quantitative analysis of systems A model is expressed in terms of components which perform  A model is expressed in terms of components which perform timed activities and co‐operate with each other The SCT Plug‐in for PEPA supports steady‐state analysis, that can  The SCT Plug‐in for PEPA supports steady‐state analysis that can answer questions such as: What is the percentage of time that the local discovery server is  p g y idle in the long run? (Utilisation Analysis) What is the throughput at which remote services are  discovered? (Throughput Analysis) What is the probability that the system does compensation  upon notification of failure? SENSORIA Development  Environment for SOA
  • 11. PEPA at a Glance Interface for PEPA steady‐ I f f PEPA d state analysis tools Interface of  the UML  th UML converter PEPA model description  Available  automatically inferred from UML Methods model Throughput  results  results Utilisation Analysis Results reflected  back into the  UML model UML model SENSORIA Development  Environment for SOA
  • 12. Service deployment transformations • G Generate WSDL descriptors from UML4SOA t WSDL d i t f UML4SOA • Tool: VIATRA2 – VIsual Automated model TRAnsformations Automated model TRAnsformations – general‐purpose model transformation framework  that supports the entire life‐cycle for transformations pp y • specification • design • execution • validation – within and between various modeling languages  – Eclipse subproject: http://eclipse.org/gmt // / – Wiki: http://wiki.eclipse.org/VIATRA2 SENSORIA Development  Environment for SOA
  • 13. VIATRA2 transformations in SDE WSDL files are  created Source models in UML Uniform representation of  Model transformation  models and transformations models and transformations code SENSORIA Development  Environment for SOA
  • 14. The UML2BPEL Transformation • The UML2BPEL transformer converts from UML activity diagrams  to BPEL and WSDL d S – Input: Service orchestrations in UML based on the  UML4SOA profile – Output: BPEL and WSDL files • Integrated into Eclipse  p pp p • Based on Eclipse EMF, supports input models from Rational  Software Architect and other tools which export EMF XMI • See http://www.pst.ifi.lmu.de/projekte/uml4soa/ SENSORIA Development  SENSORIA Development Environment for SOA Environment for SOA
  • 15. UML2BPEL at a glance Transformation UML BPEL + WSDL SENSORIA Development  SENSORIA Development Environment for SOA Environment for SOA
  • 16. SENSORIA provides… SENSORIA provides SENSORIA tools extend standard design  VIATRA: Standard deployment code generated in WSDL. workflow by providing justifiable solutions. yp gj WS‐Engineer: No deposit will be charged if service is cancelled. No deposit will be charged if service is cancelled The driver will get everything according to his  policy if payment if confirmed. PEPA: The car will arrive within 15 minutes with 90%  probability. The GPS location service is a quality bottleneck. The GPS location service is a quality bottleneck. SENSORIA Development Environment: Additional tools can easily be integrated SENSORIA Development  Environment for SOA
  • 17. SENSORIA answers to SOA challenges Precise model‐driven development of  Customizable domain‐specific development process services Deployment to standard platforms Standards‐compliant service modelling  languages Hidden formal analysis of service models Hidden formal analysis of service models SENSORIA Development  Environment for SOA
  • 18. The SENSORIA Development Environment The SENSORIA Development Environment A PROGRAMMER’S PERSPECTIVE
  • 19. Eclipse, OSGi as an integration platform Eclipse OSGi as an integration platform • OSGi = Open Services Gateway Initiative Bundle 1 Bundle 2 Bundle n OSGi framework OSGi framework Java Runtime Environment (J2SE, J2ME, J2EE) OS
  • 20. Eclipse, OSGi as an integration platform Eclipse OSGi as an integration platform Java  Bundle 1 Bundle 2 Bundle n packages OSGi framework OSGi framework Java Runtime Environment (J2SE, J2ME, J2EE) OS
  • 21. Eclipse, OSGi as an integration platform Eclipse OSGi as an integration platform Java  Bundle 1 Bundle 2 Bundle n packages OSGi framework OSGi framework Classes are  Java Runtime Environment (re)usable (J2SE, J2ME, J2EE) OS
  • 22. Eclipse, OSGi as an integration platform Eclipse OSGi as an integration platform Java  Bundle 1 Bundle 2 Bundle n packages Dynamic  configuration OSGi framework OSGi framework Classes are  Java Runtime Environment (re)usable (J2SE, J2ME, J2EE) OS
  • 23. Eclipse, OSGi as an integration platform Eclipse OSGi as an integration platform • OSGi = Open Services Gateway Initiative • Bundle  – Dynamic add / remove Dynamic add / remove – Can provide OSGi services – Web services compatible” Web services „compatible • Component‐based, extensible system • Examples: Eclipse Equinox, Knopflerfish, ...
  • 24. Sensoria • OSGi bundles, and an Eclipse UI • Provides basic infrastructure for OSGi‐based Provides basic infrastructure for OSGi based  tool and service integration Sensoria Core Tool Store Blackboard
  • 25. Sensoria Tool Store
  • 26. Sensoria Tool Store OSGi  implementation  implementation Eclipse + Extension  Extension point  Registry mechanism
  • 27. Sensoria Extension point:  ISensoriaTool tool description Tool Store OSGi  implementation  implementation Eclipse + Extension  Extension point  Registry mechanism
  • 28. Sensoria Extension point:  marker Interface,  ISensoriaTool implemented by  Tools Tool Store OSGi  implementation  implementation Eclipse + Extension  Extension point  Registry mechanism
  • 29. Sensoria Extension point:  marker Interface,  Describes  implemented by  ISensoriaTool services  Tools offered by a  Tool Store Tool OSGi  MyToolInterface implementation  implementation Eclipse + Extension  Extension point  Registry mechanism MyToolImpl
  • 30. Sensoria Extension point:  marker Interface,  Describes  implemented by  ISensoriaTool services  Tools offered by a  Tool Store Tool OSGi  MyToolInterface implementation  implementation Eclipse + Extension  Extension point  Registry mechanism The  MyToolImpl implementation  i l t ti class
  • 31. Distributed operation Distributed operation Sensoria Sensoria Core C Core C Registry Registry Core Core BB Tool Tool BB Store Store
  • 32. Remote OSGi (R‐OSGi) Remote OSGi (R OSGi) S e I I r F F v a a i c c R‐OSGi R‐OSGi c e e bundle bundle e OSGi framwork OSGi framework
  • 33. Remote OSGi (R‐OSGi) Remote OSGi (R OSGi) Interface is  S present on both  present on both e I the server and  I r F the client F v a a i c c R‐OSGi R‐OSGi c e e bundle bundle e OSGi framework OSGi framework
  • 34. Remote OSGi (R‐OSGi) Remote OSGi (R OSGi) S e I I r F F v a a Implementation  I l t ti i c c R‐OSGi class R‐OSGi c e e bundle („server”) bundle e OSGi framework OSGi framework
  • 35. Remote OSGi (R‐OSGi) Remote OSGi (R OSGi) Register  service S e I I r F F v a a i c c R‐OSGi R‐OSGi c e e bundle bundle e OSGi framework OSGi framework
  • 36. Remote OSGi (R‐OSGi) Remote OSGi (R OSGi) S e I I r F F v a a i c c R‐OSGi R‐OSGi c e e bundle bundle e OSGi framework OSGi framework A remote client requests the  A remote client requests the service...
  • 37. Remote OSGi (R‐OSGi) Remote OSGi (R OSGi) P A proxy is  p y r S created... o e I I x r F F y v a a i c c R‐OSGi R‐OSGi c e e bundle bundle e OSGi framework OSGi framework
  • 38. Remote OSGi (R‐OSGi) Remote OSGi (R OSGi) P r S o e I I x r F F y v a Eclipse, OSGi as an integration platform Eclipse OSGi as an integration platform a i c c R‐OSGi R‐OSGi c e e bundle bundle e OSGi framework OSGi framework Function calls are passed, return  values are serialized and  transported
  • 39. Comparing ECF and R‐OSGi Comparing ECF and R OSGi • ECF R‐OSGi – ‐ More complex  + Simple architecture + Lightweight (only  – + More features  depends on OSGi) ( y (asynchronous calls, , Better suited for our  goals l timing service, stb.)
  • 40. The R‐OSGi‐based implementation The R OSGi based implementation Sensoria RemoteCore Core Registry RemoteService Tool R‐OSGi +mini model bundle Core BB Tool Store
  • 41. Workflow orchestration – Hello world Workflow orchestration Hello world cReg.addRemoteCore("r‐osgi://localhost:9278"); remoteCore   cReg.findCoreByName( r osgi://localhost:9278 ); remoteCore = cReg.findCoreByName("r‐osgi://localhost:9278"); testTool = remoteCore.findToolById("hu.bme.test.htmlconverter"); testIf = testTool.getServiceInterface(); sCore.print(testIf.htmlEscape("<<")); p ( p ( ))
  • 42. Tool scripts Tool scripts function soa2wsdl(umlFileName, outputDirectory) { viatra = sCore.findToolByName( Viatra ).getServiceInterface(); viatra   sCore findToolByName("Viatra") getServiceInterface(); vU = sCore.findToolByName("vUtil").getServiceInterface(); fw = viatra.createFramework(); vpml =  vU.getInputStream(vU.getFileFromBundle("hu.bme.mit.viatra.integr ation.sensoria , model/uml2soa_clean.vpml )); ation.sensoria","model/uml2soa clean.vpml")); umlmodel_file = vU.getFile(umlFileName); viatra.nativeImportFromFile(fw,umlmodel_file,"uml"); result =  viatra.runTransformation(fw,"transformations.uml2soa2wsdl","Mode l=uml2.models."+umlmodel+"_uml"); _ ) viatra.writeoutput(fw,...); viatra.disposeFramework(fw); }
  • 43. Outlooks • Support a proper workflow orchestration  g p engine instead of the built‐in JS interpreter – Parallelism – Exception handling Exception handling – Asynchronous messages • UI integration – Allow for user interaction in automated workflows Allow for user interaction in automated workflows
  • 44. Where to get it? Where to get it? • General info: – http://www.sensoria‐ist.eu/ p // / • SDE: – h // http://svn.pst.ifi.lmu.de/trac/sct ifi l d / /