SlideShare a Scribd company logo
1 of 43
Download to read offline
A Distributed Simulation of P-Systems
A Syropoulos, EG Mamatas, PC Allilomes and KT Sotiriades
Research Division
Araneous Internet Services
Xanthi, Greece
E-mail: research@araneous.com
– p. 1/14
The core of our work
A simulation of P-systems.
– p. 2/14
The core of our work
A simulation of P-systems.
Simulation: Representation of the operation or features
of one process or system through the use of another.
– p. 2/14
The core of our work
A simulation of P-systems.
Simulation: Representation of the operation or features
of one process or system through the use of another.
We represent only P-systems that are members of the
family NOP2(coo, tar).
– p. 2/14
The core of our work
A simulation of P-systems.
Simulation: Representation of the operation or features
of one process or system through the use of another.
We represent only P-systems that are members of the
family NOP2(coo, tar).
And we used Java’s Remote Method Invocation for the
representation.
– p. 2/14
What are P-Systems?
An abstract model of computation that is inherently
parallel.
– p. 3/14
What are P-Systems?
An abstract model of computation that is inherently
parallel.
A foundation for distributed computing.
– p. 3/14
Tools for Distributed Programming
Two basic ways to implement a distributed algorithms:
A purely distributed platform or
Some network protocol to connect a number of
nodes that interchange data.
– p. 4/14
Tools for Distributed Programming
Two basic ways to implement a distributed algorithms:
A purely distributed platform or
Some network protocol to connect a number of
nodes that interchange data.
But. . . distributed operating systems (e.g., Plan-9) are
not widely available, in general.
– p. 4/14
Tools for Distributed Programming
Two basic ways to implement a distributed algorithms:
A purely distributed platform or
Some network protocol to connect a number of
nodes that interchange data.
But. . . distributed operating systems (e.g., Plan-9) are
not widely available, in general.
Fortunately, all modern general purpose operating
systems provide the necessary network capabilities
that can be utilized to create distributed applications.
– p. 4/14
Tools for Distributed Programming
Two basic ways to implement a distributed algorithms:
A purely distributed platform or
Some network protocol to connect a number of
nodes that interchange data.
But. . . distributed operating systems (e.g., Plan-9) are
not widely available, in general.
Fortunately, all modern general purpose operating
systems provide the necessary network capabilities
that can be utilized to create distributed applications.
– p. 4/14
Tools for Distributed Programming
Two basic ways to implement a distributed algorithms:
A purely distributed platform or
Some network protocol to connect a number of
nodes that interchange data.
But. . . distributed operating systems (e.g., Plan-9) are
not widely available, in general.
Fortunately, all modern general purpose operating
systems provide the necessary network capabilities
that can be utilized to create distributed applications.
– p. 4/14
Network Protocols
Distributed algorithms are implemented:
As a peer-to-peer or
A client-server architecture.
– p. 5/14
Network Protocols
Distributed algorithms are implemented:
As a peer-to-peer or
A client-server architecture.
Sockets: pros and cons
The fundamental tool for the implementation of
TCP/IP networking applications.
Peer-to-peer applications require a (new) network
protocol for data exchange.
– p. 5/14
Network Protocols
Distributed algorithms are implemented:
As a peer-to-peer or
A client-server architecture.
Sockets: pros and cons
The fundamental tool for the implementation of
TCP/IP networking applications.
Peer-to-peer applications require a (new) network
protocol for data exchange.
Java’s Remote Method Invocation: A solution to our
problem!
– p. 5/14
Network Protocols
Distributed algorithms are implemented:
As a peer-to-peer or
A client-server architecture.
Sockets: pros and cons
The fundamental tool for the implementation of
TCP/IP networking applications.
Peer-to-peer applications require a (new) network
protocol for data exchange.
Java’s Remote Method Invocation: A solution to our
problem!
– p. 5/14
Network Protocols
Distributed algorithms are implemented:
As a peer-to-peer or
A client-server architecture.
Sockets: pros and cons
The fundamental tool for the implementation of
TCP/IP networking applications.
Peer-to-peer applications require a (new) network
protocol for data exchange.
Java’s Remote Method Invocation: A solution to our
problem!
– p. 5/14
Network Protocols
Distributed algorithms are implemented:
As a peer-to-peer or
A client-server architecture.
Sockets: pros and cons
The fundamental tool for the implementation of
TCP/IP networking applications.
Peer-to-peer applications require a (new) network
protocol for data exchange.
Java’s Remote Method Invocation: A solution to our
problem!
– p. 5/14
Network Protocols
Distributed algorithms are implemented:
As a peer-to-peer or
A client-server architecture.
Sockets: pros and cons
The fundamental tool for the implementation of
TCP/IP networking applications.
Peer-to-peer applications require a (new) network
protocol for data exchange.
Java’s Remote Method Invocation: A solution to our
problem!
– p. 5/14
Java’s RMI in. . . detail
An object on one JVM can invoke methods on an
object in another JVM.
– p. 6/14
Java’s RMI in. . . detail
An object on one JVM can invoke methods on an
object in another JVM.
The arguments of the remote method are “marshalled”
and sent from the local JVM to the remote one, where
they are are “unmarshalled.”
– p. 6/14
Java’s RMI in. . . detail
An object on one JVM can invoke methods on an
object in another JVM.
The arguments of the remote method are “marshalled”
and sent from the local JVM to the remote one, where
they are are “unmarshalled.”
When the method terminates, the results are
marshalled from the remote machine and sent to the
caller’s JVM.
– p. 6/14
Java’s RMI in. . . detail
An object on one JVM can invoke methods on an
object in another JVM.
The arguments of the remote method are “marshalled”
and sent from the local JVM to the remote one, where
they are are “unmarshalled.”
When the method terminates, the results are
marshalled from the remote machine and sent to the
caller’s JVM.
If for some reasons an exception is raised, the
exception is indicated to the caller.
– p. 6/14
The simulation
It is implemented in Java and makes heavy use of the
Java’s RMI.
– p. 7/14
The simulation
It is implemented in Java and makes heavy use of the
Java’s RMI.
The system accepts an input file that describes a
P-system.
– p. 7/14
The simulation
It is implemented in Java and makes heavy use of the
Java’s RMI.
The system accepts an input file that describes a
P-system.
The simulation is distributed in the sense that a
number of objects execute code on different machines
while they communicate.
– p. 7/14
The simulation
It is implemented in Java and makes heavy use of the
Java’s RMI.
The system accepts an input file that describes a
P-system.
The simulation is distributed in the sense that a
number of objects execute code on different machines
while they communicate.
One object pretends to be the basic compartment,
while the others play the rôle of the internal
compartments.
– p. 7/14
The syntax of the language
system = “system” “is”
alphabet “and”
structure “and”
rules “and”
data “and”
output “and”
maximum “and”
“end”
alphabet = “[” letter { “,” letter } “]”
structure = “[” { “[” “]” } “]”
rules = “{” setOfRules { “,” setOfRules } “}”
– p. 8/14
The syntax of the language, cont.
setOfRules = “[” singleRule { “,” singleRule } “]”
singleRule = left “->” right
left = letter { letter }
right = replacement { replacement }
replacement = “(” letter [ “,” destination ] “)”
destination = “here” | “out” | in
in = “in” possitive-integer
data = “{” Mset { “,” Mset } “}”
– p. 9/14
The syntax of the language, cont.
Mset = “(” { occurance } “)”
occurance = “[” letter “,” possitive-integer “]”
output = “output” possitive-integer
maximum = “maximum” possitive-integer
– p. 10/14
Upon startup, all objects start sending multicast UDP
packets to a well-known multicast address.
– p. 11/14
Details of the simulation
Upon startup, all objects start sending multicast UDP
packets to a well-known multicast address.
Each packet contains the IP address of each sender.
– p. 11/14
Details of the simulation
Upon startup, all objects start sending multicast UDP
packets to a well-known multicast address.
Each packet contains the IP address of each sender.
Multicast packets are received by every object
participating in the “network.”
– p. 11/14
Details of the simulation
Upon startup, all objects start sending multicast UDP
packets to a well-known multicast address.
Each packet contains the IP address of each sender.
Multicast packets are received by every object
participating in the “network.”
The main object knows which objects are alive, so it
can decide whether the computation can start.
– p. 11/14
Details of the simulation, cont.
A universal clock is owned by the object that has the
rôle of the basic compartment.
– p. 12/14
Details of the simulation, cont.
A universal clock is owned by the object that has the
rôle of the basic compartment.
Communication breakdowns are considered as
exceptional situations and are treated accordingly.
– p. 12/14
Details of the simulation, cont.
A universal clock is owned by the object that has the
rôle of the basic compartment.
Communication breakdowns are considered as
exceptional situations and are treated accordingly.
Objects operate in parallel implementing the maximal
parallelism requirement for this “simple” case.
– p. 12/14
Gaining maximal parallelism
Initially, the simulator checks which rules are applicable
and selects them.
– p. 13/14
Gaining maximal parallelism
Initially, the simulator checks which rules are applicable
and selects them.
Applicable rules with common elements on their
left-hand side, are checked for the changes they cause
to the system.
The “weight” of each side of a rule is
equal to the number of elements, or 1 if
there are no elements. The total “weight”
of a rule is equal to the product of its two
“weights.”
Only one rule is selected!
– p. 13/14
Gaining maximal parallelism
Initially, the simulator checks which rules are applicable
and selects them.
Applicable rules with common elements on their
left-hand side, are checked for the changes they cause
to the system.
The “weight” of each side of a rule is
equal to the number of elements, or 1 if
there are no elements. The total “weight”
of a rule is equal to the product of its two
“weights.”
Only one rule is selected!
The remaining rules are used in the actual
computation.
– p. 13/14
Future work
Reimplement the system using the SOAP protocol.
– p. 14/14
Future work
Reimplement the system using the SOAP protocol.
Explore the foundational part of P-system.
– p. 14/14
Future work
Reimplement the system using the SOAP protocol.
Explore the foundational part of P-system.
Design and implementation of a distributed
programming language. . .
– p. 14/14

