Commit 6505a21b authored by Rieks Joosten's avatar Rieks Joosten Committed by fmerg
Browse files

added terms/figures such that we can actually see some difference in the...

added terms/figures such that we can actually see some difference in the architecture and other documents
parent 7c93cff2
......@@ -20,9 +20,15 @@ In order to serve such purposes, we have found out that it is necessary that to
In order to serve such purposes, we have found out that it is necessary that to make a strict and consequent distinction between people and Organizations that are capable of making decisions and bearing responsibility/accountability (we will use the term ‘%%Party|party%%’ for that) and people and ‘things’ that are capable of acting/doing things (we will use the term ‘%%Actor|actor%%’ for that). This means that an Organization is always a Party, whereas we consider a person to be a Party at one time and an Actor at another time, and computers/robots (and SSI components) are always an Actor.
>>>>>>> minor changes to demonstrate how it should work
<<<<<<< HEAD
This distinction is necessary because Actors do things that Parties are accountable for. In order to know which Party is accountable for what actions, we need the ability to link Parties and Actors. When an Actor acts and a (single) specific Party is accountable for that, we say that the Actor is an ‘<Term popup="Agent (of a Party): Actor that is currently working on behalf of a Party." reference="agent">_Agent_</Term>’ for or of that Party (at that particular point in time). We say that this Actor acts ‘**on behalf of**’ that Party. Note that both humans and (running) applications may serve as Agents (human Agent or digital/electronic Agent respectively). A digital Agent that has one or more of the SSI functionalities we describe further down will be called an \`<Term popup="Agent that provides SSI services." reference="ssi-agent">_SSI-Agent_</Term>\`, and we say that the Party on whose behalf it operates is the ‘<Term popup="a Party that has the legal or rightful title to control something." reference="owner">_Owner_</Term>’ of that Agent. Also, we use the term \`**(digital/electronic or human) Colleague (of an Agent)**\` to refer to any other (electronic or human) Agent that acts on behalf of the same Party as this Agent.
Given these definitions, it is obvious that Parties are not necessarily capable of acting. However, we also would like to be able to generically use phrases such as ‘Party X does Y’. To this end we introduce the term \`<Term popup="popuptext for Organization tbd" reference="organization">_Organization_</Term>\` as the collection of one specific Party and its Agents. When we say ‘Party X does Y’, this should be understood as that there is an Agent that does Y, where that Agent belongs to the same Organization as the specified Party.
=======
This distinction is necessary because Actors do things that Parties are accountable for. In order to know which Party is accountable for what actions, we need the ability to link Parties and Actors. When an Actor acts and a (single) specific Party is accountable for that, we say that the Actor is an ‘%%Agent|agent%%’ for or of that Party (at that particular point in time). We say that this Actor acts ‘**on behalf of**’ that Party. Note that both humans and (running) applications may serve as Agents (human Agent or digital/electronic Agent respectively). A digital Agent that has one or more of the SSI functionalities we describe further down will be called an \`%%SSI-Agent|ssi-agent%%\`, and we say that the Party on whose behalf it operates is the ‘%%Owner|owner%%’ of that Agent. Also, we use the term \`**(digital/electronic or human) Colleague (of an Agent)**\` to refer to any other (electronic or human) Agent that acts on behalf of the same Party as this Agent.
Given these definitions, it is obvious that Parties are not necessarily capable of acting. However, we also would like to be able to generically use phrases such as ‘Party X does Y’. To this end we introduce the term \`%%Organization|organization%%\` as the collection of one specific Party and its Agents. When we say ‘Party X does Y’, this should be understood as that there is an Agent that does Y, where that Agent belongs to the same Organization as the specified Party.
>>>>>>> added terms/figures such that we can actually see some difference in the architecture and other documents
We caution that the notions of being an ‘Agent’, ‘Owner’, ‘Colleague’, and being part of an ‘Organization’ are dynamic; they may frequently change over time and are never self-evident.
......@@ -34,9 +40,15 @@ Figure 1 shows the initial *functional* eSSIF-Lab architecture, and its scope, c
Please be aware that *functional* capabilities, components, Agents, etc. do not necessarily coincide with *technical* capabilities, components, Agents, etc. The technical components can be deployed (downloaded, installed, run), whereas a functional component is a provider of a specified set of capabilities/functionalities an implementation of which can be made part of a technical component. So it is conceivable that a technical component contains an implementation of wallet, holder and verifier functional components as well as other functionalities that are not described here, e.g. related to UX, setting preferences, and more. In this functional architecture, the default type of components, Agents etc. are *functional*.
<<<<<<< HEAD
Since the participants of a business transaction are different Parties, the negotiation, commitment and execution of that transaction will be done by Agents of these different Parties. Assuming that a single transaction has two such Parties, we will use the term ‘<Term popup="(Peer Party of a Party): the other Party that is a participant in a transaction of that Party." reference="peer-party">_Peer Party (of a specific Party, in the context of a single transaction)_</Term>’ to refer to the participating Party in that transaction that is not the specific Party itself.
When an Agent is involved in such a transaction, it will be communicating with a component that it assumes to be an Agent of the Peer Party of its Owner (the Agent may obtain further assurances for that, but that's outside the scope for now). We will use the term ‘<Term popup="(Peer Agent of a Agent): the other Agent with whom this Agent is communicating in the context of a transaction." reference="peer-agent">_Peer Agent (of a specific Agent, in the context of a single transaction)_</Term>’ to refer to an Actor with which the specific Agent has a communications session. Note that establishing whether or not an Actor is a Peer Agent does not necessarily require knowing who the Peer Party actually is.
=======
Since the participants of a business transaction are different Parties, the negotiation, commitment and execution of that transaction will be done by Agents of these different Parties. Assuming that a single transaction has two such Parties, we will use the term ‘%%Peer Party (of a specific Party, in the context of a single transaction)|peer-party%%’ to refer to the participating Party in that transaction that is not the specific Party itself.
When an Agent is involved in such a transaction, it will be communicating with a component that it assumes to be an Agent of the Peer Party of its Owner (the Agent may obtain further assurances for that, but that's outside the scope for now). We will use the term ‘%%Peer Agent (of a specific Agent, in the context of a single transaction)|peer-agent%%’ to refer to an Actor with which the specific Agent has a communications session. Note that establishing whether or not an Actor is a Peer Agent does not necessarily require knowing who the Peer Party actually is.
>>>>>>> added terms/figures such that we can actually see some difference in the architecture and other documents
The figure below is an overview of the most important *functional* components that any Party needs to conduct electronic business transactions.
......@@ -56,9 +68,15 @@ The top layer (in the red rounded rectangle) has the functions of actual busines
The lower business layer contains two functional components, one for initiating transactions and the other for stating transaction results (as per the [*DEMO*](https://en.wikipedia.org/wiki/Design_%26_Engineering_Methodology_for_Organizations) method), each of which with an associated business policy that contains business-specific policies/preferences.
<<<<<<< HEAD
The task of the <Term popup="transaction-validation-engine" reference="transaction-validation-engine">_Transaction Validation Engine_</Term> (or <Term popup="<Text that pops up when the user hovers over a reference to this concept>" reference="tve">_TVE_</Term>) is to handle and initiate requests from/to Peer Agents to engage in some kind of transaction, by negotiating and exchanging data (through one or more, physical or electronic communication channels), and to produce a transaction form whose contents are complete and valid, enabling an appropriate Colleague to decide whether or not to engage in the transaction. Note that negotiating a transaction has two parts: requesting a Peer Agent to provide data that its Owner needs, and providing data on behalf of its Owner that a Peer Agent requests. After all, a business transaction can only start after all Parties have decided to commit, which they can only do after each of them has obtained the information it (subjectively) needs to do so. Also note that data that the TVE must ensure that the transaction context is properly maintained if it chooses to exchange data through different communication channels.
The task of the <Term popup="hovertext for transaction-result-dispatcher" reference="transaction-result-dispatcher">_Transaction Result Dispatcher_</Term> (or <Term popup="<Text that pops up when the user hovers over a reference to this concept>" reference="trd">_TRD_</Term>) is to state the (various, sometimes intermediary) results of transactions, by collecting data from the Business Data Stores, and creating a set of (related) statements/claims that can subsequently be issued to other Parties. Since such state-data may change, issuing data that supersedes an earlier state implies the revocation of such a state.
=======
The task of the %%Transaction (Validation) Engine|transaction-validation-engine%% (or %%TVE|tve%%) is to handle and initiate requests from/to Peer Agents to engage in some kind of transaction, by negotiating and exchanging data (through one or more, physical or electronic communication channels), and to produce a transaction form whose contents are complete and valid, enabling an appropriate Colleague to decide whether or not to engage in the transaction. Note that negotiating a transaction has two parts: requesting a Peer Agent to provide data that its Owner needs, and providing data on behalf of its Owner that a Peer Agent requests. After all, a business transaction can only start after all Parties have decided to commit, which they can only do after each of them has obtained the information it (subjectively) needs to do so. Also note that data that the TVE must ensure that the transaction context is properly maintained if it chooses to exchange data through different communication channels.
The task of the %%Transaction Result Dispatcher|transaction-result-dispatcher%% (or %%TRD|trd%%) is to state the (various, sometimes intermediary) results of transactions, by collecting data from the Business Data Stores, and creating a set of (related) statements/claims that can subsequently be issued to other Parties. Since such state-data may change, issuing data that supersedes an earlier state implies the revocation of such a state.
>>>>>>> added terms/figures such that we can actually see some difference in the architecture and other documents
Note that both components are within scope of eSSIF-Lab architecture, but NOT in scope of the eSSIF-Lab infrastructure, as they are too business-specific.
......
---
id: terminology-plugin-instructions
title: Terminology & Glossary plugin docs
---
import useBaseUrl from '@docusaurus/useBaseUrl';
### How it works
This plugin parses docs in two ways:
1. Parses all `*.mdx` files under `docs/` and replaces each pattern with an
appropriate React component supporting a tooltip functionality (see below)
2. Generates a glossary with all terms corresponding to the `*.md` files under `docs/terms/`.
Parses all markdown files and generates a glossary page with all the pattern terms found in the .md files
## Replace patterns with dynamical elements
When writing docs, in order to refer to a term, you may use the following syntax:
```
%%term_text|term_name%%
```
where:
- `term_text`: The terminology text you want it to be visible in the documentation
page
- `term_name`: The filename of the term file, which resides under `./docs/terms` directory.
inside `docs/*.mdx` files. After successfully running the script, the above occurrence
will be replaced by a React component, which will render `term_text` as a link to the
corresponding term page, which is in turn generated from the `term_name` attribute;
furthermore, *hovering* over `term_text` displays a term summary, as extracted from the
corresponding term page.
### Example usage
Say you want to reference a term that exists under the `./docs/terms/` directory,
e.g. `./docs/terms/party.md`. You can use the following syntax to reference
this term in your documentation page:
```
Some content that wants to reference the %%Party|party%% term
```
When the script runs, this will be replaced as follows:
```
Some content that wants to reference the <Term reference="party" popup="Popup text">Party</Term> term
```
which supports the functionality explained above.
### How to correctly write a term
This plugin assumes that you follow the structure, as explained below:
Each term should have its own `.md` file, inside the `./docs/terms` directory,
and it needs to consist of the following structure:
```title="./docs/terms/term.md"
---
id: term
title: Term page
hoverText: This hover text will appear in the documentation page that you reference this term
---
### Term explanation
content here
```
> Pay attention to the `hoverText` attribute, as it's important to provide this
>attribute (along with the default docusaurus attributes), so the plugin can
>fetch the correct popup text to show when referencing a term.
### Running the script
When you are finished referencing terms and have written corresponding term pages,
you can test this locally by running the following command:
```.shell script
$ yarn parse
yarn run v1.22.5
docusaurus parse
Replacing patterns with <Term />
Done in 1.41s.
```
This will replace all `%%term_text|term_name%%` occurrences with the React component
supporting the required functionality.
Here's an example where the terms have been replaced. When the project is up
and running, you can visit the test example on the `/docs/replacement-test` page:
<img alt="replacement-test" src={useBaseUrl('images/replacement-test.png')}/>
## Generate the glossary page
If everything works well with the above procedure, you can then generate a
glossary page, by running the following command:
```.shell script
$ yarn glossary
yarn run v1.22.5
docusaurus glossary
Alphabetical list of terms
Done in 1.53s.
```
This will generate a file in `./docs/glossary.md` where every term that has been
mentioned above, will be populated in the `glossary.md` page.
When the project is up and running, you can visit the glossary on the `/docs/essif-lab-glossary` page:
<img alt="glossary-page" src={useBaseUrl('images/glossary-page.png')}/>
......@@ -4,7 +4,7 @@ title: "Action"
scopeid: essifLab
type: concept
typeid: action
hoverText: "hovertext for 'action'"
hoverText: "something that is done by an actor"
---
## Criterion:
......
......@@ -16,7 +16,7 @@ People obviously qualify, as do robots and other machines. Stones, pictures, ide
We specifically note that enterprises, governments, and other organizations do not qualify.
### Background:
further background on this concept is provided by the ['Party-Action' pattern|essifLab-pattern-party-action]
further background on this concept is provided by the ['Party-Action' pattern|pattern-party-action]
---
[^1]: Reasoning means: inferring conclusions from data, regardless of the kind of logic that is being used, or whether the reasoning is coherent, or consistent.
......
......@@ -8,7 +8,7 @@ hoverText: "Agent (of a Party): Actor that is currently working on behalf of a P
---
## Short Description
An %%Actor|actor%% that is executing on action on behalf of some %%Party|party%%, which means that the execution of that action is subject to the conditions and other guidance set by that Party, then we say the Actor acts as an Agent of that Party. A Person, that is both an Actor and a Party can hence be seen as its own Agent. Agency is further detailed in the ['Party-Action' pattern|essifLab-pattern-party-action].
An %%Actor|actor%% that is executing on action on behalf of some %%Party|party%%, which means that the execution of that action is subject to the conditions and other guidance set by that Party, then we say the Actor acts as an Agent of that Party. A Person, that is both an Actor and a Party can hence be seen as its own Agent. Agency is further detailed in the ['Party-Action' pattern|pattern-party-action].
## Criterion:
%%Actor|actor%% that is momentarily executing an action on behalf of a %%Party|party%%.
......
---
id: pattern-file
title: "Concept: Pattern-file (Scope: eSSIF-Lab)"
title: "Pattern-file"
scopeid: essifLab
termid: pattern-file
type: concept
typeid: pattern-file
hoverText: "pattern-file popover"
---
......
---
id: party
title: "Party"
scopeid: essifLab
type: concept
typeid: party
hoverText: "Entity that has knowledge about what exists, ways to reason with that knowledge, and ways for making decisions in a Self-Sovereign fashion."
---
## Criterion:
Entity that has knowledge about what exists, ways to reason[^1] with that knowledge, and ways for making decisions in a Self-Sovereign[^2] fashion.
## Examples:
People obviously qualify. Enterprises, governments, and other organizations also qualify as they can be seen as having their own knowledge (e.g. in their registrations, databases etc.), ways to reason with that knowledge (business rules, exercised by their employees or IT systems), and making decision.
Stones, pictures, ideas, etc. do not qualify. Also, electronic components do not qualify[^3].
### xxx:
to be elaborated
---
[^1]: Reasoning means: inferring conclusions from data, regardless of the kind of logic that is being used, or whether the reasoning is coherent, or consistent.
[^2]: This means that the party can do this all by itself. For humans, the rights for this are laid down e.g. in the [ECHR](https://www.echr.coe.int "European Convention of Human Rights") ([ECHR articles 9-11](https://www.echr.coe.int/Documents/Convention_ENG.pdf))
[^3]: While the case can be made that (some) electronic components can reason, they do not do so in a self-sovereign fashion as intended by this definition. We do not want to discuss AI-equipment here.
\ No newline at end of file
......@@ -2,12 +2,11 @@
id: concept
title: "Concept: Concept (Scope: essifLabTerminology)"
scopeid: essifLabTerminology
termid: concept
type: concept
typeid: concept
hoverText: "A Concept tries to capture the idea behind a classification of entities, allowing us to reason about everything in the class as if it were one thing."
---
import { Term } from '..\..\src\components'
## Short Description
<!--REQUIRED--in 1-3 sentences that describe the concept to a layperson with reasonable accuracy.-->
A Concept tries to capture the idea behind a classification of entities[^1], allowing us to reason about everything in the class as if it were one thing. For example, the ideas ([mental representations](https://en.wikipedia.org/wiki/Mental_representation)) you have when processing the sentences "I can drink beer from a beer glass' and 'I can drink beer from a coffee mug' shows that the concepts that are behind 'beer glass' and 'coffee mug' differ. Note that in order to communicate about this idea, we also need a word or phrase (i.e.: a termat we can use to refer to (instances of) this idea.
......@@ -18,14 +17,14 @@ Working together is easier when you and your peers share the same ideas. We need
## Criteria
<!--REQUIRED--How is this concept different from related ideas? What are essential characteristics that must be true? This is where you specify the [intensional definition](https://en.wikipedia.org/wiki/Extensional_and_intensional_definitions) of the concept, i.e. the necessary and sufficient conditions for when the term should be used. This makes that the conceptomes crystal clear. In the case of nouns, this is equivalent to specifying the properties that an object needs to have in order to be counted as a referent of the term.-->
A (description/specification of a) Concept MUST be [intensionally defined](https://en.wikipedia.org/wiki/Extensional_and_intensional_definitions), i.e. associated with a criterion that can be used to determine whether or not someone or something qualifies as (an instance of) that Concept, and that has the property that it has been shown that the vast majority of contributors and other users apply it in the same manner in different situations (i.e. they arrive at the same conclusion as to whether or not someone or something qualifies under that criterion in any given situation).
A (description/specification of a) Concept MUST be [intensionally defined](https://en.wikipedia.org/wiki/Extensional_and_intensional_definitions), i.e. associated with a criterion that can be used to determine whether or not someone or something qualifies as (an instance of) that Concept, and that has the property that it has been shown that the vast majority of contributors and other users apply it in the same manner in different situations (i.e. they arrive at the same conclusion as to whether or not someone or something qualifies under that criterion in any given situation).
## Examples
<!--Provide a few sentences in which you give examples that obviously qualify as instances of `Concept`, and that do NOT obviously qualify. Also, provide examples that are not (so) obvious, but help users to better understand its intension.-->
## Related Concepts
<!--Link to any <Term popup="A Concept tries to capture the idea behind a classification of entities, allowing us to reason about everything in the class as if it were one thing." reference="concept">concepts</Term> that are similar but distinct, with a note about the relationship.-->
* Term is a label that is used in some context to refer to a %%Concept%%[^2], the set of entities that satisfy the concept's criteria, or an arbitrary element of that set. Different contexts may use different terms to refer to a single concept. In a single context, a single term should be used to refer to an individual concept.
<!--Link to any %%concepts|concept%% that are similar but distinct, with a note about the relationship.-->
* Term is a label that is used in some context to refer to a %%Concept|concept%%[^2], the set of entities that satisfy the concept's criteria, or an arbitrary element of that set. Different contexts may use different terms to refer to a single concept. In a single context, a single term should be used to refer to an individual concept.
* Concept ... ("Scope") is related in several ways. First, there is (precisely, or at most one) Scope that governs the definition/specification of the Concept. Second, there may be (any number of) Scopes that use the Concept, i.e. within which Terms are defined that refer to the Concept
......@@ -55,7 +54,7 @@ A (description/specification of a) Concept MUST be [intensionally defined](https
There is an important [distinction](https://simple.wikipedia.org/wiki/Concept) between concepts and the (multitude of) terms (names, labels) that we need to be able to talk and reason (argue) about them. Please consider that
* different terms are used in different contexts for the same concept
* in different contexts, a single term may refer to different concepts
* in different contexts, a single term may refer to different concepts
* to resolve terminological disputes, which usually are about the 'correct' meaning of a term, try to establish the criteria that the different participants use for the concept behind the term. That helps participants understand each others (different) positions, and provides a better basis for resolving the conflict.
---
......@@ -64,4 +63,4 @@ There is an important [distinction](https://simple.wikipedia.org/wiki/Concept) b
[^1]: WikiPedia has a concise [explanation of concepts](https://en.wikipedia.org/wiki/Concept). We use the term 'concept' as a [mental representation](https://en.wikipedia.org/wiki/Mental_representation).
[^2]: For the difference between 'Concept' and 'Term', see https://simple.wikipedia.org/wiki/Concept.
\ No newline at end of file
[^2]: For the difference between 'Concept' and 'Term', see https://simple.wikipedia.org/wiki/Concept.
......@@ -2,7 +2,8 @@
id: dictionary
title: "Concept: Dictionary (Scope: essifLabTerminology)"
scopeid: essifLabTerminology
termid: dictionary
type: concept
typeid: dictionary
hoverText: "an alphabetically sorted list of termsort) explanations, usually aimed to help people understand texts around a certain (set of) topic(s) in some context(s)."
---
......@@ -39,4 +40,4 @@ The [eSSIF-Lab Glossary](essif-lab-glossary) contains the words that are defined
[^1]: the text for footnote [^1] goes here.
-->
\ No newline at end of file
-->
---
id: eSSIFGlue
title: "Concept: eSSIF-Glue (Scope: eSSIF-Lab)"
title: "eSSIF-Glue"
scopeid: essifLab
termid: eSSIFGlue
type: concept
typeid: eSSIFGlue
hoverText: "eSSIFGlue"
---
......
......@@ -4,21 +4,12 @@ title: "Entity"
scopeid: essifLab
type: concept
typeid: entity
stage: draft
hoverText: "Entity: something that is known to exist."
hoverText: "something that is done by an actor"
---
## Short Description
Whenever you know that somethings exists, be it another person, yourself, some computer, an extinct animal, a thought, an idea, a JSON-object, ..., _anything_ you can think of, is what the term **Entity** refers to.
## Purpose
This term enables us to refer to anything, or to postulate the existence of something, without further specifying what it is, or how it might be named.
## Criterion:
## Criterion:
Something, anything, that some %%party|party%% knows to exist
## Related Concepts:
- a %%legal entity|legal-entity%% is an entity that is known by (i.e. registered in the %%knowledge|knowledge%% of) a %%party|party%% that operates the %%legal-system|legal-system%% of a %%jurisdiction|jurisdiction%%. (Details are in the %%jurisdiction pattern|pattern-jurisdiction%%)
## Background:
The %%terminology pattern|pattern-terminology%% provides an overview of how this concept fits in with related concepts.
### Background:
......@@ -3,7 +3,7 @@ id: essifLabTerminology-glossary
title: Glossary of eSSIF-Lab Terminology
scopeid: essifLabTerminology
glossaryid: glossary
hoverText: "<Text that pops up when the user hovers over a reference to this eSSIF-Lab Terminology glossary>"
hoverText: "glossary - popuptext t.b.d."
---
## Purpose
......
......@@ -4,7 +4,7 @@ title: "Jurisdiction"
scopeid: essifLab
type: concept
typeid: jurisdiction
hoverText: "jurisdiction - popuptext"
hoverText: "jurisdiction - popuptext t.b.d."
---
## Short Description
......
......@@ -4,45 +4,11 @@ title: "Knowledge"
scopeid: essifLab
type: concept
typeid: knowledge
hoverText: "knowledge - popuptext"
hoverText: "knowledge popover text"
---
## Short Description
<!--REQUIRED--in 1-3 sentences that describe the concept to a layperson with reasonable accuracy.-->
## Criterion:
## Purpose
<!--Describe why the concept is needed. What purposes does it serve? What can you do with it that you cannot do (as well) without it? What objectives does it help realize? Why is this concept relevant within its scope of definition?-->
## Examples:
## Criteria
<!--REQUIRED--How is this concept different from related ideas? What are essential characteristics that must be true? This is where you specify the [intensional definition](https://en.wikipedia.org/wiki/Extensional_and_intensional_definitions) of the concept, i.e. the necessary and sufficient conditions for when the term should be used. This makes that the concept becomes crystal clear. In the case of nouns, this is equivalent to specifying the properties that an object needs to have in order to be counted as a referent of the term.-->
## Examples
<!--Provide a few sentences in which you give examples that obviously qualify as instances of `<New Term>`, and that do NOT obviously qualify. Also, provide examples that are not (so) obvious, but help users to better understand its intension.-->
## Related Concepts
<!--Link to any concepts that are similar but distinct, with a note about the relationship.-->
## Domains
<!--In which general knowledge ecosystems or mental model families does this concept play a role?-->
## Tags
<!--Add hash tags here that allow us to group concepts in useful ways.-->
## Use-cases
<!--This (optional) section specifies an (optional) introductory paragraph, and a level-3 (i.e. `###`) subsection for every use case it describes. Every such use-case SHOULD
- describe the situation/context of the use-case;
- show how to apply `<New Term>` to/in that situation;
- shows the relevance of having `<New Term>` for the use-case as opposed to not having it.-->
## Notes
<!--This (optional) section is the place to put anything for which there is no other good place to put it.-->
<!--
---
## Footnotes
[//]: # This (optional) section contains any footnotes that may have been specified in the text above.
[^1]: the text for footnote [^1] goes here.
-->
### Xxx:
......@@ -14,4 +14,4 @@ Something toward which effort is directed: an aim, goal, or end of action ([Merr
Anything that, according to a %%Party|party%% c.q. its way of thinking, is important to be realized, qualifies as an Objective (and identifies its owner as that %%Party|party%%)
### Xxx:
The %%Knowledge|knowledge%%/judgements of a %%Party|party%% are what makes something an %%Objectiv%%e (owned by that %%Party|party%%).
The %%Knowledge|knowledge%%/judgements of a %%Party|party%% are what makes something an %%Objective (owned by that Party|party%%).
---
id: concept-file
title: "Concept: Concept-file (Scope: eSSIF-Lab)"
title: "Concept-file"
scopeid: essifLab
termid: concept-file
type: concept
typeid: concept-file
hoverText: "concept-file popover"
---
......
......@@ -2,14 +2,15 @@
id: pattern-jurisdictions
title: "Pattern: Jurisdictions (Scope: eSSIF-Lab)"
scopeid: essifLab
patternid: jurisdictions
hoverText: "pattern-jurisdictions - hovertext"
type: pattern
typeid: jurisdictions
hoverText: "jurisdiction pattern - popuptext t.b.d."
---
<!-- A pattern captures/describes a set of concepts, relations between them, and rules or constraints that (instances) thereof comply with. As such, it is a concise and possibly formal description of a coherent set of ideas, a mental model if you will, that can be used to facilitate one's thinking about/with these concepts.
Please fill in the placeholders in this file as follows:
- `<existing-scopeID>`: machine readable text that identifies the scope in which this pattern is defined;
- `<ExistingScopeID>`: machine readable text that identifies the scope in which this pattern is defined;
- `<Existing Scope>`: human readable text that identifies the scope in which this pattern is defined;
- `<NewPatternID>`: machine readable text that identifies this pattern within <existing-scopeID>;
- `<NewPatternID>`: machine readable text that identifies this pattern within <ExistingScopeID>;
- `<New Pattern>`: human readable text that identifies this pattern within <Existing Scope>;
-->
......
---
id: essifLabTerminology-pattern-mental-model
title: "Pattern: Mental Models (Scope: essifLabTerminology)"
scopeid: essifLabTerminology
type: pattern
typeid: mental-model
hoverText: "This pattern captures the foundational concepts and relations that we need for creating, maintaining and using (decentralized) vocabularies (terminologies) that groups of people can use for the specific purposes they pursue."
---
## Purpose
<!--Concisely describe what can you do with the pattern that is (at least) harder if you didn't have it.-->
This pattern captures the foundational concepts and relations that we need for creating, maintaining and using vocabularies (terminologies) that groups of people can use for the specific purposes they pursue. Alternatively, we need these concepts to allow people to use 'decentralized vocabularies' that %%parties|party%% may create, maintain and use in a self-sovereign fashion - which means that each of them decides for itself what terms to use in what meaning, yet be able to communicate with other such %%parties|party%% in such a way that a correct understanding of what the other means, can more or less be guaranteed.
## Introduction
<!--Gently introduce the pattern, by referring to real-world situations and using colloquial terms, so that when someone has read the text, (s)he knows what it is about, and is ready to delve into the specifics of the pattern-->
TL;DR: .
A concept is an idea that is applied to all objects in a group. It is the way people see and understand something. The name used to identify a concept (the concept's label) is a "term". For example, the word "Dog" is the term to identify the concept of what a dog is. Everything that a person knows about a dog is the concept of the term dog.
Different terms can be used to identify the same concept. Car and Automobile are synonyms for the same concept. Different languages have different terms for the same concept. This is what makes translation possible. The terms may be different in each language, but the concept is the same. The concept of jumping is the same to a person from England and a person from Italy, but one person uses the term "Jump" to mean the concept and the other person uses "Salto".
## Notations
<!--This (optional) section specifies the notations that are used, or refers to such a specification.-->
## <!-- any number of other sections, as is fit for describing the pattern -->
<!--text as appropriate for such a section -->
<!--
---
## Footnotes
[//]: # This (optional) section contains any footnotes that may have been specified in the text above.
[^1]: the text for footnote [^1] goes here.
-->
\ No newline at end of file
......@@ -2,7 +2,8 @@
id: pattern-party-action
title: "Pattern: Party-Action (Scope: eSSIF-Lab)"
scopeid: essifLab
patternid: party-action
type: pattern
typeid: party-action
hoverText: "This pattern captures the foundational concepts and relations that we need for thinking about people (human beings), organizations, and how they interact with one another in a decentralized, self-sovereign way - which means that each of them decides for itself whether or not to interact with others, how to conduct such interactions, etc., thereby only taking external influences into account if they want, or have some need to do so."
---
......@@ -18,15 +19,15 @@ TL;DR: This pattern models that %%Parties|party%% (humans, organizations) perfor
The essential characteristic of %%Parties|party%% is their 1-1 link with %%Knowledge|knowledge%%, which they continually update and use e.g. for reasoning, decision making, and determining e.g. what to do, when, and with whom. %%Knowledge|knowledge%% not only includes (observable) facts, but also opinions, e.g. regarding the %%Entities|entity%% it knows to exist, relations between them, and rules (constraints, [logic](https://en.wikipedia.org/wiki/Logic)[^1]) that can be used to classify and reasoning about them, and for making decisions.
Perhaps the most important idea in this pattern is that our %%Party|party%% concept is not considered to (be able to) act, and they need %%{{Actors|actor%%:Actor}} (i.e. %%Entities|entity%% that _can_ act) to act on their behalf and thus make them perform. This does, however, not preclude having %%Entities|entity%% that are both %%Party|party%% and %%Actor|actor%% - e.g. humans - and that such %%Entities|entity%% can act on their ‘own’ behalf. And we can continue to use the commonly used form of speech in which a %%Party|party%% performs some %%Action%%, by realizing that this means that there is (at least) one %%Actor|actor%% that is actually executing that %%Action%%.
Perhaps the most important idea in this pattern is that our %%Party|party%% concept is not considered to (be able to) act, and they need %%Actors|actor%% (i.e. %%Entities|entity%% that _can_ act) to act on their behalf and thus make them perform. This does, however, not preclude having %%Entities|entity%% that are both %%Party|party%% and %%Actor|actor%% - e.g. humans - and that such %%Entities|entity%% can act on their ‘own’ behalf. And we can continue to use the commonly used form of speech in which a %%Party|party%% performs some Action by realizing that this means that there is (at least) one %%Actor|actor%% that is actually executing that %%Action|action%%.
In this pattern, %%Knowledge|knowledge%% takes center stage. %%Knowledge|knowledge%% contains %%Objectives|objective%% to be realized and managed. This not only triggers all sorts of %%Actions|action%% to be performed, but also guides their execution in terms of when an %%Action%% should start, when it terminates, which %%Actors|actor%% qualify for executing it, etc. Everything that is specific for a %%Party|party%% is reflected in its %%Knowledge|knowledge%%.
In this pattern, %%Knowledge|knowledge%% takes center stage. %%Knowledge|knowledge%% contains %%Objectives|objective%% to be realized and managed. This not only triggers all sorts of %%Actions|action%% to be performed, but also guides their execution in terms of when an Action should start, when it terminates, which %%Actors|actor%% qualify for executing it, etc. Everything that is specific for a %%Party|party%% is reflected in its %%Knowledge|knowledge%%.
This works well for human beings, which are both a %%Party|party%% and an %%Actor|actor%%. So a human being can act, implying itself as an %%Actor|actor%%, and using its personal %%Knowledge|knowledge%% as guidance. The model also works when a human being (as a %%Party|party%%) may hire someone else (as an %%Actor|actor%%), e.g. to fill in his tax return form. This other is guided by the %%Knowledge|knowledge%% of the human being that hired him, and uses its own %%Knowledge|knowledge%% for the details of filling in the tax form.
It also works well for organizations, which are typically companies, enterprises, governments or parts thereof, i.e. groups of human beings and possibly other %%Actors|actor%% that, as a group, fit the criteria for being a %%Party|party%%. This group of %%Actors|actor%% would typically work to realize the organization’s %%Objectives|objective%%, being guided by the organization’s %%Knowledge|knowledge%% (registrations, policies, etc.). Like human beings, an organization may (have an appropriate %%Actor|actor%%) decide to hire or fire %%Actors|actor%% for longer or shorter periods.
%%Parties|party%% set %%Objectives|objective%% that they seek to achieve, the most basic of which perhaps is its mission, or its ‘raison d'être’, to the realization of which all of its %%Actions|action%% are (ultimately) aimed. Every %%Objective%% is owned by a single %%Party|party%% (we do not consider ‘shared objectives’[^2]).
%%Parties|party%% set %%Objectives|objective%% that they seek to achieve, the most basic of which perhaps is its mission, or its ‘raison d'être’, to the realization of which all of its %%Actions|action%% are (ultimately) aimed. Every Objective is owned by a single %%Party|party%% (we do not consider ‘shared objectives’[^2]).
## Notations
<!--This (optional) section specifies the notations that are used, or refers to such a specification.-->
......
---
id: pattern
title: "Concept: Pattern (Scope: eSSIF-Lab)"
title: "Pattern"
scopeid: essifLab
termid: pattern
type: concept
typeid: pattern
hoverText: "pattern popover text"
---
......
Markdown is supported
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