174Accesses
2Citations
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
Subscribe and save
- Get 10 units per month
- Download Article/Chapter or eBook
- 1 Unit = 1 Article or 1 Chapter
- Cancel anytime
Buy Now
Price includes VAT (Japan)
Instant access to the full article PDF.
Similar content being viewed by others
References
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 athttp://www.cs.ubc.ca/~kdvolder/Workshops/OOPSLA2001/submissions/26-aldawud.pdf
The Aspect-Oriented Software Development Web site.http://www.aosd.net/
AspectJ Web Site.http://www.eclipse.org/aspectj/
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)
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)
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)
Back R.J.R. and Kurki-Suonio R. (1989). Decentralization of process nets with centralized control.Distrib. Comput. 3: 73–87
Booch, G.: Object-oriented analysis and design with application. Benjamin/Cummings Publishing Company, Inc. (1994)
Bosch J. (1999). Superimposition: a component adaptation technique.Inf. Softw. Tech. 41(5): 257–273
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
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
Clarke, S., Baniassad, E.: Aspect-oriented analysis and design: the theme approach. The Addison-Wesley Object Technology Series (2005)
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)
Dori D. (2002). Object-process methodology—a holistic systems paradigm. Springer, Heidelberg
Dori D. (2002). Why significant UML change is unlikely.Commun. ACM 45(11): 82–85
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/
D’Souza, D., Wills, A.C.: Objects, frameworks and components with UML—the catalysis approach. Addison-Wesley, Reading (1998)
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)
Early Aspect website: Aspect-Oriented Requirements Engineering and Architecture Design.http://www.early-aspects.net/
Frakes W. and Terry C. (1996). Software reuse: metrics and models.ACM Comput. Surv. 28(2): 415–435
Gomma H. (2004). Designing software product lines with UML: from use cases to pattern-based software Architectures. Addison Wesley, Reading
Gamma E., Helm R. and Johnson R. Vlissides J.O. (1995). Design patterns. Addison-Wesley, Reading
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
Grundy J. (2000). Multi-perspective specification, design and implementation of software components using aspects.Int. J. Softw. Eng. Knowl. Eng. 10(6): 713–734
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)
IBM Corp. SOA and Web Services.http://www-106.ibm.com/developerworks/webservices/newto/
Kande, M.M.: A concern-oriented approach to software architecture. Computer Science, vol. PhD. Lausanne, Switzerland: Swiss Federal Institute of Technology (EPFL) (2003). Available athttp://biblion.epfl.ch/EPFL/theses/2003/2796/EPFL_TH2796.pdf
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
Katz S. (1993). A superimposition control construct for distributed systems.ACM Trans. Program. Lang. Syst. 15(2): 337–356
Keedy, L., Heinlein, C., Menger, G.: The Timor Programming Language.http://www.jlkeedy.net/timor-programming_language.html
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)
Kulesza, U., Garcia, A., Lucena, C. Towards a method for the development of aspect-oriented generative approaches, Early Aspects workshop, OOPSLA’2004 (2004). Available athttp://trese.cs.utwente.nl/workshops/oopsla-early-aspects-2004/Papers/KuleszaEtAl.pdf
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)
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 athttp://msdn.microsoft.com/msdnmag/issues/03/03/ContextsinNET/#S1
Mahapatra, S.: Programming restrictions on EJB, Java World (2000). Available athttp://www.javaworld.com/javaworld/jw-08-2000/jw-0825-ejbrestrict.html
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
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)
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)
Mili H., Mili F. and Mili A. (1995). Reusing software: issues and research directions.IEEE. trans. Softw. Eng. 21(5): 528–562
Object Management Group: Object Constraint Language, Version 2.0 (2005)
Object Management Group: The Unified Modeling Language (UML ™), version 2.0 (2005)
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)
Peleg M. and Dori D. (1999). Extending the Object-Process Methodology to handle real-time systems.J. Object. Oriented. Program. 11(8): 53–58
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
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)
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
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
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)
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)
Schauerhuber, A., Schwinger, W., Kapsammer, E., Retschitzegger, W., Wimmer M., Kappel, G. A Survey on Aspect-Oriented Modeling Approaches (2006). Available athttp://www.bioinf.jku.at/publications/2006/1506.pdf
Siau K. and Cau C. (2001). Unified modeling language: a complexity analysis.J. Database Manag. 12(1): 26–34
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
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
Special Issue on Aspect-oriented Programming, Communication of the ACM,44 (10), 2001
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)
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)
Author information
Authors and Affiliations
University of Haifa, Carmel Mountain, 31905, Haifa, Israel
Iris Reinhartz-Berger
Technion-Israel Institute of Technology, Technion City, Haifa, 32000, Israel
Dov Dori & Shmuel Katz
- Iris Reinhartz-Berger
You can also search for this author inPubMed Google Scholar
- Dov Dori
You can also search for this author inPubMed Google Scholar
- Shmuel Katz
You can also search for this author inPubMed Google Scholar
Corresponding author
Correspondence toIris Reinhartz-Berger.
Additional information
Communicated by Dr. Kevin Lano.
Rights 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 Model8, 221–234 (2009). https://doi.org/10.1007/s10270-007-0079-3
Received:
Revised:
Accepted:
Published:
Issue Date:
Share this article
Anyone you share the following link with will be able to read this content:
Sorry, a shareable link is not currently available for this article.
Provided by the Springer Nature SharedIt content-sharing initiative