More Related Content

What's hot

MPI Introduction
MPI IntroductionMPI Introduction
MPI Introduction
Rohit Banga
 
DIY Deep Learning with Caffe Workshop
DIY Deep Learning with Caffe WorkshopDIY Deep Learning with Caffe Workshop
DIY Deep Learning with Caffe Workshop
odsc
 
Messaging With Erlang And Jabber
Messaging With  Erlang And  JabberMessaging With  Erlang And  Jabber
Messaging With Erlang And Jabber
l xf
 

What's hot (20)

Standard measurements
Standard measurementsStandard measurements
Standard measurements
 
MPI message passing interface
MPI message passing interfaceMPI message passing interface
MPI message passing interface
 
Erlang
ErlangErlang
Erlang
 
Network programming in Java
Network programming in JavaNetwork programming in Java
Network programming in Java
 
Introduction to MPI
Introduction to MPIIntroduction to MPI
Introduction to MPI
 
Algoritmi e Calcolo Parallelo 2012/2013 - OpenMP
Algoritmi e Calcolo Parallelo 2012/2013 - OpenMPAlgoritmi e Calcolo Parallelo 2012/2013 - OpenMP
Algoritmi e Calcolo Parallelo 2012/2013 - OpenMP
 
More mpi4py
More mpi4pyMore mpi4py
More mpi4py
 
