Abstract
Being an important means of reducing development costs, behavior specification of software components facilitates reuse of a component and even reuse of a component’s architecture (assembly). However, since typically only a part of the components’ functionality is actually used in the new context, a significant part of the behavior specification may be superfluous. As a result, it may be hard to see (and filter out) the actual interplay among the components in their behavior specification. This paper targets the problem in the scope of behavior protocols. It presents a technique for slicing behavior protocols with respect to a given context (composition), designed to remove the unused behavior from a behavior specification. The technique is based on a formal foundation, generic enough to support slicing with respect to a property expressed as a predicate. To demonstrate viability of the proposed approach, a positive experience with behavior specification slicing applied in real-life case study is shared with the reader (along with a short description of a prototype).
This work was partially supported by the Grant Agency of the Czech Republic project 201/06/0770. The results will be applied in the ITEA/EUREKA project OSIRIS Σ!2023.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Adamek, J., Plasil, F.: Component Composition Errors and Update Atomicity: Static Analysis. Journal of Software Maintenance and Evolution: Research and Practice 17(5), 363–377 (2005)
Allen, R., Garlan, D.: A Formal Basis for Architectural Connection. ACM Transactions on Software Engineering and Methodology 6(3), 213–249 (1997)
Bergstra, J.A., Ponse, A., Smolka, S.A.: Handbook of Process Algebra. Elsevier, Amsterdam (2001)
Bobeff, G., Noye, J.: Molding Components using Program Specialization Techniques. Eighth International Workshop on Component-Oriented Programming (2003)
Chueng, S.C., Kramer, J.: Compositional Reachability Analysis of Finite-State Distributed Systems with User-Specified Constraints. In: Proceedings of the 3rd ACM SIGSOFT Symposium on Foundations of Software Engineering, pp. 140–150. ACM Press, New York (1995)
Cheung, S.C., Kramer, J.: Enhancing Compositional Reachability Analysis with Context Constraints. In: Proceedings of ACM SIGSOFT 1993 Symposium on Foundations of Software Engineering, pp. 115–125. ACM Press, New York (1993)
The CRE project (Component Reliability Extensions for Fractal Component Model), http://kraken.cs.cas.cz/ft/public/public_index.phtml
dChecker & BPSlicer, http://dsrg.mff.cuni.cz/projects/dchecker
Gramlich, G., Schnitger, G.: Minimizing NFA’s and Regular Expressions. In: Diekert, V., Durand, B. (eds.) STACS 2005. LNCS, vol. 3404, pp. 399–411. Springer, Heidelberg (2005)
Hassine, J., Dssouli, R., Rilling, J.: Applying Reduction Techniques to Software Functional Requirement Specifications. In: Amyot, D., Williams, A.W. (eds.) SAM 2004. LNCS, vol. 3319, pp. 138–153. Springer, Heidelberg (2005)
JavaCC (Java Compiler Compiler), https://javacc.dev.java.net
Jiang, T., Ravikumar, B.: Minimal NFA problems are hard. SIAM Journal on Computing 22(1), 1117–1141 (1993)
Luckham, D.C., Kenney, J.J., Augustin, L.M., Vera, J., Bryan, D., Mann, W.: Specification and Analysis of System Architecture Using Rapide. IEEE Transactions on Software Engineering 21(4), 336–355 (1995)
Meyer, A.R., Stockmeyer, L.J.: The Equivalence Problem for Regular Expressions with Squaring Requires Exponential Space. In: Proceedings of the 13th Annual Symposium on Switching and Automata Theory, FOCS, pp. 125–129 (1972)
van Ommering, R., van der Linden, F., Kramer, J., Magee, J.: The Koala Component Model for Consumer Electronics Software. IEEE Computer 33(3), 78–85 (2000)
Parizek, P., Plasil, F.: Modeling Environment for Component Model Checking from Hierarchical Architecture. In: FACS 2006. Proceedings of Formal Aspects of Component Software, Prague, Czech Republic. ENTCS (2006)
Plasil, F., Visnovsky, S.: Behavior Protocols for Software Components. IEEE Transactions on Software Engineering 28(11), 1056–1076 (2002)
Reussner, R.H.: Automatic component protocol adaptation with the CoConut/J tool suite, Tools for program development and analysis, vol. 19(5), pp. 627–639. Elsevier Science Publishers, Amsterdam (2003)
Sery, O.: Model Checking and Reduction of Behavior Protocols, Master thesis at Charles University in Prague (2006), available at: http://dsrg.mff.cuni.cz
Sloane, A.M., Holdsworth, J.: Beyond Traditional Program Slicing. In: ISSTA 1996. Proceedings of the 1996 ACM SIGSOFT International Symposium on Software Testing and Analysis, pp. 180–186. ACM Press, New York (1996)
Stafford, J.A., Richardson, D.J., Wolf, A.L.: Architecture-level Dependence Analysis for Software Systems. International Journal of Software Engineering and Knowledge Engineering 11(4), 431–451 (2001)
Zhao, J.: A Slicing-Based Approach to Extracting Reusable Software Architectures. In: Proceedings of the Conference on Software Maintenance and Reengineering, pp. 215–223. IEEE Computer Society Press, Los Alamitos (2000)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Šerý, O., Plášil, F. (2007). Slicing of Component Behavior Specification with Respect to Their Composition. In: Schmidt, H.W., Crnkovic, I., Heineman, G.T., Stafford, J.A. (eds) Component-Based Software Engineering. CBSE 2007. Lecture Notes in Computer Science, vol 4608. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-73551-9_13
Download citation
DOI: https://doi.org/10.1007/978-3-540-73551-9_13
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-73550-2
Online ISBN: 978-3-540-73551-9
eBook Packages: Computer ScienceComputer Science (R0)