Software & Systems Modeling

, Volume 8, Issue 2, pp 221–234 | Cite as

Reusing semi-specified behavior models in systems analysis and design

  • Iris Reinhartz-Berger
  • Dov Dori
  • Shmuel Katz
Regular Paper


As the structural and behavioral complexity of systems has increased, so has interest in reusing modules in early development phases. Developing reusable modules and then weaving them into specific systems has been addressed by many approaches, including plug-and-play software component technologies, aspect-oriented techniques, design patterns, superimposition, and product line techniques. Most of these ideas are expressed in an object-oriented framework, so they reuse behaviors after dividing them into methods that are owned by classes. In this paper, we present a crosscutting reuse approach that applies object-process methodology (OPM). OPM, which unifies system structure and behavior in a single view, supports the notion of a process class that does not belong to and is not encapsulated in an object class, but rather stands alone, capable of getting input objects and producing output objects. The approach features the ability to specify modules generically and concretize them in the target application. This is done in a three-step process: designing generic and target modules, weaving them into the system under development, and refining the combined specification in a way that enables the individual modules to be modified after their reuse. Rules for specifying and combining modules are defined and exemplified, showing the flexibility and benefits of this approach.


Software reuse Aspect-oriented software engineering Aspect-oriented modeling Object-Process Methodology Modularity 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Aldawud, O., Elrad, T., Bader, A.: A UML Profile for Aspect Oriented Modeling. Proceedings of OOPSLA 2001 Workshop on Advanced Separation of Concerns in Object-Oriented Systems, (2001). Available at
  2. 2.
    The Aspect-Oriented Software Development Web site.
  3. 3.
  4. 4.
    Baniassad, E., Clarke, S.: Theme: an approach for aspect-oriented analysis and design. 26th International Conference on Software Engineering (ICSE 2004), IEEE Computer Society, 2004, pp. 158–167 (2004)Google Scholar
  5. 5.
    Bouge, L., Francez, N.: A Compositional Approach to Superimposition. Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of Programming Languages, 1998, pp. 240–249 (1998)Google Scholar
  6. 6.
    Barber, K.S., Graser, T.J., Jernigan, S.R.: Increasing Opportunities for Reuse through Tool and Methodology Support for Enterprise-wide Requirements Reuse and Evolution. Proc. of the 1st International Conference on Enterprise Information Systems, 1999, pp.~383–390 (1999)Google Scholar
  7. 7.
    Back R.J.R. and Kurki-Suonio R. (1989). Decentralization of process nets with centralized control. Distrib. Comput. 3: 73–87 CrossRefGoogle Scholar
  8. 8.
    Booch, G.: Object-oriented analysis and design with application. Benjamin/Cummings Publishing Company, Inc. (1994)Google Scholar
  9. 9.
    Bosch J. (1999). Superimposition: a component adaptation technique. Inf. Softw. Tech. 41(5): 257–273 CrossRefMathSciNetGoogle Scholar
  10. 10.
    Constantinides, C.A., Bader, A., Elrad, T.: An Aspect-Oriented Design Framework for Concurrent Systems. Proceedings of the European Conference on Object-Oriented Programming (ECOOP), 1999, pp. 340–352Google Scholar
  11. 11.
    Clarke, S.: Extending standard UML with model composition semantics. Sci. Comput. Program. 44 (1), 71–100 (2002).
  12. 12.
    Clarke, S., Baniassad, E.: Aspect-oriented analysis and design: the theme approach. The Addison-Wesley Object Technology Series (2005)Google Scholar
  13. 13.
    Clarke, S., Walker, R.J.: Composition patterns: an approach to designing reusable aspects. Proceedings of the International Conference on Software Engineering, pp. 5–14 (2001)Google Scholar
  14. 14.
    Dori D. (2002). Object-process methodology—a holistic systems paradigm. Springer, Heidelberg Google Scholar
  15. 15.
    Dori D. (2002). Why significant UML change is unlikely. Commun. ACM 45(11): 82–85 CrossRefGoogle Scholar
  16. 16.
    Dori, D., Reinhartz-Berger, I., Sturm A.: OPCAT—A Bimodal Case Tool for Object-Process Based System Development. 5th International Conference on Enterprise Information Systems (ICEIS 2003), 2003. Software download site:
  17. 17.
    D’Souza, D., Wills, A.C.: Objects, frameworks and components with UML—the catalysis approach. Addison-Wesley, Reading (1998)Google Scholar
  18. 18.
    Eckstein, S., Ahlbrecht, P., Neumann, K.: Increasing Reusability in Information Systems Development by Applying Generic Methods. Proceedings of the 13th International Conference CAiSE’01, LNCS 2068, 2001, pp. 251–266 (2001)Google Scholar
  19. 19.
    Early Aspect website: Aspect-Oriented Requirements Engineering and Architecture Design.
  20. 20.
    Frakes W. and Terry C. (1996). Software reuse: metrics and models. ACM Comput. Surv. 28(2): 415–435 CrossRefGoogle Scholar
  21. 21.
    Gomma H. (2004). Designing software product lines with UML: from use cases to pattern-based software Architectures. Addison Wesley, Reading Google Scholar
  22. 22.
    Gamma E., Helm R. and Johnson R. Vlissides J.O. (1995). Design patterns. Addison-Wesley, Reading Google Scholar
  23. 23.
    Griss M., Favaro J., d’Alessandro M. Integrating Feature Modeling with the RSEB, Proceedings of the Fifth International Conference on Software Reuse, pp. 76–85 (1998).
  24. 24.
    Grundy J. (2000). Multi-perspective specification, design and implementation of software components using aspects. Int. J. Softw. Eng. Knowl. Eng. 10(6): 713–734 CrossRefGoogle Scholar
  25. 25.
    Gurp, J.V., Bosch, J., Svahnberg, M.: On the Notion of Variability in Software Product Lines, Working IEEE/IFIP Conference on Software Architecture (WISCA’01), 2001, pp. 45–54 (2001)Google Scholar
  26. 26.
  27. 27.
    Kande, M.M.: A concern-oriented approach to software architecture. Computer Science, vol. PhD. Lausanne, Switzerland: Swiss Federal Institute of Technology (EPFL) (2003). Available at
  28. 28.
    Katara, M., Katz, S.: A concern architecture view for aspect-oriented software design. Software and system modeling, Springer, (2006). doi: 10.1007/s10270-006-0032-x
  29. 29.
    Katz S. (1993). A superimposition control construct for distributed systems. ACM Trans. Program. Lang. Syst. 15(2): 337–356 CrossRefGoogle Scholar
  30. 30.
    Keedy, L., Heinlein, C., Menger, G.: The Timor Programming Language.
  31. 31.
    Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., Loingtier, J., M., Irwin, J. Aspect-Oriented Programming. European Conference on Object-Oriented Programming (ECOOP’97). LNCS 1241, pp. 220–242 (1997)Google Scholar
  32. 32.
    Kulesza, U., Garcia, A., Lucena, C. Towards a method for the development of aspect-oriented generative approaches, Early Aspects workshop, OOPSLA’2004 (2004). Available at
  33. 33.
    Lester, N.G., Wilkie, F.G., Bustard, D.W.: Applying UML Extensions to Facilitate Software Reuse. The Unified Modeling Language (UML’98) - Beyond the Notation. LNCS 1618, pp. 393–405 (1998)Google Scholar
  34. 34.
    Lowy, J.: Contexts in .NET: Decouple Components by Injecting Custom Services into Your Object’s Interception Chain, MSDN Magazine—The Microsoft Journal for Developers (2003). Available at
  35. 35.
    Mahapatra, S.: Programming restrictions on EJB, Java World (2000). Available at
  36. 36.
    Mapelsden, D., Hosking, J., Grundy, J.: Design Patterns Modelling and Instantiation using DPML. 40th International Conference on Technology of Object-Oriented Languages and Systems (TOOLS), (2002).
  37. 37.
    Mens, T., Lucas, C., Steyaert, P.: Giving Precise Semantics to Reuse and Evolution in UML. Proc. PSMT’98 Workshop on Precise Semantics for Modeling Techniques (1998)Google Scholar
  38. 38.
    Mezini, M., Lieberherr, K.: Adaptive Plug-and-Play Components for Evolutionary Software Development. Conference on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA), pp. 97–116 (1998)Google Scholar
  39. 39.
    Mili H., Mili F. and Mili A. (1995). Reusing software: issues and research directions. IEEE. trans. Softw. Eng. 21(5): 528–562 CrossRefGoogle Scholar
  40. 40.
    Object Management Group: Object Constraint Language, Version 2.0 (2005)Google Scholar
  41. 41.
    Object Management Group: The Unified Modeling Language (UML ™), version 2.0 (2005)Google Scholar
  42. 42.
    Papazoglou, M.P.: Service-oriented computing: concepts, characteristics and directions, Proceedings of the 4th IEEE International Conference on Web Information Systems Engineering (WISE’2003), pp. 3–12 (2003)Google Scholar
  43. 43.
    Peleg M. and Dori D. (1999). Extending the Object-Process Methodology to handle real-time systems. J. Object. Oriented. Program. 11(8): 53–58 Google Scholar
  44. 44.
    Peleg, M., Dori, D.: The model multiplicity problem: experimenting with real-time specification methods. IEEE Trans. Softw. Eng. 26(8), pp. 742–759 (2000).
  45. 45.
    Reinhartz-Berger, I.: Conceptual Modeling of Structure and Behavior with UML—The Top Level Object-Oriented Framework (TLOOF) Approach, the 24th International Conference on Conceptual Modeling (ER’2005), Lecture Notes in Computer Science 3716, pp. 1–15 (2005)Google Scholar
  46. 46.
    Reinhartz-Berger, I., Dori, D.: Object-Process Methodology (OPM) vs. UML: A Code Generation Perspective, Evaluating Modeling Methods for System Analysis and Design (EMMSAD’04), Proceeding of CAiSE’04 Workshops, vol. 1, 1004, pp. 275–286Google Scholar
  47. 47.
    Reinhartz-Berger I. and Dori D. (2005). OPM vs. UML—Experimenting with comprehension and construction of web application models. Empir. Softw. Eng. 10(1): 57–80 Google Scholar
  48. 48.
    Reinhartz-Berger, I., Dori, D.: A reflective metamodel of object-process methodology. In: Green, P., Rosemann, M., (eds.) The System Modeling Building Blocks, chapter 6 in Business Systems Analysis with Ontologies, Idea Group Inc., (2005)Google Scholar
  49. 49.
    Reinhartz-Berger, I., Dori, D., Katz, S.: OPM/Web – Object-Process Methodology for Developing Web Applications. Annals on Software Engineering – Special Issue on Object-Oriented Web-based Software Engineering, pp. 141–161 (2002)Google Scholar
  50. 50.
    Schauerhuber, A., Schwinger, W., Kapsammer, E., Retschitzegger, W., Wimmer M., Kappel, G. A Survey on Aspect-Oriented Modeling Approaches (2006). Available at
  51. 51.
    Siau K. and Cau C. (2001). Unified modeling language: a complexity analysis. J. Database Manag. 12(1): 26–34 Google Scholar
  52. 52.
    Skipper, J.F.: Assessing the Suitability of UML for Capturing and Communicating System Engineering Design Models. Vitech Corporation, 2002.
  53. 53.
    Soffer P., Golany B., Dori D. and Wand Y. (2001). Modelling Off-the-shelf information systems requirements: an ontological approach. Requir. Eng. 6(3): 183–199 zbMATHCrossRefGoogle Scholar
  54. 54.
    Special Issue on Aspect-oriented Programming, Communication of the ACM, 44 (10), 2001Google Scholar
  55. 55.
    Stein, D., Hanenberg, S., Unland, R.: A UML-based Aspect-Oriented Design Notation for AspectJ. Proceedings of the 1st International Conference on Aspect-Oriented Software Development, ACM, pp. 106–112 (2002)Google Scholar
  56. 56.
    Sunye, G., Le Guennec, A. Jezequel, J.M.: Design Patterns Application in UML. Proceedings of the 14th European Conference on Object-Oriented Programming, LNCS 1850, pp. 44–62 (1850)Google Scholar

Copyright information

© Springer-Verlag 2008

Authors and Affiliations

  1. 1.University of HaifaHaifaIsrael
  2. 2.Technion-Israel Institute of Technology, Technion CityHaifaIsrael

Personalised recommendations