scroll.internal.formal

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:

Attributes

Members list

Type members

Classlikes

trait CROI extends CROM

Representation of a Compartment Role Object Instance (CROI).

Representation of a Compartment Role Object Instance (CROI).

Attributes

Supertypes
trait CROM
class Object
trait Matchable
class Any
trait CROM extends ECoreImporter

Representation of a Compartment Role Object Model (CROM).

Representation of a Compartment Role Object Model (CROM).

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait CROI
final case class FormalCROI[NT >: Null <: AnyRef, RT >: Null <: AnyRef, CT >: Null <: AnyRef, RST >: Null <: AnyRef](var n: List[NT], var r: List[RT], var c: List[CT], var type1: Map[AnyRef, AnyRef], var plays: List[(NT, CT, RT)], var links: Map[(RST, CT), List[(RT, RT)]])

Class representation of the Compartment Role Object Instance (CROI).

Class representation of the Compartment Role Object Instance (CROI).

Type parameters

CT

type of compartments

NT

type of naturals

RST

type of relationships

RT

type of roles

Value parameters

c

list of all compartments

links

link function

n

list of all naturals

plays

plays relation

r

list of all roles

type1

type mapping

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object FormalCROI

Companion object for the formal representation of the Compartment Role Object Instance (CROI).

Companion object for the formal representation of the Compartment Role Object Instance (CROI).

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
FormalCROI.type
object FormalCROM

Companion object for the formal representation of the Compartment Role Object Model (CROM).

Companion object for the formal representation of the Compartment Role Object Model (CROM).

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
FormalCROM.type
final case class FormalCROM[NT >: Null <: AnyRef, RT >: Null <: AnyRef, CT >: Null <: AnyRef, RST >: Null <: AnyRef](nt: List[NT], rt: List[RT], ct: List[CT], rst: List[RST], fills: List[(NT, RT)], parts: Map[CT, List[RT]], rel: Map[RST, List[RT]])

Class representation of the Compartment Role Object Model (CROM).

Class representation of the Compartment Role Object Model (CROM).

Type parameters

CT

type of compartments

NT

type of naturals

RST

type of relationships

RT

type of roles

Value parameters

ct

list of all compartment types

fills

fills-relation

nt

list of all natural types

parts

parts-relation

rel

relationship mappings

rst

list of all relationship types

rt

list of all role types

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Companion object for the formal representation of the constraint model.

Companion object for the formal representation of the constraint model.

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
final case class FormalConstraintModel[NT >: Null <: AnyRef, RT >: Null <: AnyRef, CT >: Null <: AnyRef, RST >: Null <: AnyRef](rolec: Map[CT, List[((Int, Int), AnyRef)]], card: Map[RST, ((Int, Int), (Int, Int))], intra: List[(RST, List[(NT, NT)] => Boolean)])

Class representation of the Constraint Model.

Class representation of the Constraint Model.

Type parameters

CT

type of compartments

NT

type of naturals

RST

type of relationships

RT

type of roles

Value parameters

card

cardinality mappings

intra

intra-relationship constraints

rolec

the role constraints

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
final case class FormalRoleGroup(rolegroups: List[AnyRef], lower: Int, upper: Int)

Class representation of role groups.

Class representation of role groups.

Value parameters

lower

lower bound as int

rolegroups

nested role groups if any

upper

upper bound as int

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object FormalUtils

Collection of some helper functions for the formal representation of CROM.

Collection of some helper functions for the formal representation of CROM.

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type