SlideShare une entreprise Scribd logo
1  sur  43
Télécharger pour lire hors ligne
Developing	
  and	
  Visualizing	
  
                                   Live	
  Model	
  Queries	
  
                                              Zoltán	
  Ujhelyi,	
  Tamás	
  Szabó	
  
                                               István	
  Ráth,	
  Dániel  Varró  
                                             Ábel	
  Hegedüs	
  (demonstrator)	
  




Budapest  University  of  Technology  and  Economics  
Department  of  Measurement  and  Informa<on  Systems  
What	
  is	
  a	
  Model	
  Query?	
  
  ModelQuery(A,B)	
  
   Cond(A,B)	
  
   o  Retrieve	
  tuples	
  of	
  
      model	
  elements	
  A,B  
   o  SaOsfying	
  the	
  query	
  
      condiOon	
  Cond  
   o  Enumerate	
  	
  
      one	
  /	
  all	
  instances	
  
   o  With	
  A,B	
  as	
  	
  
      input	
  or	
  output	
  
      parameters	
  



                                         2	
  
What	
  is	
  a	
  Model	
  Query?	
  
  ModelQuery(A,B)	
                            AUTOSAR	
  
   Cond(A,B)	
                                   •  Select  pairs  of  SystemSignal	
  and  
   o  Retrieve	
  tuples	
  of	
                    its  signal  group  which  are  not  in  
                                                    the  same  IPDU	
  
      model	
  elements	
  A,B  
   o  SaOsfying	
  the	
  query	
  
      condiOon	
  Cond  
                                                 IMA	
  
                                                 •  Find  instances  of  cri;cal  func;ons  
   o  Enumerate	
  	
                               not  running  on  different  
      one	
  /	
  all	
  instances	
                processors  of  different  chassis	
  
   o  With	
  A,B	
  as	
  	
  
      input	
  or	
  output	
                    BPMN	
  
      parameters	
                               •  Show  sink  ac;vi;es  with  no  
                                                    outgoing  flow	
  



                                         3	
  
What	
  is	
  a	
  Model	
  Query?	
  
  ModelQuery(A,B)	
                            AUTOSAR	
  
   Cond(A,B)	
                                   •  Select  pairs  of  SystemSignal	
  and  
   o  Retrieve	
  tuples	
  of	
                    its  signal  group  which  are  not  in  
                                                    the  same  IPDU	
  
      model	
  elements	
  A,B  
   o  SaOsfying	
  the	
  query	
  
      condiOon	
  Cond  
                                                 IMA	
  
                                                 •  Find  instances  of  cri;cal  func;ons  
   o  Enumerate	
  	
                               not  running  on  different  
      one	
  /	
  all	
  instances	
                processors  of  different  chassis	
  
   o  With	
  A,B	
  as	
  	
  
      input	
  or	
  output	
                    BPMN	
  
      parameters	
                               •  Show  sink  ac;vi;es  with  no  
                                                    outgoing  flow	
  



                                         4	
  
Live	
  Model	
  Queries	
  
  Live	
  Query	
  EvaluaOon:	
  
   Incremental	
  cache	
  of	
  matches	
  
    o  Maintain	
  a	
  cheap	
  cache	
  	
  
       (only	
  memory	
  overhead)	
  
    o  NoOfy	
  about	
  relevant	
  changes	
  
    o  Enable	
  reacOons	
  to	
  complex	
  	
  
       	
  	
  structural	
  events	
  




                                                     5	
  
Live	
  Model	
  Queries	
  
  Live	
  Query	
  EvaluaOon:	
  
   Incremental	
  cache	
  of	
  matches	
  
    o  Maintain	
  a	
  cheap	
  cache	
  	
  
       (only	
  memory	
  overhead)	
  
    o  NoOfy	
  about	
  relevant	
  changes	
  
    o  Enable	
  reacOons	
  to	
  complex	
  	
  
       	
  	
  structural	
  events	
  




                                                     6	
  
Live	
  Model	
  Queries	
  
  Live	
  Query	
  EvaluaOon:	
  
   Incremental	
  cache	
  of	
  matches	
  
    o  Maintain	
  a	
  cheap	
  cache	
  	
  
       (only	
  memory	
  overhead)	
  
    o  NoOfy	
  about	
  relevant	
  changes	
  
    o  Enable	
  reacOons	
  to	
  complex	
  	
  
       	
  	
  structural	
  events	
  




                                                     7	
  
Live	
  Model	
  Queries	
  
  Live	
  Query	
  EvaluaOon:	
                             Live	
  Model	
  Queries	
  for	
  	
  
                                                             Model	
  TransformaOons	
  
   Incremental	
  cache	
  of	
  matches	
  
    o  Maintain	
  a	
  cheap	
  cache	
  	
                 •  Find	
  all	
  contexts	
  a	
  MT	
  rule	
  is	
  
                                                                applicable	
  for	
  
       (only	
  memory	
  overhead)	
  
                                                             •  Live	
  MT	
  rules:	
  triggered	
  
    o  NoOfy	
  about	
  relevant	
  changes	
                  automaOcally	
  upon	
  change	
  
    o  Enable	
  reacOons	
  to	
  complex	
  	
  
       	
  	
  structural	
  events	
                        Live	
  Model	
  Queries	
  for	
  	
  
                                                             Early	
  ValidaOon	
  
                                                             •  Find	
  all	
  violaOons	
  of	
  	
  
                                                                a	
  well-­‐formedness	
  constraint	
  
                                                             •  Immediate	
  re-­‐validaOon	
  	
  
                                                                upon	
  model	
  change	
  

                                                             Live	
  Model	
  Queries	
  for	
  	
  
                                                             Traceability	
  Management	
  
                                                             •  See	
  talk	
  tomorrow	
  at	
  11:30	
  

                                                     8	
  
Example:	
  ValidaOon	
  of	
  BPMN	
  Models	
  
  BPMN	
  models	
  
   o Describing	
  business	
  processes	
  
   o Models	
  control	
  and	
  dataflow	
  
      •  Flowchart-­‐like	
  notaOon	
  




                                           9	
  
Example:	
  ValidaOon	
  of	
  BPMN	
  Models	
  
  Well-­‐formedness	
  validaOon	
  during	
  ediOng	
  
   o Sink	
  AcOvity:	
  acOvity	
  without	
  outgoing	
  edge	
  




                                        10	
  
Example:	
  ValidaOon	
  of	
  BPMN	
  Models	
  
  Well-­‐formedness	
  validaOon	
  during	
  ediOng	
  
   o Sink	
  AcOvity:	
  acOvity	
  without	
  outgoing	
  edge	
  




                                        11	
  
