-
Notifications
You must be signed in to change notification settings - Fork 8
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #780 from AmpersandTarski/development
Release 3.10.0 [Release notes](https://github.com/AmpersandTarski/Ampersand/blob/master/ReleaseNotes.md)
- Loading branch information
Showing
603 changed files
with
23,913 additions
and
187,307 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,132 @@ | ||
CONTEXT "RAP" IN ENGLISH | ||
|
||
META "authors" "Michiel Stornebrink" | ||
META "authors" "Rieks Joosten" | ||
|
||
{- | ||
This file is the result of a working session on interfaces by Rieks and Michiel. | ||
It contains the conceptual model of the current Ampersand interface implementation | ||
|
||
The conceptual model below has some overlap with Interfaces.adl, but has a total different view/approach on how to model interfaces | ||
* Primairy difference is that: | ||
* Interfaces.adl distinguishes an Interface (root/entry) from an ObjectDef (recursive interface object definition) | ||
* We only have Interface(s) (= ObjectDef) and have a property 'isRoot' to specify it is an root/entry interface | ||
|
||
This file is work-in-progress | ||
-} | ||
|
||
CONCEPT Role "" | ||
CONCEPT View "" | ||
CONCEPT Txt "" | ||
CLASSIFY Txt TYPE ALPHANUMERIC | ||
|
||
--[INTERFACE]-------------------------------------------------------------------------------------- | ||
CONCEPT Interface "An interface is a mechanism that communicates data between different (two) contexts." | ||
|
||
RELATION isRoot[Interface] [PROP] | ||
MEANING "This property specifies if the interface is a top level interface, i.e. entry point" | ||
|
||
RELATION isPublic[Interface] [PROP] | ||
MEANING "This property specifies if the interface is considered a public interface, i.e. accessible for everyone" | ||
|
||
RULE "An interface is public when it is a root interface that is not assigned to a role" : isPublic = isRoot-(for;for~) | ||
|
||
RELATION for[Interface*Role] | ||
MEANING "The interface is assigned to a role and thereby only accessible for this/these role(s)" | ||
|
||
RULE "Only root interfaces can be assigned to a role" : I /\ for;for~ |- isRoot | ||
|
||
RELATION label[Interface*Txt] [UNI,TOT] | ||
MEANING "The textual representation of the interface as display in the user interface" | ||
|
||
RELATION expr[Interface*Expression] [UNI,TOT] | ||
MEANING "Specifies the interface expression" | ||
|
||
RELATION view[Interface*View] [UNI] | ||
MEANING "Specifies the view to be used for the target concept of the interface expression" | ||
|
||
-- CRUD specification | ||
RELATION crudC[Interface] [PROP] | ||
MEANING "Specifies if create rights are given for the interface expression" | ||
|
||
RELATION crudR[Interface] [PROP] | ||
MEANING "Specifies if read rights are given for the interface expression" | ||
|
||
RELATION crudU[Interface] [PROP] | ||
MEANING "Specifies if update rights are given for the interface expression" | ||
|
||
RELATION crudD[Interface] [PROP] | ||
MEANING "Specifies if delete rights are given for the interface expression" | ||
|
||
RULE I[Interface] = I[LeafIfc] \/ I[RefIfc] \/ I[BoxInterface] | ||
|
||
--[LEAF INTERFACES]-------------------------------------------------------------------------------- | ||
CONCEPT LeafIfc "" | ||
CLASSIFY LeafIfc ISA Interface | ||
|
||
--[REFERENCE INTERFACES]--------------------------------------------------------------------------- | ||
CONCEPT RefIfc "" | ||
CLASSIFY RefIfc ISA Interface | ||
|
||
RELATION refTo [RefIfc*Interface] [UNI,TOT] | ||
MEANING "Specifies the interface to which this reference interface refers to" | ||
|
||
RULE "Reference interfaces must refer to root interfaces" : I /\ refTo~;refTo |- isRoot | ||
|
||
RELATION isLinkTo [RefIfc] [PROP] | ||
MEANING "Specifies if this interface links to the referred interface (i.e. in the UI the referred interface is not expanded)" | ||
|
||
RULE "The target concept of a reference interface expression must have an object representation (i.e. not scalar)" : I[RefIfc];expr;tgt |-V;isObj | ||
|
||
-- CRUD rights of reference interfaces must be the same as the CRUD right of the interface it refers to | ||
RULE refTo;crudC |- crudC | ||
RULE refTo;(I-crudC) |- I-crudC | ||
RULE refTo;crudR |- crudR | ||
RULE refTo;(I-crudR) |- I-crudR | ||
RULE refTo;crudU |- crudU | ||
RULE refTo;(I-crudU) |- I-crudU | ||
RULE refTo;crudD |- crudD | ||
RULE refTo;(I-crudD) |- I-crudD | ||
|
||
--[BOX INTERFACES]--------------------------------------------------------------------------------- | ||
CONCEPT BoxIfc "" | ||
CLASSIFY BoxIfc ISA Interface | ||
|
||
RELATION subIfc[BoxIfc*Interface] [INJ] | ||
MEANING "A box interface can consists of sub interfaces" | ||
|
||
RULE "Sub interfaces of a box ifc cannot be root interfaces" : I /\ subIfc~;subIfc |- -isRoot | ||
|
||
RELATION template[BoxIfc*BoxClass] [UNI,TOT] | ||
MEANING "A box interface has a certain template of how to display it in the UI" | ||
|
||
RULE "The target concept of a box interface expression must have an object representation (i.e. not scalar)" : I[BoxIfc];expr;tgt |-V;isObj | ||
|
||
--[BOXCLASS]--------------------------------------------------------------------------------------- | ||
CONCEPT BoxClass "" | ||
POPULATION BoxClass CONTAINS ["ROWS", "COLS", "TABS"] | ||
|
||
--[EXPRESSION]------------------------------------------------------------------------------------- | ||
RELATION isEditable[Expression] [PROP] | ||
MEANING "Specifies if the expression is an editable expression (i.e. relation)" | ||
|
||
RELATION src[Expression*Concept] [UNI,TOT] | ||
|
||
RELATION tgt[Expression*Concept] [UNI,TOT] | ||
|
||
--[CONCEPT]---------------------------------------------------------------------------------------- | ||
CONCEPT Concept "" | ||
|
||
CONCEPT TType "" | ||
POPULATION TType CONTAINS ["OBJECT", "ALPHANUMERIC", "BIGALPHANUMERIC", "INTEGER"] -- etc | ||
|
||
RELATION represent[Concept*TType] [UNI,TOT] | ||
MEANING "The technical type of the concept (specified by the REPRESENT statement in Ampersand script, defaults to OBJECT)" | ||
|
||
RELATION isObj[Concept] [PROP] | ||
MEANING "Specifies is a concept is represented as object, not scalar (i.e. TType = OBJECT)" | ||
|
||
RULE isObj = I /\ (represent;'OBJECT';represent~) | ||
|
||
|
||
ENDCONTEXT |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,5 @@ | ||
name: ampersand | ||
version: 3.9.5 | ||
version: 3.10.0 | ||
author: Stef Joosten | ||
maintainer: [email protected] | ||
synopsis: Toolsuite for automated design of business processes. | ||
|
@@ -56,7 +56,8 @@ library | |
mtl == 2.2.*, | ||
pandoc == 1.19.*, | ||
pandoc-crossref == 0.2.5.*, | ||
pandoc-types == 1.17.*, | ||
-- Extra dependency for pandoc types because of issue. See https://github.com/jgm/pandoc/issues/4448 | ||
pandoc-types == 1.17.*, pandoc-types < 1.17.4, | ||
parsec == 3.1.*, | ||
process == 1.4.*, | ||
QuickCheck == 2.9.*, | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.