@InProceedings{Teig01a, title = "{F}rom {S}afe {C}oncurrent {P}rocesses to {P}rocess-{C}lasses? {PLUSSING} {N}ew {C}ode by {ROLLING} out and {C}ompile?", author= "Teig, Øyvind", editor= "Chalmers, Alan G. and Mirmehdi, Majid and Muller, Henk", pages = "283--304", booktitle= "{C}ommunicating {P}rocess {A}rchitectures 2001", isbn= "1 58603 202 X", year= "2001", month= "sep", abstract= "This article expands a concurrent language to support implementation inheritance by making block structures of the super process-class pluggable, and to interface inheritance by making the language's protocol inheritable. The parallel 'object-based' concurrent language occam 2 has been used as a catalyst for the concept, causing the language in fact to become (almost?) 'object-oriented' (OO). The result is white-box reuse between a 'process-class' and its sub process-class, and black-box reuse seen from the client side. Since occam is aliasing free and considered a 'safe' concurrent language, the expansion we discuss here keeps those properties - somewhat unusual for an OO system. This new language should be well suited in safety critical systems, since it has inherited the static (compile-time) and analysable properties from occam proper. Basically, two new keywords are defined: PLUSSING and ROLLING. The language feature suggestion is on sketch level only and therefore not complete, no BNF description exists and no compiler has been written." }