EMF-­‐IncQuery  Framework  
EMF-­‐IncQuery:	
  Architecture	
  Overview	
  
Application
                      Application code



                     Generated pattern     Generative tooling      Query
                         matcher                                specification


API
      Validation     Derived feature       Interpreted
       Engine           support          pattern matcher




INCQUERY Base      RETE Core       INCQUERY Core

                                                 Framework
EMF-­‐IncQuery:	
  Architecture	
  Overview	
  
Application                                          •  Graph pattern-based
                                                        query language
                      Application code               •  Xtext2-based tooling
                                                     •  Execution, testing and
                                                        debugging for queries

                     Generated pattern     Generative tooling          Query
                         matcher                                    specification


API
      Validation     Derived feature       Interpreted
       Engine           support          pattern matcher




INCQUERY Base      RETE Core       INCQUERY Core

                                                 Framework
EMF-­‐IncQuery:	
  Architecture	
  Overview	
  
Application                                              •  Graph pattern-based
                                                            query language
                          Application code               •  Xtext2-based tooling
Typesafe query
wrappers (DTOs)                                          •  Execution, testing and
for easy integration                                        debugging for queries

                         Generated pattern     Generative tooling          Query
                             matcher                                    specification


API
         Validation      Derived feature       Interpreted
          Engine            support          pattern matcher




 INCQUERY Base         RETE Core       INCQUERY Core

                                                     Framework
EMF-­‐IncQuery:	
  Architecture	
  Overview	
  
Application                                                           •  Graph pattern-based
                                                                         query language
                           Application code                           •  Xtext2-based tooling
Typesafe query
wrappers (DTOs)                                                       •  Execution, testing and
for easy integration                                                     debugging for queries

                          Generated pattern                 Generative tooling          Query
                              matcher                                                specification


API
         Validation       Derived feature              Interpreted
          Engine             support                 pattern matcher
                                                                             •  Easy-to-use API for
On-the-fly validation               Efficient maintenance
                                                                                query
and problem marker                  of derived attributes
                                                                                management
management                          and references
                                                                             •  Support for
                                                                                programmed and
 INCQUERY Base          RETE Core          INCQUERY Core                        dynamic queries
                                                                             •  Fully dynamic
                                                                                parameterization
                                                                  Framework
EMF-­‐IncQuery:	
  Architecture	
  Overview	
  
 Application                                                              •  Graph pattern-based
                                                                             query language
                               Application code                           •  Xtext2-based tooling
 Typesafe query
 wrappers (DTOs)                                                          •  Execution, testing and
 for easy integration                                                        debugging for queries

                              Generated pattern                 Generative tooling          Query
                                  matcher                                                specification


 API
          Validation          Derived feature              Interpreted
           Engine                support                 pattern matcher
                                                                                 •  Easy-to-use API for
 On-the-fly validation                  Efficient maintenance
                                                                                    query
 and problem marker                     of derived attributes
                                                                                    management
 management                             and references
                                                                                 •  Support for
                                                                                    programmed and
  INCQUERY Base            RETE Core           INCQUERY Core                        dynamic queries
                                                                                 •  Fully dynamic
High performance         Scalable evaluation for                                    parameterization
backward getters and     complex queries
                                                                      Framework
transitive closure       (over 2 000 000 EObjects)
Simple	
  Graph	
  Pajern	
  in	
  EMF-­‐IncQuery	
  
pattern  sequenceFlowEdge   
     
    
    
(Flow:SequenceEdge,
     
  Src:Activity,  Dst:Activity)=  {
      
SequenceEdge.source(Flow,  Src);
       
SequenceEdge.target(Flow,  Dst);
}
                      source	
       Flow:	
         target	
  
       Src	
  :	
                                                  Dst:	
  
                                   Sequence
      AcOvity	
                                                   AcOvity	
  
                                     Edge	
  




                                            18	
  
And	
  Some	
  More	
  Complex	
  Examples…	
  
pattern  hasOutEdge(A:  Activity)  {
    find  sequenceFlowEdge(_Fr,  A,  _Other);
  }  or  {
    find  messageFlowEdge(_Fr,  A,  _Other);
      Pajern	
  composiOon	
  
}
          (for	
  reuse)	
  
pattern  sinkActivityNames(Name)  {
       
Activity(A);
        
Activity.name(A,  Name);
         
neg  find  hasOutEdge(A);
}
                             NegaOve	
  composiOon	
  
                            (negaOon,	
  quanOficaOon)	
  
                             19	
  
EMF-­‐INCQUERY	
  Development	
  Tools	
  
EMF-­‐INCQUERY	
  Development	
  Tools	
  




       Pajern	
  Editor	
       EMF	
  Instance	
  Model	
  




                                       Query	
  Explorer	
  
EMF-­‐INCQUERY	
  Development	
  Tools	
  




       Pajern	
  Editor	
       EMF	
  Instance	
  Model	
  




                                       Query	
  Explorer	
  
EMF-­‐INCQUERY	
  Development	
  Tools	
  
                                      •  Works	
  with	
  most	
  	
  
                                         EMF	
  editors	
  	
  
                                         out-­‐of-­‐the-­‐box	
  
                                      •  Reveals	
  matches	
  	
  
                                         as	
  selecOon	
  


               Pajern	
  Editor	
                  EMF	
  Instance	
  Model	
  


Query	
  results	
  
recalculated	
  	
  
on-­‐the-­‐fly	
  
                                                           Query	
  Explorer	
  
Visualiza<on  of  Live  Model  Queries  
         in  EMF-­‐IncQuery  
Requirements	
  for	
  Query	
  VisualizaOon	
  
Genericity	
                                  Incrementality	
  
•  MulOple	
  Model	
  Sources	
              •  Query	
  Changes	
  
   •  Model	
  Editors	
                      •  Model	
  Changes	
  
   •  Current	
  SelecOon	
  


Traceability	
                                PresentaOon	
  
•  Query	
  DefiniOons	
                       •  Filtering	
  
•  Input	
  Model	
                           •  Grouping	
  


                                     25	
  
Proposed	
  Architecture	
  of	
  Query	
  Visualizer	
  
                                     Edited	
  
                                  Model	
  
                                   Edited	
  
                                     Query	
                               Other	
  Model	
  
                                    Query	
  
                                  Editors	
                                  Sources	
  

                                                            Connectors	
  
                                                                              Model	
  and	
  
                           Filtered	
  group	
  of	
                          NoOficaOons	
  
                                queries	
                     Query	
  
            Query	
  
          Repository	
                                        Engine	
  
  Query	
                                                                  Query	
  Result	
  
                            Query	
  Results	
  
  DefiniOon	
                                                               Deltas	
  

                      Query	
  Result	
  Viewer	
  


                                                   26	
  
