SlideShare uma empresa Scribd logo
1 de 35
Baixar para ler offline
S-Cube Learning Package

Executing the HOCL: Concept of a Chemical
                Interpreter



             INRIA, CNR, SZTAKI


            Zsolt Németh, SZTAKI


               www.s-cube-network.eu
Learning Package Categorization


                        S-Cube




                  Service Infrastructure




             Multi-level and self-adaptation



               Supporting adaptation of
              service-based applications
Learning Package Overview


 The notion of chemical modeling
 Interpreter for a chemical language
   – Design considerations
   – Main constructs
   – Implementation

 Experiences
Background: Complex problems in large
scale distributed computing
 • Grid, service based systems, clouds are characterized as
    –   Large number of interacting entities
    –   Heterogeneity
    –   Unknown/unpredictable behaviour
    –   Dynamicity
 • Coordination, scheduling, optimisation and other complex
   tasks like
    –   Service composition
    –   Workflow enactment
    –   Process / Service coordination
    –   Resource scheduling
    –   Optimisation
    –   Recovery
  Usually hard to solve/formalize, NP-hard, exact solutions are
   slow, etc.
Background: Notion of autonomic
computing

   Kephart: The vision of autonomic computing (2003)
   Parts of the system should be able
     – Self-configuration
     – Self-optimization
     – Self-healing
     – Self-protection

   Since then many self-* proposals
Background: Notion of nature inspired
 algorithms

 The vision of autonomic computing ~ nerves
 Nature phenomena like ants, molecules, particles, cells,
  membranes, neurons, immune system, foraging, etc.
   – possess self-controlled, self-coordinating, self-evolving, etc. properties

 Primitive actions emerge as “intelligent” behaviour
 Computing processes
   – can mimic nature phenomena
   – inspired by nature metaphors

 See The Chemical Computing model and HOCL Programming
 See Dynamic Adaptation with the Chemical Model
The chemical metaphor


 Computational chemistry
   – Simulate chemical processes
 Chemical computing model
   – Inspired by chemistry; chemistry as a metaphor
   – Data = molecules
   – Functions = molecules
   – Computation = reactions
   – State = chemical solution
 Idea: algorithms are artificially sequential
   – computing steps should be carried out independently, concurrently
     locally
   – no notion of serialisation, instructions, computing steps, explicit control
   – computation is self-evolving
A chemical language

• Higher Order Chemical Language (HOCL)
   • based on the -calculus, see The Chemical Computing model and
     HOCL Programming
• Higher order: active molecules (procedures)
   – capture other active molecules
   – produce other active molecules
• Multiset rewriting
   • multiset = chemical solution
   • active molecules capture other molecules and transform
• replace P by M if C in <>
   – P: pattern, captured molecules
   – M: action, produced molecules
   – C: condition
The Dutch flag example



let r = replace <i,red>,<j,white> by <i,white>,<j,red> if i>j in
let w = replace <i,white>,<j, blue> by <i, blue>,<j,white> if i>j in
let b = replace <i,red>,<j,blue> by <i,blue>,<j,red> if i>j in
<<1,blue>,<2,white>,<3,white>,<4,red>,<5,blue>,<6,white>,r,w,b>


                                                   2
                               5   blue
                                                       white          6
                1
                                               r                   white
                    blue
                                       white
                                   3                           4           b
                           w                       red
Chemistry and distributed computing


  Existing models, proposals, concepts
    –   Self-coordinating distributed systems
    –   Service composition
    –   Workflow enactment
    –   Dynamic workflow
    –   Desktop grid coordination
  General purpose chemical tools, interpreters do not exist
    – Significantly different from current languages, tools,
      environments
    – Long development cycle
  A short development cycle for chemical tools: combine
   multiple models
    – Declarative techniques, pattern matching
Learning Package Overview


 The notion of chemical modeling
 Interpreter for a chemical language
   – Design considerations
   – Main constructs
   – Implementation

 Experiences
Backgorund: the idea of abstract
interpreter
 The chemical model is semantically different from most
  computing models
   – it is not an imperative language
   – it is not deterministic
   – it is not related to the von Neumann model

 In such cases an intermediate level of abstraction is
  introduced: an abstract engine
   – Prolog, Lisp, and many others are executed in this way

 Efficient pattern matching is necessary
   – best known algorithm: RETE
   – found in many production systems



                                                              © S-Cube – 12/<Max>
Execution of declarative languages



• Highly abstract computational models
• Executed on von Neumann physical
                                                         high level
  architectures                                          language
• Notion of abstract machine                                          compile
   – hypothetic machine inbetween
                                                         abstract
   – gives the illusion of executing a highly abstract   engine
     language natively
                                                                      interprete
   – high level language compiled to an
     intermediate language                               physical
   – the intermediate language is interpeted             machine
Production systems



  A tool for artificial intelligence applications
     – knowledge as facts and rules

  Facts
     – assumed true
     – elementary, learned experience
                                                      match
     – produced facts

  Rules
     – transform the knowledge base
     – pattern                               check                   action

     – condition
     – action                                        rule selected
Conceptual abstract engine



  Notion of the abstract interpreter
  RETE pattern matching from production system
  Intermediate language: that of production system +
   extensions
  To be solved: hierarchical knowledge base
    – Law of locality
    – Law of membrane

  Parallel/concurrent execution
Learning Package Overview


 The notion of chemical modeling
 Interpreter for a chemical language
   – Design considerations
   – Main constructs
   – Implementation

 Experiences
