Package

scroll

internal

Permalink

package internal

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.

Linear Supertypes
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. internal
  2. AnyRef
  3. Any
  1. Hide All
  2. Show all
Visibility
  1. Public
  2. All

Type Members

  1. trait CachedCompartment extends Compartment

    Permalink
  2. trait Compartment extends RoleConstraints with RoleRestrictions with RoleGroups with Relationships with QueryStrategies with RoleUnionTypes

    Permalink

    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.

    Overview

    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.

    Example

    val player = new Player()
    new Compartment {
      class RoleA
      class RoleB
    
      player play new RoleA()
      player play new RoleB()
    
      // call some behaviour
    }
  3. trait IAdaption[O, C <: O, R, N <: O] extends AnyRef

    Permalink
  4. trait KiamaCompartment extends Compartment

    Permalink
  5. class ScrollAdaption extends IAdaption[AnyRef, AnyRef, AnyRef, AnyRef]

    Permalink

Value Members

  1. package annotations

    Permalink
  2. package ecore

    Permalink

    This package provides the functionality of importing ecore models via the scroll.internal.ecore.ECoreImporter Trait.

  3. package errors

    Permalink

    Package containing error data classes for SCROLL.

  4. package formal

    Permalink

    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

  5. package graph

    Permalink

    Package containing the data model of SCROLL which are essentially graphs.

  6. package rpa

    Permalink

    This package most notable provides the scroll.internal.rpa.RolePlayingAutomaton for implementing an automaton specifying compartment specific role lifecycle.

  7. package support

    Permalink

    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.

  8. package util

    Permalink

    Package containing some useful utility classes for SCROLL like logging (scroll.internal.util.Log) and reflection (scroll.internal.util.ReflectiveHelper).

Inherited from AnyRef

Inherited from Any

Ungrouped