A Precise Specification For The Modelling Of Collaborations - Barajas, Fernando Valles (Malaysian Journal of Computer Science, 2010)
A collaboration represents a set of entities that work together to achieve a common goal. Collaborations are useful to specify how a set of elements collaborate to realize a method, a class or a use case. Collaborations are also useful for representing design patterns, which are represented in UML as parameterized collaborations. This paper contains two complementary models for modeling collaborations; one model is graphical and specifies only basic constraints and the other model is textual and specifies further constraints that cannot be specified in the graphical model. Both of these models were built using Alloy, which is: 1) a modeling language that uses first order logic and relational logic to specify systems 2) a methodology that helps designers in making models 3) an analyzer that detects inconsistencies in design.