783 results on '"Communicating sequential processes"'
Search Results
2. Verification of transaction-aware web services composition through formal methods.
- Author
-
Jalal, Sunita, Negi, Chetan Singh, and Yadav, Dharmendra Kumar
- Abstract
Due to the popularity of web-based technologies and the cloud computing paradigm, organizations are adopting web services composition for the cost-effective development of business applications. Web services involved in composition can execute long-running transactions. Ensuring reliability in the execution of transaction-aware web services composition is a critical issue. Formal methods based approaches are helpful to model and verify the behaviour of web services composition before its development. This paper proposes a verification approach that presents mapping between BPEL and CSP constructs, and checks different assertions to get correct CSP and BPEL models. The proposed approach also verifies the transactional behaviour of web services composition. We have used failures-divergences refinement and new symbolic model checker tools for experiments that show the usefulness of our approach. [ABSTRACT FROM AUTHOR]
- Published
- 2024
- Full Text
- View/download PDF
3. Formal Verification of a Map Merging Protocol in the Multi-agent Programming Contest
- Author
-
Luckcuck, Matt, Cardoso, Rafael C., Goos, Gerhard, Founding Editor, Hartmanis, Juris, Founding Editor, Bertino, Elisa, Editorial Board Member, Gao, Wen, Editorial Board Member, Steffen, Bernhard, Editorial Board Member, Woeginger, Gerhard, Editorial Board Member, Yung, Moti, Editorial Board Member, Alechina, Natasha, editor, Baldoni, Matteo, editor, and Logan, Brian, editor
- Published
- 2022
- Full Text
- View/download PDF
4. DroidFDR: Automatic Classification of Android Malware Using Model Checking.
- Author
-
Yang, Zhi, Chao, Fan, Chen, Xingyuan, Jin, Shuyuan, Sun, Lei, and Du, Xuehui
- Subjects
AUTOMATIC classification ,MALWARE - Abstract
Android faces an increasing threat of malware attacks. The few existing formal detection methods have drawbacks such as complex code modeling, incomplete and inaccurate expression of family properties, and excessive manual participation. To this end, this paper proposes a formal detection method, called DroidFDR, for Android malware classification based on communicating sequential processes (CSP). In this method, the APK file of an application is converted to an easy-to-analyze representation, namely Jimple, in order to model the code behavior with CSP. The process describing the behavior of a sample is inputted to an FDR model checker to be simplified and verified against a process that is automatically abstracted from the malware to express the property of a family. The sample is classified by detecting whether it has the typical behavior of any family property. DroidFDR can capture the behavioral characteristics of malicious code such as control flow, data flow, procedure calls, and API calls. The experimental results show that the automated method can characterize the behavior patterns of applications from the structure level, with a high family classification accuracy of 99.06% in comparison with another formal detection method. [ABSTRACT FROM AUTHOR]
- Published
- 2022
- Full Text
- View/download PDF
5. Formal Modelling of Environment Restrictions from Natural-Language Requirements
- Author
-
Santos, Tainã, Carvalho, Gustavo, Sampaio, Augusto, Hutchison, David, Series Editor, Kanade, Takeo, Series Editor, Kittler, Josef, Series Editor, Kleinberg, Jon M., Series Editor, Mattern, Friedemann, Series Editor, Mitchell, John C., Series Editor, Naor, Moni, Series Editor, Pandu Rangan, C., Series Editor, Steffen, Bernhard, Series Editor, Terzopoulos, Demetri, Series Editor, Tygar, Doug, Series Editor, Weikum, Gerhard, Series Editor, Massoni, Tiago, editor, and Mousavi, Mohammad Reza, editor
- Published
- 2018
- Full Text
- View/download PDF
6. Operational Semantics of Process Monitors
- Author
-
Inoue, Jun, Yamagata, Yoriyuki, Hutchison, David, Series editor, Kanade, Takeo, Series editor, Kittler, Josef, Series editor, Kleinberg, Jon M., Series editor, Mattern, Friedemann, Series editor, Mitchell, John C., Series editor, Naor, Moni, Series editor, Pandu Rangan, C., Series editor, Steffen, Bernhard, Series editor, Terzopoulos, Demetri, Series editor, Tygar, Doug, Series editor, Weikum, Gerhard, Series editor, Lahiri, Shuvendu, editor, and Reger, Giles, editor
- Published
- 2017
- Full Text
- View/download PDF
7. Visualisation and animation of concurrent systems specified in CSP
- Author
-
Green, Mark
- Subjects
004 ,Communicating sequential processes - Published
- 2002
8. Probabilities and priorities in timed CSP
- Author
-
Lowe, Gavin
- Subjects
005 ,Communicating sequential processes - Published
- 1993
9. A General Framework of Nonleakage-Based Authentication Using CSP for the Internet of Things
- Author
-
Liu, Licai, Fang, Bingxing, Yi, Beiting, Hutchison, David, Series editor, Kanade, Takeo, Series editor, Kittler, Josef, Series editor, Kleinberg, Jon M., Series editor, Kobsa, Alfred, Series editor, Mattern, Friedemann, Series editor, Mitchell, John C., Series editor, Naor, Moni, Series editor, Nierstrasz, Oscar, Series editor, Pandu Rangan, C., Series editor, Steffen, Bernhard, Series editor, Terzopoulos, Demetri, Series editor, Tygar, Doug, Series editor, Weikum, Gerhard, Series editor, Han, Weihong, editor, Huang, Zi, editor, Hu, Changjun, editor, Zhang, Hongli, editor, and Guo, Li, editor
- Published
- 2014
- Full Text
- View/download PDF
10. Rendezvous (Synchronous) Communication
- Author
-
Raynal, Michel and Raynal, Michel
- Published
- 2013
- Full Text
- View/download PDF
11. A new roadmap for linking theories of programming and its applications on GCL and CSP.
- Author
-
He, Jifeng and Li, Qin
- Subjects
- *
CSP (Computer program language) , *COMMAND languages (Computer science) , *LINKERS (Computer programs) , *DENOTATIONAL semantics , *SEQUENTIAL processing (Computer science) - Abstract
Formal methods advocate the crucial role played by the algebraic approach in specification and implementation of programs. Traditionally, a top-down approach (with denotational model as its origin) links the algebra of programs with the denotational representation by establishment of the soundness and completeness of the algebra against the given model, while a bottom-up approach (a journey started from operational model) introduces a variety of bisimulations to establish the equivalence relation among programs, and then presents a set of algebraic laws in support of program analysis and verification. This paper proposes a new roadmap for linking theories of programming. Our approach takes an algebra of programs as its foundation, and generates both denotational and operational representations from the algebraic refinement relation. This new approach is applied in this paper to GCL (Guarded Command Language) and CSP (Communicating Sequential Processes) to link their various semantical representations based on their algebraic semantics. [ABSTRACT FROM AUTHOR]
- Published
- 2018
- Full Text
- View/download PDF
12. Asynchronous Distributed Simulation via a Sequence of Parallel Computations.
- Author
-
Adam, N., Chandy, K. M., and Misra, J.
- Subjects
- *
MULTIPROCESSORS , *COMPUTERS , *INFORMATION technology , *ALGORITHMS , *COMPUTER input-output equipment , *COMPUTER architecture - Abstract
An approach to carrying out asynchronous, distributed simulation on multiprocessor message-passing architectures is presented. This scheme differs from other distributed simulation schemes because (1) the amount of memory required by all processors together is bounded and is no more than the amount required in sequential simulation and (2) the multiprocessor network is allowed to deadlock, the deadlock is detected, and then the deadlock is broken. Proofs for the correctness of this approach are outlined. [ABSTRACT FROM AUTHOR]
- Published
- 1981
13. A Lattice-Theoretic Model for an Algebra of Communicating Sequential Processes
- Author
-
Tyrrell, Malcolm, Morris, Joseph M., Butterfield, Andrew, Hughes, Arthur, Hutchison, David, editor, Kanade, Takeo, editor, Kittler, Josef, editor, Kleinberg, Jon M., editor, Mattern, Friedemann, editor, Mitchell, John C., editor, Naor, Moni, editor, Nierstrasz, Oscar, editor, Pandu Rangan, C., editor, Steffen, Bernhard, editor, Sudan, Madhu, editor, Terzopoulos, Demetri, editor, Tygar, Dough, editor, Vardi, Moshe Y., editor, Weikum, Gerhard, editor, Barkaoui, Kamel, editor, Cavalcanti, Ana, editor, and Cerone, Antonio, editor
- Published
- 2006
- Full Text
- View/download PDF
14. Sets of Communicating Sequential Processes.A Topological Rough Set Framework
- Author
-
Polkowski, L., Semeniuk-Polkowska, M., Hutchison, David, editor, Kanade, Takeo, editor, Kittler, Josef, editor, Kleinberg, Jon M., editor, Mattern, Friedemann, editor, Mitchell, John C., editor, Naor, Moni, editor, Nierstrasz, Oscar, editor, Pandu Rangan, C., editor, Steffen, Bernhard, editor, Sudan, Madhu, editor, Terzopoulos, Demetri, editor, Tygar, Dough, editor, Vardi, Moshe Y., editor, Weikum, Gerhard, editor, Carbonell, Jaime G., editor, Siekmann, Jörg, editor, Negoita, Mircea Gh., editor, Howlett, Robert J., editor, and Jain, Lakhmi C., editor
- Published
- 2004
- Full Text
- View/download PDF
15. Design of Highly Parallel Architectures with Alpha and Handel
- Author
-
de Dinechin, Florent, Manjunathaiah, M., Risset, Tanguy, Spivey, Mike, Villar, Eugenio, editor, and Mermet, Jean, editor
- Published
- 2003
- Full Text
- View/download PDF
16. Using CSP to Detect Insertion and Evasion Possibilities within the Intrusion Detection Area
- Author
-
Rohrmair, Gordon Thomas, Lowe, Gavin, Goos, Gerhard, editor, Hartmanis, Juris, editor, van Leeuwen, Jan, editor, Abdallah, Ali E., editor, Ryan, Peter, editor, and Schneider, Steve, editor
- Published
- 2003
- Full Text
- View/download PDF
17. Reversible CSP Computations
- Author
-
Josep Silva, Carlos Galindo, Naoki Nishida, and Salvador Tamarit
- Subjects
Source code ,Semantics (computer science) ,Computer science ,media_common.quotation_subject ,02 engineering and technology ,Code inspections and walkthroughs ,computer.software_genre ,Concurrent programming ,Tracing ,Debugging aids ,CIENCIAS DE LA COMPUTACION E INTELIGENCIA ARTIFICIAL ,0202 electrical engineering, electronic engineering, information engineering ,Concurrent computing ,media_common ,computer.programming_language ,020203 distributed computing ,Programming language ,Communicating sequential processes ,Data structure ,Computational Theory and Mathematics ,Debugging ,Promela ,Hardware and Architecture ,Signal Processing ,State (computer science) ,LENGUAJES Y SISTEMAS INFORMATICOS ,computer - Abstract
[EN] Reversibility enables a program to be executed both forwards and backwards. This ability allows programmers to backtrack the execution to a previous state. This is essential if the computation is not deterministic because re-running the program forwards may not lead to that state of interest. Reversibility of sequential programs has been well studied and a strong theoretical basis exists. Contrarily, reversibility of concurrent programs is still very young, especially in the practical side. For instance, in the particular case of the Communicating Sequential Processes (CSP) language, reversibility is practically missing. In this article, we present a new technique, including its formal definition and its implementation, to reverse CSP computations. Most of the ideas presented can be directly applied to other concurrent specification languages such as Promela or CCS, but we center the discussion and the implementation on CSP. The technique proposes different forms of reversibility, including strict reversibility and causal-consistent reversibility. On the practical side, we provide an implementation of a system to reverse CSP computations that is able to highlight the source code that is being executed in each forwards/backwards computation step, and that has been optimized to be scalable to real systems., A preliminary version of this work was presented at the 12th Conference on Reversible Computation [31]. The authors would like to thank the anonymous reviewers for their useful comments and constructive feedback that helped them to improve this work. This work was supported in part by the EU (FEDER) and the Spanish MCI/AEI under Grant TIN2016-76843-C4-1-R and Grant PID2019-104735RB-C41, in part by the Generalitat Valenciana under Grant Prometeo/2019/098 (DeepTrust), in part by JSPS KAKENHI under Grant JP17H01722, and in part by TAILOR, a project funded by EU Horizon 2020 research and innovation programme under GA 952215.
- Published
- 2021
- Full Text
- View/download PDF
18. Compositional Development in the Event of Interface Difference
- Author
-
Burton, Jonathan, Koutny, Maciej, Pappalardo, Giuseppe, Pietkiewicz-Koutny, Marta, Ezhilchelvan, Paul, editor, and Romanovsky, Alexander, editor
- Published
- 2002
- Full Text
- View/download PDF
19. Verifying Implementation Relations
- Author
-
Burton, Jonathan, Koutny, Maciej, Pappalardo, Giuseppe, Goos, Gerhard, editor, Hartmanis, Juris, editor, van Leeuwen, Jan, editor, Oliveira, José Nuno, editor, and Zave, Pamela, editor
- Published
- 2001
- Full Text
- View/download PDF
20. A Model of Behaviour Abstraction for Communicating Processes
- Author
-
Koutny, Maciej, Pappalardo, Giuseppe, Goos, Gerhard, editor, Hartmanis, Juris, editor, van Leeuwen, Jan, editor, Meinel, Christoph, editor, and Tison, Sophie, editor
- Published
- 1999
- Full Text
- View/download PDF
21. Analysis of a Randomized Controlled Trial of Student Performance in Parallel Programming using a New Measurement Technique
- Author
-
Patrick Daleiden, Andreas Stefik, Jan Pedersen, and P. Merlin Uesbeck
- Subjects
General Computer Science ,Computer science ,05 social sciences ,050301 education ,020207 software engineering ,02 engineering and technology ,Communicating sequential processes ,Parallel computing ,Time on task ,Security token ,Education ,law.invention ,Comprehension ,Randomized controlled trial ,law ,Obstacle ,0202 electrical engineering, electronic engineering, information engineering ,Parallelism (grammar) ,Concurrent computing ,0503 education ,computer ,computer.programming_language - Abstract
There are many paradigms available to address the unique and complex problems introduced with parallel programming. These complexities have implications for computer science education as ubiquitous multi-core computers drive the need for programmers to understand parallelism. One major obstacle to student learning of parallel programming is that there is very little human factors evidence comparing the different techniques to one another, so there is no clear direction on which techniques should be taught and how. We performed a randomized controlled trial using 88 university-level computer science student participants performing three identical tasks to examine the question of whether or not there are measurable differences in programming performance between two paradigms for concurrent programming: threads compared to process-oriented programming based on Communicating Sequential Processes. We measured both time on task and programming accuracy using an automated token accuracy map (TAM) technique. Our results showed trade-offs between the paradigms using both metrics and the TAMs provided further insight about specific areas of difficulty in comprehension.
- Published
- 2020
- Full Text
- View/download PDF
22. Dynamically Changing Parallelism with the Asynchronous Sequential Data Flows
- Author
-
Alexander I. Legalov, Ivan V. Matkovskii, Mariya S. Ushakova, and Darya S. Romanova
- Subjects
Syntax (programming languages) ,Computer science ,Semantics (computer science) ,asynchronous computations ,static typing ,SIGNAL (programming language) ,Swarm behaviour ,Parallel computing ,Communicating sequential processes ,Information technology ,T58.5-58.64 ,Order of operations ,dynamically changing parallelism ,Asynchronous communication ,parallel computations ,Parallel programming model ,computer ,computer.programming_language - Abstract
A statically typed version of the data driven functional parallel computing model is proposed. It enables a representation of dynamically changing parallelism by means of asynchronous serial data flows. We consider the features of the syntax and semantics of the statically typed data driven functional parallel programming language Smile that supports asynchronous sequential flows. Our main idea is to apply the Hoar concept of communicating sequential processes to the computation control on the data readiness. It is assumed that on the data readiness a control signal is emitted to inform the processes about the occurrence of certain events. The special feature of our approach is that the model is extended with the special asynchronous containers that can generate events on their partial filling. These containers are a stream and a swarm, each of which has its own specifics. A stream is used to process data which have identical type. The data comes sequentially and asynchronously at arbitrary time moments. The number of the incoming data elements is initially unknown, so the processing completes on the signal of the end of the stream. A swarm is used to contain independent data of the same type and may be used for the massive parallel operations performing. Unlike a stream, the swarm’s size is fixed and known in advance. General principles of the operations with the asynchronous sequential flows with an arbitrary order of data arrival are described. The use of the streams and the swarms in various situations is considered. We propose the language constructions which allow us to operate the swarms and streams and describe the specifics of their application. We provide the sample functions to illustrate the use of the different approaches to description of the parallelism: recursive processing of the asynchronous flows, processing of the flows in an arbitrary or predefined order of operations, direct access and access by the reference to the elements of the streams and swarms, pipelining of calculations. We give a preliminary parallelism assessment which depends on the ratio of the rates of data arrival and their processing. The proposed methods can be used in the development of the future languages and tool-kits of architecture-independent parallel programming.
- Published
- 2020
23. DroidFDR: Automatic Classification of Android Malware Using Model Checking
- Author
-
Zhi Yang, Fan Chao, Xingyuan Chen, Shuyuan Jin, Lei Sun, and Xuehui Du
- Subjects
Android ,malware detection ,communicating sequential processes ,formal method ,model checking ,Computer Networks and Communications ,Hardware and Architecture ,Control and Systems Engineering ,Signal Processing ,Electrical and Electronic Engineering - Abstract
Android faces an increasing threat of malware attacks. The few existing formal detection methods have drawbacks such as complex code modeling, incomplete and inaccurate expression of family properties, and excessive manual participation. To this end, this paper proposes a formal detection method, called DroidFDR, for Android malware classification based on communicating sequential processes (CSP). In this method, the APK file of an application is converted to an easy-to-analyze representation, namely Jimple, in order to model the code behavior with CSP. The process describing the behavior of a sample is inputted to an FDR model checker to be simplified and verified against a process that is automatically abstracted from the malware to express the property of a family. The sample is classified by detecting whether it has the typical behavior of any family property. DroidFDR can capture the behavioral characteristics of malicious code such as control flow, data flow, procedure calls, and API calls. The experimental results show that the automated method can characterize the behavior patterns of applications from the structure level, with a high family classification accuracy of 99.06% in comparison with another formal detection method.
- Published
- 2022
- Full Text
- View/download PDF
24. XHIVE: interactive parallel application development using the PCF metodology
- Author
-
Carboni, P., Fruscione, M., Guindani, F., Punzi, S., Stofella, P., Goos, Gerhard, editor, Hartmanis, Juris, editor, van Leeuwen, Jan, editor, Hertzberger, Bob, editor, and Serazzi, Giuseppe, editor
- Published
- 1995
- Full Text
- View/download PDF
25. Compositional state space generation
- Author
-
Valmari, Antti, Goos, Gerhard, editor, Hartmanis, Juris, editor, and Rozenberg, Grzegorz, editor
- Published
- 1993
- Full Text
- View/download PDF
26. Towards an epistemic approach to reasoning about concurrent programs
- Author
-
van der Hoek, W., van Hulst, M., Meyer, J. -J. Ch., Goos, Gerhard, editor, Hartmanis, Juris, editor, de Bakker, J. W., editor, de Roever, W. -P., editor, and Rozenberg, G., editor
- Published
- 1993
- Full Text
- View/download PDF
27. Unified graphical co-modeling, analysis and verification of cyber-physical systems by combining AADL and Simulink/Stateflow
- Author
-
Xiangyu Jin, Xiong Xu, Shuling Wang, Bohua Zhan, Jean-Pierre Talpin, Naijun Zhan, Chinese Academy of Sciences [Beijing] (CAS), Tim, Events and Architectures (TEA), Inria Rennes – Bretagne Atlantique, Institut National de Recherche en Informatique et en Automatique (Inria)-Institut National de Recherche en Informatique et en Automatique (Inria)-LANGAGE ET GÉNIE LOGICIEL (IRISA-D4), Institut de Recherche en Informatique et Systèmes Aléatoires (IRISA), Université de Rennes (UR)-Institut National des Sciences Appliquées - Rennes (INSA Rennes), Institut National des Sciences Appliquées (INSA)-Institut National des Sciences Appliquées (INSA)-Université de Bretagne Sud (UBS)-École normale supérieure - Rennes (ENS Rennes)-Institut National de Recherche en Informatique et en Automatique (Inria)-CentraleSupélec-Centre National de la Recherche Scientifique (CNRS)-IMT Atlantique (IMT Atlantique), Institut Mines-Télécom [Paris] (IMT)-Institut Mines-Télécom [Paris] (IMT)-Université de Rennes (UR)-Institut National des Sciences Appliquées - Rennes (INSA Rennes), Institut Mines-Télécom [Paris] (IMT)-Institut Mines-Télécom [Paris] (IMT)-Institut de Recherche en Informatique et Systèmes Aléatoires (IRISA), Institut National des Sciences Appliquées (INSA)-Institut National des Sciences Appliquées (INSA)-Université de Bretagne Sud (UBS)-École normale supérieure - Rennes (ENS Rennes)-CentraleSupélec-Centre National de la Recherche Scientifique (CNRS)-IMT Atlantique (IMT Atlantique), Institut Mines-Télécom [Paris] (IMT)-Institut Mines-Télécom [Paris] (IMT), Université de Bretagne Sud (UBS)-Institut National des Sciences Appliquées - Rennes (INSA Rennes), Institut National des Sciences Appliquées (INSA)-Université de Rennes (UNIV-RENNES)-Institut National des Sciences Appliquées (INSA)-Université de Rennes (UNIV-RENNES)-Institut National de Recherche en Informatique et en Automatique (Inria)-École normale supérieure - Rennes (ENS Rennes)-Centre National de la Recherche Scientifique (CNRS)-Université de Rennes 1 (UR1), Université de Rennes (UNIV-RENNES)-CentraleSupélec-IMT Atlantique Bretagne-Pays de la Loire (IMT Atlantique), Institut Mines-Télécom [Paris] (IMT)-Institut Mines-Télécom [Paris] (IMT)-Université de Bretagne Sud (UBS)-Institut National des Sciences Appliquées - Rennes (INSA Rennes), and Institut National des Sciences Appliquées (INSA)-Université de Rennes (UNIV-RENNES)-Institut National des Sciences Appliquées (INSA)-Université de Rennes (UNIV-RENNES)-École normale supérieure - Rennes (ENS Rennes)-Centre National de la Recherche Scientifique (CNRS)-Université de Rennes 1 (UR1)
- Subjects
Correctness ,General Computer Science ,Programming language ,business.industry ,Formal semantics (linguistics) ,Cyber-physical system ,Stateflow ,020207 software engineering ,02 engineering and technology ,Communicating sequential processes ,Hoare logic ,computer.software_genre ,Rotation formalisms in three dimensions ,020202 computer hardware & architecture ,Theoretical Computer Science ,Software ,0202 electrical engineering, electronic engineering, information engineering ,[INFO]Computer Science [cs] ,business ,computer ,ComputingMilieux_MISCELLANEOUS ,computer.programming_language - Abstract
The efficient design of safety-critical cyber-physical systems (CPS) requires the co-modeling and -verification of its physics, architecture and functionalities. Existing co-modeling formalisms do not account for these three design aspects into account uniformly. AADL is a precise formalism for modeling architecture and prototyping real-time hardware platforms, but it delegates co-modeling physical and software behaviors to so-called annexes. By contrast, Simulink/Stateflow (S/S) is strong for modeling interacting physical and software behaviors, but weak for modeling architecture and hardware platforms. To address this issue, this paper considers the combination of AADL and S/S to co-model CPSs and presents a method to uniformly analyze and verify this combination. AADL ⊕ S/S provides a unified graphical co-modeling environment for CPS design and supports simulation through C code generation. We present a formal semantics of AADL ⊕ S/S by translating it to Hybrid Communicating Sequential Processes (HCSP), which yields a deductive verification framework for AADL ⊕ S/S models based on Hybrid Hoare Logic (HHL). We also prove the correctness of the translation of AADL ⊕ S/S to HCSP. The effectiveness of our approach is illustrated by the realistically-scaled case study of an automatic cruise control system.
- Published
- 2021
- Full Text
- View/download PDF
28. Automatically Generating SystemC Code from HCSP Formal Models
- Author
-
Lingtai Wang, Li Jiao, Shuling Wang, Gaogao Yan, and Naijun Zhan
- Subjects
Bisimulation ,Theoretical computer science ,Discretization ,Computer science ,020207 software engineering ,02 engineering and technology ,Communicating sequential processes ,020202 computer hardware & architecture ,Decidability ,SystemC ,Hybrid system ,0202 electrical engineering, electronic engineering, information engineering ,Code (cryptography) ,Code generation ,computer ,Software ,computer.programming_language - Abstract
In model-driven design of embedded systems, how to generate code from high-level control models seamlessly and correctly is challenging. This is because hybrid systems are involved with continuous evolution, discrete jumps, and the complicated entanglement between them, while code only contains discrete actions. In this article, we investigate the code generation from Hybrid Communicating Sequential Processes (HCSP), a formal hybrid control model, to SystemC. We first introduce the notion of approximate bisimulation as a criterion to check the consistency between two different systems, especially between the original control model and the final generated code. We prove that it is decidable whether two HCSPs are approximately bisimilar in bounded time and unbounded time with some conditions, respectively. For both the cases, we present two sets of rules correspondingly for discretizing HCSPs and prove that the original HCSP model and the corresponding discretization are approximately bisimilar. Furthermore, based on the discretization, we define a transformation function to map a discretized HCSP model to SystemC code such that they are also approximately bisimilar. We finally implement a tool to automatically realize the translation from HCSP to SystemC code and illustrate our approach through some case studies.
- Published
- 2020
- Full Text
- View/download PDF
29. Formalization and Analysis of Haystack Architecture from Process Algebra Perspective
- Author
-
Huibiao Zhu, Phan Cong Vinh, and Jiaqi Yin
- Subjects
Model checking ,Computer Networks and Communications ,Computer science ,Programming language ,Process calculus ,020206 networking & telecommunications ,02 engineering and technology ,Communicating sequential processes ,Deadlock ,computer.software_genre ,Upload ,Hardware and Architecture ,Asynchronous communication ,0202 electrical engineering, electronic engineering, information engineering ,020201 artificial intelligence & image processing ,Haystack ,computer ,Throughput (business) ,Software ,Information Systems ,computer.programming_language - Abstract
As a storage system architecture optimized for Facebook’s photo application, Haystack has four main advantages than before, including high throughput and low latency, fault-tolerance, cost-effectiveness and simplicity. With its widespread use, its validity and other major properties abstracted from the architecture need to be analyzed in a formal framework. However, to the best of our knowledge, there is nearly no research conducted to describe the communications and properties in Haystack. In this paper, we focus on the internal design of serving and uploading a photo of Haystack architecture and apply Communicating Sequential Processes (CSP) to formalize them in detail. By feeding the models into the model checker Process Analysis Toolkit (PAT), we have verified some crucial properties, including basic property and supplementary properties. Basic property contains Deadlock Freedom. Supplementary properties include synchronous concurrent access, asynchronous concurrent access, synchronous concurrent access with the same client, synchronous concurrent upload and synchronous concurrent upload with the same client. Finally, according to the verification results, we believe that from the CSP’s perspective, the properties of Haystack architecture is valid, which means that it meets the requirements of the documents of Facebook.
- Published
- 2019
- Full Text
- View/download PDF
30. Verification-Oriented Process Ontology
- Author
-
Olesya Borovikova, Igor S. Anureev, and Natalya Olegovna Garanina
- Subjects
Semantics (computer science) ,Computer science ,Programming language ,Process ontology ,020207 software engineering ,02 engineering and technology ,Communicating sequential processes ,Protégé ,computer.software_genre ,Operational semantics ,Control and Systems Engineering ,Signal Processing ,0202 electrical engineering, electronic engineering, information engineering ,Ontology ,020201 artificial intelligence & image processing ,Formal verification ,computer ,Software ,Natural language ,computer.programming_language - Abstract
This paper presents the ontology of the concurrent processes close to Hoare communicating sequential processes. It is a part of an intellectual system for supporting verification of behavioral properties of such processes. Our ontological representation of the processes is oriented both to the application of formal verification methods and to the extraction of information from technical documentation (by our previously developed system of information extraction from a natural language text). We describe the ontology classes and domains that define communicating concurrent processes. These processes are characterized by sets of local and shared variables, a list of actions on these variables which change their values, a list of channels for the process communication (which, in turn, are characterized by the type of reading messages, capacity, modes of writing and reading, and reliability), and also a list of communication actions for sending messages. In addition to the formal mathematical definition of classes and domains of the ontology, examples of descriptions of some ontological classes, as well as typical properties and axioms for them, are specified in the editor Protege in the OWL language with the use of the inference rules in the SWRL language. We define the formal operational semantics of communicating processes for their ontological representation. This semantics is a labeled transition system. It is reduced to the local operational semantics of separate process instances in the interleaving model. We specialize several types of processes from the subject domain of automatic control systems that model the typical functional elements of the automatic control system (sensors, comparators and regulators), as well as their combinations. The concepts of the specialized ontology are illustrated by the example of a control part of a bottle-filling system.
- Published
- 2019
- Full Text
- View/download PDF
31. Finite complete suites for CSP refinement testing
- Author
-
Wen-ling Huang, Ana Cavalcanti, and Jan Peleska
- Subjects
Computer science ,Process (engineering) ,Semantics (computer science) ,Least-upper-bound property ,020207 software engineering ,02 engineering and technology ,Communicating sequential processes ,Nondeterministic algorithm ,020204 information systems ,Completeness (order theory) ,0202 electrical engineering, electronic engineering, information engineering ,Test suite ,computer ,Reference model ,Algorithm ,Software ,computer.programming_language - Abstract
In this paper, new contributions for model-based testing using Communicating Sequential Processes (CSP) are presented. For a finite non-terminating CSP process representing the reference model, finite test suites for checking the conformance relations traces and failures refinement are presented, and their completeness (that is, capability to uncover conformity violations) is proven. The fault domains for which complete failure detection can be guaranteed are specified by means of normalised transition graphs representing the failures semantics of finite-state CSP processes. While complete test suites for CSP processes have been previously investigated by several authors, a sufficient condition for their finiteness is presented here for the first time. Moreover, it is shown that the test suites are optimal in two aspects: (a) the maximal length of test traces cannot be further reduced, and (b) the nondeterministic behaviour cannot be tested with smaller or fewer sets of events, without losing the test suite's completeness property.
- Published
- 2019
- Full Text
- View/download PDF
32. CSP Machine in the Standard C++ Library Context: Implementation and Sample Applications
- Author
-
Milen Loukantchevsky
- Subjects
Computer science ,Programming language ,Semantics (computer science) ,Concurrency ,Context (language use) ,Specification language ,Communicating sequential processes ,Software_PROGRAMMINGTECHNIQUES ,computer.software_genre ,TheoryofComputation_MATHEMATICALLOGICANDFORMALLANGUAGES ,TheoryofComputation_LOGICSANDMEANINGSOFPROGRAMS ,Channel (programming) ,Parallel programming model ,Namespace ,computer ,computer.programming_language - Abstract
The C.A.R. Hoare’s theory of Communicating Sequential Processes (CSP) is a strong basis for analysis and synthesis of concurrent computer systems. Its manifestation as abstraction, a parallel systems specification language and a parallel programming language is unique. If the absence of a protected address space is ignored, the std::thread class could be regarded near close to CSP process semantics. Unfortunately, in the standard C++ library there is not type even approximately close to CSP channel. Hence, the main goal set: proposal of suitable implementation of CSP semantics of inter-process communications through the C++ 11 standard library means in seek of higher degree of structuring of communications of objects of type std::thread. As a result, a compact C++ template library named csp is developed. It encapsulates the means of messaging and synchronization between objects of type std::thread. The csp namespace defined includes csp::chan, csp::mux, csp::sink and csp::forks classes. The csp::chan class is strong implementation of CSP channel semantics, with two methods csp::chan::send() and csp::chan::recv() corresponding to CSP communications commands for output and for input. The CSP alternative command for nondeterministic selection is implemented by the method csp::mux::recv() using multiple wait on std::condition_variable and randomized choice between true guards. By practical reasons, through the additional classes, csp::sink and csp::fork supported the communication schemes and too. The code of the developed library and examples of its use are placed in the GitHub under MIT license.
- Published
- 2021
- Full Text
- View/download PDF
33. Transforming RoboSim Models into UPPAAL
- Author
-
Dehui Du, Augusto Sampaio, Menghan Zhang, Mingzhuo Zhang, Madiel Conserva Filho, and Ana Cavalcanti
- Subjects
Model checking ,Automated theorem proving ,Computer science ,Programming language ,Reachability ,Semantics (computer science) ,Hybrid system ,Liveness ,Swarm robotics ,Communicating sequential processes ,computer.software_genre ,computer ,computer.programming_language - Abstract
RoboSim is a tool-independent notation for modeling software simulations of robots, and it can be verified by a variety of techniques and tools, including model checking and theorem proving. RoboSim has a formal tock-CSP (Communicating Sequential Processes) semantics, and so refinement checkers, such as FDR, can be used for verification of models. In this paper, we explore the use of UPPAAL, as a well-established tool for verification of time-dependent properties. We propose a model-transformation strategy to translate RoboSim models into NTA (Network of Timed Automata) based on some patterns and mapping rules. We implement our strategy as a plug-in for the RoboSim modeling and verification tool. Using examples, we compare the verification results of UPPAAL and FDR for a series of safety, reachability, and liveness properties. Moreover, we use a robotic platform model of swarm robots in an uncertain environment, to illustrate how our approach can be extended to the verification of stochastic and hybrid systems using UPPAAL SMC. Such an extension cannot be easily conceived for The original tock-CSP semantics of RoboSim.
- Published
- 2021
- Full Text
- View/download PDF
34. Using CSP for formal analysis of IEEE 802. 11w protocol.
- Author
-
WU Ming-huan, CHENG Xiao-hui, and LI Xiong-wei
- Abstract
IEEE 802. 11w authentication protocol based on the IEEE 802. 11i enhances the IEEE 802. 11i security for management frames. In order to study the safety of the protocol, this paper modeled the protocol by formal analysis using communicating sequential processes (CSP). This paper chosed the role of protocol and the attacker for modelling and verification. It used CSP for modelling and performed the verification using FDR. In the experiments, it found an attack in this protocol. It checked authentication and security attributes and discovered the middleman attack case. It can provide a reference to improve the safety of IEEE 802. 11w help. [ABSTRACT FROM AUTHOR]
- Published
- 2015
- Full Text
- View/download PDF
35. Formalization of WS-BPEL Business Process in CSP.
- Author
-
Dimitrov, Vladimir
- Subjects
BPEL (Computer program language) ,COMPUTERS in business ,PETRI nets ,PROGRAMMING languages ,ELECTRONIC data processing - Abstract
WS-BPEL is widely accepted standard for specification of business processes. It is based on formal models of process algebra and Petri nets. As result of that it is easy to write business processes with deadlocks and other unwanted features. This paper shows how an example WS-BPEL process can be converted to formal CSP model. The last one can be formally verified. [ABSTRACT FROM AUTHOR]
- Published
- 2013
36. Modeling and Verifying Producer-Consumer Communication in Kafka Using CSP
- Author
-
Huibiao Zhu, Jiaqi Yin, Junya Xu, and Lili Xiao
- Subjects
Model checking ,Correctness ,Computer science ,Distributed computing ,Process calculus ,020207 software engineering ,Fault tolerance ,02 engineering and technology ,Communicating sequential processes ,Deadlock ,Load balancing (computing) ,Formal methods ,0202 electrical engineering, electronic engineering, information engineering ,020201 artificial intelligence & image processing ,computer ,computer.programming_language - Abstract
Apache Kafka is a popular open source and commercially supported distributed publish-subscribe messaging system, which achieves high throughput, low latency and good load balancing. As a widely used messaging system, message delivery between producers and consumers is one of core functions in Kafka, and the reliability and correctness of message delivery are important and concerned. The formal methods can analyze whether it is a highly credible model. Therefore, it is significant to analyze the communication between producers and consumers from the perspective of formal methods. In this paper, we model the communication between producers and consumers in Kafka by the process algebra CSP (Communicating Sequential Processes). Moreover, we also apply the model checking tool PAT (Process Analysis Toolkit) to verify five properties of our system namely Deadlock Freedom, Acknowledgement Mechanism, Parallelism, Sequentiality and Fault Tolerance. The results of verification show the model of message transmission in Kafka messaging system caters for its specification, from which this system can be concluded that it is reliable.
- Published
- 2021
- Full Text
- View/download PDF
37. Brief Industry Paper: Modeling and Verification of Descent Guidance Control of Mars Lander
- Author
-
Mengfei Yang, Xiong Xu, Yao Chen, Naijun Zhan, Bai Xue, Shuling Wang, Bohua Zhan, Bin Gu, Xiangyu Jin, and Xiaofeng Li
- Subjects
Computer science ,Mars landing ,Stateflow ,Communicating sequential processes ,Mars Exploration Program ,ComputerSystemsOrganization_PROCESSORARCHITECTURES ,Toolchain ,Hybrid system ,Systems engineering ,ComputerSystemsOrganization_SPECIAL-PURPOSEANDAPPLICATION-BASEDSYSTEMS ,Code generation ,computer ,computer.programming_language ,Descent (mathematics) - Abstract
We give an introduction to the MARS toolchain for formal modeling and verification of hybrid systems. It consists of translators from Simulink/Stateflow models to Hybrid Communicating Sequential Processes (HCSP), and tools for simulation, code generation, and deductive verification of an HCSP model. We apply the toolchain to model the descent guidance control phase of the recently launched Tianwen I mars lander, and verify that it correctly controls the velocity of the lander.
- Published
- 2021
- Full Text
- View/download PDF
38. A Design and Implementation Method for Embedded Systems Using Communicating Sequential Processes with an Event-Driven and Multi-Thread Processor.
- Author
-
Mizutani, Ryo and Ohmori, Kenji
- Abstract
Recently, because embedded systems that play important roles in cyber worlds involve complexly intertwined functions, it becomes difficult to develop them using conventional technologies. In this paper, a new method is introduced for designing and implementing embedded systems. The design phase uses an agent system, a state transition diagram, and communicating sequential process models by descending from an abstract and general level to a more concrete and specific level. The implementation phase uses an event-driven and multi-thread processor and a C-like language with enhanced processes communication channels. A radio-controlled car operated using a tablet is developed using the proposed design and implementation method. The development time and cost is considerably reduced. [ABSTRACT FROM PUBLISHER]
- Published
- 2012
- Full Text
- View/download PDF
39. Capturing High-level Nondeterminism in Concurrent Programs for Practical Concurrency Model Agnostic Record & Replay
- Author
-
Hanspeter Mössenböck, Dominik Aumayr, Elisa Gonzalez Boix, Sophie Kaleba, Stefan Marr, Informatics and Applied Informatics, and Software Languages Lab
- Subjects
FOS: Computer and information sciences ,Computer Science - Programming Languages ,Computer science ,Event (computing) ,Programming language ,media_common.quotation_subject ,Concurrency ,Thread (computing) ,Communicating sequential processes ,computer.software_genre ,debugging ,QA76 ,Debugging ,Software transactional memory ,Software system ,Actor model ,concurrent programs ,repoort and replay ,computer ,media_common ,TRACE (psycholinguistics) ,computer.programming_language ,Programming Languages (cs.PL) - Abstract
With concurrency being integral to most software systems, developers combine high-level concurrency models in the same application to tackle each problem with appropriate abstractions. While languages and libraries offer a wide range of concurrency models, debugging support for applications that combine them has not yet gained much attention. Record & replay aids debugging by deterministically reproducing recorded bugs, but is typically designed for a single concurrency model only. This paper proposes a practical concurrency-model-agnostic record & replay approach for multi-paradigm concurrent programs, i.e. applications that combine concurrency models. Our approach traces high-level nondeterministic events by using a uniform model-agnostic trace format and infrastructure. This enables orderingbased record & replay support for a wide range of concurrency models, and thereby enables debugging of applications that combine them. In addition, it allows language implementors to add new concurrency models and reuse the model-agnostic record & replay support. We argue that a concurrency-model-agnostic record & replay is practical and enables advanced debugging support for a wide range of concurrency models. The evaluation shows that our approach is expressive and flexible enough to support record & replay of applications using threads & locks, communicating event loops, communicating sequential processes, software transactional memory and combinations of those concurrency models. For the actor model, we reach recording performance competitive with an optimized special-purpose record & replay solution. The average recording overhead on the Savina actor benchmark suite is 10% (min. 0%, max. 23%). The performance for other concurrency models and combinations thereof is at a similar level. We believe our concurrency-model-agnostic approach helps developers of applications that mix and match concurrency models. We hope that this substrate inspires new tools and languages making building and maintaining of multi-paradigm concurrent applications simpler and safer.
- Published
- 2021
40. Denotational semantics of channel mobility in UTP-CSP
- Author
-
Gerard Ekembe Ngondi
- Subjects
Interface (Java) ,Computer science ,Semantics (computer science) ,Distributed computing ,020207 software engineering ,Context (language use) ,02 engineering and technology ,Communicating sequential processes ,Load balancing (computing) ,Theoretical Computer Science ,Denotational semantics ,Handover ,020204 information systems ,0202 electrical engineering, electronic engineering, information engineering ,computer ,Software ,Communication channel ,computer.programming_language - Abstract
In this paper, we present the denotational semantics for channel mobility in the Unifying Theories of Programming (UTP) semantics framework. The basis for the model is the UTP theory of reactive processes, precisely, the UTP semantics for Communicating Sequential Processes (CSP), which is extended to allow the mobility of channels—the set of channels that a process can use for communication (its interface), originally static or constant (set during the process's definition), is now made dynamic or variable: it can change during the process's execution. A channel is thus moved around by communicating it via other channels and then allowing the receiving process to extend its interface with the received channel. We introduce a new concept, the capability of a process, which allows separating the ownership of channels from the knowledge of their existence. Mobile processes are then defined as having a static capability and a dynamic interface. Operations of a mobile telecommunications network, e.g., handover, load balancing, are used to illustrate the semantics. We redefine CSP operators and in particular provide the first semantics for the renaming and hiding operators in the context of channel mobility.
- Published
- 2021
- Full Text
- View/download PDF
41. Implementation matters, also in concurrent evolutionary algorithms
- Author
-
Juan-Julián Merelo Guervós, Sergio Rojas-Galeano, and Mario García-Valdez
- Subjects
Point (typography) ,Computer science ,Interface (Java) ,Concurrency ,Evolutionary algorithm ,0102 computer and information sciences ,02 engineering and technology ,Communicating sequential processes ,01 natural sciences ,Computer engineering ,010201 computation theory & mathematics ,0202 electrical engineering, electronic engineering, information engineering ,Parallelism (grammar) ,Leverage (statistics) ,020201 artificial intelligence & image processing ,computer ,computer.programming_language - Abstract
Concurrency in evolutionary algorithms allow researchers to leverage the performance of powerful multi-core desktop architectures by parallelizing tasks using a high-level interface. However, concurrency also introduces additional complexity at the model and the implementation level. In this paper we describe how using parallel execution monitoring tools to check the effective parallelism of the implementation, can help to work out some of said complexities at the implementation-level, which in turn, are translated into improvements at the algorithmic-level. The performance gain is noticeable from an evaluations/seconds point of view to the possible scaling that can be achieved in the running machine, up to a superlinear scaling in an off-the-shelf platfonn. We show that the design using communicating sequential processes implemented in the language Raku is the basis for these improvements.
- Published
- 2020
- Full Text
- View/download PDF
42. On Hoare Triples Applicability to Dependable System Specification Synthesis
- Author
-
Valentyna Dusheba, Alexander Chemeris, Ravil Kudermetov, Vadym Shkarupylo, and Andrii Oliinyk
- Subjects
Model checking ,business.industry ,Programming language ,Computer science ,System requirements specification ,Communicating sequential processes ,computer.software_genre ,Formal methods ,Automation ,PlusCal ,Formal specification ,business ,Temporal logic of actions ,computer ,computer.programming_language - Abstract
Modern level of dependable systems engineering process organization is tightly interwoven with formal methods application. Those are typically the model checkers, bringing in the automation. Despite the significant developments in this direction, the aspect of formal specifications synthesis automation is still lagging behind. To this end, a technique is proposed, covering the aspects of diminishing the breach between the analytical interpretation of formal specification and its implementation on the basis of the formalism chosen. The technique is grounded on Communicating Sequential Processes calculus, Hoare triples and Temporal Logic of Actions. To prove the technique proposed, a case study, demonstrating the Message Queuing Telemetry Transport protocol specification synthesis, has been conducted.
- Published
- 2020
- Full Text
- View/download PDF
43. Angelic processes for CSP via the UTP
- Author
-
Pedro Ribeiro and Ana Cavalcanti
- Subjects
General Computer Science ,Programming language ,Semantics (computer science) ,Computer science ,Context (language use) ,Communicating sequential processes ,computer.software_genre ,Divergence (computer science) ,Theoretical Computer Science ,Abstraction (mathematics) ,Conservative extension ,TheoryofComputation_LOGICSANDMEANINGSOFPROGRAMS ,Postcondition ,computer ,computer.programming_language - Abstract
Demonic and angelic nondeterminism play fundamental roles as abstraction mechanisms for formal modelling. In contrast with its demonic counterpart, in an angelic choice failure is avoided whenever possible. Although it has been extensively studied in refinement calculi, in the context of process algebras, and of the Communicating Sequential Processes (CSP) algebra for refinement, in particular, it has been elusive. We show here that a semantics for an extended version of CSP that includes both demonic and angelic choice can be provided using Hoare and He's Unifying Theories of Programming (UTP). Since CSP is given semantics in the UTP via reactive designs (pre and postcondition pairs) we have developed a theory of angelic designs and a conservative extension of the CSP theory using reactive angelic designs. To characterise angelic nondeterminism appropriately in an algebra of processes, however, a notion of divergence that can undo the history of events needs to be considered. Taking this view, we present a model for CSP where angelic choice completely avoids divergence just like in the refinement calculi for sequential programs.
- Published
- 2019
- Full Text
- View/download PDF
44. A Secure Protocol for Remote-Code Integrity Attestation of Embedded Systems: The CSP Approach
- Author
-
Zarina Shukur and Abdo Ali Abdullah Al-Wosabi
- Subjects
tampering detection ,General Computer Science ,Computer science ,System integrity ,Embedded systems ,Hash function ,Encryption ,Public-key cryptography ,Secure communication ,Server ,Secrecy ,General Materials Science ,code integrity attestation ,computer.programming_language ,Authentication ,software tampering ,business.industry ,General Engineering ,Communicating sequential processes ,Cryptographic protocol ,Formal methods ,Embedded system ,code integrity ,Timestamp ,lcsh:Electrical engineering. Electronics. Nuclear engineering ,CSP formal method approach ,business ,computer ,lcsh:TK1-9971 ,Cryptographic nonce - Abstract
No doubt, a person of modern society relying on Embedded Systems (ESs) has increased rapidly and the era of digital machines is gaining popularity among users and also systems providers. At the same time, such instruments face substantial security challenges because they usually operate in a physically unprotected environment, and thus attract the attackers to gain unauthorized access for utilizing the system functions. Accordingly, system integrity is important and hence there is a need to propose a technique/tool to verify that the original/pure systems codes have been used in those devices. In this research, our main objective is to design a system architecture with a secure communication for code integrity attestation of an ES. Indeed, the study presents the proposed system architecture for ESs integrity attestation which includes two main phases: fetching an ES code at a server site and examining the ES at a remote site (using a designed user application). Essentially, the hash function (SHA-2) with a random key to calculate a unique digest value for a targeted system have been utilized. Also, the study used timestamps and nonce values, two secure keys, and public key algorithm to design a secure protocol in-order to prevent potential attacks during data and the associated values transfer between the server and the remote user application. As many researchers state that the formal methods are very precise and accurate for presenting system specifications; this study modeled and analyzed the proposed attestation protocol using the Communicating Sequential Processes (CSP) formal method approach. Besides, the Compiler for the Analysis of Security Protocols (Casper) has been used to translate the protocol description into the corresponding process algebra CSP model. Then, the researcher used the Failures Divergences Refinement (FDR) to evaluate the proposed protocol. Those formal method tools are considered as a reliable verification measurement in-order to figure-out potential flaws and correct them. Overall, the final output of checking all the defined secrecy and authentication assertions using FDR 4.2.0, and thus all the secrecy and authentication specifications defined in the developed Casper script are passed.
- Published
- 2019
45. Modeling and Verifying Basic Modules of Floodlight
- Author
-
Shuangqing Xiang, Phan Cong Vinh, Huibiao Zhu, Lili Xiao, Xi Wu, and Wanling Xie
- Subjects
OpenFlow ,Computer Networks and Communications ,business.industry ,Computer science ,Distributed computing ,Floodlight ,020206 networking & telecommunications ,02 engineering and technology ,Communicating sequential processes ,System model ,Network management ,Hardware and Architecture ,0202 electrical engineering, electronic engineering, information engineering ,020201 artificial intelligence & image processing ,business ,Protocol (object-oriented programming) ,Formal verification ,Host (network) ,computer ,Software ,Information Systems ,computer.programming_language - Abstract
Software-Defined Networking (SDN) is an emerging networking paradigm that provides flexible network programmability and reduces the complexity of network management and control. OpenFlow Protocol is the best-known southbound interface of SDN. As one of the most popular OpenFlow controllers, Floodlight is famous for its excellent basic modules, which are used by many other mainstream controllers. Due to the popularity and widespread use of the Floodlight’s modules, it is important to analyze them in a formal framework. In this paper, we focus on six modules of Floodlight that are mainly responsible for pushing decisions and discovering topology. In order to verify whether these modules meet two important requirements, including Decision Pushed Correctly and Rule Installed Once, we propose a system model that formalizes these modules as well as hosts and switches using Communicating Sequential Processes (CSP). Moreover, we add two types of attacks: Link Fabrication and Host Hijacking, which aim at poisoning the topology information collected by a controller, to construct a second system model. Finally, we implement these two system models in Process Analysis Toolkit (PAT), a model checker, to verify whether our models cater for four assertions based on two requirements and if Floodlight is vulnerable to these two attacks.
- Published
- 2018
- Full Text
- View/download PDF
46. FORMAL AND MODEL DRIVEN DESIGN OF A HIGH SPEED DATA TRANSMISSION CHANNEL.
- Author
-
ZHONGKAI JI, JIANGUO MA, and OLIVER FAUST
- Subjects
- *
DATA transmission systems , *MACHINE theory , *INTEGRATED circuits , *PROBLEM solving , *SYSTEMS engineering , *FINITE state machines - Abstract
This paper presents a formal and model driven design approach for a high speed data transmission channel. The formal process algebra communicating sequential processes (CSP) was used to specify the system functionality. Automated model checking established, beyond reasonable doubt, important system properties, such as freedom from deadlock and livelock. Once these properties were established, the functionality was translated into an implementation which realizes high speed data transmission between two independent IC chips. Normal and failure case testing ensured that the implementation complies with the specification. This work shows how formal and model driven design methodologies speed up the process of turning ideas into physical problem solutions. More specifically, formal modeling gave us firm understanding and deep insight of the system functionality which enabled us to implement and to select correct system components. [ABSTRACT FROM AUTHOR]
- Published
- 2013
- Full Text
- View/download PDF
47. A STATIC ANALYSIS FRAMEWORK FOR LIVELOCK FREEDOM IN CSP.
- Author
-
OUAKNINE, JOËL, PALIKAREVA, HRISTINA, ROSCOE, A. W., and WORRELL, JAMES
- Subjects
CSP (Computer program language) ,RECURSION theory ,SEQUENTIAL processing (Computer science) ,SYNTAX in programming languages ,ALGORITHMS - Abstract
In a process algebra with hiding and recursion it is possible to create processes which compute internally without ever communicating with their environment. Such processes are said to diverge or livelock. In this paper we show how it is possible to conservatively classify processes as livelock-free through a static analysis of their syntax. In particular, we present a collection of rules, based on the inductive structure of terms, which guarantee livelock-freedom of the denoted process. This gives rise to an algorithm which conservatively ags processes that can potentially livelock. We illustrate our approach by applying both BDD-based and SAT-based implementations of our algorithm to a range of benchmarks, and show that our technique in general substantially outperforms the model checker FDR whilst exhibiting a low rate of inconclusive results. [ABSTRACT FROM AUTHOR]
- Published
- 2013
- Full Text
- View/download PDF
48. Hardware support for CSP on a Java chip multiprocessor.
- Author
-
Gruian, Flavius and Schoeberl, Martin
- Subjects
- *
HARDWARE , *JAVA programming language , *MULTIPROCESSORS , *SEQUENTIAL processing (Computer science) , *BANDWIDTHS , *BIT rate - Abstract
Abstract: Due to memory bandwidth limitations, chip multiprocessors (CMPs) adopting the convenient shared memory model for their main memory architecture scale poorly. On-chip core-to-core communication is a solution to this problem, that can lead to further performance increase for a number of multithreaded applications. Programmatically, the Communicating Sequential Processes (CSPs) paradigm provides a sound computational model for such an architecture with message based communication. In this paper we explore hardware support for CSP in the context of an embedded Java CMP. The hardware support for CSP are on-chip communication channels, implemented by a ring-based network-on-chip (NoC), to reduce the memory bandwidth pressure on the shared memory. The presented solution is scalable and also specific for our limited resources and real-time predictability requirements. CMP architectures of three to eight processors were implemented and tested on both Altera (EP1C12, EP2C70) and Xilinx (XC3S1200e) FPGAs, showing that the NoC accounts for under 9% of the total device area used by the system. Compared to shared memory-based communication, our NoC-based solution is between 1.7 and 9.3 times faster for raw data transfer, depending on the communication and memory configuration. Application speed-up, on the other hand, is highly dependent on the type of processing, as our measurements show. [Copyright &y& Elsevier]
- Published
- 2013
- Full Text
- View/download PDF
49. A systematic approach to embedded biomedical decision making
- Author
-
Song, Zhe, Ji, Zhongkai, Ma, Jian-Guo, Sputh, Bernhard, Acharya, U. Rajendra, and Faust, Oliver
- Subjects
- *
DECISION making in clinical medicine , *SYSTEMS engineering , *AUTOMATION , *SUPPORT vector machines , *DIAGNOSTIC imaging , *ARRAY processors - Abstract
Abstract: An embedded decision making is a key feature for many biomedical systems. In most cases human life directly depends on correct decisions made by these systems, therefore they have to work reliably. This paper describes how we applied systems engineering principles to design a high performance embedded classification system in a systematic and well structured way. We introduce the structured design approach by discussing requirements capturing, specifications refinement, implementation and testing. Thereby, we follow systems engineering principles and execute each of these processes as formal as possible. The requirements, which motivate the system design, describe an automated decision making system for diagnostic support. These requirements are refined into the implementation of a support vector machine (SVM) algorithm which enables us to integrate automated decision making in embedded systems. With a formal model we establish functionality, stability and reliability of the system. Furthermore, we investigated different parallel processing configurations of this computationally complex algorithm. We found that, by adding SVM processes, an almost linear speedup is possible. Once we established these system properties, we translated the formal model into an implementation. The resulting implementation was tested using XMOS processors with both normal and failure cases, to build up trust in the implementation. Finally, we demonstrated that our parallel implementation achieves the speedup, predicted by the formal model. [Copyright &y& Elsevier]
- Published
- 2012
- Full Text
- View/download PDF
50. Design and Implementation of Enterprise Systems in Fine-Grained Concurrent Computation.
- Author
-
Ohmori, Kenji
- Subjects
SYSTEMS design ,BUSINESS enterprises ,COMPUTATIONAL complexity ,AGILE software development ,RESOURCE management - Abstract
The computational power required to an enterprise system changes dynamically depending on services and the number of users. Massive concurrent computing is excellent in scalability, so that the paper proposes utilizing it for designing and implementing enterprise systems. The proposed accounting system is developed using Agile software development method to study the scalability of massive concurrent systems. When combining two subsystems in Agile, an attaching function is introduced. The system is designed using Model-View-Control software architecture and communicating sequential processes and then implemented with JCSP. Before implementation, the validity of the model is verified using verification tools. It reduces development cost and time. [ABSTRACT FROM AUTHOR]
- Published
- 2012
- Full Text
- View/download PDF
Catalog
Discovery Service for Jio Institute Digital Library
For full access to our library's resources, please sign in.