Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dpapathanasiou/concept-catalog
This is a proof-of-concept in defining a catalog of software concepts as described in "The Essence of Software (EOS)"
https://github.com/dpapathanasiou/concept-catalog
Last synced: about 2 months ago
JSON representation
This is a proof-of-concept in defining a catalog of software concepts as described in "The Essence of Software (EOS)"
- Host: GitHub
- URL: https://github.com/dpapathanasiou/concept-catalog
- Owner: dpapathanasiou
- License: mit
- Created: 2024-06-23T23:54:04.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2024-07-28T17:47:28.000Z (5 months ago)
- Last Synced: 2024-07-28T19:09:42.203Z (5 months ago)
- Language: Alloy
- Size: 6.84 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# About
This is a proof-of-concept in defining a *catalog of software concepts*, as described in [The Essence of Software (EOS)](https://essenceofsoftware.com/), which can be used as composable building blocks to create applications.
## Definition
Software concepts (hereafter just *concepts*) all have these principles in common:
- Concepts have purposes
- Concepts are behavioral
- Concepts have rich state
- Concepts localize data models
- Concepts are generic
- Concepts are freestanding
- Concepts differ from abstract data types and objects
- Concepts differ from features
- Concepts differ from mental models## Formal Notation
The concepts here are defined in [Alloy 6](https://alloytools.org/alloy6.html), rather than the informal, plain English descriptions in EOS.
# Contribute
Corrections, edits, additions, and other suggestions in the form of [pull requests](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request) are welcome!