On Feature Orientation and on Requirements Encapsulation Using Families of Requirements

  • Jan Bredereke
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2975)


Naive feature orientation runs into problems with large software systems, such as telephone switching systems. With naive feature orientation, a feature extends a base system by an arbitrary increment of functionality. Information hiding helps to structure a large software system design into modules such that it can be maintained. We focus on the requirements of a software system. Requirements can be structured analogously to design modules. Naive feature orientation can violate requirements encapsulation. We survey approaches with improved encapsulation, and we show how and when families of requirements can help.


Base System Feature Interaction Information Hiding Feature Orientation Requirement Module 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Amyot, D., Logrippo, L. (eds.): Feature Interactions in Telecommunications and Software Systems VII, June 2003. IOS Press, Amsterdam (2003)Google Scholar
  2. 2.
    Calder, M., Magill, E. (eds.): Feature Interactions in Telecommunications and Software Systems VI, May 2000. IOS Press, Amsterdam (2000)Google Scholar
  3. 3.
    Kimbler, K., Bouma, L.G. (eds.): Feature Interactions in Telecommunications and Software Systems V, September 1998. IOS Press, Amsterdam (1998)Google Scholar
  4. 4.
    Dini, P., Boutaba, R., Logrippo, L. (eds.): Feature Interactions in Telecommunication Networks IV, June 1997. IOS Press, Amsterdam (1997)Google Scholar
  5. 5.
    Cheng, K.E., Ohta, T. (eds.): Feature Interactions in Telecommunications III. IOS Press, Amsterdam (1995)Google Scholar
  6. 6.
    Bouma, L.G., Velthuijsen, H. (eds.): Feature Interactions in Telecommunications Systems. IOS Press, Amsterdam (1994)Google Scholar
  7. 7.
    ITU-T. Q.12xx-Series Intelligent Network Recommendations (2001) Google Scholar
  8. 8.
    Garrahan, J.J., Russo, P.A., Kitami, K., Kung, R.: Intelligent Network overview. IEEE Commun. Mag. 31(3), 30–36 (1993)CrossRefGoogle Scholar
  9. 9.
    Duran, J.M., Visser, J.: International standards for Intelligent Networks. IEEE Commun. Mag. 30(2), 34–42 (1992)CrossRefGoogle Scholar
  10. 10.
    Gilmore, S., Ryan, M. (eds.): Proc. of Workshop on Language Constructs for Describing Features, Glasgow, Scotland, May 15-16 (2000); ESPRIT Working Group 23531 – Feature Integration in Requirements EngineeringGoogle Scholar
  11. 11.
    Gilmore, S., Ryan, M.D. (eds.): Language Constructs for Describing Features. Springer, Heidelberg (2001)zbMATHGoogle Scholar
  12. 12.
    Katz, S.: A superimposition control construct for distributed systems. ACM Trans. Prog. Lang. Syst. 15(2), 337–356 (1993)CrossRefGoogle Scholar
  13. 13.
    ITU-T, Recommendation Q.1203. Intelligent Network – Global Functional Plane Architecture (October 1992) Google Scholar
  14. 14.
    ITU-T, Recommendation Q.1224. Distributed Functional Plane for Intelligent Network Capability Set 2: Parts 1 to 4 (September 1997) Google Scholar
  15. 15.
    Velthuijsen, H.: Issues of non-monotonicity in feature-interaction detection. In: Cheng and Ohta [5], pp. 31–42Google Scholar
  16. 16.
    Jane Cameron, E., Griffeth, N.D., Lin, Y.-J., et al.: A feature interaction benchmark in IN and beyond. In: Bouma and Velthuijsen [6], pp. 1–23Google Scholar
  17. 17.
    Calder, M., Kolberg, M., Magill, E.H., Reiff-Marganiec, S.: Feature interaction: a critical review and considered forecast. Comp. Networks 41, 115–141 (2002)CrossRefGoogle Scholar
  18. 18.
    Zave, P.: Feature disambiguation. In: Amyot and Logrippo [1], pp. 3–9Google Scholar
  19. 19.
    Gray, T., Liscano, R., Wellman, B., Quan-Haase, A., Radhakrishnan, T., Choi, Y.: Context and intent in call processing. In: Amyot and Logrippo [1], pp. 177–184Google Scholar
  20. 20.
    Bredereke, J.: On preventing telephony feature interactions which are sharedcontrol mode confusions. In: Amyot and Logrippo [1], pp. 159–176Google Scholar
  21. 21.
    Parnas, D.L.: On the criteria to be used in decomposing systems into modules. Commun. ACM 15(12), 1053–1058 (1972); Reprinted in [48]CrossRefGoogle Scholar
  22. 22.
    Weiss, D.M.: Introduction to [21]. In: Hoffman and Weiss [48], pp. 143–144Google Scholar
  23. 23.
    Parnas, D.L., Clements, P.C., Weiss, D.M.: The modular structure of complex systems. IEEE Trans. Softw. Eng. 11(3), 259–266 (1985); Reprinted in [48]CrossRefGoogle Scholar
  24. 24.
    Britton, K.H., Alan Parker, R., Parnas, D.L.: A procedure for designing abstract interfaces for device interface modules. In: Proc. of the 5th Int’l. Conf. on Software Engineering – ICSE 5, pp. 195–204 (March 1981); Reprinted in [48]Google Scholar
  25. 25.
    Parnas, D.L.: Designing software for ease of extension and contraction. IEEE Trans. Softw. Eng. SE-5(2), 128–138 (1979); Reprinted in [48]CrossRefGoogle Scholar
  26. 26.
    Parnas, D.L.: On the design and development of program families. IEEE Trans. Softw. Eng. 2(1), 1–9 (1976); Reprinted in [48]CrossRefGoogle Scholar
  27. 27.
    Weiss, D.M., Lai, C.T.R.: Software Product Line Engineering – a Family-Based Software Development Process. Addison-Wesley Longman, Amsterdam (1999)Google Scholar
  28. 28.
    Conradi, R., Westfechtel, B.: Version models for software configuration management. ACM Comput. Surv. 30(2), 232–282 (1998)CrossRefGoogle Scholar
  29. 29.
    ITU-T, Recommendation Q.1223. Global Functional Plane for Intelligent Network Capability Set 2 (September 1997) Google Scholar
  30. 30.
    Bredereke, J.: Maintaining telephone switching software requirements. IEEE Commun. Mag. 40(11), 104–109 (2002)CrossRefGoogle Scholar
  31. 31.
    Bredereke, J.: Avoiding feature interactions in the users’ interface. In: Kimbler and Bouma [3], pp. 305–317Google Scholar
  32. 32.
    Miller, S.P.: Specifying the mode logic of a flight guidance system in CoRE and SCR. In: Second Workshop on Formal Methods in Software Practice, Clearwater Beach, Florida, USA, March 4-5 (1998)Google Scholar
  33. 33.
    Miller, S.P., Hoech, K.F.: Specifying the mode logic of a flight guidance system in CoRE. Technical Report WP97-2011, Rockwell Collins, Inc., Avionics & Communications, Cedar Rapids, IA 52498 USA (November 1997)Google Scholar
  34. 34.
    Faulk, S.R., Kirby Jr., J., Finneran, L., Moini, A.: Consortium requirements engineering guidebook. Tech. Rep. SPC-92060-CMC, version 01.00.09, Software Productivity Consortium Services Corp., Herndon, Virginia, USA (December 1993)Google Scholar
  35. 35.
    Parnas, D.L., Madey, J.: Functional documents for computer systems. Sci. Comput. Programming 25(1), 41–61 (1995)CrossRefGoogle Scholar
  36. 36.
    Mampaey, M., Couturier, A.: Using TINA concepts for IN evolution. IEEE Commun. Mag. 38(6), 94–99 (2000)CrossRefGoogle Scholar
  37. 37.
    Abarca, C., et al.: Service architecture. Deliverable, TINA-Consortium, Version 5.0, June 16 (1997),
  38. 38.
    Jackson, M., Zave, P.: Distributed feature composition: A virtual architecture for telecommunications services. IEEE Trans. Softw. Eng. 24(10), 831–847 (1998)CrossRefGoogle Scholar
  39. 39.
    Bond, G.W., Cheung, E., Hal Purdy, K., Zave, P., Christopher Ramming, J.: An open architecture for next-generation telecommunication services. ACM Transactions on Internet Technology 4(1) (February 2004) (to appear)Google Scholar
  40. 40.
    Zibman, I., et al.: Minimizing feature interactions: an architecture and processing model approach. In: Cheng and Ohta [5], pp. 65–83Google Scholar
  41. 41.
    Pinard, D.: Reducing the feature interaction problem using an agent-based architecture. In: Amyot and Logrippo [1], pp. 13–22Google Scholar
  42. 42.
    Bredereke, J.: A tool for generating specifications from a family of formal requirements. In: Kim, M., Chin, B., Kang, S., Lee, D. (eds.) Formal Techniques for Networked and Distributed Systems, August 2001, pp. 319–334. Kluwer Academic Publishers, Dordrecht (2001)Google Scholar
  43. 43.
    Bredereke, J.: Families of formal requirements in telephone switching. In: Calder and Magill [2], pp. 257–273Google Scholar
  44. 44.
    Fischer, C.: Combination and implementation of processes and data: from CSP-OZ to Java. PhD thesis, report of the Comp. Sce. dept. 2/2000, University of Oldenburg, Oldenburg, Germany (April 2000)Google Scholar
  45. 45.
    Fischer, C.: CSP-OZ: a combination of Object-Z and CSP. In: Bowman, H., Derrick, J. (eds.) Formal Methods for Open Object-Based Distributed Systems (FMOODS 1997), July 1997, vol. 2, pp. 423–438. Chapman & Hall, Boca Raton (1997)Google Scholar
  46. 46.
    Bredereke, J.: genFamMem 2.0 Manual – a Specification Generator and Type Checker for Families of Formal Requirements. University of Bremen (October 2000),
  47. 47.
    Reiff-Marganiec, S.: Policies: Giving users control over calls. In: Ryan, M.D., Meyer, J.-J.C., Ehrich, H.-D. (eds.) Objects, Agents, and Features. LNCS, vol. 2975, pp. 189–208. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  48. 48.
    Hoffman, D.M., Weiss, D.M. (eds.): Software Fundamentals – Collected Papers by D.L. Parnas, March 2001. Addison-Wesley, Reading (2001)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

  • Jan Bredereke
    • 1
  1. 1.Universität Bremen, FB 3BremenGermany

Personalised recommendations