Extending G-nets to support inheritance modeling in concurrent object-oriented design

G-nets are a type of Petri net defined to support the modeling of a system as a set of independent and loosely-coupled modules. The modular features of G-nets provide support for incremental design and successive modification, however the G-net formalism is not fully object-oriented due to a lack of support for inheritance. We introduce extensions to G-nets to support explicit modeling of inheritance. Bounded buffer examples are used, which we define as subclasses of an unbounded buffer, to illustrate the expressive power of the extended G-net models. Various forms of inheritance are formalized and discussed in the context of concurrent object-oriented design. In addition, the inheritance anomaly problem is examined and discussed.