Abstract
Submodule construction is the problem of finding a new submodule which, together with a given submodule, provides a behavior that conforms to a given desired global behavior. A new formulation of this problem and its solution in first-order logic is presented, and it is shown how the known solutions to this problem in the context of various communication paradigms and specification formalisms can be derived. Communication paradigms are: synchronous rendezvous at several interfaces; interleaved rendezvous; input/output automata with complete or partial behavior specifications and with synchronous or interleaved communication. A new algorithm for deriving a progressive solution is also presented.









Similar content being viewed by others
Explore related subjects
Discover the latest articles and news from researchers in related subjects, suggested using machine learning.References
Abadi M, Lamport L (1995) Conjoining specifications. ACM Trans Program Lang Syst 17(3):507–534
Aho AV, Sethi R, Ullman JD (1986) Compilers, principles, techniques and tools. Addison Wesley
Bhaduri P, Ramesh S (2008) Interface synthesis and protocol conversion. Form Asp Comput 20(2):205–224
Bochmann GV (2002a) Submodule construction and supervisory control: a generalization. In: Proc of int conf on implementation and applications of automata (invited paper). Springer Lecture Notes
Bochmann GV (2002b) Submodule construction for specifications with input assumptions and output guarantees. In: Proc FORTE’02 (22st IFIP WG 6.1 international conference on formal techniques for networked and distributed systems). Chapman & Hall
Bochmann GV (2009) Using first-order logic to reason about submodule construction. In: Proc IFIP int conf on formal techniques for distributed systems, LNCS 5522. Springer, Lisbon, Portugal
Bochmann GV, Merlin PM (1980) On the construction of communication protocols. In: ICCC, pp 371–378 (reprinted in Sunshine C (ed) (1981) Communication protocol modeling, Artech House Publ.; Russian translation: Problems of Intern. Center for Science and Techn. Information, Moscow, 1981, no. 2, pp 146–155. See also Merlin P, Bochmann G V (1983) On the construction of submodule specifications and communication protocols. ACM Trans Program Lang Syst 5(1):1–25)
Brandin BA, Wonham WM (1994) Supervisory control of timed discrete-event systems. IEEE Trans Automat Contr 39(2):329–342
Broy M (1995) Advanced component interface specification. In: Proc TPPP’94. Lecture notes in CS 907, pp 369–392
Buffalov S, El-Fakih K, Yevtushenko N, Bochmann GV (2003) Progressive solutions to a parallel automata equation. In: Proc FORTE conf (IFIP), Berlin, LNCS 2767, Springer, pp 367–382
Daou B, Bochmann GV (2005) Submodule construction for extended state machine models. In: Proc IFIP int’l conf on formal techniques for networked and distributed systems - FORTE 2005, Taiwan, Springer LNCS 3731, pp 396–410
De Luca A, Henzinger TA (2001) Interface automata. In: Proc 8th European software engineering conf held jointly with 9th ACM SIGSOFT FSE 2001, pp 109–120
Drissi J, Bochmann GV (1999) Submodule construction tool. In: Mohammadian M (ed) Proc int conf on computational intelligence for modelling, control and automation, Vienne, IOS Press, pp 319–324
Drissi J, Bochmann GV (2000) Submodule construction for systems of timed I/O automata. Technical report (see also Drissi J, PhD thesis, University of Montreal, in French)
Haghverdi E, Ural H (1999) Submodule construction from concurrent system specifications. Inform Software Tech (Elsevier) 41(1999):499–506
Hoare CAR (1985) Communicating sequential processes. Prentice Hall
Kelekar SGH (1994) Synthesis of protocols and protocol converters using the submodule construction approach. In: Danthine A, et al (eds) Proc PSTV, XIII
Kim T, Villa T, Brayton R, Sangiovanni-Vincentelli A (1997) Synthesis of FSMs: functional optimization. Kluwer Academic Publishers
Kumar R, Nelvagar S, Marcus SI (1997) A discrete event systems approach for protocol conversion. Discret Event Dyn Syst 7(3):295–315. doi:10.1023/A:1008258331497
Larsen KG, Xinxin L (1990) Equation solving using modal transition systems. In: Proc IEEE symp on logic in computer science, pp 108–117
Lynch NA, Tuttle MR (1989) An introduction to input/output automata. CWI Quarterly 2(3):219–246
Maler O, Pnueli A, Sifakis J (1995) On the synthesis of discrete controllers for timed systems. In: STACS 95, annual symp. on theoretical aspects of computer science, Berlin, Springer, pp 229–242
Misra J, Chandy KM (1991) Proofs of networks of processes. IEEE Trans Softw Eng 7(4):417–426
Parrow J (1989) Submodule construction as equation solving in CCS. Theor Comp Sci 68(2):175–202
Petrenko A, Yevtushenko N (1998) Solving asynchronous equations. In: Proc of IFIP FORTE/PSTV’98 conf, Paris, Chapman-Hall
Petrenko A, Yevtushenko N, Bochmann GV, Dssouli R (1996) Testing in context: framework and test derivation. Computer Communications Journal, Special Issue on Protocol Engineering 19:1236–1249
Qin H, Lewis P (1991) Factorisation of finite state machines under strong and observational equivalences. J Form Asp Comput 3(2):284–307. doi:10.1007/BF01245634
Ramadge PJG, Wonham WM (1989) The control of discrete event systems. Proc IEEE 77(1):81–98
Tao ZP, Bochmann GV, Dssouli R (1995) A model and an algorithm of subsystem construction. In: Proceedings of the eighth international conference on parallel and distributed computing systems, 21–23 Sept 1995. Orlando, Florida, USA, pp 619–622
Tao Z, Bochmann GV, Dssouli R (1997) A formal method for synthesizing optimized protocol converters and its application to mobile data networks. Publisher: Baltzer, ACM Press, Netherlands. Mob Netw Appl 2(3):259–269
Thistle JG (1995) On control of systems modelled as deterministic Rabin automata. Discret Event Dyn Syst 5(4):357–381. doi:10.1007/BF01439153
Tretmans J (1996) Test generation with inputs, outputs and quiescence. In: Proc 2nd international workshop on tools and algorithms for construction and analysis of systems (TACAS), Springer, pp 127–146
Yevtushenko N, Villa T, Brayon R, Petrenko A, Sangiovanni-Vincentelli A (2000) Synthesis by language equation solving (exended abstract). In: Proc of annual intern workshop on logic synthesis, 2000, 11–14, complete paper in conference on Computer-Aided Design (ICCAD ’01), 2001, pp 103; see also Solving equations in logic synthesis. Technical Report, Tomsk State University, Tomck 1999, 27 p (in Russian) or Sequential synthesis by language equation solving. http://www.cs.berkeley.edu/~bodik/teaching/cs294/papers/language.pdf
Yevtushenko N, Villa T, Brayton R, Petrenko A, Vincentelli AS (2008) Compositionally progressive solutions of synchronous FSM equations. Discret Event Dyn Syst 18(1):51–89
Acknowledgements
I would like to thank the late Philip Merlin with whom I started my work in the area of submodule construction. I would also like to thank Nina Yevtushenko (Tomsk University, Russia) for many discussions about submodule construction algorithms and the idea that a generalization of the concept could be found for different specification formalisms. I would also like to thank Bassel Daou for many inspiring discussions on the topic, and finally would like to mention that the work of my former PhD students Z.P. Tao and Jawad Drissi also contributed to my understanding of this problem.
Author information
Authors and Affiliations
Corresponding author
Additional information
Some very preliminary version of this paper was written in September 2001 (not published); it was completely rewritten Fall 2008 and a small subset was published in FORTE 2009 (Bochmann 2009). This paper is a largely extended version of the 2008 paper. This work was partly supported by a research grant from the Natural Sciences and Engineering Research Council of Canada.
Rights and permissions
About this article
Cite this article
Bochmann, G.v. Using logic to solve the submodule construction problem. Discrete Event Dyn Syst 23, 27–59 (2013). https://doi.org/10.1007/s10626-011-0127-6
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10626-011-0127-6
Keywords
- Component design
- Equation solving
- Submodule construction
- Derivation of component behavior
- State machines
- Labeled transition systems
- Input/output automata
- First-order logic
- Discrete event control systems