CSP as a Domain-Specific Language Embedded in Python and Jython
CSP as a Domain-Specific Language Embedded in Python and JythonCSP as a Domain-Specific Language Embedded in Python and Jython
CSP as a Domain-Specific Language Embedded in Python and Jython
 
Move Message Passing Interface Applications to the Next Level
Move Message Passing Interface Applications to the Next LevelMove Message Passing Interface Applications to the Next Level
Move Message Passing Interface Applications to the Next Level
 
mpi4py.pdf
mpi4py.pdfmpi4py.pdf
mpi4py.pdf
 
Nsby examples
Nsby examplesNsby examples
Nsby examples
 
Report_Ines_Swayam
Report_Ines_SwayamReport_Ines_Swayam
Report_Ines_Swayam
 
Peyton jones-2011-parallel haskell-the_future
Peyton jones-2011-parallel haskell-the_futurePeyton jones-2011-parallel haskell-the_future
Peyton jones-2011-parallel haskell-the_future
 
Simon Peyton Jones: Managing parallelism
Simon Peyton Jones: Managing parallelismSimon Peyton Jones: Managing parallelism
Simon Peyton Jones: Managing parallelism
 
MPI Introduction
MPI IntroductionMPI Introduction
MPI Introduction
 
DIY Deep Learning with Caffe Workshop
DIY Deep Learning with Caffe WorkshopDIY Deep Learning with Caffe Workshop
DIY Deep Learning with Caffe Workshop
 
instruction of install Caffe on ubuntu
instruction of install Caffe on ubuntu instruction of install Caffe on ubuntu
instruction of install Caffe on ubuntu
 
Hetergeneous Compute with Standards Based OFI/MPI/OpenMP Programming
Hetergeneous Compute with Standards Based OFI/MPI/OpenMP ProgrammingHetergeneous Compute with Standards Based OFI/MPI/OpenMP Programming
Hetergeneous Compute with Standards Based OFI/MPI/OpenMP Programming
 
Caffe - A deep learning framework (Ramin Fahimi)
Caffe - A deep learning framework (Ramin Fahimi)Caffe - A deep learning framework (Ramin Fahimi)
Caffe - A deep learning framework (Ramin Fahimi)
 
Messaging With Erlang And Jabber
Messaging With  Erlang And  JabberMessaging With  Erlang And  Jabber
Messaging With Erlang And Jabber
 

Viewers also liked

Viewers also liked (19)

Electronic defamation
Electronic defamationElectronic defamation
Electronic defamation
 
TR Internet Safety
TR Internet SafetyTR Internet Safety
TR Internet Safety
 
GR Internet Addiction
GR Internet AddictionGR Internet Addiction
GR Internet Addiction
 
RO Internet Addiction
RO Internet AddictionRO Internet Addiction
RO Internet Addiction
 
Models of Non-standard Computation
Models of Non-standard ComputationModels of Non-standard Computation
Models of Non-standard Computation
 
RO Negative Effects of Computer Games
RO Negative Effects of Computer GamesRO Negative Effects of Computer Games
RO Negative Effects of Computer Games
 
How do we get better at being artists
How do we get better at being artistsHow do we get better at being artists
How do we get better at being artists
 
Digital Typography
Digital TypographyDigital Typography
Digital Typography
 
Electronic defamation
Electronic defamationElectronic defamation
Electronic defamation
 
Cyber Bullying
Cyber BullyingCyber Bullying
Cyber Bullying
 
Study of Internet Addiction in 5 Europena Schools
Study of Internet Addiction in 5 Europena SchoolsStudy of Internet Addiction in 5 Europena Schools
Study of Internet Addiction in 5 Europena Schools
 
RO Sleep Deprivation in Teens
RO Sleep Deprivation in TeensRO Sleep Deprivation in Teens
RO Sleep Deprivation in Teens
 
AT_School_Activities
AT_School_ActivitiesAT_School_Activities
AT_School_Activities
 
RO impact of excessive computer use on global health state
RO impact of excessive computer use on global health stateRO impact of excessive computer use on global health state
RO impact of excessive computer use on global health state
 
PT_Internet_Addiction
PT_Internet_AddictionPT_Internet_Addiction
PT_Internet_Addiction
 
History of the_internet
History of the_internetHistory of the_internet
History of the_internet
 
RO The Effects of Video Games
RO The Effects of Video GamesRO The Effects of Video Games
RO The Effects of Video Games
 
