Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
LicensePlateINCLUDE "foo.adl"
INCLUDE "subdirectory/foo.adl"
INCLUDE "bar.xlsx"INCLUDE <filename>CONCEPT <Uppercase identifier> <String> <String>?CONCEPT Person "A person is a human creature." "Ventroli1997"CONCEPT Organization "An organization is a collection of persons that work together to achieve specific objectives."CONCEPT Criterion "A criterion is a standard on which a judgment or decision may be based." "Merriam-Webster"RULE <label>? <expression> <meaning>* <message>* <violation>?MEANING Language? Markup? <text>MESSAGE MarkupVIOLATION (Segment1,Segment2,... )CONTEXT MyModel
INCLUDE*
<all kind of elements in the model>
ENDCONTEXTIN <language><markupStyle>RELATION soldBy[Order*Person]RELATION contract[Order*ContractID] [UNI,TOT]
PRAGMA "Order " " has contract " " as its legal basis."
MEANING "Every Order has a unique ContractID which specifies the legal basis for that particular order."RELATION <lower case identifier> '[' <upper case identifier>'*' <upper case identifier>']'
<properties>? <pragma>? <meaning>?<lower case identifier> '::' <upper case identifier> '*' <upper case identifier>
<properties>? <pragma>? <meaning>?<lower case identifier> '::' <upper case identifier> '->' <upper case identifier>
<properties>? <pragma>? <meaning>?RELATION lives[Person*City][UNI]
MEANING "A person can live in one city only."PRAGMA "Student " " flies the flag of " " in top."RELATION accepted[Provider * Order] [INJ] PRAGMA "Provider " " has accepted order "MEANING <language>? <markup>? <text>MEANING "This is an example, which means nothing."MEANING
{+This is an example that is
spread over multiple lines. A string cannot
be multi-line, so we use curly-brackets with plus.
+}MEANING IN ENGLISH {+This is a single line example.+}MEANING LATEX {+This is a {\em mathematical} formula $\frac{3}{x+7}$.+}r\/(s\/t)INTERFACE Person : I[Person]
BOX
[ "Name" : personName
, "Status" : personStatus
, "Email" : personEmail
, "Works with" : workswith
]INTERFACE "Project" : I[Project] BOX
[ "Project" : I[Project]
, "Name" : projectName
, "Current PL" : pl
, "Administration" : I[Project] BOX
[ "Project leaders" : project~;assignee/\pl BOX
[ "Name" : personName
, "Status" : personStatus
, "Email" : personEmail
]
, "Project members" : project~;assignee/\member BOX
[ "Name" : personName
, "Status" : personStatus
, "Email" : personEmail
]
]
]INTERFACE "Project" : V[SESSION*Project] ROWS
[ "Project" : I[Project]
, "Name" : projectName
, "Current PL" : pl
, "Administration" : I[Project] TABS
[ "Project leaders" : project~;assignee/\pl COLS
[ "Name" : personName
, "Status" : personStatus
, "Email" : personEmail
]
, "Project members" : project~;assignee/\member COLS
[ "Name" : personName
, "Status" : personStatus
, "Email" : personEmail
]
]
]IDENT "T uniqueness" : T (pi, rho)<Concept>. This is enforced by the type system.<Concept>. This is enforced by the type system.POPULATION Tree CONTAINS
[ "Oak"
, "Birch"
, "Willow"
]`IDENT` (<label> `:`)? <Concept> `(` <term>* `)`IDENT "Rule Name" : C (e1, e2, ...) RULE "Rule Name": {e1}<>{e1}~ /\ {e2}<>{e2}~ /\ ... |- I[C] RULE "Rule Name": {e1};{e1}~ /\ {e2};{e2}~ /\ ... |- I[C]IN <language>CONTEXT Foo IN ENGLISH
...
ENDCONTEXTRELATION ptpic[Pattern*Image] [UNI]
MEANING IN ENGLISH "Relation ptpic relates a pattern to the image of its conceptual diagram."PURPOSE CONCEPT Person IN DUTCH
{+ Een persoon is een natuurlijke persoon of een rechtspersoon +}`TABLE` <Concept> `(` (<term> `:` <Concept> <Multiplicities>?)* `)`TABLE C (e1:C1, e2:C2)RELATION E1[C*C1]
RELATION E2[C*C2]TABLE C (e1:C1[UNI,TOT], e2:C2, e3:C[ASY], ...)RELATION E1[C*C1] [UNI,TOT]
RELATION E2[C*C2]
RELATION E3[C*C] [ASY]
...TABLE Person(name:String, ssn:SSN, birthplace:City, birthdate:Date)
IDENT Person(ssn)
IDENT Person(name,birthplace,birthdate)TABLE T(pi:P, rho:R)
IDENT T(pi,rho)
RULE "Create T" : e |- pi~;rho
RULE "Delete T" : pi~;rho |- eTABLE T(pi:P, rho:R)
IDENT T(pi,rho)
RULE e = pi~;rhoPOPULATION personBank[Person*Bank] CONTAINS
[ ("John", "ING")
, ("Jane", "TRIODOS")
]PATTERN Security
RELATION required[Subject*Destination]
MEANING "A subject that you must have passed to qualify for the school trip to a destination"
RELATION pass[Subject*Student]
MEANING "The subjects that have been passed by specific students"
RELATION attends[Student*Destination]
PURPOSE RULE guardPrerequisites
{+ This rule prevents students from registering for a trip
without having passed the required courses. +}
RULE guardPrerequisites : attends;required |- pass
ENDPATTERNPATTERN <pattern name>
<pattern element>*
ENDPATTERNPOPULATION firstname[President*Name] CONTAINS
[ ("1", "Abraham")
, ("2", "Barack")
, ("3", "Calvin")
, ("4", "Dwight")
]
POPULATION lastname[President*Surname] CONTAINS
[ ("1", "Lincoln")
, ("2", "Obama")
, ("3", "Coolidge")
, ("4", "Eisenhower")
]
POPULATION birth[President*Date] CONTAINS
[ ("1", "February 12, 1809")
, ("2", "August 4, 1961")
, ("3", "July 4, 1872")
, ("4", "October 14, 1890")
]RELATION personName :: Person * PersonName [UNI]
RELATION personStatus :: Person * PersonStatus [UNI]
RELATION personEmail :: Person * Email [UNI,TOT]
RELATION workswith :: Person * Person