Model	
  Source	
  Connectors	
  for	
  Genericity	
  
  Different	
  model	
  sources	
                                 Edited	
  
                                                                 Edited	
  
                                                                Model	
  
                                                                                               Other	
  
                                                                  Query	
                      Model	
  
   o  Graphical	
  (e.g	
  BPMN,	
  UML)	
                       Query	
  
                                                                Editors	
  
                                                                                              Sources	
  
   o  Textual	
  (e.g.	
  OCL)	
  
                                                                             Connectors	
  
   o  Different	
  implementaOon	
                                                             Model	
  and	
  
      technologies	
                                                           Query	
  
                                                                                              NoOficaOons	
  

Model  source  connectors                                                     Engine	
  

  OperaOons	
  
                                                    Genericity                        Incrementality
   o  Open	
  model	
                               • Multiple Model Sources          • Query	
  Changes
   o  Send	
  noOficaOon	
  upon	
  model	
            • Model	
  Editors
                                                      • Current	
  Selection
                                                                                      • Model	
  Changes

      change	
  
   o  Get	
  current	
  selecOon	
                  Traceability
                                                    • Query	
  Definitions
                                                                                      Presentation
                                                                                      • Filtering
   o  Close	
  editor	
                             • Input	
  Model                  • Grouping



                                           27	
  
Query-­‐based	
  Indexing	
  for	
  Incrementality	
  
  Update	
  query	
  results	
                                            Query-­‐based  indexing  
   incrementally	
  upon	
  
    o  Model	
  updates	
                                                  • Contains	
  model	
  elements	
  accessed	
  
            •  E.g.	
  using	
  the	
  built-­‐in	
  editor	
                by	
  the	
  query	
  
            •  Engine:	
  handles	
  this	
  case	
                        • Populated	
  by	
  an	
  exhausOve	
  model	
  
               internally	
                                                  traversal	
  (can	
  be	
  slow!)	
  
    o  Query	
  updates	
                                                  • Goal:	
  Avoid	
  unnecessary	
  re-­‐
            •  E.g.	
  using	
  the	
  query	
  editor	
                     traversal	
  
            •  Engine:	
  rebuilds	
  internal	
  model	
  
               indexes	
                                                   Strategy	
  1:	
  	
  
                                                                           Generic	
  model	
  indexer	
  
   Genericity                        Incrementality
                                                                           • “Wildcard	
  mode”:	
  	
  
   • Multiple Model Sources          • Query	
  Changes
     • Model	
  Editors              • Model	
  Changes
                                                                             index	
  every	
  model	
  element	
  
     • Current	
  Selection                                                • Higher	
  memory	
  consumpOon	
  

   Traceability                      Presentation                          Strategy	
  2:	
  	
  
   • Query	
  Definitions            • Filtering                           Group	
  iniOalizaOon	
  
   • Input	
  Model                  • Grouping
                                                                           • IniOalize	
  several	
  pajerns	
  together	
  

                                                                  28	
  
Traceability	
  and	
  NavigaOon	
  
  Maintaining	
  source	
  models	
                        Query	
  
                                                            Editor	
  
                                                                                   Edited	
  
                                                                                  Edited	
  
                                                                                 Model	
  
                                                                                   Query	
  
                                                                                  Query	
  
                                                                                 Editors	
  
                                                                                                         Other	
  Model	
  
                                                                                                           Sources	
  
   and	
  queries	
                                                                        Connectors	
  

  Support	
  for	
  navigaOng	
  to/
   highlighOng	
                                           Query	
  
                                                         Repository	
  
                                                                                                Query	
  
                                                                                                Engine	
  

   o Corresponding	
  query	
  
     definiOons	
                                                         Query	
  Result	
  Viewer	
  

       •  HighlighOng	
  funcOonality	
  in	
  the	
  
          query	
  editor	
                         Genericity                              Incrementality
   o Referenced	
  model	
  element(s)	
  • Multiple Model Sources
                                            • Model	
  Editors
                                                                                            • Query	
  Changes
                                                                                            • Model	
  Changes
       •  Editor-­‐dependent	
                          • Current	
  Selection

          implementaOon	
                             Traceability                          Presentation
       •  Model  source  connector                    • Query	
  Definitions                • Filtering
          handles	
  funcOonality	
                   • Input	
  Model                      • Grouping


                                             29	
  
Traceability	
  in	
  Query	
  Visualizer	
  




      Pajern	
  Editor	
           EMF	
  Instance	
  Model	
  




                                          Query	
  Explorer	
  
Traceability	
  in	
  Query	
  Visualizer	
  




      Pajern	
  Editor	
           EMF	
  Instance	
  Model	
  




                                          Query	
  Explorer	
  
Grouping	
  and	
  Filtering	
  for	
  PresentaOon	
  
  Define	
  query	
  groups	
  
   („related”	
  queries)	
                   Query	
                  Query	
                  Query	
  Result	
  
    o StaOc	
  groups	
                       DefiniOons	
              Results	
                Deltas	
  
        •  E.g.	
  Namespaces	
                                       Query	
  Result	
  Viewer	
  
    o Dynamic	
  groups	
  
        •  E.g.	
  Dependency	
  based	
  
  Filtering	
  
                                                         Genericity                     Incrementality
    o Filter	
  visible	
  queries	
                     • Multiple Model Sources       • Query	
  Changes
                                                           • Model	
  Editors           • Model	
  Changes
        •  Uses	
  hints	
  from	
  developer	
            • Current	
  Selection

        •  Manual	
  overriding	
  
                                                         Traceability                   Presentation
    o Filter	
  query	
  results	
                       • Query	
  Definitions         • Filtering
                                                         • Input	
  Model               • Grouping
        •  By	
  binding	
  query	
  parameters	
  
                                                32	
  
Result	
  Viewer	
  




         33	
  
Result	
  Viewer	
  
Different	
  model	
  
    Szöveg	
  
   sources	
  




                  34	
  
Result	
  Viewer	
  
                       Loaded	
  
                       Queries	
  




         35	
  
Result	
  Viewer	
  




                       Query	
  Results	
  




         36	
  
Filtering	
  Visible	
  Queries	
  




                 37	
  
Filtering	
  Visible	
  Queries	
  




Elements	
  in	
  Query	
  
    Registry	
  

                              38	
  
Filtering	
  Visible	
  Queries	
  




                           Queries	
  Loaded	
  



                 39	
  
