Commit 23ab518b authored by GROSS-AMBLARD David's avatar GROSS-AMBLARD David
Browse files

Merge remote-tracking branch 'origin/master'

parents ab853c31 2f766999
# Artifacts
Crowdsourcing tasks in HW are managed by SQL artifacts,
which is an automaton triggered by SQL conditions and actions.
# Artifacts
## Warning
In the sequel we use the word artifact to denote our main components, but their are not (for the moment) exaclty compatible with the notion of tuple artifact from Deutsch et al. They are closer to relational machines.
## Artifact class
An artifact class defines a sql-driven automaton. For each state, for each destination state, a guard and an action list are defined. The guard is a SQL statement, action list is a list of SQL statements. The artifact starts in state 0. Then, for each outgoing state, if the guard statement is evaluated to true, then the corresponding action list is executed.
ARTIFACTCLASS(ID,DESCRIPTION,DEFINITION)
ID: the artifact class ID (text)
DESCRIPTION: the full text of the artifact class description
DEFINITION: the JSON definition of the artifact class
## Artifact instance
Any user can have one or several instances of an artifact class, say, an artifact. The state of the artifact is recorded. An artifact may lauch another artifact, it is then stalled until its completion.
ARTIFACT(ID,CLASSID,OWNERID,NODE,STATE,AWAITED)
ID: the artifact id (number)
CLASSID: the class of the artifact
ONWERID: the user owning the artifact
node: the current node of the artifact
STATE: the current state: running,waiting (for the completion of another artifact),finished
AWAITED: if state is waiting, the ID of the awaited artifact
\ No newline at end of file
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment