Abstract
Modal transition systems are a popular semantic underpinning of interface theories, such as Nyman et al.’s IOMTS and Bauer et al.’s MIO, which facilitate component-based reasoning for concurrent systems. Our interface theory MIA repaired a compositional flaw of IOMTS-refinement and introduced a conjunction operator. In this paper, we first modify MIA to properly deal with internal computations including internal must-transitions, which were largely ignored already in IOMTS. We then study a MIA variant that adopts MIO’s pessimistic—rather than IOMTS’ optimistic—view on component compatibility and define, for the first-time in a pessimistic, non-deterministic setting, conjunction and disjunction on interfaces. For both the optimistic and pessimistic MIA variant, we also discuss mechanisms for extending alphabets when refining interfaces, which is a desired feature for perspective-based specification. We illustrate our advancements via a small example.
Similar content being viewed by others
References
Bauer, S.: Modal Specification Theories for Component-based Design. Ph.D. Thesis, Faculty of Mathematics, Informatics and Statistics, LMU Munich, Germany (2012)
Bauer, S., David, A., Hennicker, R., Larsen, K., Legay, A., Nyman, U., Wasowski, A.: Moving from specifications to contracts in component-based design. In: FASE, LNCS, vol. 7212, pp. 43–58. Springer, Berlin (2012)
Bauer, S., Mayer, P., Schroeder, A., Hennicker, R.: On weak modal compatibility, refinement, and the MIO Workbench. In: TACAS, LNCS, vol. 6015, pp. 175–189. Springer, Berlin (2010)
Beneš, N., Cerná, I., Křetínský, J.: Modal transition systems: composition and LTL model checking. In: Bultan, T., Hsiung, P.A. (eds.) ATVA, LNCS, vol. 6996, pp. 228–242. Springer, Berlin (2011)
Beyer, D., Chakrabarti, A., Henzinger, T., Seshia, S.: An application of web-service interfaces. In: ICWS, pp. 831–838. IEEE (2007)
Bujtor, F., Fendrich, S., Lüttgen, G., Vogler, W.: Nondeterministic modal interfaces. In: Software Seminar (SOFSEM) (2015)
Bujtor, F., Vogler, W.: Failure semantics for modal transition systems. In: Application of Concurrency to Systems Design (ACSD) (2014)
Chen, T., Chilton, C., Jonsson, B., Kwiatkowska, M.: A compositional specification theory for component behaviours. In: ESOP, LNCS, vol. 7211, pp. 148–168. Springer, Berlin (2012)
Chilton, C.: An Algebraic Theory of Componentised Interaction. Ph.D. Thesis, Department of Computer Science, University of Oxford, UK (2013)
de Alfaro, L., Henzinger, T.: Interface-based design. In: Engineering Theories of Software-Intensive Systems, NATO Science Series, vol. 195. Springer, Berlin (2005)
Fahrenberg, U., Jan Křetínský, A.L., Traonouez, L.M.: Compositionality for quantitative specifications. In: Formal Aspects of Component Software, LNCS. Springer, Berlin (2014)
Fischbein, D., Uchitel, S.: On correct and complete strong merging of partial behaviour models. In: Foundations of Software Engineering (SIGSOFT FSE), pp. 297–307 (2008)
Hatcliff, J., Leavens, G.T., Leino, K.R.M., Müller, P., Parkinson, M.: Behavioral interface specification languages. ACM Comput. Surv. 44(3), 16:1–16:58 (2012)
Larsen, K.: Modal specifications. In: Automatic Verification Methods for Finite State Systems, LNCS, vol. 407, pp. 232–246. Springer, Berlin (1990)
Larsen, K., Nyman, U., Wasowski, A.: Modal I/O automata for interface and product line theories. In: ESOP, LNCS, vol. 4421, pp. 64–79. Springer, Berlin (2007)
Lüttgen, G., Vogler, W.: Modal interface automata. Log. Methods Comput. Sci. 9(3:4) (2013)
Meyer, B.: Applying design by contract. IEEE Comput. 25(10), 40–51 (1992)
Milner, R.: Communication and Concurrency. Prentice Hall, Englewood Cliffs (1989)
Raclet, J., Badouel, E., Benveniste, A., Caillaud, B., Legay, A., Passerone, R.: A modal interface theory for component-based design. Fund. Inform. 107, 1–32 (2011)
Raclet, J.B.: Residual for component specifications. ENTCS 215, 93–110 (2008)
Schäfer, M., Vogler, W.: Component refinement and CSC-solving for STG decomposition. Theor. Comput. Sci. 388(1–3), 243–266 (2007)
Author information
Authors and Affiliations
Corresponding author
Additional information
An extended abstract of this article appeared in S. Schneider and H. Treharne, eds., 13th Intl. Workshop on Automated Verification of Critical Systems (AVoCS 2013), vol. 66 of Electronic Communications of the EASST. Research support was provided by the DFG (German Research Foundation) under Grants LU 1748/3-1 and VO 615/12-1.
Appendix: Proof of Lemma 4(b)–(e)
Appendix: Proof of Lemma 4(b)–(e)
Proof of Part (b). We show by induction on \(k\) that there exists a \(\overline{P}_k\) such that . Part (a) implies the case \(k=1\). Assume the claim holds for \(k\). Now, there are two cases: if \(p_{k+1} \notin \overline{P}_k\), then \(\overline{P}_{k+1} = \overline{P}_k \subseteq (P'{\setminus }\{p_1, \ldots , p_{k+1}) \cup \,\bigcup _{i=1}^{k+1} P_i\). Otherwise, by Part (a). Hence, \(\overline{P}_{k+1} \subseteq (((P'{\setminus }\{p_1, \ldots , p_k\}) \cup \,\bigcup _{i=1}^{k} P_i){\setminus }\{p_{k+1}\}) \cup P_{k+1} \subseteq (P'{\setminus }\{p_1, \ldots , p_{k+1}) \cup \,\bigcup _{i=1}^{k+1} P_i\). \(\square \)
Proof of Part (c). The proof proceeds by induction on the overall number of applications of Definition 2(a’). If this is \(0\), then \(\overline{P} =_{\text {df}}\bigcup _{i=1}^{n} P_i\). Otherwise, assume w.l.o.g. that , \(p_1 \in P''_1\), \(p_1 {\mathop {\longrightarrow }\limits ^{\tau }} P''\) and \(P'_1 = (P''_1{\setminus }\{p_1\}) \cup P''\). By induction hypothesis, there exists a \(\hat{P}\) such that . If \(p_1 \notin \hat{P}\), then \(\hat{P} \subseteq \,\bigcup _{i=1}^{n} P'_i\) and we are done. Otherwise, . Since \(\hat{P}\subseteq P''_1 \cup \,\bigcup _{i=2}^{n} P'_i\) implies \(\hat{P}{\setminus }\{p_1\} \subseteq (P''_1{\setminus }\{p_1\}) \cup \,\bigcup _{i=2}^{n} P'_i\), we obtain \(\overline{P} \subseteq \bigcup _{i=1}^{n} P'_i\). \(\square \)
Proof of Part (d). The proof is by induction on the derivation of . For \(P=P'\), choose \(\overline{P} =_{\text {df}}P''\). Otherwise, assume , \(p\in \hat{P}\), \(p {\mathop {\longrightarrow }\limits ^{\tau }} \hat{P}'\) and \(P' = (\hat{P}{\setminus }\{p\}) \cup \hat{P}'\). By induction hypothesis, there exists a \(\overline{P}'\) such that . If \(p \notin \overline{P}'\), then \(\overline{P}'\subseteq P'\) and we are done. Otherwise, \(\overline{P} =_{\text {df}}(\overline{P}'{\setminus }\{p\}) \cup \hat{P}'\subseteq P'\). \(\square \)
Proof of Part (e). For \(1 \le i \le n\), we have such that \(p_j^i {\mathop {\longrightarrow }\limits ^{o}} P_j^i\) for \(1 \le j \le k_i\), and can derive from by repeated application of Definition 2(a), i.e., . By Part (d), we get for each \(P_j^i\) a \(P_j^{'i}\) such that .
When applying Part (b), we obtain some \(\hat{P}\) such that . With Definition 2(b) we get , where \(U\) is the union of some of the \(P_j^i\). Taking these \(P_j^i\) as the \(P_i\) in Part (c) yields such that \(\overline{P}\) is contained in the union of the resp. \(P_j^{'i}\) and, thus, in \(\bigcup _{i=1}^{n} P_i\). \(\square \)
Rights and permissions
About this article
Cite this article
Lüttgen, G., Vogler, W. & Fendrich, S. Richer interface automata with optimistic and pessimistic compatibility. Acta Informatica 52, 305–336 (2015). https://doi.org/10.1007/s00236-014-0211-0
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00236-014-0211-0