Query	
  Result	
  Filtering	
  




               40	
  
Query	
  Result	
  Filtering	
  




               41	
  
Conclusions	
  and	
  Future	
  Work	
  
 R1.	
  Genericity	
                  Edited	
  
                                   Model	
  
                                    Edited	
  
                                                                            Other	
  Model	
  
R3.	
  Traceability	
                 Query	
  
                                     Query	
  
                                   Editors	
                                  Sources	
  

R3.	
  Traceability	
                                        Connectors	
  
R4.	
  PresentaOon	
  
                                                                               Model	
  and	
  
                            Filtered	
  group	
  of	
                          R2.	
  Incrementality	
  
                                                                               NoOficaOons	
  
                                 queries	
                     Query	
  
             Query	
  
           Repository	
                                        Engine	
  
                                                                            Query	
  Result	
  
  Query	
                     Query	
  Results	
                            Deltas	
  
  DefiniOon	
  

                          Query	
  Result	
  Viewer	
                          R4.	
  PresentaOon	
  


                                                    42	
  
Conclusions	
  and	
  Future	
  Work	
  
    R1.	
  Genericity	
                   Edited	
  
                                       Model	
  
                                        Edited	
  
                                                                                Other	
  Model	
  
   R3.	
  Traceability	
                  Query	
  
                                         Query	
  
                                       Editors	
                                  Sources	
  

    R3.	
  Traceability	
                                        Connectors	
  
    R4.	
  PresentaOon	
  
                                                                                   Model	
  and	
  
                                Filtered	
  group	
  of	
                          R2.	
  Incrementality	
  
                                                                                   NoOficaOons	
  
                                     queries	
                     Query	
  
                Query	
  
              Repository	
                                         Engine	
  
                                                                                Query	
  Result	
  
      Query	
                     Query	
  Results	
                            Deltas	
  
      DefiniOon	
  

                              Query	
  Result	
  Viewer	
                          R4.	
  PresentaOon	
  
Future	
  Plans	
  
•  Analysis-­‐based	
  grouping	
  
•  Graph-­‐based	
  result	
  visualizaOon	
            43	
  

Contenu connexe

Tendances

Eclipse Modeling Framework
Eclipse Modeling FrameworkEclipse Modeling Framework
Eclipse Modeling FrameworkAjay K
 
CDO Ignite
CDO IgniteCDO Ignite
CDO IgniteHolmes70
 
Performance and Extensibility with EMF
Performance and Extensibility with EMFPerformance and Extensibility with EMF
Performance and Extensibility with EMFKenn Hussey
 
Towards JVM Dynamic Languages Toolchain
Towards JVM Dynamic Languages ToolchainTowards JVM Dynamic Languages Toolchain
Towards JVM Dynamic Languages ToolchainAttila Szegedi
 
Mock Objects, Design and Dependency Inversion Principle
Mock Objects, Design and Dependency Inversion PrincipleMock Objects, Design and Dependency Inversion Principle
Mock Objects, Design and Dependency Inversion PrincipleP Heinonen
 
Design for testability as a way to good coding (SOLID and IoC)
Design for testability as a way to good coding (SOLID and IoC)Design for testability as a way to good coding (SOLID and IoC)
Design for testability as a way to good coding (SOLID and IoC)Simone Chiaretta
 
You need to extend your models? EMF Facet vs. EMF Profiles
You need to extend your models? EMF Facet vs. EMF ProfilesYou need to extend your models? EMF Facet vs. EMF Profiles
You need to extend your models? EMF Facet vs. EMF ProfilesPhilip Langer
 
Design Patterns For 70% Of Programmers In The World
Design Patterns For 70% Of Programmers In The WorldDesign Patterns For 70% Of Programmers In The World
Design Patterns For 70% Of Programmers In The WorldSaurabh Moody
 
Aspect Oriented Programming
Aspect Oriented ProgrammingAspect Oriented Programming
Aspect Oriented ProgrammingRajesh Ganesan
 
Solid and ioc principles
Solid and ioc principlesSolid and ioc principles
Solid and ioc principleseleksdev
 

Tendances (13)

Eclipse Modeling Framework
Eclipse Modeling FrameworkEclipse Modeling Framework
Eclipse Modeling Framework
 
CDO Ignite
CDO IgniteCDO Ignite
CDO Ignite
 
Performance and Extensibility with EMF
Performance and Extensibility with EMFPerformance and Extensibility with EMF
Performance and Extensibility with EMF
 
Towards JVM Dynamic Languages Toolchain
Towards JVM Dynamic Languages ToolchainTowards JVM Dynamic Languages Toolchain
Towards JVM Dynamic Languages Toolchain
 
Mock Objects, Design and Dependency Inversion Principle
Mock Objects, Design and Dependency Inversion PrincipleMock Objects, Design and Dependency Inversion Principle
Mock Objects, Design and Dependency Inversion Principle
 
Design for testability as a way to good coding (SOLID and IoC)
Design for testability as a way to good coding (SOLID and IoC)Design for testability as a way to good coding (SOLID and IoC)
Design for testability as a way to good coding (SOLID and IoC)
 
You need to extend your models? EMF Facet vs. EMF Profiles
You need to extend your models? EMF Facet vs. EMF ProfilesYou need to extend your models? EMF Facet vs. EMF Profiles
You need to extend your models? EMF Facet vs. EMF Profiles
 
Design Patterns For 70% Of Programmers In The World
Design Patterns For 70% Of Programmers In The WorldDesign Patterns For 70% Of Programmers In The World
Design Patterns For 70% Of Programmers In The World
 
ITU - MDD - EMF
ITU - MDD - EMFITU - MDD - EMF
ITU - MDD - EMF
 
Whats new in Java 7
Whats new in Java 7Whats new in Java 7
Whats new in Java 7
 
Aspect Oriented Programming
Aspect Oriented ProgrammingAspect Oriented Programming
Aspect Oriented Programming
 
Go f designpatterns 130116024923-phpapp02
Go f designpatterns 130116024923-phpapp02Go f designpatterns 130116024923-phpapp02
Go f designpatterns 130116024923-phpapp02
 
Solid and ioc principles
Solid and ioc principlesSolid and ioc principles
Solid and ioc principles
 

En vedette

Black berry mobile_voice_system-4.6-us
Black berry mobile_voice_system-4.6-usBlack berry mobile_voice_system-4.6-us
Black berry mobile_voice_system-4.6-usShopnomoy Prantor
 
