Skip to content

Commit

Permalink
Merge pull request #719 from AmpersandTarski/development
Browse files Browse the repository at this point in the history
  • Loading branch information
hanjoosten authored Nov 25, 2017
2 parents 1312237 + 6b84fae commit 15225d7
Show file tree
Hide file tree
Showing 81 changed files with 821 additions and 660 deletions.
2 changes: 1 addition & 1 deletion .gitattributes
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
static/zwolle/extensions/ExcelImport/lib/* linguist-vendored
static/zwolle/extensions/Messaging/lib/* linguist-vendored
static/zwolle/app/lib/* linguist-vendored

static/zwolle/app/bower_components/* linguist-vendored
2 changes: 2 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,8 @@ matrix:


allow_failures:
# Temporary allow cabal to fail, will be fixed in time.
- env: BUILD=cabal GHCVER=8.0.2 CABALVER=1.24
# Nightly builds are allowed to fail
- env: BUILD=stack ARGS="--resolver nightly"
- env: BUILD=cabal GHCVER=head CABALVER=head
Expand Down
2 changes: 1 addition & 1 deletion AmpersandData/FormalAmpersand/AST.adl
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ INCLUDE "Interfaces.adl"
-- INCLUDE "Tables.adl"

{- *** De volgende relaties zijn hier tijdelijk opgenomen
*** om Travis gaat piepen. Deze relaties ontbreken elders
*** om te voorkomen dat Travis gaat piepen. Deze relaties ontbreken elders
*** in de FormalAmpersand scripts, maar worden door de
*** meatgrinder wél gevuld.
-}
Expand Down
4 changes: 2 additions & 2 deletions AmpersandData/FormalAmpersand/AST.ifc
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ CONTEXT "AST Interface" IN ENGLISH



INTERFACE Ampersand FOR Ampersand : '_SESSION';V[SESSION*Context]
INTERFACE Ampersand FOR Ampersand : "_SESSION";V[SESSION*Context]
BOX <SHCOLS>
[ "Context" : I
, "name" : name[Context*ContextName]
Expand Down Expand Up @@ -107,7 +107,7 @@ BOX [ Signature: I[Signature]
, "sign~ (Relation)" : sign[Relation*Signature]~ LINKTO INTERFACE "Relation"
, "sign~ (Rule)" : sign[Rule*Signature]~ LINKTO INTERFACE "Rule"
]
INTERFACE Atoms FOR Ampersand : I[SESSION];'_SESSION'
INTERFACE Atoms FOR Ampersand : I[SESSION];"_SESSION"
TABS[ Atoms : V[SESSION*Atom]
COLS [ "Atom" : I
]
Expand Down
2 changes: 1 addition & 1 deletion AmpersandData/FormalAmpersand/Atoms.ifc
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ INCLUDE "Atoms.adl"

REPRESENT Atom TYPE ALPHANUMERIC

INTERFACE Overview (name[Concept*Identifier], name[Relation*Identifier]) : '_SESSION'
INTERFACE Overview (name[Concept*Identifier], name[Relation*Identifier]) : "_SESSION"
TABS[ relations : V[SESSION*Relation]
BOX<SCOLS>
[ relation : I[Relation]
Expand Down
2 changes: 1 addition & 1 deletion AmpersandData/FormalAmpersand/AtomsAsShouldBe.adl
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ PROCESS "Compute Closures"
VIOLATION (TXT "{EX} DelPair;isaStar;Concept;", SRC I, TXT ";Concept;", TGT I)
ENDPROCESS

INTERFACE Overview : '_SESSION'[SESSION]
INTERFACE Overview : "_SESSION"[SESSION]
TABS[ relations : V[SESSION*Relation]
BOX<SCOLS>
[ relation : I[Relation]
Expand Down
2 changes: 1 addition & 1 deletion AmpersandData/FormalAmpersand/AtomsWithRepr.adl
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
CONTEXT AST IN ENGLISH
INCLUDE "Atoms.xlsx"

INTERFACE Overview : '_SESSION'[SESSION]
INTERFACE Overview : "_SESSION"[SESSION]
TABS[ relations : V[SESSION*Relation]
BOX<SCOLS>
[ relation : I[Relation]
Expand Down
2 changes: 1 addition & 1 deletion AmpersandData/FormalAmpersand/Authorisation.adl
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Initially, the creator of a context is its owner.
RELATION owner[Context*Account] [UNI]
MEANING "A context has an owner, which is an account."
ROLE ExecEngine MAINTAINS TOTowner
RULE TOTowner : (I[Context]#'_SESSION'[SESSION]);ingelogd |- owner[Context*Account]
RULE TOTowner : (I[Context]#"_SESSION"[SESSION]);ingelogd |- owner[Context*Account]
MEANING "The creator of a context is the account that was logged in when the context was created."
VIOLATION ( TXT "{EX} InsPair;owner[Context*Account];Context;", SRC I, TXT ";Account;", TGT I )
ENDPATTERN
Expand Down
2 changes: 1 addition & 1 deletion AmpersandData/FormalAmpersand/Contexts.adl
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ VIEW Signature: Signature( TXT "[" , src;name[Concept*ConceptName] , TXT "*" , t
-- RELATION owner[Context*Account] [UNI]
-- MEANING "A context has an owner, which is an account."
-- ROLE ExecEngine MAINTAINS TOTowner
-- RULE TOTowner : (I[Context]#'_SESSION'[SESSION]);ingelogd |- owner
-- RULE TOTowner : (I[Context]#"_SESSION"[SESSION]);ingelogd |- owner
-- MEANING "The creator of a context is the account that was logged in when the context was created."
-- VIOLATION ( TXT "{EX} InsPair;owner;Context;", SRC I, TXT ";Account;", TGT I )
--ENDPATTERN
Expand Down
2 changes: 1 addition & 1 deletion AmpersandData/FormalAmpersand/Contexts.ifc
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ CONTEXT RAP IN ENGLISH
INCLUDE "Contexts.adl"

VIEW Context : Context(name)
INTERFACE Contexts (valid,relations) : '_SESSION'[SESSION]
INTERFACE Contexts (valid,relations) : "_SESSION"[SESSION]
TABS[ "Contexts" : V[SESSION*Context]
BOX<SCOLS>
[ context : I
Expand Down
2 changes: 1 addition & 1 deletion AmpersandData/FormalAmpersand/DomainAnalysis.ifc
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ INCLUDE "DomainAnalysis.adl"
INCLUDE "Terms.adl"
INCLUDE "Braga.xslx"

INTERFACE Overview : '_SESSION'
INTERFACE Overview : "_SESSION"
TABS[concepts :V[SESSION*Concept]
BOX<SCOLS>
[ name : I[Concept]
Expand Down
2 changes: 1 addition & 1 deletion AmpersandData/FormalAmpersand/Expressions.ifc
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ INCLUDE "Expressions.adl"
INCLUDE "Views.adl"
INCLUDE "Atoms.adl"

INTERFACE Atoms (name[Concept*Identifier], name[Relation*Identifier]) : '_SESSION'
INTERFACE Atoms (name[Concept*Identifier], name[Relation*Identifier]) : "_SESSION"
TABS[ relations : V[SESSION*Relation]
BOX<SCOLS>
[ relation : I[Relation]
Expand Down
12 changes: 6 additions & 6 deletions AmpersandData/FormalAmpersand/Login.adl
Original file line number Diff line number Diff line change
Expand Up @@ -69,18 +69,18 @@ ENDPROCESS

VIEW SESSION : SESSION(sessionLoginnaam)

INTERFACE "Login" (sessionLoginnaam, sessionPassword) : '_SESSION' - ingelogd;V
INTERFACE "Login" (sessionLoginnaam, sessionPassword) : "_SESSION" - ingelogd;V
BOX [ "loginnaam" : sessionLoginnaam
, "Wachtwoord" : sessionPassword
]


INTERFACE "Logout" (sessionLoginnaam) : '_SESSION'/\ingelogd;ingelogd~
INTERFACE "Logout" (sessionLoginnaam) : "_SESSION"/\ingelogd;ingelogd~
BOX [ "Logout:" : sessionLoginnaam
]


INTERFACE "Internals" FOR Beheerder: '_SESSION'[SESSION]
INTERFACE "Internals" FOR Beheerder: "_SESSION"[SESSION]
BOX [ --"Actieve sessies" : V[SESSION*SESSION]
--BOX [ "Sessie id" : I[SESSION]
-- , "loginnaam" : ingelogd;accLogin
Expand All @@ -101,7 +101,7 @@ BOX [ loginnaam: accLogin
-- a) een interface voor het beheren van je eigen account in de MENU bar.
INTERFACE "Mijn account"
(accPassword, sessionPassword, accLogin):
'_SESSION';ingelogd
"_SESSION";ingelogd
BOX [ "Login naam" : accLogin
, "Wachtwoord" : accPassword
, "Rol(len)" : accRol
Expand All @@ -113,7 +113,7 @@ BOX [ "Login naam" : accLogin
-- b) een interface voor het beheren van je account, niet in de MENU bar.
INTERFACE "Mijn Persoonsgegevens" -- Zelfde, maar dan als 'gewone' INTERFACE.
(accPassword, sessionPassword, accLogin):
I[Account] /\ ingelogd~;'_SESSION';ingelogd
I[Account] /\ ingelogd~;"_SESSION";ingelogd
BOX [ "Login naam" : accLogin
, "Wachtwoord" : accPassword
, "Rol(len)" : accRol
Expand All @@ -126,7 +126,7 @@ BOX [ "Login naam" : accLogin
-- Het eigen account mag niet gewijzigd worden, omdat zulks de sessie-integriteit zou kunnen verstoren.
INTERFACE "Beheerde Accounts"
(accLogin, accPassword, accRol) FOR Beheerder:
'_SESSION';ingelogd;(accRol;'SystemAdmin';V[Role*Account]-I)
"_SESSION";ingelogd;(accRol;'SystemAdmin';V[Role*Account]-I)
BOX <SCOLS>
[ "Login naam" : accLogin
, "Wachtwoord" : accPassword
Expand Down
2 changes: 1 addition & 1 deletion AmpersandData/FormalAmpersand/Rules.adl
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ PATTERN PropertyRules
CONCEPT PropertyRule "A property rule is a rule, that is a property of a user-declared relation"
CLASSIFY PropertyRule ISA Rule
CONCEPT Property "UNI<|>TOT<|>INJ<|>SUR<|>RFX<|>IRF<|>SYM<|>ASY<|>TRN<|>PROP"
RULE "property enum": I[Property] |- 'UNI' \/ 'TOT' \/ 'INJ' \/ 'SUR' \/ 'RFX' \/ 'IRF' \/ 'SYM' \/ 'ASY' \/ 'TRN' \/ 'PROP'
RULE "property enum": I[Property] |- "UNI" \/ "TOT" \/ "INJ" \/ "SUR" \/ "RFX" \/ "IRF" \/ "SYM" \/ "ASY" \/ "TRN" \/ "PROP"
MEANING "There are nine tokens, that can be used to define properties on a relation. -> is syntactic sugar for UNI and TOT; UNI means univalent; TOT means total; INJ means injective; SUR means surjective; RFX means reflexive; IRF means irreflexive; SYM means symmetric; ASY means antisymmetric; TRN means transitive; and PROP means symmetric and antisymmetric."
REPRESENT Property TYPE ALPHANUMERIC
ENDPATTERN
Expand Down
2 changes: 1 addition & 1 deletion AmpersandData/FormalAmpersand/Rules.ifc
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ CONTEXT AST IN ENGLISH
INCLUDE "Concepts.adl"
--INCLUDE "Atoms.xlsx"

INTERFACE Overview : '_SESSION'[SESSION]
INTERFACE Overview : "_SESSION"[SESSION]
TABS[ atoms : V[SESSION*Atom]
BOX<SCOLS>
[ repr : I
Expand Down
26 changes: 13 additions & 13 deletions AmpersandData/FormalAmpersand/Tables.adl
Original file line number Diff line number Diff line change
Expand Up @@ -95,20 +95,20 @@ ENDPATTERN

PATTERN "Attributes for univalent relations"

RULE "fill srcAtt for univalent relations" : (I/\prop;'UNI';prop~);source;conceptAttribute |- srcAtt
RULE "fill srcAtt for univalent relations" : (I/\prop;"UNI";prop~);source;conceptAttribute |- srcAtt
MEANING "The concept-table of the source of a univalent relation is the source attribute of that relation."
VIOLATION ( TXT "{EX} InsPair;srcAtt;Relation;", SRC I, TXT ";SqlAttribute;", TGT I )
RULE "fill tgtAtt for univalent relations" : (I/\prop;'UNI';prop~);srcAtt;table |- tgtAtt;table
RULE "fill tgtAtt for univalent relations" : (I/\prop;"UNI";prop~);srcAtt;table |- tgtAtt;table
MEANING "The target attribute of a univalent relation is created in the same table as the source attribute."
VIOLATION ( TXT "{EX} NewStruct;SqlAttribute"
, TXT ";tgtAtt;Relation;", SRC I, TXT ";SqlAttribute;_NEW"
, TXT ";concept;SqlAttribute;_NEW;Concept;", SRC target
, TXT ";table;SqlAttribute;_NEW;SQLPlug;", TGT I
)
RULE "clean srcAtt for univalent relations" : (I/\prop;'UNI';prop~);srcAtt |- source;conceptAttribute
RULE "clean srcAtt for univalent relations" : (I/\prop;"UNI";prop~);srcAtt |- source;conceptAttribute
MEANING "The source attribute of a univalent relation is the concept-table of its source concept."
VIOLATION ( TXT "{EX} DelPair;srcAtt;Relation;", SRC I, TXT ";SqlAttribute;", TGT I )
RULE "clean tgtAtt for univalent relations" : (I/\prop;'UNI';prop~);tgtAtt;table |- srcAtt;table
RULE "clean tgtAtt for univalent relations" : (I/\prop;"UNI";prop~);tgtAtt;table |- srcAtt;table
MEANING "The target attribute of a univalent relation is removed from the table in which its source attribute resides."
VIOLATION ( TXT "{EX} DelAtom;SQLPlug;", TGT I
, TXT "{EX} DelPair;table;SqlAttribute;", SRC tgtAtt, TXT ";SQLPlug;", TGT I
Expand All @@ -126,20 +126,20 @@ ENDPATTERN


PATTERN "Attributes for injective relations"
RULE "fill tgtAtt for injective relations" : ((I/\prop;'INJ';prop~)-prop;'UNI';prop~);target;conceptAttribute |- tgtAtt
RULE "fill tgtAtt for injective relations" : ((I/\prop;"INJ";prop~)-prop;"UNI";prop~);target;conceptAttribute |- tgtAtt
MEANING "The concept-table of the target of a univalent relation is the target attribute of that relation."
VIOLATION ( TXT "{EX} InsPair;tgtAtt;Relation;", SRC I, TXT ";SqlAttribute;", TGT I )
RULE "fill srcAtt for injective relations" : ((I/\prop;'INJ';prop~)-prop;'UNI';prop~);tgtAtt;table |- srcAtt;table
RULE "fill srcAtt for injective relations" : ((I/\prop;"INJ";prop~)-prop;"UNI";prop~);tgtAtt;table |- srcAtt;table
MEANING "The target attribute of a univalent relation is created in the same table as the source attribute."
VIOLATION ( TXT "{EX} NewStruct;SqlAttribute"
, TXT ";srcAtt;Relation;", SRC I, TXT ";SqlAttribute;_NEW"
, TXT ";concept;SqlAttribute;_NEW;Concept;", SRC source
, TXT ";table;SqlAttribute;_NEW;SQLPlug;", TGT I
)
RULE "clean tgtAtt for injective relations" : ((I/\prop;'INJ';prop~)-prop;'UNI';prop~);tgtAtt |- target;conceptAttribute
RULE "clean tgtAtt for injective relations" : ((I/\prop;"INJ";prop~)-prop;"UNI";prop~);tgtAtt |- target;conceptAttribute
MEANING "The target attribute of a univalent relation is the concept-table of its target concept."
VIOLATION ( TXT "{EX} DelPair;tgtAtt;Relation;", SRC I, TXT ";SqlAttribute;", TGT I )
RULE "clean srcAtt for injective relations" : ((I/\prop;'INJ';prop~)-prop;'UNI';prop~);srcAtt;table |- tgtAtt;table
RULE "clean srcAtt for injective relations" : ((I/\prop;"INJ";prop~)-prop;"UNI";prop~);srcAtt;table |- tgtAtt;table
MEANING "The target attribute of a univalent relation is removed from the table in which its source attribute resides."
VIOLATION ( TXT "{EX} DelAtom;SQLPlug;", TGT I
, TXT "{EX} DelPair;table;SqlAttribute;", SRC srcAtt, TXT ";SQLPlug;", TGT I
Expand All @@ -158,21 +158,21 @@ ENDPATTERN

PATTERN "Attributes of n-to-m relations"
RULE "fill table for n-to-m relations (source)" :
((I-prop;'INJ';prop~)-prop;'UNI';prop~);source |- srcAtt;concept
((I-prop;"INJ";prop~)-prop;"UNI";prop~);source |- srcAtt;concept
MEANING "The concept of the source attribute of an n-to-m relation is the source concept of that relation."
VIOLATION ( TXT "{EX} NewStruct;SqlAttribute"
, TXT ";srcAtt;Relation;", SRC I, TXT ";SqlAttribute;_NEW"
, TXT ";concept;SqlAttribute;_NEW;Concept;", TGT I
)
RULE "fill table for n-to-m relations (target)" :
((I-prop;'INJ';prop~)-prop;'UNI';prop~);target |- tgtAtt;concept
((I-prop;"INJ";prop~)-prop;"UNI";prop~);target |- tgtAtt;concept
MEANING "The concept of the target attribute of an n-to-m relation is the source concept of that relation."
VIOLATION ( TXT "{EX} NewStruct;SqlAttribute"
, TXT ";tgtAtt;Relation;", SRC I, TXT ";SqlAttribute;_NEW"
, TXT ";concept;SqlAttribute;_NEW;Concept;", TGT I
)
RULE "new BinSQL" :
srcAtt~;((I[Relation]-prop;'INJ';prop~)-prop;'UNI';prop~);tgtAtt |- table;I[BinSQL];table~
srcAtt~;((I[Relation]-prop;"INJ";prop~)-prop;"UNI";prop~);tgtAtt |- table;I[BinSQL];table~
MEANING "Every relation has an SQLPlug in which to store its population."
VIOLATION ( TXT "{EX} NewStruct;BinSQL"
, TXT ";table;SqlAttribute;", SRC I, TXT ";BinSQL;_NEW"
Expand All @@ -184,15 +184,15 @@ ROLE ExecEngine MAINTAINS
"new BinSQL"

RULE "clear table for n-to-m relations (source)" :
((I-prop;'INJ';prop~)-prop;'UNI';prop~);srcAtt;concept |- source
((I-prop;"INJ";prop~)-prop;"UNI";prop~);srcAtt;concept |- source
MEANING "The source concept of an n-to-m relation is the concept of the source attribute of that relation."
VIOLATION ( TXT "{EX} DelPair;concept;SqlAttribute;", SRC srcAtt, TXT ";Concept;", SRC srcAtt;concept
, TXT "{EX} DelPair;table;SqlAttribute;", SRC srcAtt, TXT ";SQLPlug;", SRC srcAtt;table
, TXT "{EX} DelAtom;SqlAttribute;", SRC srcAtt
, TXT "{EX} DelPair;srcAtt;Relation;", SRC I, TXT ";SqlAttribute;", SRC srcAtt
)
RULE "clear table for n-to-m relations (target)" :
((I-prop;'INJ';prop~)-prop;'UNI';prop~);tgtAtt;concept |- target
((I-prop;"INJ";prop~)-prop;"UNI";prop~);tgtAtt;concept |- target
MEANING "The target concept of an n-to-m relation is the concept of the target attribute of that relation."
VIOLATION ( TXT "{EX} DelPair;concept;SqlAttribute;", SRC tgtAtt, TXT ";Concept;", SRC tgtAtt;concept
, TXT "{EX} DelPair;table;SqlAttribute;", SRC tgtAtt, TXT ";SQLPlug;", SRC tgtAtt;table
Expand Down
2 changes: 1 addition & 1 deletion AmpersandData/FormalAmpersand/Tables.ifc
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ BOX [ SqlAttribute : I

REPRESENT Atom TYPE ALPHANUMERIC

INTERFACE Overview (name[Concept*Identifier], name[Relation*Identifier]) : '_SESSION'
INTERFACE Overview (name[Concept*Identifier], name[Relation*Identifier]) : "_SESSION"
TABS[ relations : V[SESSION*Relation] CRUD
BOX<SCOLS>
[ relation : I[Relation]
Expand Down
6 changes: 3 additions & 3 deletions AmpersandData/FormalAmpersand/TypeChecking.ifc
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,15 @@ INCLUDE "TypeChecking.adl"
INCLUDE "Views.adl"
INCLUDE "Terms.xlsx"

INTERFACE Contexts (valid,relations) : '_SESSION'
INTERFACE Contexts (valid,relations) : "_SESSION"
TABS[ "" : V[SESSION*Context]
ROWS [ context : I
, "valid rules" : valid~
, relations : relations
]
]

INTERFACE "Domain Anaylsis" (name[Relation*Identifier], source, target) : '_SESSION'
INTERFACE "Domain Anaylsis" (name[Relation*Identifier], source, target) : "_SESSION"
TABS[ relations : V[SESSION*Relation]
BOX<SCOLS>
[ relation : I
Expand All @@ -37,7 +37,7 @@ TABS[ relations : V[SESSION*Relation]
]
]

INTERFACE Atoms (name[Concept*Identifier], name[Relation*Identifier]) : '_SESSION'
INTERFACE Atoms (name[Concept*Identifier], name[Relation*Identifier]) : "_SESSION"
TABS[ relations : V[SESSION*Relation]
BOX<SCOLS>
[ relation : I[Relation]
Expand Down
2 changes: 1 addition & 1 deletion AmpersandData/FormalAmpersand/Views.ifc
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ INCLUDE "Views.xlsx"

VIEW Session : Session(TXT "demo")

INTERFACE Overview (concept) : '_SESSION'
INTERFACE Overview (concept) : "_SESSION"
TABS [ Concepts : V[SESSION*Concept]
BOX<SCOLS>
[ Concept : I
Expand Down
45 changes: 45 additions & 0 deletions AmpersandData/SystemContext/SystemContext.adl
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
CONTEXT SystemContext IN ENGLISH

PATTERN SystemSpecific
CONCEPT SESSION "een semi-permanente interactieve informatie-uitwisseling, ook bekend als een dialoog, een gesprek of een vergadering, tussen twee of meer communicerende apparaten, of tussen een computer en gebruiker"
PURPOSE CONCEPT SESSION IN DUTCH
{+Sessies zijn nodig om de dialoog aan te kunnen duiden tussen de gebruiker en de computer+}
PURPOSE CONCEPT SESSION IN ENGLISH
{+Sessions are required to allow for associating information with individual visitors+}
CONCEPT Role "een functie of onderdeel die speciaal in een bepaalde bewerking of proces wordt uitgevoerd"
PURPOSE CONCEPT Role IN DUTCH
{+We need roles to implement a basic form of security based on permissions. +}
PURPOSE CONCEPT Role IN ENGLISH
{+We need roles to implement a basic form of security based on permissions. +}
CONCEPT DateTime "een specifiek moment, tijdstip"
PURPOSE CONCEPT DateTime IN DUTCH
{+om bewerkingen te kunnen plaatsen in de tijd is het nodig om het over specifieke momenten te kunnen hebben+}
PURPOSE CONCEPT DateTime IN ENGLISH
{+Telling the time enables some ordering of events in time.+}

REPRESENT DateTime TYPE DATETIME

RELATION lastAccess[SESSION*DateTime] [UNI]
MEANING IN DUTCH "het moment waarop de sessie voor het laatst actief was"
MEANING IN ENGLISH "the last timestamp that a session was active"
PURPOSE RELATION lastAccess IN DUTCH
{+Een sessie kan op een bepaald moment actief zijn. Deze relatie bevat de informatie wanneer dat voor de laatste keer was.+}
PURPOSE RELATION lastAccess IN ENGLISH
{+A session can be active at some moment in time. This relation holds the information when that was for the last time.+}
RELATION sessionAllowedRoles[SESSION*Role]
MEANING IN DUTCH "een rol kan zijn toegestaan gedurende een sessie"
MEANING IN ENGLISH "a role can be allowed during a session"
PURPOSE RELATION sessionAllowedRoles IN DUTCH
{+Aan een gebruiker kunnen specifieke rollen zijn toegekend.+}
PURPOSE RELATION sessionAllowedRoles IN ENGLISH
{+A user can be granted specific roles.+}
RELATION sessionActiveRoles[SESSION*Role]
MEANING IN DUTCH "een rol kan in gebruik zijn gedurende een sessie"
MEANING IN ENGLISH "a role can be active during a session"
PURPOSE RELATION sessionActiveRoles IN DUTCH
{+Gedurende een sessie kan een gebruiker over de permissies van specifieke rollen beschikken.+}
PURPOSE RELATION sessionActiveRoles IN ENGLISH
{+During a session the user can have roles, that grants permission for specific events.+}
ENDPATTERN

ENDCONTEXT
Loading

0 comments on commit 15225d7

Please sign in to comment.