Reusing semi-specified behavior models in systems analysis and design

Iris Reinhartz-Berger, Dov Dori, Shmuel Katz

Research output: Contribution to journalArticlepeer-review


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.

Original languageEnglish
Pages (from-to)221-234
Number of pages14
JournalSoftware and Systems Modeling
Issue number2
StatePublished - 2009


  • Aspect-oriented modeling
  • Aspect-oriented software engineering
  • Modularity
  • Object-process methodology
  • Software reuse

ASJC Scopus subject areas

  • Software
  • Modeling and Simulation


Dive into the research topics of 'Reusing semi-specified behavior models in systems analysis and design'. Together they form a unique fingerprint.

Cite this