^^ Astromatrix.org ^^ specific astro findings ^^ ( google.com)
^^ Astromatrix.org ^^ specific  astro findings  ^^ ( google.com)^^ Astromatrix.org ^^ specific  astro findings  ^^ ( google.com)
^^ Astromatrix.org ^^ specific astro findings ^^ ( google.com)Deepak Somaji Sawant
 
Creatividad e Innovación: Cómo romper Paradigmas
Creatividad e Innovación: Cómo romper ParadigmasCreatividad e Innovación: Cómo romper Paradigmas
Creatividad e Innovación: Cómo romper ParadigmasHCGlobal Group
 
Canciones Santa Joaquina
Canciones Santa JoaquinaCanciones Santa Joaquina
Canciones Santa JoaquinaNúria Albert
 
Tarifario Modelo 2010-2011
Tarifario Modelo 2010-2011Tarifario Modelo 2010-2011
Tarifario Modelo 2010-2011bilove
 
Progetto Radiolina
Progetto RadiolinaProgetto Radiolina
Progetto Radiolinapaola iasci
 
HL7 DFDL with WebSphere Message Broker
HL7 DFDL with WebSphere Message BrokerHL7 DFDL with WebSphere Message Broker
HL7 DFDL with WebSphere Message BrokerAnt Phillips
 
PRESENTACIÓN -ANÁLISIS DE LA IMPLANTACIÓN DE PROCESOS DE DIRECCIÓN ESTRATÉGIC...
PRESENTACIÓN -ANÁLISIS DE LA IMPLANTACIÓN DE PROCESOS DE DIRECCIÓN ESTRATÉGIC...PRESENTACIÓN -ANÁLISIS DE LA IMPLANTACIÓN DE PROCESOS DE DIRECCIÓN ESTRATÉGIC...
PRESENTACIÓN -ANÁLISIS DE LA IMPLANTACIÓN DE PROCESOS DE DIRECCIÓN ESTRATÉGIC...Encarna Aguilera
 
Nuevas extensiones de dominio y Trademark Clearinghouse
Nuevas extensiones de dominio y Trademark ClearinghouseNuevas extensiones de dominio y Trademark Clearinghouse
Nuevas extensiones de dominio y Trademark ClearinghouseNominalia
 
Unser Wasser. Unser Leben - warum VortexPower
Unser Wasser. Unser Leben - warum VortexPower Unser Wasser. Unser Leben - warum VortexPower
Unser Wasser. Unser Leben - warum VortexPower Matthias C. Mend
 
Claves de una estrategia en redes sociales
Claves de una estrategia en redes socialesClaves de una estrategia en redes sociales
Claves de una estrategia en redes socialesTristán Elósegui
 

En vedette (20)

Ganar dinero en Internet con emails
Ganar dinero en Internet con emailsGanar dinero en Internet con emails
Ganar dinero en Internet con emails
 
Expo management
Expo managementExpo management
Expo management
 
Black berry mobile_voice_system-4.6-us
Black berry mobile_voice_system-4.6-usBlack berry mobile_voice_system-4.6-us
Black berry mobile_voice_system-4.6-us
 
Recommendations
RecommendationsRecommendations
Recommendations
 
^^ Astromatrix.org ^^ specific astro findings ^^ ( google.com)
^^ Astromatrix.org ^^ specific  astro findings  ^^ ( google.com)^^ Astromatrix.org ^^ specific  astro findings  ^^ ( google.com)
^^ Astromatrix.org ^^ specific astro findings ^^ ( google.com)
 
Creatividad e Innovación: Cómo romper Paradigmas
Creatividad e Innovación: Cómo romper ParadigmasCreatividad e Innovación: Cómo romper Paradigmas
Creatividad e Innovación: Cómo romper Paradigmas
 
Canciones Santa Joaquina
Canciones Santa JoaquinaCanciones Santa Joaquina
Canciones Santa Joaquina
 
Modelo conceptual de BD
Modelo conceptual de BDModelo conceptual de BD
Modelo conceptual de BD
 
Comité de Dirección del itdUPM. 19 de diciembre de 2016
Comité de Dirección del itdUPM. 19 de diciembre de 2016Comité de Dirección del itdUPM. 19 de diciembre de 2016
Comité de Dirección del itdUPM. 19 de diciembre de 2016
 
Movie Clips
Movie ClipsMovie Clips
Movie Clips
 
Tarifario Modelo 2010-2011
Tarifario Modelo 2010-2011Tarifario Modelo 2010-2011
Tarifario Modelo 2010-2011
 
Progetto Radiolina
Progetto RadiolinaProgetto Radiolina
Progetto Radiolina
 
HL7 DFDL with WebSphere Message Broker
HL7 DFDL with WebSphere Message BrokerHL7 DFDL with WebSphere Message Broker
HL7 DFDL with WebSphere Message Broker
 
PRESENTACIÓN -ANÁLISIS DE LA IMPLANTACIÓN DE PROCESOS DE DIRECCIÓN ESTRATÉGIC...
PRESENTACIÓN -ANÁLISIS DE LA IMPLANTACIÓN DE PROCESOS DE DIRECCIÓN ESTRATÉGIC...PRESENTACIÓN -ANÁLISIS DE LA IMPLANTACIÓN DE PROCESOS DE DIRECCIÓN ESTRATÉGIC...
PRESENTACIÓN -ANÁLISIS DE LA IMPLANTACIÓN DE PROCESOS DE DIRECCIÓN ESTRATÉGIC...
 
Formula magistral desmopresina
Formula magistral desmopresinaFormula magistral desmopresina
Formula magistral desmopresina
 
OpenStack Astara
OpenStack AstaraOpenStack Astara
OpenStack Astara
 
Internet 2
Internet 2Internet 2
Internet 2
 
Nuevas extensiones de dominio y Trademark Clearinghouse
Nuevas extensiones de dominio y Trademark ClearinghouseNuevas extensiones de dominio y Trademark Clearinghouse
Nuevas extensiones de dominio y Trademark Clearinghouse
 
Unser Wasser. Unser Leben - warum VortexPower
Unser Wasser. Unser Leben - warum VortexPower Unser Wasser. Unser Leben - warum VortexPower
Unser Wasser. Unser Leben - warum VortexPower
 
Claves de una estrategia en redes sociales
Claves de una estrategia en redes socialesClaves de una estrategia en redes sociales
Claves de una estrategia en redes sociales
 

Similaire à Developing and Visualizing Live Model Queries

Iswim for testing
Iswim for testingIswim for testing
Iswim for testingClarkTony
 
Accelerated test case - Anish bhanu
Accelerated test case - Anish bhanuAccelerated test case - Anish bhanu
Accelerated test case - Anish bhanuRoopa Nadkarni
 
