• R/O
  • SSH

Commit

Tags
Aucun tag

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

Commit MetaInfo

Révision6ececae340378a24047f349ae054f16e761bcd55 (tree)
l'heure2022-10-01 05:44:29
AuteurAlbert Mietus < albert AT mietus DOT nl >
CommiterAlbert Mietus < albert AT mietus DOT nl >

Message de Log

AsIs

Change Summary

Modification

diff -r 6c315c60604e -r 6ececae34037 CCastle/2.Analyse/8.ConcurrentComputingConcepts.rst
--- a/CCastle/2.Analyse/8.ConcurrentComputingConcepts.rst Fri Sep 30 19:57:47 2022 +0200
+++ b/CCastle/2.Analyse/8.ConcurrentComputingConcepts.rst Fri Sep 30 22:44:29 2022 +0200
@@ -301,8 +301,6 @@
301301 Then, a *faster* conversation with a bit of noise is commonly preferred.
302302
303303
304-
305-
306304 .. todo:: All below is draft and needs work!!!!
307305
308306 Process calculus & more
@@ -365,7 +363,7 @@
365363 processes -- and prove the are the same (or nor). And look for patterns that should not (never) happen; like deadlocks_
366364 and livelocks_.
367365
368-I like this algebra aspect, as we can use inside some Castle-Tool.
366+I like this algebra aspect, as we can use inside some Castle-Tool to validate the design is sound.
369367
370368 Π-calculus
371369 ~~~~~~~~~~
@@ -381,10 +379,36 @@
381379 no functions, not even an `if-statement` (all quite fundamental for a programming language). It is bases on **names**,
382380 which mirrors both *variables* and *channels*.
383381
384-Actor Models
385-------------
382+The Actor Model
383+---------------
386384
387-Calculus-vs-Actors_
385+The Actor-Model_ is strictly speaking not a Process-Calculus_, but it has many similarities. A big dissimilarity is the
386+inspiration; where a Process-Calculus_ are based on mathematics, the Actor-Model_ is inspirited by physics. See
387+Calculus-vs-Actors_ for more on there (dis)similarities.
388+|BR|
389+The Actor-Model_ begun in 1973, matured in the 80’s, and become fashionable when “cloud computing” started. There are
390+many “bold-on” actor-packages for almost all populair languages. They focus mostly on *robust, scalable, distributed
391+applications*; less on the speed-up of a single programm. Still, the :ref:`”Many Core” concept<CC>` we use for CCastle
392+is closely related.
393+
394+Being inspired by physics, which is concurent by nature, the perception differs. An *actor* is local, “active”, and
395+independent. It can only act on message that it receives, sent new messages, and/or create new actors. It (typically)
396+has internal state, but that is completely internal (or *private*, as developers call it).
397+|BR|
398+There is no global state, no central synchronisation, no “shared memory”, no (overal) orchestration. Everything is
399+decentral.
400+
401+One can model many well-known software-systems as an Actor-Model_: like email, SOAP, and other web-services. But also
402+interrupt-handling can modeled with actors: An extern message triggers the “*interrupt-handler* actor” --async of the
403+main-code; another *actor*-- which has to sent data (aka a message) to the main actor.
404+
405+Another interesting dissimilarity is that the Actor-Model_, and the Actor-Model-Theory_, is also influent by
406+SW-Enginering and there languages. Which probably made is also convenient to design new programming-languages on this
407+theory.
408+
409+
410+
411+.. hint:: Unlike Process-Calculus_\es, there is only one Actor-Model_
388412
389413 ----------
390414
@@ -436,31 +460,33 @@
436460 Those ‘rules’ resembles the boolean algebra, that most developers know: `NOT(x OR y) == NOT(x) AND NOT(y)`. See
437461 wikipedia for examples on ACP_.
438462
463+.. _ACP: https://en.wikipedia.org/wiki/Algebra_of_communicating_processes
464+.. _Actor-Model-Theory: https://en.wikipedia.org/wiki/Actor_model_theory
465+.. _Actor-Model: https://en.wikipedia.org/wiki/Actor_model
466+.. _Broadcasting: https://en.wikipedia.org/wiki/Broadcasting_(networking)
467+.. _CCS: https://en.wikipedia.org/wiki/Calculus_of_communicating_systems
468+.. _CSP: https://en.wikipedia.org/wiki/Communicating_sequential_processes
469+.. _Calculus-vs-Actors: https://en.wikipedia.org/wiki/Actor_model_and_process_calculi
439470 .. _Concurrency: https://en.wikipedia.org/wiki/Concurrency_(computer_science)
440-.. _parallelism: https://en.wikipedia.org/wiki/Parallel_computing
441-.. _pthreads: https://en.wikipedia.org/wiki/Pthreads
442-.. _Threads: https://en.wikipedia.org/wiki/Thread_(computing)
443-.. _Multi-Core: https://en.wikipedia.org/wiki/Multi-core_processor
444-.. _deadlocks: https://en.wikipedia.org/wiki/Deadlock
445-.. _livelocks: https://en.wikipedia.org/wiki/Deadlock#Livelock
446471 .. _Critical-Section: https://en.wikipedia.org/wiki/Critical_section
447472 .. _Critical-Sections: Critical-Section_
473+.. _Distributed-Computing: https://en.wikipedia.org/wiki/Distributed_computing
474+.. _Events: https://en.wikipedia.org/wiki/Event_(computing)
475+.. _Futures: https://en.wikipedia.org/wiki/Futures_and_promises
476+.. _Go: https://en.wikipedia.org/wiki/Go_(programming_language)
477+.. _Message-Passing: https://en.wikipedia.org/wiki/Message_passing
478+.. _Multi-Core: https://en.wikipedia.org/wiki/Multi-core_processor
479+.. _Occam: https://en.wikipedia.org/wiki/Occam_(programming_language)
480+.. _Petri-Net: https://en.wikipedia.org/wiki/Petri_net
481+.. _Pi-Calculus: https://en.wikipedia.org/wiki/Π-calculus
482+.. _Process-Calculus: https://en.wikipedia.org/wiki/Process_calculus
483+.. _RPC: https://en.wikipedia.org/wiki/Remote_procedure_call
484+.. _Reliability: https://en.wikipedia.org/wiki/Reliability_(computer_networking)
448485 .. _Semaphores: https://en.wikipedia.org/wiki/Semaphore_(programming)
449486 .. _Spinlocking: https://en.wikipedia.org/wiki/
450-.. _Distributed-Computing: https://en.wikipedia.org/wiki/Distributed_computing
451-.. _Message-Passing: https://en.wikipedia.org/wiki/Message_passing
452-.. _Events: https://en.wikipedia.org/wiki/Event_(computing)
453-.. _RPC: https://en.wikipedia.org/wiki/Remote_procedure_call
454-.. _Broadcasting: https://en.wikipedia.org/wiki/Broadcasting_(networking)
455-.. _Reliability: https://en.wikipedia.org/wiki/Reliability_(computer_networking)
456-.. _Process-Calculus: https://en.wikipedia.org/wiki/Process_calculus
457-.. _Futures: https://en.wikipedia.org/wiki/Futures_and_promises
458-.. _CSP: https://en.wikipedia.org/wiki/Communicating_sequential_processes
459-.. _Occam: https://en.wikipedia.org/wiki/Occam_(programming_language)
487+.. _Threads: https://en.wikipedia.org/wiki/Thread_(computing)
460488 .. _Transputer: https://en.wikipedia.org/wiki/Transputer
461-.. _Go: https://en.wikipedia.org/wiki/Go_(programming_language)
462-.. _CCS: https://en.wikipedia.org/wiki/Calculus_of_communicating_systems
463-.. _ACP: https://en.wikipedia.org/wiki/Algebra_of_communicating_processes
464-.. _Petri-Net: https://en.wikipedia.org/wiki/Petri_net
465-.. _Calculus-vs-Actors: https://en.wikipedia.org/wiki/Actor_model_and_process_calculi
466-.. _Pi-Calculus: https://en.wikipedia.org/wiki/Π-calculus
489+.. _deadlocks: https://en.wikipedia.org/wiki/Deadlock
490+.. _livelocks: https://en.wikipedia.org/wiki/Deadlock#Livelock
491+.. _parallelism: https://en.wikipedia.org/wiki/Parallel_computing
492+.. _pthreads: https://en.wikipedia.org/wiki/Pthreads
diff -r 6c315c60604e -r 6ececae34037 CCastle/2.Analyse/9.ActorAbstraction.rst
--- a/CCastle/2.Analyse/9.ActorAbstraction.rst Fri Sep 30 19:57:47 2022 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
1-.. include:: /std/localtoc.irst
2-
3-.. _ActorAbstractions:
4-
5-=========================
6-Actor Abstractions (IDEA)
7-=========================
8-
9-.. post::
10- :category: Castle DesignStudy
11- :tags: Castle, Concurrency, DRAFT
12-
13- The Actor-Model_ which is inspired by physics, unlike older models like the famous Petri-net_ that are mostly
14- mathematical. And has become popular for Distributed-Computing_, where each node/computing act as in independent,
15- active actor.
16-
17- As an abstraction, those active actors are similar to the :ref:`”Many Core” concept<CC>` we use for CCastle. Hence, we study this model a bit more
18-
19-----------------------
20-
21-Actor-Model_
22-Actor-Model-Theory_
23-
24-
25-
26-----------
27-
28-.. rubric:: Footnotes
29-
30-.. [#XXX]
31- YYY
32-
33-.. _Petri-Net: https://en.wikipedia.org/wiki/Petri_net
34-.. _Actor-Model: https://en.wikipedia.org/wiki/Actor_model
35-.. _Actor-Model-Theory: https://en.wikipedia.org/wiki/Actor_model_theory
36-.. _Distributed-Computing: https://en.wikipedia.org/wiki/Distributed_computing
37-
38-.. _Actor-Model: https://en.wikipedia.org/wiki/Actor_model
39-.. _Actor-Model-Theory: https://en.wikipedia.org/wiki/Actor_model_theory
diff -r 6c315c60604e -r 6ececae34037 CCastle/index.rst
--- a/CCastle/index.rst Fri Sep 30 19:57:47 2022 +0200
+++ b/CCastle/index.rst Fri Sep 30 22:44:29 2022 +0200
@@ -47,3 +47,9 @@
4747 **2017**). which has no theme and other support to make it more nice-looking. Therefore all those “lines” are comment
4848 out (or rewritten)
4949
50+
51+Needs (index)
52+
53+.. needtable::
54+ :style: table
55+ :sort: title