Submitted:
10 May 2024
Posted:
13 May 2024
You are already at the latest version
Abstract
Keywords:
1. Introduction
2. Materials and Methods
2.1 Concept of the Language: Objects and Actions
2.2. Transactions
2.3. Compartments
- 1-
- Asynchronous Interaction (→): In this scenario, the sender does not anticipate a response from the recipient.
- 2-
- Strict Interaction (Synchronous) (): Here, a reply is expected from the recipient. If no response is received, it may lead to a deadlock situation. Fortunately, this can be mitigated by a special primitive mechanism based on timeout settings.
- 3-
- Delayed Interaction (): This interaction involves a delay in receiving a reply, which extends beyond the recipient’s immediate scope. A response might eventually be received, but there’s a delay.
2.3.1. Independent Compartments
2.3.2. Nested Compartments
2.3.3. Grouped Compartments
2.3.1.1. Iterative Compartments
2.3.1.2. Miscelanous Compartments
2.3.4. Delayed Compartments
2.4. Containers
2.5. Actions and Activities
2.5.1 Alternative Actions and Activities
2.5.1.1 Junctions
2.5.1.2 Conditions
2.6. Primitive Symbolic Actions
2.6.1. Stop (∅), Null (), Repeat (), and Progress () actions.
2.6.2. Timer or Delay Action ().
2.6.3. Input (?) and Output (!) Actions.
2.6.4. Store (∇) and Retrieve (∆) Actions.


2.6.5. Fail () and Recover () Actions.

3. Case Studies
3.1. Case 1: Federated Learning
3.2. Case 3: Blockchain for Cryptocurrency


