Abstract
While various specification languages for concurrent-system design exist today, it is often not clear which specification language is more suitable than another for a particular case study. To address this problem, we study four different specification languages for the same 2×2 Switch case study: TLA + , Bluespec, Statecharts, and the Algebra of Communicating Processes (ACP). By slightly altering the design intent of the Switch, we obtain more complicated behaviors of the Switch. For each design intent, we investigate how each specification, in each of the specification languages, captures the corresponding behavior. By using three different criteria, we judge each specification and specification language. For our case study, however, all four specification languages perform poorly in at least two criteria! Hence, this paper illustrates, on a seemingly simple case study, some of the prevailing difficulties of concurrent-system design.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Automatic Generation of Control Logic with Bluespec SystemVerilog, Bluespec, Inc., Initially (February 2005), bluespec.com/products/Papers.htm
Bergstra, J.A., Ponse, A., van der Zwaag, M.B.: Branching time and orthogonal bisimulation equivalence. Theoretical Computer Science 309, 313–355 (2003)
Daylight, E.G.: The Difficulty of Correctly Designing a 2×2 Switch, Technical Report No. 2007-16, Virginia Tech. (May 2007), http://fermat.ece.vt.edu/Publications/pubs/techrep/techrep0716.pdf
Fokkink, W.J.: Introduction to Process Algebra. In: Texts in Theoretical Computer Science. Springer, Heidelberg (2000)
Harel, D.: Statecharts: A visual Formalism for complex systems. Sc. of Comp. Prog. 8, 231–274 (1987)
Hoe, J.C., Arvind: Operation-Centric Hardware Description and Synthesis. IEEE Trans. on Computer-Aided Design of Integrated Circuits and Systems 23(9), 1277–1288 (2004)
Kahn, G.: The Semantics of a Simple Language for Parallel Programming. Information Processing, 471–475 (1974)
Lamport, L.: Specifying Systems: The TLA + Language and Tools for Hardware and Software Engineers. Addison-Wesley Professional, Reading (2002)
Singh, G., Shukla, S.K.: Verifying Compiler Based Refinement of \(\textrm{Bluespec}^{TM}\) Specifications Using the SPIN Model Checker. In: Havelund, K., Majumdar, R., Palsberg, J. (eds.) SPIN 2008. LNCS, vol. 5156, pp. 250–269. Springer, Heidelberg (2008)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2009 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Daylight, E.G., Shukla, S.K. (2009). On the Difficulties of Concurrent-System Design, Illustrated with a 2×2 Switch Case Study. In: Cavalcanti, A., Dams, D.R. (eds) FM 2009: Formal Methods. FM 2009. Lecture Notes in Computer Science, vol 5850. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-05089-3_18
Download citation
DOI: https://doi.org/10.1007/978-3-642-05089-3_18
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-05088-6
Online ISBN: 978-3-642-05089-3
eBook Packages: Computer ScienceComputer Science (R0)