Skip to main content
Log in

Reusing semi-specified behavior models in systems analysis and design

  • Regular Paper
  • Published:
Software & Systems Modeling Aims and scope Submit manuscript

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  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 http://www.cs.ubc.ca/~kdvolder/Workshops/OOPSLA2001/submissions/26-aldawud.pdf

  2. The Aspect-Oriented Software Development Web site. http://www.aosd.net/

  3. AspectJ Web Site. http://www.eclipse.org/aspectj/

  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)

  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)

  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)

  7. Back R.J.R. and Kurki-Suonio R. (1989). Decentralization of process nets with centralized control. Distrib. Comput. 3: 73–87

    Article  Google Scholar 

  8. Booch, G.: Object-oriented analysis and design with application. Benjamin/Cummings Publishing Company, Inc. (1994)

  9. Bosch J. (1999). Superimposition: a component adaptation technique. Inf. Softw. Tech. 41(5): 257–273

    Article  MathSciNet  Google Scholar 

  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–352

  11. Clarke, S.: Extending standard UML with model composition semantics. Sci. Comput. Program. 44 (1), 71–100 (2002). http://www.cs.tcd.ie/people/Siobhan.Clarke/papers/SoCP2001.pdf

  12. Clarke, S., Baniassad, E.: Aspect-oriented analysis and design: the theme approach. The Addison-Wesley Object Technology Series (2005)

  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)

  14. Dori D. (2002). Object-process methodology—a holistic systems paradigm. Springer, Heidelberg

    Google Scholar 

  15. Dori D. (2002). Why significant UML change is unlikely. Commun. ACM 45(11): 82–85

    Article  Google Scholar 

  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: http://www.opcat.com/

  17. D’Souza, D., Wills, A.C.: Objects, frameworks and components with UML—the catalysis approach. Addison-Wesley, Reading (1998)

  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)

  19. Early Aspect website: Aspect-Oriented Requirements Engineering and Architecture Design. http://www.early-aspects.net/

  20. Frakes W. and Terry C. (1996). Software reuse: metrics and models. ACM Comput. Surv. 28(2): 415–435

    Article  Google Scholar 

  21. Gomma H. (2004). Designing software product lines with UML: from use cases to pattern-based software Architectures. Addison Wesley, Reading

    Google Scholar 

  22. Gamma E., Helm R. and Johnson R. Vlissides J.O. (1995). Design patterns. Addison-Wesley, Reading

    Google Scholar 

  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). http://www.favaro.net/john/home/publications/rseb.pdf

  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

    Article  Google Scholar 

  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)

  26. IBM Corp. SOA and Web Services. http://www-106.ibm.com/developerworks/webservices/newto/

  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 http://biblion.epfl.ch/EPFL/theses/2003/2796/EPFL_TH2796.pdf

  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. Katz S. (1993). A superimposition control construct for distributed systems. ACM Trans. Program. Lang. Syst. 15(2): 337–356

    Article  Google Scholar 

  30. Keedy, L., Heinlein, C., Menger, G.: The Timor Programming Language. http://www.jlkeedy.net/timor-programming_language.html

  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)

  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 http://trese.cs.utwente.nl/workshops/oopsla-early-aspects-2004/Papers/KuleszaEtAl.pdf

  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)

  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 http://msdn.microsoft.com/msdnmag/issues/03/03/ContextsinNET/#S1

  35. Mahapatra, S.: Programming restrictions on EJB, Java World (2000). Available at http://www.javaworld.com/javaworld/jw-08-2000/jw-0825-ejbrestrict.html

  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). http://www.jrpit.flinders.edu.au/confpapers/CRPITV10Mapelsden.pdf

  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)

  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)

  39. Mili H., Mili F. and Mili A. (1995). Reusing software: issues and research directions. IEEE. trans. Softw. Eng. 21(5): 528–562

    Article  Google Scholar 

  40. Object Management Group: Object Constraint Language, Version 2.0 (2005)

  41. Object Management Group: The Unified Modeling Language (UML ™), version 2.0 (2005)

  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)

  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. Peleg, M., Dori, D.: The model multiplicity problem: experimenting with real-time specification methods. IEEE Trans. Softw. Eng. 26(8), pp. 742–759 (2000). http://iew3.technion.ac.il:8080/Home/Users/dori/Model_Multiplicity_Paper.pdf

  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)

  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–286

  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. 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)

  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)

  50. Schauerhuber, A., Schwinger, W., Kapsammer, E., Retschitzegger, W., Wimmer M., Kappel, G. A Survey on Aspect-Oriented Modeling Approaches (2006). Available at http://www.bioinf.jku.at/publications/2006/1506.pdf

  51. Siau K. and Cau C. (2001). Unified modeling language: a complexity analysis. J. Database Manag. 12(1): 26–34

    Google Scholar 

  52. Skipper, J.F.: Assessing the Suitability of UML for Capturing and Communicating System Engineering Design Models. Vitech Corporation, 2002. http://www.vitechcorp.com/infocenter/SuitabilityOfUMLForSE_2002.pdf

  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

    Article  MATH  Google Scholar 

  54. Special Issue on Aspect-oriented Programming, Communication of the ACM, 44 (10), 2001

  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)

  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)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Iris Reinhartz-Berger.

Additional information

Communicated by Dr. Kevin Lano.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Reinhartz-Berger, I., Dori, D. & Katz, S. Reusing semi-specified behavior models in systems analysis and design. Softw Syst Model 8, 221–234 (2009). https://doi.org/10.1007/s10270-007-0079-3

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-007-0079-3

Keywords

Navigation