This Trait allows for implementing an objectified collaboration with a limited number of participating roles and a fixed scope.
This Trait allows for implementing an objectified collaboration with a limited number of participating roles and a fixed scope.
Roles are dependent on some sort of context. We call them compartments. A typical example of a compartment is a university, which contains the roles Student and Teacher collaborating in Courses. Everything in SCROLL happens inside of Compartments but roles (implemented as standard Scala classes) can be defined or imported from everywhere. Just mix in this Trait into your own specific compartment class or create an anonymous instance.
val player = new Player() new Compartment { class RoleA class RoleB player play new RoleA() player play new RoleB() // call some behaviour }
This package provides the functionality of importing ecore models via the scroll.internal.ecore.ECoreImporter Trait.
Package containing error data classes for SCROLL.
This package contains the Scala reference implementation of the role-based modeling language for Compartment Role Object Models (CROM) and Compartment Role Object Instances (CROI), as well as Constraint Models.
This package contains the Scala reference implementation of the role-based modeling language for Compartment Role Object Models (CROM) and Compartment Role Object Instances (CROI), as well as Constraint Models. The implementation is kept simple, comprehensive, and more importantly close to their formalization. This is an adaption of https://github.com/Eden-06/formalCROM.
The reference implementation contains the following classes: - scroll.internal.formal.CROM representing a Compartment Role Object Model - scroll.internal.formal.CROI a Compartment Role Object Instance - scroll.internal.formal.FormalRoleGroup the notion of a Role Group - scroll.internal.formal.FormalConstraintModel a Constraint Model
Package containing the data model of SCROLL which are essentially graphs.
This package most notable provides the scroll.internal.rpa.RolePlayingAutomaton for implementing an automaton specifying compartment specific role lifecycle.
Package containing traits complementing the functionality of scroll.internal.Compartment with things like scroll.internal.support.Relationships, scroll.internal.support.RoleConstraints or scroll.internal.support.RoleRestrictions.
Package containing some useful utility classes for SCROLL like logging (scroll.internal.util.Log) and reflection (scroll.internal.util.ReflectiveHelper).
This package most notable provides the scroll.internal.Compartment trait for implementing an objectified collaboration with a limited number of participating roles and a fixed scope.