Abstract:
In this research, we proposed a new design pattern for the joint work with a
collaborative nature, whether participants are Biddable entities like human or Casual
entities, as an imporatnt aspect in architectural design. The proposed pattern is supported
with methematical semantics to ensure that it maintains seperation between computaion
and coordination. The complexity of the pattern's design is reflected in the case of refuse
or no-reactions of participants.
The pattern represents as a first step in a full collaborative system that can be
extended as a new dimension , to give a higher level of software abstraction, to the
previous ones: Computation, Coordination and Location. Hence, this fourth level
represents a real contribution in supporting software reusability.
The pattern has been implemented in a language known as CommUnity.
CommUnity as a parallel program design language, that is built on the top of Catgeory
Theory, is used to analyze and to provide systematic formalism for software architecture
and to separate between the computations of components and their coordinated
interactions, via Connectors, as an essential issue in architectural description.
Since CommUnity does not support Collaboration, the proposed pattern can be
added as an extension to CommUnity.