Fuzzy Topological Systems
Fuzzy Topological SystemsFuzzy Topological Systems
Fuzzy Topological Systems
 
Cyber bullying by National Republican Guard
Cyber bullying by National Republican GuardCyber bullying by National Republican Guard
Cyber bullying by National Republican Guard
 

Similar to A Distributed Simulation of P-Systems

Scc2012 Scala
Scc2012 ScalaScc2012 Scala
Scc2012 Scala
steccami
 
10 years in Network Protocol testing L2 L3 L4-L7 Tcl Python Manual and Automa...
10 years in Network Protocol testing L2 L3 L4-L7 Tcl Python Manual and Automa...10 years in Network Protocol testing L2 L3 L4-L7 Tcl Python Manual and Automa...
10 years in Network Protocol testing L2 L3 L4-L7 Tcl Python Manual and Automa...
Mullaiselvan Mohan
 

Similar to A Distributed Simulation of P-Systems (20)

P Systems and Distributed Computing
P Systems and Distributed ComputingP Systems and Distributed Computing
P Systems and Distributed Computing
 
Lecture 5: Software platforms and services
Lecture 5: Software platforms and services Lecture 5: Software platforms and services
Lecture 5: Software platforms and services
 
G04844450
G04844450G04844450
G04844450
 
Iygapyisi cause10-slideshare
Iygapyisi cause10-slideshareIygapyisi cause10-slideshare
Iygapyisi cause10-slideshare
 
Cn lab manual 150702
Cn lab manual 150702Cn lab manual 150702
Cn lab manual 150702
 
Features & benifits of ipv6 firewall
Features & benifits of ipv6 firewallFeatures & benifits of ipv6 firewall
Features & benifits of ipv6 firewall
 
Intro to exploits in metasploitand payloads in msfvenom
Intro to exploits in metasploitand payloads in msfvenomIntro to exploits in metasploitand payloads in msfvenom
Intro to exploits in metasploitand payloads in msfvenom
 
IPv4 to IPv6 network transformation
IPv4 to IPv6 network transformationIPv4 to IPv6 network transformation
IPv4 to IPv6 network transformation
 
Paper9250 implementation of an i pv6 stack for ns-3
Paper9250 implementation of an i pv6 stack for ns-3Paper9250 implementation of an i pv6 stack for ns-3
Paper9250 implementation of an i pv6 stack for ns-3
 
opnet lab report
opnet lab reportopnet lab report
opnet lab report
 
Scc2012 Scala
Scc2012 ScalaScc2012 Scala
Scc2012 Scala
 
Java seminar.pptx
Java seminar.pptxJava seminar.pptx
Java seminar.pptx
 
OSHI - Open Source Hybrid IP/SDN networking @EWSDN14
OSHI - Open Source Hybrid IP/SDN networking @EWSDN14OSHI - Open Source Hybrid IP/SDN networking @EWSDN14
OSHI - Open Source Hybrid IP/SDN networking @EWSDN14
 
Who pulls the strings?
Who pulls the strings?Who pulls the strings?
Who pulls the strings?
 
10 years in Network Protocol testing L2 L3 L4-L7 Tcl Python Manual and Automa...
10 years in Network Protocol testing L2 L3 L4-L7 Tcl Python Manual and Automa...10 years in Network Protocol testing L2 L3 L4-L7 Tcl Python Manual and Automa...
10 years in Network Protocol testing L2 L3 L4-L7 Tcl Python Manual and Automa...
 
Network simulator
Network simulatorNetwork simulator
Network simulator
 
Cytoscape and External Data Analysis Tools
Cytoscape and External Data Analysis ToolsCytoscape and External Data Analysis Tools
Cytoscape and External Data Analysis Tools
 
Virtual lab - Routing in Mobile Adhoc Networks
Virtual lab - Routing in Mobile Adhoc NetworksVirtual lab - Routing in Mobile Adhoc Networks
Virtual lab - Routing in Mobile Adhoc Networks
 
Jubatus talk at HadoopSummit 2013
Jubatus talk at HadoopSummit 2013Jubatus talk at HadoopSummit 2013
Jubatus talk at HadoopSummit 2013
 
IRATI Experimentation, US-EU FIRE Workshop
IRATI Experimentation, US-EU FIRE WorkshopIRATI Experimentation, US-EU FIRE Workshop
IRATI Experimentation, US-EU FIRE Workshop
 

More from Apostolos Syropoulos

More from Apostolos Syropoulos (20)

A Presentation of Braga. It was made by students of school
A Presentation of Braga. It was made by students of schoolA Presentation of Braga. It was made by students of school
A Presentation of Braga. It was made by students of school
 
A short presentation of Italy made by students of a school in Cosimo, Sicily,...
A short presentation of Italy made by students of a school in Cosimo, Sicily,...A short presentation of Italy made by students of a school in Cosimo, Sicily,...
A short presentation of Italy made by students of a school in Cosimo, Sicily,...
 
Social Media Algorithms - Part of the "Computers in out Life" Erasmus+ Project
Social Media Algorithms - Part of the "Computers in out Life" Erasmus+ ProjectSocial Media Algorithms - Part of the "Computers in out Life" Erasmus+ Project
Social Media Algorithms - Part of the "Computers in out Life" Erasmus+ Project
 
A gentle introduction to Artificial Intelligence
A gentle introduction to Artificial IntelligenceA gentle introduction to Artificial Intelligence
A gentle introduction to Artificial Intelligence
 