4. Discussion
5. Conclusions
Appendix A
| Symbols | Primitive action operators, by symbol, label or symbol and label |
| @, d | Time to specify the time an action starts, o means 0, a number, or nothing means any time, if omitted. A reference to the a starting time that is maintained. it means the starting time is not important. When used actions, If d is 0 or omitted, it means immediately. If it is the duration is infinity, , it means wait forever, in all other cases a time slot is supplied to wait for that duration. They cannot be used directly with containers only through the actions. It both, @ and d, are omitted, the action start now. |
| Status actions apply to objects | |
| ⇟ ⇞ | Declare the status of an object to be, ⇟, idle, down, broken, unavailable, ⇞ active. |
| Delay action | |
| , | Delay action is used to make an elapsed time. Action delay starting from time now, o, duration for a duration, d, which is 0 or , or any identifier holding time. If d is omitted it means the duration is 0 by default, do not wait. Delay action and can be used to create a delay or with the operator to create the time limit for an action to complete or stop. Or can be delayed until a condition occurs. The timer can also be interrupted by another object with the use of signal interaction. |
| Container passing actions | |
| !@ , ?@ |
Send/Output a container or Receive/Input the content of a container or its reference ^ . The action can record its starting time, if @(time) is specified, otherwise it is undefined. They can be synchronous and buffered or unbuffered. This behaviour is also supported by the interaction notation. The receive by default is a blocking receive, this action wait forever until an event or a container has been received. |
| Container Sharing actions | |
|
, , := , |
Put/Store and Get/Retrieve and blocking Get/Retrieve. The application can also use additional actions support the store and retrieve synchronously. They can be buffered and unbuffered. Container passing and sharing can be missed. If the item cannot be inserted or removed nothing happens, unless it is captured by a junction. Default of := in the set is insert anywhere, and in sequence is insert at the back, unless specifies with . |
| Decision action operators | |
| ⊳, ⊵ ↻, ⥁ |
Next compartment or activity, next iterative compartment or activity, next transaction. Repeat the current activity, fractional statement, or compartment or an iterative activity, compartment, or a transaction, an activity could be just a fractional compartment. stop current action, iteration, stop transaction. Action that does nothing – sometimes used in junctions, does nothing then call the repeat action which keeps looping forever, terminates . |
| Operator action for container | |
| ⇒,⇏, , ⏀ | Search, remove, compare items from a container, clear the whole container. |
| ^ | Pointer or links to a container waiting to be filled by an action, the reference to an action, or a compartment. |
| Actions’ operators | |
| *,*+,, + , | Sequential, sequential from a group of “ored”-activities, parallel, rendezvous, parallel group of “ored”-activities, parallel “or” with rendezvous, selective only one, selective a group (or). The x operator is prioritized more than one actions are ready to perform, the priority starts from the left hand side, that is the action at the left is selected and so on. |
| Compartment Operators | |
| Consecutive, selective, group selective, simultaneous, rendezvous operators used with compartments. | |
| Container declarations | |
| [ ] { } ( ) = [ ], { }, ( ) S := {}, [ ], ( ) = [●], {●}, (●) [… ] {… } (… ) |
Dictionary container – Set container – Sequence container. Container status, specifying empty. Clearing a container with (:=) The container is full. Container with something, used with an input action. |
| Container arithmetic operators | |
|
|
Back/middle/front of a container, used for insertion, when the container can be a queue or a stack. Stripping removes the membership of the items, and they need to be allocated into another container if they are not containers. |
| Fuzzy set operators | |
| ⋀ ⋀ ⟶ ⨁ ⌝ | And, Or, Imply, aggregation and negation operators on members of fuzzy sets |
| Container additional operator actions. | |
| All set theory symbols. | |
| Interaction symbols | |
| , | Synchronous, Asynchronous, Delayed interactions and signal for interrupting an object |
| Asynchronous and Synchronous, can be used mainly with shared containers databases … The indexes n, can represent the relationship 1 to many or many to many ect… For anthology and distributed relational database |
|
| Symbols | These symbols are used inside the [Condition] |
| Container operators, inclusion, there exist, such that or where, for all ect … cardinality of a container |
|
| ‘T’, ‘F’ | Boolean values |
| &, | , ~, x | Boolean operators, “and”, “or” and negation |
| “string” | A word, sentence a set of characters |
| Numbers, indexes, and identifiers | Integer, decimals, or container values |
| +, *, -, %, /, | Arithmetic operators |
| Relational operators | |
|
n:m:p:.. n:m:p:..[condition] |
Group random extractions: p items, selected from m items from n items of a container, or object in the virtual space. Group selective extractions: with a nested condition |
References
- D. Serrano, D.; Iglesias, C. A. JSONbis: A Proposal to Extend JSON with Type Information. In Proceedings of the 22nd International Conference on Enterprise Information Systems (ICEIS 2020), June 8-10, 2020, pp. 290-297.
- Jacobs, S. Beginning XML with DOM and Ajax: from Novice to Professional. Published A press, 2020.
- Kaye, R. The Mathematical Theory of Predicate Logic. Published by Cambridge University Press, 2020.
- Stubblebine, T. Regular Expressions Pocket Reference. Published by O’Reilly Media, 2021.
- S. B. Cooper, and M. Soskova, “Turing machines and Computational Theory,” Published by Spring, 2020.
- Bernardo, M.; R. D. Nicola, R.D.; M. Loreti, M. Process Algebra and Probabilistic Models: Performance and Dependability Analysis. Published by Springer, 2020.
- Whitney, J.; Gifford. C; Pantoja, M. Distributed execution of communicating sequential process-style concurrency: Golang case study. The Journal of Supercomputing, Springer, 2019.
- Vrancken, L.M. The algebra of communicating processes with empty processes. Elsevier, Theoretical Computer Science, 15 May 1997, Volume 177, Issue 2, pp. 287-328.
- Friedman, A. Communicating with Process Calculus. A Major Qualifying Project submitted to the Faculty of Worcester Polytechnic Institute, August 24, 2022 – May 3, 2023.
- Nicollin, X.; Sifakis, J. An overview and synthesis on timed process algebras. Timed Specification and Verification. Conference paper, Computer Aided Verification, Springer. First Online: 01 January 2005, pp 376–398,.
- Umer, M.; Ali, A. Automated Analysis of the Security of the IoT using Pi-calculus. Publish by Springer, 2021.
- Awais, M.; Yasin, M.; Umar, A. I. Formal Verification of a Secure Message Protocol using the Applied Spi-Calculus. In the Journal of Computer Science and Technology, Springer, 2021.
- Vasconcelos, V. T.; Kok, J. N. A Theory of Distributed Program Composition. Information and Computation, 2003.
- Y Liao, Y.; Yeaser, A.; Yang, B.; Tung, J.; Hashemi, E. Unsupervised fault detection and recovery for intelligent robotic rollators. Elsevier, Robotics and Autonomous Systems, December 2021, Volume 146.
- Al Fikri, M.; Ramli, K.; Sudiana, D. Formal Verification of the Authentication and Voice Communication Protocol Security on Device X Using Scyther Tool. IOP Conference Series: Materials Science and Engineering, The 5th International Conference on Information Technology and Digital Applications (ICITDA 2020) 13th-14th November 2020, Yogyakarta, Indonesia, Volume 1077.
- Cortier, V.; Delaune, S.; Dreier, J.; Klein, E. Automatic generation of sources lemmas in Tamarin: Towards automatic proofs of security protocols. Computer Security – ESORICS 2020, Springer, pp. 3–22.
- Blanchet. B.; Cheval, V.; Cortier, V. ProVerif with Lemmas, Induction, Fast Subsumption, and Much More. 2022 IEEE Symposium on Security and Privacy (SP).
- Yogesh. P. R.; Devane Satish, D. Formal Verification of Secure Evidence Collection Protocol using BAN Logic and AVISPA. Elsevier, 2020, Volume 167, pp. 1334-1344.
- Adda, M. ObTFL formal language for Spider Network. Internal Technical Report, University of Portsmouth, 2023.
- Scheidt, N.; Adda, M. Internet of Things: Threats, Landscape, and Countermeasures. CRC Press Inc, 2021, pp. 137-166.
- Initiative T.H.S., IPC-HERMES-9852: The global standard for machine-to-machine communication in SMT assenbly(v1.2), Technocal report, IPC 2019.
- Aziz, B. Formal Analysis by Abstract Interpretation, case studies in modern protocols, Publish by Springer, 2022.








Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2024 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).