Passive molecules


 Facts: statements
   – Sorted (1), (1 2 5 apple), (a b 15 22)
       - no names but order does matter
   – Unsorted ((slot1 a)(slot2 apple)), ((x 2)(y 5)(z 6))
       - slots have names

 Molecule template
   – (molecule (administrative slots) (instance slots))
       - Administrative: id, solution, name
       - (deftemplate number extends molecule (slot value)

 (number (value 1))
 (color (type white))
Active molecules

 Active molecules → rules?
   – a simple solution but in this way active molecules cannot be modified

 Higher order property?
   – active molecules can be captured and transformed
   – difficult to realize with rules

 Active molecules
   – Rule: pattern, condition, action
   – Fact: represents the instance
       - Derived from molecule template
       - Can be asserted, retracted, transferred, etc.
Active molecules

 The Dutch flag example
  – representation of the “red” molecule


  (defrule r
  (rule red)
  ;match <i, red> and <j, white> if i>j
  →
  ;swap <i, red> and <j, white>
  )
Solutions

 Two-faced entities
   – Data when inactive
   – Process when active
       - Each solution is an independent thread

 Solutions are hierarchical but facts cannot be nested
   – It is neither a fact nor a rule

 Bidirectional references between solutions and molecules
   – Prolog-like terms
                                 (solution (id x)(in nil)(molecules y z))

                                       (molecule (id y)(in x)(value 5)…)
                      5   blue
                                       (molecule (id z)(in x)(type blue)…)
Solutions

 Single step, flat pattern matching
 The Dutch flag example (cont’d)
  (defrule r                         (solution (id k)(in nil)(molecules j l))
  (rule red)
  (solution ?x)                        (molecule (id j)(in k)(value 4)…)
  (molecule (value ?i)(in ?x))            (molecule (id l)(in k)(type red)…)
  (molecule (color red)(in ?x))
  (solution ?y)                   (solution (id x)(in nil)(molecules y z))
  (molecule (value ?j)(in ?y))
                                       (molecule (id y)(in x)(value 2)…)
  (molecule (color white)(in ?y))
  (test ?i > ?j)                    (molecule (id z)(in x)(type white)…)
  →
  ;swap <i, red> and <j, white>
Relocate

 Most actions are transferring molecules between solutions
   – very frequent operation, must be efficient
   – must not make the intermediate language too complicated

 Hard to maintain the references in an efficient way when
  moving molecules between solutions
   – serious performance degradation
   – error prone

 External procedure to the language: relocate
   – Written in Java
   – Operates on the internal data structures
   – Adds imperative flavour where necessary
Relocate


  There are various types of moving molecules
    – Move x from a to b
       - replace a:<x, ωa>,b:<ωb> by a:<ωa>,b:<x,ωb>
    – Move everything except x from a to b
       - replace a:<x, ωa>,b:<ωb> by a:<x>,b:< ωa,ωb>
    – Move everything from a to b
       - replace a:<ωa>,b:<ωb> by a:<>,b:< ωa,ωb>

  Different for top-level and other solutions
  Deleting solutions
  All 15 cases represented by a single instruction
    – Keep the intermediate language simple
    – Realize efficiently
Relocate

 Relocate (what to move) (what not to move) (from) (to)
 The Dutch flag example (cont’d)
   (defrule r
   (rule red)
   (solution ?x)
   (molecule (value ?i)(in ?x))
   (molecule (color red)(in ?x))
   (solution ?y)
   (molecule (value ?j)(in ?y))
   (molecule (color white)(in ?y))
   (test ?i > ?j)
   )
   (relocate (molecule (value ?i)(in ?x)) nil (solution
     ?x) (solution ?y))
Learning Package Overview


 The notion of chemical modeling
 Interpreter for a chemical language
   – Design considerations
   – Main constructs
   – Implementation

 Experiences
 Conclusions
Implementation


 Initial experiments: CLIPS
   – C Language Integrated Production System

 Full implementation: jess
   – a rule engine for the Java platform

 Main components
   – Interpreter
   – Graphical user interface
   – Simple debugging and tracing tools
   – Custom interfaces
Program control



Current reaction



         Breakpoints,
         adding molecules
         at runtime


Molecules                   Potential reactions
                            per solution


         Debug
         information
Learning Package Overview


 The notion of chemical modeling
 Interpreter for a chemical language
   – Design considerations
   – Main constructs
   – Implementation

 Experiences
 Conclusions
Experiences I


 Importance of random conflict resolution
 Corresponds to random molecule selection
 Foxes and rabbits (Lotka-Volterra) problem
   – Predators and preys in a closed environment
   – Their number should oscillate

 … Did not oscillate…
 Custom made random conflict resolution was necessary
   – unexpected importance of real randomness in molecule selection
Experiences II



  Importance of intelligent compilation
  Tic-tac-toe game (custom interface)
    – HOCL active molecule ~ rule
       - Performance and scalability problems
       - On larger boards response times are very long
    – HOCL code broken into many simple rules
       - Instead of few but complex rules
       - Better fits the RETE algorithm (RETE better supports these)
       - No performance issues, good scalability

  Intelligent compilation needs further research
Learning Package Overview


 The notion of chemical modeling
 Interpreter for a chemical language
   – Design considerations
   – Main constructs
   – Implementation

 Experiences
 Conclusions
Conclusion


 The chemical model is a good candidate for autonomic, self-*
  computing
 Various possibilities in distributed scenarios
 General purpose tools are needed
 Our approach
   – Quick realisation of an interpreter
   – Notion of abstract engine
   – Combine different models
   – Interfaces to the environment
Connections to other teaching units



 Foundations
   – The Chemical Computing model and HOCL Programming

 Application
   – Dynamic Adaptation with the Chemical Model




                                                   © S-Cube – 33/<Max>
References




 Vilmos Rajcsányi, Zsolt Németh: The chemical machine: an interpreter for the Higher Order Chemical
 Language. CGWS@EuroPar 2011, to appear.



 Jean-Pierre Banatre, Pascal Fradet, and Yann Radenac. Programming self-organizing systems with the
 higher-order chemical language. International Journal of Unconventional Computing, 3(3):161–177, 2007
Acknowledgements




      The research leading to these results has
      received funding from the European
      Community’s Seventh Framework
      Programme [FP7/2007-2013] under grant
      agreement 215483 (S-Cube).

Mais conteúdo relacionado

Mais procurados

A Portable Approach for Bidirectional Integration between a Logic and a Stati...
A Portable Approach for Bidirectional Integration between a Logic and a Stati...A Portable Approach for Bidirectional Integration between a Logic and a Stati...
A Portable Approach for Bidirectional Integration between a Logic and a Stati...Sergio Castro
 
Csr2011 june17 15_15_kaminski
Csr2011 june17 15_15_kaminskiCsr2011 june17 15_15_kaminski
Csr2011 june17 15_15_kaminskiCSR2011
 
Pre trained language model
Pre trained language modelPre trained language model
Pre trained language modelJiWenKim
 
BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
BERT: Pre-training of Deep Bidirectional Transformers for Language UnderstandingBERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
BERT: Pre-training of Deep Bidirectional Transformers for Language Understandinggohyunwoong
 
BERT: Bidirectional Encoder Representations from Transformers
BERT: Bidirectional Encoder Representations from TransformersBERT: Bidirectional Encoder Representations from Transformers
BERT: Bidirectional Encoder Representations from TransformersLiangqun Lu
 
Master's Thesis Alessandro Calmanovici
Master's Thesis Alessandro CalmanoviciMaster's Thesis Alessandro Calmanovici
Master's Thesis Alessandro CalmanoviciAlessandro Calmanovici
 
Issues in implementation of parallel
Issues in implementation of parallelIssues in implementation of parallel
Issues in implementation of parallelijcseit
 
Requirement Analysis - ijcee 2(3)
Requirement Analysis - ijcee 2(3)Requirement Analysis - ijcee 2(3)
Requirement Analysis - ijcee 2(3)IT Industry
 
NLP State of the Art | BERT
NLP State of the Art | BERTNLP State of the Art | BERT
NLP State of the Art | BERTshaurya uppal
 
Summer training vhdl
Summer training vhdlSummer training vhdl
Summer training vhdlArshit Rai
 
Object Oriented Paradigm
Object Oriented ParadigmObject Oriented Paradigm
Object Oriented ParadigmHüseyin Ergin
 
Summer training vhdl
Summer training vhdlSummer training vhdl
Summer training vhdlArshit Rai
 
Deep learning for NLP and Transformer
 Deep learning for NLP  and Transformer Deep learning for NLP  and Transformer
Deep learning for NLP and TransformerArvind Devaraj
 
Thomas Wolf "Transfer learning in NLP"
Thomas Wolf "Transfer learning in NLP"Thomas Wolf "Transfer learning in NLP"
Thomas Wolf "Transfer learning in NLP"Fwdays
 
Meaning Extraction - IJCTE 2(1)
Meaning Extraction - IJCTE 2(1)Meaning Extraction - IJCTE 2(1)
Meaning Extraction - IJCTE 2(1)IT Industry
 
Arabic named entity recognition using deep learning approach
Arabic named entity recognition using deep learning approachArabic named entity recognition using deep learning approach
Arabic named entity recognition using deep learning approachIJECEIAES
 

Mais procurados (20)

A Portable Approach for Bidirectional Integration between a Logic and a Stati...
A Portable Approach for Bidirectional Integration between a Logic and a Stati...A Portable Approach for Bidirectional Integration between a Logic and a Stati...
A Portable Approach for Bidirectional Integration between a Logic and a Stati...
 
Csr2011 june17 15_15_kaminski
Csr2011 june17 15_15_kaminskiCsr2011 june17 15_15_kaminski
Csr2011 june17 15_15_kaminski
 
Pre trained language model
Pre trained language modelPre trained language model
Pre trained language model
 
BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
BERT: Pre-training of Deep Bidirectional Transformers for Language UnderstandingBERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
 
BERT: Bidirectional Encoder Representations from Transformers
BERT: Bidirectional Encoder Representations from TransformersBERT: Bidirectional Encoder Representations from Transformers
BERT: Bidirectional Encoder Representations from Transformers
 
Master's Thesis Alessandro Calmanovici
Master's Thesis Alessandro CalmanoviciMaster's Thesis Alessandro Calmanovici
Master's Thesis Alessandro Calmanovici
 
Object
ObjectObject
Object
 
Issues in implementation of parallel
Issues in implementation of parallelIssues in implementation of parallel
Issues in implementation of parallel
 
Requirement Analysis - ijcee 2(3)
Requirement Analysis - ijcee 2(3)Requirement Analysis - ijcee 2(3)
Requirement Analysis - ijcee 2(3)
 
Oop
OopOop
Oop
 
NLP State of the Art | BERT
NLP State of the Art | BERTNLP State of the Art | BERT
NLP State of the Art | BERT
 
Summer training vhdl
Summer training vhdlSummer training vhdl
Summer training vhdl
 
Introduction to Transformer Model
Introduction to Transformer ModelIntroduction to Transformer Model
Introduction to Transformer Model
 
Object Oriented Paradigm
Object Oriented ParadigmObject Oriented Paradigm
Object Oriented Paradigm
 
Summer training vhdl
Summer training vhdlSummer training vhdl
Summer training vhdl
 
Deep learning for NLP and Transformer
 Deep learning for NLP  and Transformer Deep learning for NLP  and Transformer
Deep learning for NLP and Transformer
 
Thomas Wolf "Transfer learning in NLP"
Thomas Wolf "Transfer learning in NLP"Thomas Wolf "Transfer learning in NLP"
Thomas Wolf "Transfer learning in NLP"
 
Meaning Extraction - IJCTE 2(1)
Meaning Extraction - IJCTE 2(1)Meaning Extraction - IJCTE 2(1)
Meaning Extraction - IJCTE 2(1)
 
BERT introduction
BERT introductionBERT introduction
BERT introduction
 
Arabic named entity recognition using deep learning approach
Arabic named entity recognition using deep learning approachArabic named entity recognition using deep learning approach
Arabic named entity recognition using deep learning approach
 

Destaque

S-CUBE LP: The Chemical Computing model and HOCL Programming
S-CUBE LP: The Chemical Computing model and HOCL ProgrammingS-CUBE LP: The Chemical Computing model and HOCL Programming
S-CUBE LP: The Chemical Computing model and HOCL Programmingvirtual-campus
 
A Chemistry-Inspired Workflow Management System for Scientific Applications o...
A Chemistry-Inspired Workflow Management System for Scientific Applications o...A Chemistry-Inspired Workflow Management System for Scientific Applications o...
A Chemistry-Inspired Workflow Management System for Scientific Applications o...Héctor Fernández
 
08. Central Processing Unit (CPU)
08. Central Processing Unit (CPU)08. Central Processing Unit (CPU)
08. Central Processing Unit (CPU)Akhila Dakshina
 
Synthetic Biology & Architecture[1]
Synthetic Biology & Architecture[1]Synthetic Biology & Architecture[1]
Synthetic Biology & Architecture[1]Rachel Armstrong
 

Destaque (9)

S-CUBE LP: The Chemical Computing model and HOCL Programming
S-CUBE LP: The Chemical Computing model and HOCL ProgrammingS-CUBE LP: The Chemical Computing model and HOCL Programming
S-CUBE LP: The Chemical Computing model and HOCL Programming
 
A Chemistry-Inspired Workflow Management System for Scientific Applications o...
A Chemistry-Inspired Workflow Management System for Scientific Applications o...A Chemistry-Inspired Workflow Management System for Scientific Applications o...
A Chemistry-Inspired Workflow Management System for Scientific Applications o...
 
Biosensor_2016
Biosensor_2016Biosensor_2016
Biosensor_2016
 
PhD Thesis: Chemical Organization Theory
PhD Thesis: Chemical Organization TheoryPhD Thesis: Chemical Organization Theory
PhD Thesis: Chemical Organization Theory
 
21 simpson's rule
21 simpson's rule21 simpson's rule
21 simpson's rule
 
Cpu
CpuCpu
Cpu
 
08. Central Processing Unit (CPU)
08. Central Processing Unit (CPU)08. Central Processing Unit (CPU)
08. Central Processing Unit (CPU)
 
Types of titrations
Types of titrationsTypes of titrations
Types of titrations
 
Synthetic Biology & Architecture[1]
Synthetic Biology & Architecture[1]Synthetic Biology & Architecture[1]
Synthetic Biology & Architecture[1]
 

Semelhante a S-CUBE LP: Executing the HOCL: Concept of a Chemical Interpreter

Are High Level Programming Languages for Multicore and Safety Critical Conver...
Are High Level Programming Languages for Multicore and Safety Critical Conver...Are High Level Programming Languages for Multicore and Safety Critical Conver...
Are High Level Programming Languages for Multicore and Safety Critical Conver...InfinIT - Innovationsnetværket for it
 
SBML (the Systems Biology Markup Language)
SBML (the Systems Biology Markup Language)SBML (the Systems Biology Markup Language)
SBML (the Systems Biology Markup Language)Mike Hucka
 
S-CUBE LP: Chemical Modeling: Workflow Enactment based on the Chemical Metaphor
S-CUBE LP: Chemical Modeling: Workflow Enactment based on the Chemical MetaphorS-CUBE LP: Chemical Modeling: Workflow Enactment based on the Chemical Metaphor
S-CUBE LP: Chemical Modeling: Workflow Enactment based on the Chemical Metaphorvirtual-campus
 
PL Lecture 01 - preliminaries
PL Lecture 01 - preliminariesPL Lecture 01 - preliminaries
PL Lecture 01 - preliminariesSchwannden Kuo
 
Functional Programming and Big Data
Functional Programming and Big DataFunctional Programming and Big Data
Functional Programming and Big DataDataWorks Summit
 
Using construction grammar in conversational systems
Using construction grammar in conversational systemsUsing construction grammar in conversational systems
Using construction grammar in conversational systemsCJ Jenkins
 
The Road to Lambda - Mike Duigou
The Road to Lambda - Mike DuigouThe Road to Lambda - Mike Duigou
The Road to Lambda - Mike Duigoujaxconf
 
Introduction to Software - Coder Forge - John Mulhall
Introduction to Software - Coder Forge - John MulhallIntroduction to Software - Coder Forge - John Mulhall
Introduction to Software - Coder Forge - John MulhallJohn Mulhall
 
2007 03-16 modeling and static analysis of complex biological systems dsr
2007 03-16 modeling and static analysis of complex biological systems dsr2007 03-16 modeling and static analysis of complex biological systems dsr
2007 03-16 modeling and static analysis of complex biological systems dsrDebora Da Rosa
 
Polyglot and Functional Programming (OSCON 2012)
Polyglot and Functional Programming (OSCON 2012)Polyglot and Functional Programming (OSCON 2012)
Polyglot and Functional Programming (OSCON 2012)Martijn Verburg
 
SoftComputing.pdf
SoftComputing.pdfSoftComputing.pdf
SoftComputing.pdfktosri
 
Introduction to OpenSees by Frank McKenna
Introduction to OpenSees by Frank McKennaIntroduction to OpenSees by Frank McKenna
Introduction to OpenSees by Frank McKennaopenseesdays
 
A gentle introduction to reflection
A gentle introduction to reflectionA gentle introduction to reflection
A gentle introduction to reflectionkim.mens
 
Scala for Machine Learning
Scala for Machine LearningScala for Machine Learning
Scala for Machine LearningPatrick Nicolas
 
Stroustrup c++0x overview
Stroustrup c++0x overviewStroustrup c++0x overview
Stroustrup c++0x overviewVaibhav Bajaj
 
Modular Mathematical Modelling of Biological Systems
Modular Mathematical Modelling of Biological SystemsModular Mathematical Modelling of Biological Systems
Modular Mathematical Modelling of Biological SystemsDaniele Gianni
 
Oop by edgar lagman jr
Oop by edgar lagman jr Oop by edgar lagman jr
Oop by edgar lagman jr Jun-jun Lagman
 
Machine Learning with Spark
Machine Learning with SparkMachine Learning with Spark
Machine Learning with Sparkelephantscale
 

Semelhante a S-CUBE LP: Executing the HOCL: Concept of a Chemical Interpreter (20)

Are High Level Programming Languages for Multicore and Safety Critical Conver...
Are High Level Programming Languages for Multicore and Safety Critical Conver...Are High Level Programming Languages for Multicore and Safety Critical Conver...
Are High Level Programming Languages for Multicore and Safety Critical Conver...
 
SBML (the Systems Biology Markup Language)
SBML (the Systems Biology Markup Language)SBML (the Systems Biology Markup Language)
SBML (the Systems Biology Markup Language)
 
S-CUBE LP: Chemical Modeling: Workflow Enactment based on the Chemical Metaphor
S-CUBE LP: Chemical Modeling: Workflow Enactment based on the Chemical MetaphorS-CUBE LP: Chemical Modeling: Workflow Enactment based on the Chemical Metaphor
S-CUBE LP: Chemical Modeling: Workflow Enactment based on the Chemical Metaphor
 
PL Lecture 01 - preliminaries
PL Lecture 01 - preliminariesPL Lecture 01 - preliminaries
PL Lecture 01 - preliminaries
 
Functional Programming and Big Data
Functional Programming and Big DataFunctional Programming and Big Data
Functional Programming and Big Data
 
Computational models
Computational models Computational models
Computational models
 
Using construction grammar in conversational systems
Using construction grammar in conversational systemsUsing construction grammar in conversational systems
Using construction grammar in conversational systems
 
The Road to Lambda - Mike Duigou
The Road to Lambda - Mike DuigouThe Road to Lambda - Mike Duigou
The Road to Lambda - Mike Duigou
 
Introduction to Software - Coder Forge - John Mulhall
Introduction to Software - Coder Forge - John MulhallIntroduction to Software - Coder Forge - John Mulhall
Introduction to Software - Coder Forge - John Mulhall
 
2007 03-16 modeling and static analysis of complex biological systems dsr
2007 03-16 modeling and static analysis of complex biological systems dsr2007 03-16 modeling and static analysis of complex biological systems dsr
2007 03-16 modeling and static analysis of complex biological systems dsr
 
Polyglot and Functional Programming (OSCON 2012)
Polyglot and Functional Programming (OSCON 2012)Polyglot and Functional Programming (OSCON 2012)
Polyglot and Functional Programming (OSCON 2012)
 
SoftComputing.pdf
SoftComputing.pdfSoftComputing.pdf
SoftComputing.pdf
 
Introduction to OpenSees by Frank McKenna
Introduction to OpenSees by Frank McKennaIntroduction to OpenSees by Frank McKenna
Introduction to OpenSees by Frank McKenna
 
10-DesignPatterns.ppt
10-DesignPatterns.ppt10-DesignPatterns.ppt
10-DesignPatterns.ppt
 
A gentle introduction to reflection
A gentle introduction to reflectionA gentle introduction to reflection
A gentle introduction to reflection
 
Scala for Machine Learning
Scala for Machine LearningScala for Machine Learning
Scala for Machine Learning
 
Stroustrup c++0x overview
Stroustrup c++0x overviewStroustrup c++0x overview
Stroustrup c++0x overview
 
Modular Mathematical Modelling of Biological Systems
Modular Mathematical Modelling of Biological SystemsModular Mathematical Modelling of Biological Systems
Modular Mathematical Modelling of Biological Systems
 
Oop by edgar lagman jr
Oop by edgar lagman jr Oop by edgar lagman jr
Oop by edgar lagman jr
 
Machine Learning with Spark
Machine Learning with SparkMachine Learning with Spark
Machine Learning with Spark
 

Mais de virtual-campus

S-CUBE LP: Analysis Operations on SLAs: Detecting and Explaining Conflicting ...
S-CUBE LP: Analysis Operations on SLAs: Detecting and Explaining Conflicting ...S-CUBE LP: Analysis Operations on SLAs: Detecting and Explaining Conflicting ...
S-CUBE LP: Analysis Operations on SLAs: Detecting and Explaining Conflicting ...virtual-campus
 
S-CUBE LP: Quality of Service-Aware Service Composition: QoS optimization in ...
S-CUBE LP: Quality of Service-Aware Service Composition: QoS optimization in ...S-CUBE LP: Quality of Service-Aware Service Composition: QoS optimization in ...
S-CUBE LP: Quality of Service-Aware Service Composition: QoS optimization in ...virtual-campus
 
S-CUBE LP: SLA-based Service Virtualization in distributed, heterogenious env...
S-CUBE LP: SLA-based Service Virtualization in distributed, heterogenious env...S-CUBE LP: SLA-based Service Virtualization in distributed, heterogenious env...
S-CUBE LP: SLA-based Service Virtualization in distributed, heterogenious env...virtual-campus
 
S-CUBE LP: Service Discovery and Task Models
S-CUBE LP: Service Discovery and Task ModelsS-CUBE LP: Service Discovery and Task Models
S-CUBE LP: Service Discovery and Task Modelsvirtual-campus
 
S-CUBE LP: Impact of SBA design on Global Software Development
S-CUBE LP: Impact of SBA design on Global Software DevelopmentS-CUBE LP: Impact of SBA design on Global Software Development
S-CUBE LP: Impact of SBA design on Global Software Developmentvirtual-campus
 
S-CUBE LP: Techniques for design for adaptation
S-CUBE LP: Techniques for design for adaptationS-CUBE LP: Techniques for design for adaptation
S-CUBE LP: Techniques for design for adaptationvirtual-campus
 
S-CUBE LP: Self-healing in Mixed Service-oriented Systems
S-CUBE LP: Self-healing in Mixed Service-oriented SystemsS-CUBE LP: Self-healing in Mixed Service-oriented Systems
S-CUBE LP: Self-healing in Mixed Service-oriented Systemsvirtual-campus
 
S-CUBE LP: Analyzing and Adapting Business Processes based on Ecologically-aw...
S-CUBE LP: Analyzing and Adapting Business Processes based on Ecologically-aw...S-CUBE LP: Analyzing and Adapting Business Processes based on Ecologically-aw...
S-CUBE LP: Analyzing and Adapting Business Processes based on Ecologically-aw...virtual-campus
 
S-CUBE LP: Preventing SLA Violations in Service Compositions Using Aspect-Bas...
S-CUBE LP: Preventing SLA Violations in Service Compositions Using Aspect-Bas...S-CUBE LP: Preventing SLA Violations in Service Compositions Using Aspect-Bas...
S-CUBE LP: Preventing SLA Violations in Service Compositions Using Aspect-Bas...virtual-campus
 
S-CUBE LP: Analyzing Business Process Performance Using KPI Dependency Analysis
S-CUBE LP: Analyzing Business Process Performance Using KPI Dependency AnalysisS-CUBE LP: Analyzing Business Process Performance Using KPI Dependency Analysis
S-CUBE LP: Analyzing Business Process Performance Using KPI Dependency Analysisvirtual-campus
 
S-CUBE LP: Process Performance Monitoring in Service Compositions
S-CUBE LP: Process Performance Monitoring in Service CompositionsS-CUBE LP: Process Performance Monitoring in Service Compositions
S-CUBE LP: Process Performance Monitoring in Service Compositionsvirtual-campus
 
S-CUBE LP: Service Level Agreement based Service infrastructures in the conte...
S-CUBE LP: Service Level Agreement based Service infrastructures in the conte...S-CUBE LP: Service Level Agreement based Service infrastructures in the conte...
S-CUBE LP: Service Level Agreement based Service infrastructures in the conte...virtual-campus
 
S-CUBE LP: Runtime Prediction of SLA Violations Based on Service Event Logs
S-CUBE LP: Runtime Prediction of SLA Violations Based on Service Event LogsS-CUBE LP: Runtime Prediction of SLA Violations Based on Service Event Logs
S-CUBE LP: Runtime Prediction of SLA Violations Based on Service Event Logsvirtual-campus
 
S-CUBE LP: Proactive SLA Negotiation
S-CUBE LP: Proactive SLA NegotiationS-CUBE LP: Proactive SLA Negotiation
S-CUBE LP: Proactive SLA Negotiationvirtual-campus
 
S-CUBE LP: A Soft-Constraint Based Approach to QoS-Aware Service Selection
S-CUBE LP: A Soft-Constraint Based Approach to QoS-Aware Service SelectionS-CUBE LP: A Soft-Constraint Based Approach to QoS-Aware Service Selection
S-CUBE LP: A Soft-Constraint Based Approach to QoS-Aware Service Selectionvirtual-campus
 
S-CUBE LP: Variability Modeling and QoS Analysis of Web Services Orchestrations
S-CUBE LP: Variability Modeling and QoS Analysis of Web Services OrchestrationsS-CUBE LP: Variability Modeling and QoS Analysis of Web Services Orchestrations
S-CUBE LP: Variability Modeling and QoS Analysis of Web Services Orchestrationsvirtual-campus
 
S-CUBE LP: Run-time Verification for Preventive Adaptation
S-CUBE LP: Run-time Verification for Preventive AdaptationS-CUBE LP: Run-time Verification for Preventive Adaptation
S-CUBE LP: Run-time Verification for Preventive Adaptationvirtual-campus
 
S-CUBE LP: Online Testing for Proactive Adaptation
S-CUBE LP: Online Testing for Proactive AdaptationS-CUBE LP: Online Testing for Proactive Adaptation
S-CUBE LP: Online Testing for Proactive Adaptationvirtual-campus
 
S-CUBE LP: Using Data Properties in Quality Prediction
S-CUBE LP: Using Data Properties in Quality PredictionS-CUBE LP: Using Data Properties in Quality Prediction
S-CUBE LP: Using Data Properties in Quality Predictionvirtual-campus
 
S-CUBE LP: Dynamic Privacy Model for Web Service
S-CUBE LP: Dynamic Privacy Model for Web ServiceS-CUBE LP: Dynamic Privacy Model for Web Service
S-CUBE LP: Dynamic Privacy Model for Web Servicevirtual-campus
 

Mais de virtual-campus (20)

S-CUBE LP: Analysis Operations on SLAs: Detecting and Explaining Conflicting ...
S-CUBE LP: Analysis Operations on SLAs: Detecting and Explaining Conflicting ...S-CUBE LP: Analysis Operations on SLAs: Detecting and Explaining Conflicting ...
S-CUBE LP: Analysis Operations on SLAs: Detecting and Explaining Conflicting ...
 
S-CUBE LP: Quality of Service-Aware Service Composition: QoS optimization in ...
S-CUBE LP: Quality of Service-Aware Service Composition: QoS optimization in ...S-CUBE LP: Quality of Service-Aware Service Composition: QoS optimization in ...
S-CUBE LP: Quality of Service-Aware Service Composition: QoS optimization in ...
 
S-CUBE LP: SLA-based Service Virtualization in distributed, heterogenious env...
S-CUBE LP: SLA-based Service Virtualization in distributed, heterogenious env...S-CUBE LP: SLA-based Service Virtualization in distributed, heterogenious env...
S-CUBE LP: SLA-based Service Virtualization in distributed, heterogenious env...
 
S-CUBE LP: Service Discovery and Task Models
S-CUBE LP: Service Discovery and Task ModelsS-CUBE LP: Service Discovery and Task Models
S-CUBE LP: Service Discovery and Task Models
 
S-CUBE LP: Impact of SBA design on Global Software Development
S-CUBE LP: Impact of SBA design on Global Software DevelopmentS-CUBE LP: Impact of SBA design on Global Software Development
S-CUBE LP: Impact of SBA design on Global Software Development
 
S-CUBE LP: Techniques for design for adaptation
S-CUBE LP: Techniques for design for adaptationS-CUBE LP: Techniques for design for adaptation
S-CUBE LP: Techniques for design for adaptation
 
S-CUBE LP: Self-healing in Mixed Service-oriented Systems
S-CUBE LP: Self-healing in Mixed Service-oriented SystemsS-CUBE LP: Self-healing in Mixed Service-oriented Systems
S-CUBE LP: Self-healing in Mixed Service-oriented Systems
 
S-CUBE LP: Analyzing and Adapting Business Processes based on Ecologically-aw...
S-CUBE LP: Analyzing and Adapting Business Processes based on Ecologically-aw...S-CUBE LP: Analyzing and Adapting Business Processes based on Ecologically-aw...
S-CUBE LP: Analyzing and Adapting Business Processes based on Ecologically-aw...
 
S-CUBE LP: Preventing SLA Violations in Service Compositions Using Aspect-Bas...
S-CUBE LP: Preventing SLA Violations in Service Compositions Using Aspect-Bas...S-CUBE LP: Preventing SLA Violations in Service Compositions Using Aspect-Bas...
S-CUBE LP: Preventing SLA Violations in Service Compositions Using Aspect-Bas...
 
S-CUBE LP: Analyzing Business Process Performance Using KPI Dependency Analysis
S-CUBE LP: Analyzing Business Process Performance Using KPI Dependency AnalysisS-CUBE LP: Analyzing Business Process Performance Using KPI Dependency Analysis
S-CUBE LP: Analyzing Business Process Performance Using KPI Dependency Analysis
 
S-CUBE LP: Process Performance Monitoring in Service Compositions
S-CUBE LP: Process Performance Monitoring in Service CompositionsS-CUBE LP: Process Performance Monitoring in Service Compositions
S-CUBE LP: Process Performance Monitoring in Service Compositions
 
S-CUBE LP: Service Level Agreement based Service infrastructures in the conte...
S-CUBE LP: Service Level Agreement based Service infrastructures in the conte...S-CUBE LP: Service Level Agreement based Service infrastructures in the conte...
S-CUBE LP: Service Level Agreement based Service infrastructures in the conte...
 
S-CUBE LP: Runtime Prediction of SLA Violations Based on Service Event Logs
S-CUBE LP: Runtime Prediction of SLA Violations Based on Service Event LogsS-CUBE LP: Runtime Prediction of SLA Violations Based on Service Event Logs
S-CUBE LP: Runtime Prediction of SLA Violations Based on Service Event Logs
 
S-CUBE LP: Proactive SLA Negotiation
S-CUBE LP: Proactive SLA NegotiationS-CUBE LP: Proactive SLA Negotiation
S-CUBE LP: Proactive SLA Negotiation
 
S-CUBE LP: A Soft-Constraint Based Approach to QoS-Aware Service Selection
S-CUBE LP: A Soft-Constraint Based Approach to QoS-Aware Service SelectionS-CUBE LP: A Soft-Constraint Based Approach to QoS-Aware Service Selection
S-CUBE LP: A Soft-Constraint Based Approach to QoS-Aware Service Selection
 
S-CUBE LP: Variability Modeling and QoS Analysis of Web Services Orchestrations
S-CUBE LP: Variability Modeling and QoS Analysis of Web Services OrchestrationsS-CUBE LP: Variability Modeling and QoS Analysis of Web Services Orchestrations
S-CUBE LP: Variability Modeling and QoS Analysis of Web Services Orchestrations
 
S-CUBE LP: Run-time Verification for Preventive Adaptation
S-CUBE LP: Run-time Verification for Preventive AdaptationS-CUBE LP: Run-time Verification for Preventive Adaptation
S-CUBE LP: Run-time Verification for Preventive Adaptation
 
S-CUBE LP: Online Testing for Proactive Adaptation
S-CUBE LP: Online Testing for Proactive AdaptationS-CUBE LP: Online Testing for Proactive Adaptation
S-CUBE LP: Online Testing for Proactive Adaptation
 
S-CUBE LP: Using Data Properties in Quality Prediction
S-CUBE LP: Using Data Properties in Quality PredictionS-CUBE LP: Using Data Properties in Quality Prediction
S-CUBE LP: Using Data Properties in Quality Prediction
 
S-CUBE LP: Dynamic Privacy Model for Web Service
S-CUBE LP: Dynamic Privacy Model for Web ServiceS-CUBE LP: Dynamic Privacy Model for Web Service
S-CUBE LP: Dynamic Privacy Model for Web Service
 

Último

Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 

Último (20)

Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 

S-CUBE LP: Executing the HOCL: Concept of a Chemical Interpreter

  • 1. S-Cube Learning Package Executing the HOCL: Concept of a Chemical Interpreter INRIA, CNR, SZTAKI Zsolt Németh, SZTAKI www.s-cube-network.eu
  • 2. Learning Package Categorization S-Cube Service Infrastructure Multi-level and self-adaptation Supporting adaptation of service-based applications
  • 3. Learning Package Overview  The notion of chemical modeling  Interpreter for a chemical language – Design considerations – Main constructs – Implementation  Experiences
  • 4. Background: Complex problems in large scale distributed computing • Grid, service based systems, clouds are characterized as – Large number of interacting entities – Heterogeneity – Unknown/unpredictable behaviour – Dynamicity • Coordination, scheduling, optimisation and other complex tasks like – Service composition – Workflow enactment – Process / Service coordination – Resource scheduling – Optimisation – Recovery  Usually hard to solve/formalize, NP-hard, exact solutions are slow, etc.
  • 5. Background: Notion of autonomic computing  Kephart: The vision of autonomic computing (2003)  Parts of the system should be able – Self-configuration – Self-optimization – Self-healing – Self-protection  Since then many self-* proposals
  • 6. Background: Notion of nature inspired algorithms  The vision of autonomic computing ~ nerves  Nature phenomena like ants, molecules, particles, cells, membranes, neurons, immune system, foraging, etc. – possess self-controlled, self-coordinating, self-evolving, etc. properties  Primitive actions emerge as “intelligent” behaviour  Computing processes – can mimic nature phenomena – inspired by nature metaphors  See The Chemical Computing model and HOCL Programming  See Dynamic Adaptation with the Chemical Model
  • 7. The chemical metaphor  Computational chemistry – Simulate chemical processes  Chemical computing model – Inspired by chemistry; chemistry as a metaphor – Data = molecules – Functions = molecules – Computation = reactions – State = chemical solution  Idea: algorithms are artificially sequential – computing steps should be carried out independently, concurrently locally – no notion of serialisation, instructions, computing steps, explicit control – computation is self-evolving
  • 8. A chemical language • Higher Order Chemical Language (HOCL) • based on the -calculus, see The Chemical Computing model and HOCL Programming • Higher order: active molecules (procedures) – capture other active molecules – produce other active molecules • Multiset rewriting • multiset = chemical solution • active molecules capture other molecules and transform • replace P by M if C in <> – P: pattern, captured molecules – M: action, produced molecules – C: condition
  • 9. The Dutch flag example let r = replace <i,red>,<j,white> by <i,white>,<j,red> if i>j in let w = replace <i,white>,<j, blue> by <i, blue>,<j,white> if i>j in let b = replace <i,red>,<j,blue> by <i,blue>,<j,red> if i>j in <<1,blue>,<2,white>,<3,white>,<4,red>,<5,blue>,<6,white>,r,w,b> 2 5 blue white 6 1 r white blue white 3 4 b w red
  • 10. Chemistry and distributed computing  Existing models, proposals, concepts – Self-coordinating distributed systems – Service composition – Workflow enactment – Dynamic workflow – Desktop grid coordination  General purpose chemical tools, interpreters do not exist – Significantly different from current languages, tools, environments – Long development cycle  A short development cycle for chemical tools: combine multiple models – Declarative techniques, pattern matching
  • 11. Learning Package Overview  The notion of chemical modeling  Interpreter for a chemical language – Design considerations – Main constructs – Implementation  Experiences
  • 12. Backgorund: the idea of abstract interpreter  The chemical model is semantically different from most computing models – it is not an imperative language – it is not deterministic – it is not related to the von Neumann model  In such cases an intermediate level of abstraction is introduced: an abstract engine – Prolog, Lisp, and many others are executed in this way  Efficient pattern matching is necessary – best known algorithm: RETE – found in many production systems © S-Cube – 12/<Max>
  • 13. Execution of declarative languages • Highly abstract computational models • Executed on von Neumann physical high level architectures language • Notion of abstract machine compile – hypothetic machine inbetween abstract – gives the illusion of executing a highly abstract engine language natively interprete – high level language compiled to an intermediate language physical – the intermediate language is interpeted machine
  • 14. Production systems  A tool for artificial intelligence applications – knowledge as facts and rules  Facts – assumed true – elementary, learned experience match – produced facts  Rules – transform the knowledge base – pattern check action – condition – action rule selected
  • 15. Conceptual abstract engine  Notion of the abstract interpreter  RETE pattern matching from production system  Intermediate language: that of production system + extensions  To be solved: hierarchical knowledge base – Law of locality – Law of membrane  Parallel/concurrent execution
  • 16. Learning Package Overview  The notion of chemical modeling  Interpreter for a chemical language – Design considerations – Main constructs – Implementation  Experiences
  • 17. Passive molecules  Facts: statements – Sorted (1), (1 2 5 apple), (a b 15 22) - no names but order does matter – Unsorted ((slot1 a)(slot2 apple)), ((x 2)(y 5)(z 6)) - slots have names  Molecule template – (molecule (administrative slots) (instance slots)) - Administrative: id, solution, name - (deftemplate number extends molecule (slot value)  (number (value 1))  (color (type white))
  • 18. Active molecules  Active molecules → rules? – a simple solution but in this way active molecules cannot be modified  Higher order property? – active molecules can be captured and transformed – difficult to realize with rules  Active molecules – Rule: pattern, condition, action – Fact: represents the instance - Derived from molecule template - Can be asserted, retracted, transferred, etc.
  • 19. Active molecules  The Dutch flag example – representation of the “red” molecule (defrule r (rule red) ;match <i, red> and <j, white> if i>j → ;swap <i, red> and <j, white> )
  • 20. Solutions  Two-faced entities – Data when inactive – Process when active - Each solution is an independent thread  Solutions are hierarchical but facts cannot be nested – It is neither a fact nor a rule  Bidirectional references between solutions and molecules – Prolog-like terms (solution (id x)(in nil)(molecules y z)) (molecule (id y)(in x)(value 5)…) 5 blue (molecule (id z)(in x)(type blue)…)
  • 21. Solutions  Single step, flat pattern matching  The Dutch flag example (cont’d) (defrule r (solution (id k)(in nil)(molecules j l)) (rule red) (solution ?x) (molecule (id j)(in k)(value 4)…) (molecule (value ?i)(in ?x)) (molecule (id l)(in k)(type red)…) (molecule (color red)(in ?x)) (solution ?y) (solution (id x)(in nil)(molecules y z)) (molecule (value ?j)(in ?y)) (molecule (id y)(in x)(value 2)…) (molecule (color white)(in ?y)) (test ?i > ?j) (molecule (id z)(in x)(type white)…) → ;swap <i, red> and <j, white>
  • 22. Relocate  Most actions are transferring molecules between solutions – very frequent operation, must be efficient – must not make the intermediate language too complicated  Hard to maintain the references in an efficient way when moving molecules between solutions – serious performance degradation – error prone  External procedure to the language: relocate – Written in Java – Operates on the internal data structures – Adds imperative flavour where necessary
  • 23. Relocate  There are various types of moving molecules – Move x from a to b - replace a:<x, ωa>,b:<ωb> by a:<ωa>,b:<x,ωb> – Move everything except x from a to b - replace a:<x, ωa>,b:<ωb> by a:<x>,b:< ωa,ωb> – Move everything from a to b - replace a:<ωa>,b:<ωb> by a:<>,b:< ωa,ωb>  Different for top-level and other solutions  Deleting solutions  All 15 cases represented by a single instruction – Keep the intermediate language simple – Realize efficiently
  • 24. Relocate  Relocate (what to move) (what not to move) (from) (to)  The Dutch flag example (cont’d) (defrule r (rule red) (solution ?x) (molecule (value ?i)(in ?x)) (molecule (color red)(in ?x)) (solution ?y) (molecule (value ?j)(in ?y)) (molecule (color white)(in ?y)) (test ?i > ?j) ) (relocate (molecule (value ?i)(in ?x)) nil (solution ?x) (solution ?y))
  • 25. Learning Package Overview  The notion of chemical modeling  Interpreter for a chemical language – Design considerations – Main constructs – Implementation  Experiences  Conclusions
  • 26. Implementation  Initial experiments: CLIPS – C Language Integrated Production System  Full implementation: jess – a rule engine for the Java platform  Main components – Interpreter – Graphical user interface – Simple debugging and tracing tools – Custom interfaces
  • 27. Program control Current reaction Breakpoints, adding molecules at runtime Molecules Potential reactions per solution Debug information
  • 28. Learning Package Overview  The notion of chemical modeling  Interpreter for a chemical language – Design considerations – Main constructs – Implementation  Experiences  Conclusions
  • 29. Experiences I  Importance of random conflict resolution  Corresponds to random molecule selection  Foxes and rabbits (Lotka-Volterra) problem – Predators and preys in a closed environment – Their number should oscillate  … Did not oscillate…  Custom made random conflict resolution was necessary – unexpected importance of real randomness in molecule selection
  • 30. Experiences II  Importance of intelligent compilation  Tic-tac-toe game (custom interface) – HOCL active molecule ~ rule - Performance and scalability problems - On larger boards response times are very long – HOCL code broken into many simple rules - Instead of few but complex rules - Better fits the RETE algorithm (RETE better supports these) - No performance issues, good scalability  Intelligent compilation needs further research
  • 31. Learning Package Overview  The notion of chemical modeling  Interpreter for a chemical language – Design considerations – Main constructs – Implementation  Experiences  Conclusions
  • 32. Conclusion  The chemical model is a good candidate for autonomic, self-* computing  Various possibilities in distributed scenarios  General purpose tools are needed  Our approach – Quick realisation of an interpreter – Notion of abstract engine – Combine different models – Interfaces to the environment
  • 33. Connections to other teaching units  Foundations – The Chemical Computing model and HOCL Programming  Application – Dynamic Adaptation with the Chemical Model © S-Cube – 33/<Max>
  • 34. References Vilmos Rajcsányi, Zsolt Németh: The chemical machine: an interpreter for the Higher Order Chemical Language. CGWS@EuroPar 2011, to appear. Jean-Pierre Banatre, Pascal Fradet, and Yann Radenac. Programming self-organizing systems with the higher-order chemical language. International Journal of Unconventional Computing, 3(3):161–177, 2007
  • 35. Acknowledgements The research leading to these results has received funding from the European Community’s Seventh Framework Programme [FP7/2007-2013] under grant agreement 215483 (S-Cube).