ΑΡΧΟΝΤΙΚΟ ΠΑΜΟΥΚΤΣΟΓΛΟΥ - Pamouktsoglu Mansion
ΑΡΧΟΝΤΙΚΟ ΠΑΜΟΥΚΤΣΟΓΛΟΥ - Pamouktsoglu MansionΑΡΧΟΝΤΙΚΟ ΠΑΜΟΥΚΤΣΟΓΛΟΥ - Pamouktsoglu Mansion
ΑΡΧΟΝΤΙΚΟ ΠΑΜΟΥΚΤΣΟΓΛΟΥ - Pamouktsoglu Mansion
 
Το Ορφανοτροφείο Θηλέων Ξάνθης
Το Ορφανοτροφείο Θηλέων ΞάνθηςΤο Ορφανοτροφείο Θηλέων Ξάνθης
Το Ορφανοτροφείο Θηλέων Ξάνθης
 
Το Αρχαιολογικό Μουσείο Αβδήρων
Το Αρχαιολογικό Μουσείο ΑβδήρωνΤο Αρχαιολογικό Μουσείο Αβδήρων
Το Αρχαιολογικό Μουσείο Αβδήρων
 
Ταφικά έθιμα στα αρχαία Άβδηρα
Ταφικά έθιμα στα αρχαία ΆβδηραΤαφικά έθιμα στα αρχαία Άβδηρα
Ταφικά έθιμα στα αρχαία Άβδηρα
 
Το ορφανοτροφείο της Ξάνθης
Το ορφανοτροφείο της ΞάνθηςΤο ορφανοτροφείο της Ξάνθης
Το ορφανοτροφείο της Ξάνθης
 
Μικρασιατική κατατστροφή - Μέρος 3
Μικρασιατική κατατστροφή - Μέρος 3Μικρασιατική κατατστροφή - Μέρος 3
Μικρασιατική κατατστροφή - Μέρος 3
 
Μικρασιατική κατατστροφή - Μέρος 2
Μικρασιατική κατατστροφή - Μέρος 2Μικρασιατική κατατστροφή - Μέρος 2
Μικρασιατική κατατστροφή - Μέρος 2
 
Αφιέρωμα στη Μικρά Ασία
Αφιέρωμα στη Μικρά ΑσίαΑφιέρωμα στη Μικρά Ασία
Αφιέρωμα στη Μικρά Ασία
 
ΕΚΠΑΙΔΕΥΤΙΚΗ ΔΡΑΣΗ «ΙΧΝΙΛΑΤΩΝΤΑΣ ΤΟ ΠΑΡΕΛΘΟΝ ΤΟΥ ΤΟΠΟΥ ΜΑΣ».pptx
ΕΚΠΑΙΔΕΥΤΙΚΗ ΔΡΑΣΗ «ΙΧΝΙΛΑΤΩΝΤΑΣ ΤΟ ΠΑΡΕΛΘΟΝ ΤΟΥ ΤΟΠΟΥ ΜΑΣ».pptxΕΚΠΑΙΔΕΥΤΙΚΗ ΔΡΑΣΗ «ΙΧΝΙΛΑΤΩΝΤΑΣ ΤΟ ΠΑΡΕΛΘΟΝ ΤΟΥ ΤΟΠΟΥ ΜΑΣ».pptx
ΕΚΠΑΙΔΕΥΤΙΚΗ ΔΡΑΣΗ «ΙΧΝΙΛΑΤΩΝΤΑΣ ΤΟ ΠΑΡΕΛΘΟΝ ΤΟΥ ΤΟΠΟΥ ΜΑΣ».pptx
 
How to Convert Units of Measure
How to Convert Units of MeasureHow to Convert Units of Measure
How to Convert Units of Measure
 
