The Composition-Filters Object Model*
Lodewijk Bergmans · 1998
communication types offer a number of advantages: o Expressive power: ACTs increase the expressive power of the model, as they allow for tailoring the semantics of message passing. o Complexity: ACTs can make the complexity of programs manageable by moving the interaction code to separate modules. This allows for reducing the number of inter-module relations and hiding communication details. ACTs can be applied to construct layered systems. o Separating functionaland interaction-code: ACTs promote the migration of interaction code to separate modules, thereby improving maintainability and reusability. o Reusability: Different types of classes may have common patterns of communication and synchronisation. Such commonalities can be abstracted using ACTs. Programmers may apply object-oriented techniques, such as inheritance and delegation, to achieve a more systematic reuse of ACTs, and thus of interaction code. o Enforcing invariant behaviour: It is easier to enforce the invariant behaviour among objects if there is a module explicitly representing this behaviour. However, ACTs should be applied with care: ACTs are only appropriate as a modelling tool, and should thus only be applied for modelling real-world or design entities. Carelessly shifting interaction code from participating objects to ACTs may violate the important object-oriented principle that every object is self-sufficient and independent. This would result in bad design characteristics. Nevertheless, if applied with care, ACTs offer a powerful technique for addressing certain types of modelling problems [Aksit 92b]. 5 Further Language Aspects This section briefly describes a number of language aspects that have not been covered yet in the previous sections. This includes type-checking, scope rules, an overview of the pseudo-variables, and 31 This is to avoid that multiple replies are created for a single message invocation.