Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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)"

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!