A Comparison of Reuse in Object-oriented Programming and Structural Modeling Systems [abstract] (PDF)
Manish Vachharajani, Neil Vachharajani, and David I. August
Liberty Research Group Technical Report 03-01, October 2003.
Modeling systems in which users construct models by specifying the
interconnect between concurrently executing components are a natural
fit for hardware modeling. These concurrent-structural modeling
systems allow the specification of the model to parallel that of the
hardware making specifications clear, easy to understand, and
straight-forward to build and modify.
Unfortunately, many concurrent-structural modeling systems provide few
mechanisms to create flexible-reusable components. Others have built
these modeling systems on object-oriented programming (OOP) languages
in the hope that the OOP features will allow the creation of useful
flexible reusable components for structural modeling. Unfortunately,
simply adopting OOP features is insufficient for this task. By
drawing an analogy between OOP programs and concurrent-structural
models, it is possible to understand why. Furthermore, this analogy
highlights what would be needed in a concurrent-structural system to
gain the same benefits seen in OOP systems. This report compares the
features necessary to obtain reuse in concurrent-structural modeling
systems by drawing this analogy between object-oriented programming
constructs and concurrent-structural modeling constructs.