A comprehensive formal verification solution for ARM based SOC design
A comprehensive formal verification solution for ARM based SOC design A comprehensive formal verification solution for ARM based SOC design
A comprehensive formal verification solution for ARM based SOC design chiportal
 
Quick fix generation for DSMLs
Quick fix generation for DSMLsQuick fix generation for DSMLs
Quick fix generation for DSMLsÁbel Hegedüs
 
Queuing model based load testing of large enterprise applications
Queuing model based load testing of large enterprise applicationsQueuing model based load testing of large enterprise applications
Queuing model based load testing of large enterprise applicationsLeonid Grinshpan, Ph.D.
 
Centralized test automation framework implementation
Centralized test automation framework implementationCentralized test automation framework implementation
Centralized test automation framework implementationBharathi Krishnamurthi
 
Build Java Web Application Using Apache Struts
Build Java Web Application Using Apache Struts Build Java Web Application Using Apache Struts
Build Java Web Application Using Apache Struts weili_at_slideshare
 
Spring 1 day program
Spring 1 day programSpring 1 day program
Spring 1 day programMohit Kanwar
 
Dependency injection
Dependency injectionDependency injection
Dependency injectionhousecor
 
Agile Open Source Performance Testing Workshop for Business Managers
Agile Open Source Performance Testing Workshop for Business ManagersAgile Open Source Performance Testing Workshop for Business Managers
Agile Open Source Performance Testing Workshop for Business ManagersClever Moe
 
Neil Tompson - SoftTest Ireland
Neil Tompson - SoftTest IrelandNeil Tompson - SoftTest Ireland
Neil Tompson - SoftTest IrelandDavid O'Dowd
 
Metrics - Using Source Code Metrics to Predict Change-Prone Java Interfaces
Metrics - Using Source Code Metrics to Predict Change-Prone Java InterfacesMetrics - Using Source Code Metrics to Predict Change-Prone Java Interfaces
Metrics - Using Source Code Metrics to Predict Change-Prone Java InterfacesICSM 2011
 
Extent 2013 Obninsk Trading Systems: Testing at the Confluence of FT & NFT
Extent 2013 Obninsk Trading Systems: Testing at the Confluence of FT & NFTExtent 2013 Obninsk Trading Systems: Testing at the Confluence of FT & NFT
Extent 2013 Obninsk Trading Systems: Testing at the Confluence of FT & NFTextentconf Tsoy
 
Benchmarking and Performance on AWS - AWS India Summit 2012
Benchmarking and Performance on AWS - AWS India Summit 2012Benchmarking and Performance on AWS - AWS India Summit 2012
Benchmarking and Performance on AWS - AWS India Summit 2012Amazon Web Services
 
Trading Systems: Testing at the Confluence of FT and NFT
Trading Systems: Testing at the Confluence of FT and NFTTrading Systems: Testing at the Confluence of FT and NFT
Trading Systems: Testing at the Confluence of FT and NFTIosif Itkin
 
Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)
Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)
Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)David Rosenblum
 

Similaire à Developing and Visualizing Live Model Queries (20)

Iswim for testing
Iswim for testingIswim for testing
Iswim for testing
 
Test automation
Test automationTest automation
Test automation
 
Accelerated test case - Anish bhanu
Accelerated test case - Anish bhanuAccelerated test case - Anish bhanu
Accelerated test case - Anish bhanu
 
A comprehensive formal verification solution for ARM based SOC design
A comprehensive formal verification solution for ARM based SOC design A comprehensive formal verification solution for ARM based SOC design
A comprehensive formal verification solution for ARM based SOC design
 
Quick fix generation for DSMLs
Quick fix generation for DSMLsQuick fix generation for DSMLs
Quick fix generation for DSMLs
 
Queuing model based load testing of large enterprise applications
Queuing model based load testing of large enterprise applicationsQueuing model based load testing of large enterprise applications
Queuing model based load testing of large enterprise applications
 
Chameleon Model
Chameleon ModelChameleon Model
Chameleon Model
 
Generator
GeneratorGenerator
Generator
 
SUBJECT
SUBJECTSUBJECT
SUBJECT
 
Centralized test automation framework implementation
Centralized test automation framework implementationCentralized test automation framework implementation
Centralized test automation framework implementation
 
Build Java Web Application Using Apache Struts
Build Java Web Application Using Apache Struts Build Java Web Application Using Apache Struts
Build Java Web Application Using Apache Struts
 
Spring 1 day program
Spring 1 day programSpring 1 day program
Spring 1 day program
 
Dependency injection
Dependency injectionDependency injection
Dependency injection
 
Agile Open Source Performance Testing Workshop for Business Managers
Agile Open Source Performance Testing Workshop for Business ManagersAgile Open Source Performance Testing Workshop for Business Managers
Agile Open Source Performance Testing Workshop for Business Managers
 
Neil Tompson - SoftTest Ireland
Neil Tompson - SoftTest IrelandNeil Tompson - SoftTest Ireland
Neil Tompson - SoftTest Ireland
 
Metrics - Using Source Code Metrics to Predict Change-Prone Java Interfaces
Metrics - Using Source Code Metrics to Predict Change-Prone Java InterfacesMetrics - Using Source Code Metrics to Predict Change-Prone Java Interfaces
Metrics - Using Source Code Metrics to Predict Change-Prone Java Interfaces
 
Extent 2013 Obninsk Trading Systems: Testing at the Confluence of FT & NFT
Extent 2013 Obninsk Trading Systems: Testing at the Confluence of FT & NFTExtent 2013 Obninsk Trading Systems: Testing at the Confluence of FT & NFT
Extent 2013 Obninsk Trading Systems: Testing at the Confluence of FT & NFT
 
Benchmarking and Performance on AWS - AWS India Summit 2012
Benchmarking and Performance on AWS - AWS India Summit 2012Benchmarking and Performance on AWS - AWS India Summit 2012
Benchmarking and Performance on AWS - AWS India Summit 2012
 
Trading Systems: Testing at the Confluence of FT and NFT
Trading Systems: Testing at the Confluence of FT and NFTTrading Systems: Testing at the Confluence of FT and NFT
Trading Systems: Testing at the Confluence of FT and NFT
 
Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)
Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)
Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)
 

Dernier

DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
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
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
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
 
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
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024The Digital Insurer
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 

Dernier (20)

DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
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...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
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)
 
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...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 