Συγγραφή μαθηματικού κειμένου με χρήση του XeLaTeX (Writing mathematical tex...
Συγγραφή μαθηματικού κειμένου με χρήση του XeLaTeX (Writing  mathematical tex...Συγγραφή μαθηματικού κειμένου με χρήση του XeLaTeX (Writing  mathematical tex...
Συγγραφή μαθηματικού κειμένου με χρήση του XeLaTeX (Writing mathematical tex...
 
Inflected Forms of Nouns and Adjectives
Inflected Forms of Nouns and AdjectivesInflected Forms of Nouns and Adjectives
Inflected Forms of Nouns and Adjectives
 
Learning Simple Phrases in Greek
Learning Simple Phrases in GreekLearning Simple Phrases in Greek
Learning Simple Phrases in Greek
 
Computational Thinking and...the Greek Alphabet
Computational Thinking and...the Greek AlphabetComputational Thinking and...the Greek Alphabet
Computational Thinking and...the Greek Alphabet
 
Το Αποτύπωμα του 1821 στον Τόπο μου
Το Αποτύπωμα του 1821 στον Τόπο μουΤο Αποτύπωμα του 1821 στον Τόπο μου
Το Αποτύπωμα του 1821 στον Τόπο μου
 
Παγκόσμια ημέρα της σταθεράς π=3,14...
Παγκόσμια ημέρα της σταθεράς π=3,14...Παγκόσμια ημέρα της σταθεράς π=3,14...
Παγκόσμια ημέρα της σταθεράς π=3,14...
 

Recently uploaded

SCIENCE-4-QUARTER4-WEEK-4-PPT-1 (1).pptx
SCIENCE-4-QUARTER4-WEEK-4-PPT-1 (1).pptxSCIENCE-4-QUARTER4-WEEK-4-PPT-1 (1).pptx
SCIENCE-4-QUARTER4-WEEK-4-PPT-1 (1).pptx
RizalinePalanog2
 
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Sérgio Sacani
 
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 bAsymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Sérgio Sacani
 
Pests of cotton_Sucking_Pests_Dr.UPR.pdf
Pests of cotton_Sucking_Pests_Dr.UPR.pdfPests of cotton_Sucking_Pests_Dr.UPR.pdf
Pests of cotton_Sucking_Pests_Dr.UPR.pdf
PirithiRaju
 
Seismic Method Estimate velocity from seismic data.pptx
Seismic Method Estimate velocity from seismic  data.pptxSeismic Method Estimate velocity from seismic  data.pptx
Seismic Method Estimate velocity from seismic data.pptx
AlMamun560346
 
Chemical Tests; flame test, positive and negative ions test Edexcel Internati...
Chemical Tests; flame test, positive and negative ions test Edexcel Internati...Chemical Tests; flame test, positive and negative ions test Edexcel Internati...
Chemical Tests; flame test, positive and negative ions test Edexcel Internati...
ssuser79fe74
 
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdfPests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
PirithiRaju
 
Formation of low mass protostars and their circumstellar disks
Formation of low mass protostars and their circumstellar disksFormation of low mass protostars and their circumstellar disks
Formation of low mass protostars and their circumstellar disks
Sérgio Sacani
 

Recently uploaded (20)

module for grade 9 for distance learning
module for grade 9 for distance learningmodule for grade 9 for distance learning
module for grade 9 for distance learning
 
Call Girls Alandi Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Alandi Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Alandi Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Alandi Call Me 7737669865 Budget Friendly No Advance Booking
 
SCIENCE-4-QUARTER4-WEEK-4-PPT-1 (1).pptx
SCIENCE-4-QUARTER4-WEEK-4-PPT-1 (1).pptxSCIENCE-4-QUARTER4-WEEK-4-PPT-1 (1).pptx
SCIENCE-4-QUARTER4-WEEK-4-PPT-1 (1).pptx
 
Forensic Biology & Its biological significance.pdf
Forensic Biology & Its biological significance.pdfForensic Biology & Its biological significance.pdf
Forensic Biology & Its biological significance.pdf
 
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
 
Kochi ❤CALL GIRL 84099*07087 ❤CALL GIRLS IN Kochi ESCORT SERVICE❤CALL GIRL
Kochi ❤CALL GIRL 84099*07087 ❤CALL GIRLS IN Kochi ESCORT SERVICE❤CALL GIRLKochi ❤CALL GIRL 84099*07087 ❤CALL GIRLS IN Kochi ESCORT SERVICE❤CALL GIRL
Kochi ❤CALL GIRL 84099*07087 ❤CALL GIRLS IN Kochi ESCORT SERVICE❤CALL GIRL
 
Hire 💕 9907093804 Hooghly Call Girls Service Call Girls Agency
Hire 💕 9907093804 Hooghly Call Girls Service Call Girls AgencyHire 💕 9907093804 Hooghly Call Girls Service Call Girls Agency
Hire 💕 9907093804 Hooghly Call Girls Service Call Girls Agency
 
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 bAsymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
 
Clean In Place(CIP).pptx .
Clean In Place(CIP).pptx                 .Clean In Place(CIP).pptx                 .
Clean In Place(CIP).pptx .
 
American Type Culture Collection (ATCC).pptx
American Type Culture Collection (ATCC).pptxAmerican Type Culture Collection (ATCC).pptx
American Type Culture Collection (ATCC).pptx
 
Botany 4th semester series (krishna).pdf
Botany 4th semester series (krishna).pdfBotany 4th semester series (krishna).pdf
Botany 4th semester series (krishna).pdf
 
Pests of cotton_Sucking_Pests_Dr.UPR.pdf
Pests of cotton_Sucking_Pests_Dr.UPR.pdfPests of cotton_Sucking_Pests_Dr.UPR.pdf
Pests of cotton_Sucking_Pests_Dr.UPR.pdf
 
GBSN - Microbiology (Unit 1)
GBSN - Microbiology (Unit 1)GBSN - Microbiology (Unit 1)
GBSN - Microbiology (Unit 1)
 
Seismic Method Estimate velocity from seismic data.pptx
Seismic Method Estimate velocity from seismic  data.pptxSeismic Method Estimate velocity from seismic  data.pptx
Seismic Method Estimate velocity from seismic data.pptx
 
Proteomics: types, protein profiling steps etc.
Proteomics: types, protein profiling steps etc.Proteomics: types, protein profiling steps etc.
Proteomics: types, protein profiling steps etc.
 
❤Jammu Kashmir Call Girls 8617697112 Personal Whatsapp Number 💦✅.
❤Jammu Kashmir Call Girls 8617697112 Personal Whatsapp Number 💦✅.❤Jammu Kashmir Call Girls 8617697112 Personal Whatsapp Number 💦✅.
❤Jammu Kashmir Call Girls 8617697112 Personal Whatsapp Number 💦✅.
 
Chemistry 4th semester series (krishna).pdf
Chemistry 4th semester series (krishna).pdfChemistry 4th semester series (krishna).pdf
Chemistry 4th semester series (krishna).pdf
 
Chemical Tests; flame test, positive and negative ions test Edexcel Internati...
Chemical Tests; flame test, positive and negative ions test Edexcel Internati...Chemical Tests; flame test, positive and negative ions test Edexcel Internati...
Chemical Tests; flame test, positive and negative ions test Edexcel Internati...
 
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdfPests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
 
Formation of low mass protostars and their circumstellar disks
Formation of low mass protostars and their circumstellar disksFormation of low mass protostars and their circumstellar disks
Formation of low mass protostars and their circumstellar disks
 

A Distributed Simulation of P-Systems

  • 1. A Distributed Simulation of P-Systems A Syropoulos, EG Mamatas, PC Allilomes and KT Sotiriades Research Division Araneous Internet Services Xanthi, Greece E-mail: research@araneous.com – p. 1/14
  • 2. The core of our work A simulation of P-systems. – p. 2/14
  • 3. The core of our work A simulation of P-systems. Simulation: Representation of the operation or features of one process or system through the use of another. – p. 2/14
  • 4. The core of our work A simulation of P-systems. Simulation: Representation of the operation or features of one process or system through the use of another. We represent only P-systems that are members of the family NOP2(coo, tar). – p. 2/14
  • 5. The core of our work A simulation of P-systems. Simulation: Representation of the operation or features of one process or system through the use of another. We represent only P-systems that are members of the family NOP2(coo, tar). And we used Java’s Remote Method Invocation for the representation. – p. 2/14
  • 6. What are P-Systems? An abstract model of computation that is inherently parallel. – p. 3/14
  • 7. What are P-Systems? An abstract model of computation that is inherently parallel. A foundation for distributed computing. – p. 3/14
  • 8. Tools for Distributed Programming Two basic ways to implement a distributed algorithms: A purely distributed platform or Some network protocol to connect a number of nodes that interchange data. – p. 4/14
  • 9. Tools for Distributed Programming Two basic ways to implement a distributed algorithms: A purely distributed platform or Some network protocol to connect a number of nodes that interchange data. But. . . distributed operating systems (e.g., Plan-9) are not widely available, in general. – p. 4/14
  • 10. Tools for Distributed Programming Two basic ways to implement a distributed algorithms: A purely distributed platform or Some network protocol to connect a number of nodes that interchange data. But. . . distributed operating systems (e.g., Plan-9) are not widely available, in general. Fortunately, all modern general purpose operating systems provide the necessary network capabilities that can be utilized to create distributed applications. – p. 4/14
  • 11. Tools for Distributed Programming Two basic ways to implement a distributed algorithms: A purely distributed platform or Some network protocol to connect a number of nodes that interchange data. But. . . distributed operating systems (e.g., Plan-9) are not widely available, in general. Fortunately, all modern general purpose operating systems provide the necessary network capabilities that can be utilized to create distributed applications. – p. 4/14
  • 12. Tools for Distributed Programming Two basic ways to implement a distributed algorithms: A purely distributed platform or Some network protocol to connect a number of nodes that interchange data. But. . . distributed operating systems (e.g., Plan-9) are not widely available, in general. Fortunately, all modern general purpose operating systems provide the necessary network capabilities that can be utilized to create distributed applications. – p. 4/14
  • 13. Network Protocols Distributed algorithms are implemented: As a peer-to-peer or A client-server architecture. – p. 5/14
  • 14. Network Protocols Distributed algorithms are implemented: As a peer-to-peer or A client-server architecture. Sockets: pros and cons The fundamental tool for the implementation of TCP/IP networking applications. Peer-to-peer applications require a (new) network protocol for data exchange. – p. 5/14
  • 15. Network Protocols Distributed algorithms are implemented: As a peer-to-peer or A client-server architecture. Sockets: pros and cons The fundamental tool for the implementation of TCP/IP networking applications. Peer-to-peer applications require a (new) network protocol for data exchange. Java’s Remote Method Invocation: A solution to our problem! – p. 5/14
  • 16. Network Protocols Distributed algorithms are implemented: As a peer-to-peer or A client-server architecture. Sockets: pros and cons The fundamental tool for the implementation of TCP/IP networking applications. Peer-to-peer applications require a (new) network protocol for data exchange. Java’s Remote Method Invocation: A solution to our problem! – p. 5/14
  • 17. Network Protocols Distributed algorithms are implemented: As a peer-to-peer or A client-server architecture. Sockets: pros and cons The fundamental tool for the implementation of TCP/IP networking applications. Peer-to-peer applications require a (new) network protocol for data exchange. Java’s Remote Method Invocation: A solution to our problem! – p. 5/14
  • 18. Network Protocols Distributed algorithms are implemented: As a peer-to-peer or A client-server architecture. Sockets: pros and cons The fundamental tool for the implementation of TCP/IP networking applications. Peer-to-peer applications require a (new) network protocol for data exchange. Java’s Remote Method Invocation: A solution to our problem! – p. 5/14
  • 19. Network Protocols Distributed algorithms are implemented: As a peer-to-peer or A client-server architecture. Sockets: pros and cons The fundamental tool for the implementation of TCP/IP networking applications. Peer-to-peer applications require a (new) network protocol for data exchange. Java’s Remote Method Invocation: A solution to our problem! – p. 5/14
  • 20. Java’s RMI in. . . detail An object on one JVM can invoke methods on an object in another JVM. – p. 6/14
  • 21. Java’s RMI in. . . detail An object on one JVM can invoke methods on an object in another JVM. The arguments of the remote method are “marshalled” and sent from the local JVM to the remote one, where they are are “unmarshalled.” – p. 6/14
  • 22. Java’s RMI in. . . detail An object on one JVM can invoke methods on an object in another JVM. The arguments of the remote method are “marshalled” and sent from the local JVM to the remote one, where they are are “unmarshalled.” When the method terminates, the results are marshalled from the remote machine and sent to the caller’s JVM. – p. 6/14
  • 23. Java’s RMI in. . . detail An object on one JVM can invoke methods on an object in another JVM. The arguments of the remote method are “marshalled” and sent from the local JVM to the remote one, where they are are “unmarshalled.” When the method terminates, the results are marshalled from the remote machine and sent to the caller’s JVM. If for some reasons an exception is raised, the exception is indicated to the caller. – p. 6/14
  • 24. The simulation It is implemented in Java and makes heavy use of the Java’s RMI. – p. 7/14
  • 25. The simulation It is implemented in Java and makes heavy use of the Java’s RMI. The system accepts an input file that describes a P-system. – p. 7/14
  • 26. The simulation It is implemented in Java and makes heavy use of the Java’s RMI. The system accepts an input file that describes a P-system. The simulation is distributed in the sense that a number of objects execute code on different machines while they communicate. – p. 7/14
  • 27. The simulation It is implemented in Java and makes heavy use of the Java’s RMI. The system accepts an input file that describes a P-system. The simulation is distributed in the sense that a number of objects execute code on different machines while they communicate. One object pretends to be the basic compartment, while the others play the rôle of the internal compartments. – p. 7/14
  • 28. The syntax of the language system = “system” “is” alphabet “and” structure “and” rules “and” data “and” output “and” maximum “and” “end” alphabet = “[” letter { “,” letter } “]” structure = “[” { “[” “]” } “]” rules = “{” setOfRules { “,” setOfRules } “}” – p. 8/14
  • 29. The syntax of the language, cont. setOfRules = “[” singleRule { “,” singleRule } “]” singleRule = left “->” right left = letter { letter } right = replacement { replacement } replacement = “(” letter [ “,” destination ] “)” destination = “here” | “out” | in in = “in” possitive-integer data = “{” Mset { “,” Mset } “}” – p. 9/14
  • 30. The syntax of the language, cont. Mset = “(” { occurance } “)” occurance = “[” letter “,” possitive-integer “]” output = “output” possitive-integer maximum = “maximum” possitive-integer – p. 10/14
  • 31. Upon startup, all objects start sending multicast UDP packets to a well-known multicast address. – p. 11/14
  • 32. Details of the simulation Upon startup, all objects start sending multicast UDP packets to a well-known multicast address. Each packet contains the IP address of each sender. – p. 11/14
  • 33. Details of the simulation Upon startup, all objects start sending multicast UDP packets to a well-known multicast address. Each packet contains the IP address of each sender. Multicast packets are received by every object participating in the “network.” – p. 11/14
  • 34. Details of the simulation Upon startup, all objects start sending multicast UDP packets to a well-known multicast address. Each packet contains the IP address of each sender. Multicast packets are received by every object participating in the “network.” The main object knows which objects are alive, so it can decide whether the computation can start. – p. 11/14
  • 35. Details of the simulation, cont. A universal clock is owned by the object that has the rôle of the basic compartment. – p. 12/14
  • 36. Details of the simulation, cont. A universal clock is owned by the object that has the rôle of the basic compartment. Communication breakdowns are considered as exceptional situations and are treated accordingly. – p. 12/14
  • 37. Details of the simulation, cont. A universal clock is owned by the object that has the rôle of the basic compartment. Communication breakdowns are considered as exceptional situations and are treated accordingly. Objects operate in parallel implementing the maximal parallelism requirement for this “simple” case. – p. 12/14
  • 38. Gaining maximal parallelism Initially, the simulator checks which rules are applicable and selects them. – p. 13/14
  • 39. Gaining maximal parallelism Initially, the simulator checks which rules are applicable and selects them. Applicable rules with common elements on their left-hand side, are checked for the changes they cause to the system. The “weight” of each side of a rule is equal to the number of elements, or 1 if there are no elements. The total “weight” of a rule is equal to the product of its two “weights.” Only one rule is selected! – p. 13/14
  • 40. Gaining maximal parallelism Initially, the simulator checks which rules are applicable and selects them. Applicable rules with common elements on their left-hand side, are checked for the changes they cause to the system. The “weight” of each side of a rule is equal to the number of elements, or 1 if there are no elements. The total “weight” of a rule is equal to the product of its two “weights.” Only one rule is selected! The remaining rules are used in the actual computation. – p. 13/14
  • 41. Future work Reimplement the system using the SOAP protocol. – p. 14/14
  • 42. Future work Reimplement the system using the SOAP protocol. Explore the foundational part of P-system. – p. 14/14
  • 43. Future work Reimplement the system using the SOAP protocol. Explore the foundational part of P-system. Design and implementation of a distributed programming language. . . – p. 14/14