Developing and Visualizing Live Model Queries

  • 1. Developing  and  Visualizing   Live  Model  Queries   Zoltán  Ujhelyi,  Tamás  Szabó   István  Ráth,  Dániel  Varró   Ábel  Hegedüs  (demonstrator)   Budapest  University  of  Technology  and  Economics   Department  of  Measurement  and  Informa<on  Systems  
  • 2. What  is  a  Model  Query?     ModelQuery(A,B)   Cond(A,B)   o  Retrieve  tuples  of   model  elements  A,B   o  SaOsfying  the  query   condiOon  Cond   o  Enumerate     one  /  all  instances   o  With  A,B  as     input  or  output   parameters   2  
  • 3. What  is  a  Model  Query?     ModelQuery(A,B)   AUTOSAR   Cond(A,B)   •  Select  pairs  of  SystemSignal  and   o  Retrieve  tuples  of   its  signal  group  which  are  not  in   the  same  IPDU   model  elements  A,B   o  SaOsfying  the  query   condiOon  Cond   IMA   •  Find  instances  of  cri;cal  func;ons   o  Enumerate     not  running  on  different   one  /  all  instances   processors  of  different  chassis   o  With  A,B  as     input  or  output   BPMN   parameters   •  Show  sink  ac;vi;es  with  no   outgoing  flow   3  
  • 4. What  is  a  Model  Query?     ModelQuery(A,B)   AUTOSAR   Cond(A,B)   •  Select  pairs  of  SystemSignal  and   o  Retrieve  tuples  of   its  signal  group  which  are  not  in   the  same  IPDU   model  elements  A,B   o  SaOsfying  the  query   condiOon  Cond   IMA   •  Find  instances  of  cri;cal  func;ons   o  Enumerate     not  running  on  different   one  /  all  instances   processors  of  different  chassis   o  With  A,B  as     input  or  output   BPMN   parameters   •  Show  sink  ac;vi;es  with  no   outgoing  flow   4  
  • 5. Live  Model  Queries     Live  Query  EvaluaOon:   Incremental  cache  of  matches   o  Maintain  a  cheap  cache     (only  memory  overhead)   o  NoOfy  about  relevant  changes   o  Enable  reacOons  to  complex        structural  events   5  
  • 6. Live  Model  Queries     Live  Query  EvaluaOon:   Incremental  cache  of  matches   o  Maintain  a  cheap  cache     (only  memory  overhead)   o  NoOfy  about  relevant  changes   o  Enable  reacOons  to  complex        structural  events   6  
  • 7. Live  Model  Queries     Live  Query  EvaluaOon:   Incremental  cache  of  matches   o  Maintain  a  cheap  cache     (only  memory  overhead)   o  NoOfy  about  relevant  changes   o  Enable  reacOons  to  complex        structural  events   7  
  • 8. Live  Model  Queries     Live  Query  EvaluaOon:   Live  Model  Queries  for     Model  TransformaOons   Incremental  cache  of  matches   o  Maintain  a  cheap  cache     •  Find  all  contexts  a  MT  rule  is   applicable  for   (only  memory  overhead)   •  Live  MT  rules:  triggered   o  NoOfy  about  relevant  changes   automaOcally  upon  change   o  Enable  reacOons  to  complex        structural  events   Live  Model  Queries  for     Early  ValidaOon   •  Find  all  violaOons  of     a  well-­‐formedness  constraint   •  Immediate  re-­‐validaOon     upon  model  change   Live  Model  Queries  for     Traceability  Management   •  See  talk  tomorrow  at  11:30   8  
  • 9. Example:  ValidaOon  of  BPMN  Models     BPMN  models   o Describing  business  processes   o Models  control  and  dataflow   •  Flowchart-­‐like  notaOon   9  
  • 10. Example:  ValidaOon  of  BPMN  Models     Well-­‐formedness  validaOon  during  ediOng   o Sink  AcOvity:  acOvity  without  outgoing  edge   10  
  • 11. Example:  ValidaOon  of  BPMN  Models     Well-­‐formedness  validaOon  during  ediOng   o Sink  AcOvity:  acOvity  without  outgoing  edge   11  
  • 13. EMF-­‐IncQuery:  Architecture  Overview   Application Application code Generated pattern Generative tooling Query matcher specification API Validation Derived feature Interpreted Engine support pattern matcher INCQUERY Base RETE Core INCQUERY Core Framework
  • 14. EMF-­‐IncQuery:  Architecture  Overview   Application •  Graph pattern-based query language Application code •  Xtext2-based tooling •  Execution, testing and debugging for queries Generated pattern Generative tooling Query matcher specification API Validation Derived feature Interpreted Engine support pattern matcher INCQUERY Base RETE Core INCQUERY Core Framework
  • 15. EMF-­‐IncQuery:  Architecture  Overview   Application •  Graph pattern-based query language Application code •  Xtext2-based tooling Typesafe query wrappers (DTOs) •  Execution, testing and for easy integration debugging for queries Generated pattern Generative tooling Query matcher specification API Validation Derived feature Interpreted Engine support pattern matcher INCQUERY Base RETE Core INCQUERY Core Framework
  • 16. EMF-­‐IncQuery:  Architecture  Overview   Application •  Graph pattern-based query language Application code •  Xtext2-based tooling Typesafe query wrappers (DTOs) •  Execution, testing and for easy integration debugging for queries Generated pattern Generative tooling Query matcher specification API Validation Derived feature Interpreted Engine support pattern matcher •  Easy-to-use API for On-the-fly validation Efficient maintenance query and problem marker of derived attributes management management and references •  Support for programmed and INCQUERY Base RETE Core INCQUERY Core dynamic queries •  Fully dynamic parameterization Framework
  • 17. EMF-­‐IncQuery:  Architecture  Overview   Application •  Graph pattern-based query language Application code •  Xtext2-based tooling Typesafe query wrappers (DTOs) •  Execution, testing and for easy integration debugging for queries Generated pattern Generative tooling Query matcher specification API Validation Derived feature Interpreted Engine support pattern matcher •  Easy-to-use API for On-the-fly validation Efficient maintenance query and problem marker of derived attributes management management and references •  Support for programmed and INCQUERY Base RETE Core INCQUERY Core dynamic queries •  Fully dynamic High performance Scalable evaluation for parameterization backward getters and complex queries Framework transitive closure (over 2 000 000 EObjects)
  • 18. Simple  Graph  Pajern  in  EMF-­‐IncQuery   pattern  sequenceFlowEdge           (Flow:SequenceEdge,  Src:Activity,  Dst:Activity)=  { SequenceEdge.source(Flow,  Src); SequenceEdge.target(Flow,  Dst); } source   Flow:   target   Src  :   Dst:   Sequence AcOvity   AcOvity   Edge   18  
  • 19. And  Some  More  Complex  Examples…   pattern  hasOutEdge(A:  Activity)  {    find  sequenceFlowEdge(_Fr,  A,  _Other);  }  or  {    find  messageFlowEdge(_Fr,  A,  _Other); Pajern  composiOon   } (for  reuse)   pattern  sinkActivityNames(Name)  { Activity(A); Activity.name(A,  Name); neg  find  hasOutEdge(A); } NegaOve  composiOon   (negaOon,  quanOficaOon)   19  
  • 21. EMF-­‐INCQUERY  Development  Tools   Pajern  Editor   EMF  Instance  Model   Query  Explorer  
  • 22. EMF-­‐INCQUERY  Development  Tools   Pajern  Editor   EMF  Instance  Model   Query  Explorer  
  • 23. EMF-­‐INCQUERY  Development  Tools   •  Works  with  most     EMF  editors     out-­‐of-­‐the-­‐box   •  Reveals  matches     as  selecOon   Pajern  Editor   EMF  Instance  Model   Query  results   recalculated     on-­‐the-­‐fly   Query  Explorer  
  • 24. Visualiza<on  of  Live  Model  Queries   in  EMF-­‐IncQuery  
  • 25. Requirements  for  Query  VisualizaOon   Genericity   Incrementality   •  MulOple  Model  Sources   •  Query  Changes   •  Model  Editors   •  Model  Changes   •  Current  SelecOon   Traceability   PresentaOon   •  Query  DefiniOons   •  Filtering   •  Input  Model   •  Grouping   25  
  • 26. Proposed  Architecture  of  Query  Visualizer   Edited   Model   Edited   Query   Other  Model   Query   Editors   Sources   Connectors   Model  and   Filtered  group  of   NoOficaOons   queries   Query   Query   Repository   Engine   Query   Query  Result   Query  Results   DefiniOon   Deltas   Query  Result  Viewer   26  
  • 27. Model  Source  Connectors  for  Genericity     Different  model  sources   Edited   Edited   Model   Other   Query   Model   o  Graphical  (e.g  BPMN,  UML)   Query   Editors   Sources   o  Textual  (e.g.  OCL)   Connectors   o  Different  implementaOon   Model  and   technologies   Query   NoOficaOons   Model  source  connectors   Engine     OperaOons   Genericity Incrementality o  Open  model   • Multiple Model Sources • Query  Changes o  Send  noOficaOon  upon  model   • Model  Editors • Current  Selection • Model  Changes change   o  Get  current  selecOon   Traceability • Query  Definitions Presentation • Filtering o  Close  editor   • Input  Model • Grouping 27  
  • 28. Query-­‐based  Indexing  for  Incrementality     Update  query  results   Query-­‐based  indexing   incrementally  upon   o  Model  updates   • Contains  model  elements  accessed   •  E.g.  using  the  built-­‐in  editor   by  the  query   •  Engine:  handles  this  case   • Populated  by  an  exhausOve  model   internally   traversal  (can  be  slow!)   o  Query  updates   • Goal:  Avoid  unnecessary  re-­‐ •  E.g.  using  the  query  editor   traversal   •  Engine:  rebuilds  internal  model   indexes   Strategy  1:     Generic  model  indexer   Genericity Incrementality • “Wildcard  mode”:     • Multiple Model Sources • Query  Changes • Model  Editors • Model  Changes index  every  model  element   • Current  Selection • Higher  memory  consumpOon   Traceability Presentation Strategy  2:     • Query  Definitions • Filtering Group  iniOalizaOon   • Input  Model • Grouping • IniOalize  several  pajerns  together   28  
  • 29. Traceability  and  NavigaOon     Maintaining  source  models   Query   Editor   Edited   Edited   Model   Query   Query   Editors   Other  Model   Sources   and  queries   Connectors     Support  for  navigaOng  to/ highlighOng   Query   Repository   Query   Engine   o Corresponding  query   definiOons   Query  Result  Viewer   •  HighlighOng  funcOonality  in  the   query  editor   Genericity Incrementality o Referenced  model  element(s)  • Multiple Model Sources • Model  Editors • Query  Changes • Model  Changes •  Editor-­‐dependent   • Current  Selection implementaOon   Traceability Presentation •  Model  source  connector     • Query  Definitions • Filtering handles  funcOonality   • Input  Model • Grouping 29  
  • 30. Traceability  in  Query  Visualizer   Pajern  Editor   EMF  Instance  Model   Query  Explorer  
  • 31. Traceability  in  Query  Visualizer   Pajern  Editor   EMF  Instance  Model   Query  Explorer  
  • 32. Grouping  and  Filtering  for  PresentaOon     Define  query  groups   („related”  queries)   Query   Query   Query  Result   o StaOc  groups   DefiniOons   Results   Deltas   •  E.g.  Namespaces   Query  Result  Viewer   o Dynamic  groups   •  E.g.  Dependency  based     Filtering   Genericity Incrementality o Filter  visible  queries   • Multiple Model Sources • Query  Changes • Model  Editors • Model  Changes •  Uses  hints  from  developer   • Current  Selection •  Manual  overriding   Traceability Presentation o Filter  query  results   • Query  Definitions • Filtering • Input  Model • Grouping •  By  binding  query  parameters   32  
  • 34. Result  Viewer   Different  model   Szöveg   sources   34  
  • 35. Result  Viewer   Loaded   Queries   35  
  • 36. Result  Viewer   Query  Results   36  
  • 38. Filtering  Visible  Queries   Elements  in  Query   Registry   38  
  • 39. Filtering  Visible  Queries   Queries  Loaded   39  
  • 42. Conclusions  and  Future  Work   R1.  Genericity   Edited   Model   Edited   Other  Model   R3.  Traceability   Query   Query   Editors   Sources   R3.  Traceability   Connectors   R4.  PresentaOon   Model  and   Filtered  group  of   R2.  Incrementality   NoOficaOons   queries   Query   Query   Repository   Engine   Query  Result   Query   Query  Results   Deltas   DefiniOon   Query  Result  Viewer   R4.  PresentaOon   42  
  • 43. Conclusions  and  Future  Work   R1.  Genericity   Edited   Model   Edited   Other  Model   R3.  Traceability   Query   Query   Editors   Sources   R3.  Traceability   Connectors   R4.  PresentaOon   Model  and   Filtered  group  of   R2.  Incrementality   NoOficaOons   queries   Query   Query   Repository   Engine   Query  Result   Query   Query  Results   Deltas   DefiniOon   Query  Result  Viewer   R4.  PresentaOon   Future  Plans   •  Analysis-­‐based  grouping   •  Graph-­‐based  result  visualizaOon   43