Develop your own application to run virtual experiments with organizations
and capture their dynamic behaviors, their evolutions.
Symu
is a core of discrete-event multiagent simulation library in C#. It is designed to be the foundation for custom-purpose human-centered organization simulation
. Symu implements agnostic organizations as social groups to target the most general use cases.
Symu models groups and organizations as complex systems. It captures the variability in human, technological and organizational factors through heterogeneity in information processing capabilities, but also in knowledge and resources. Also, the non-linearity of the model generates complex temporal behavior due to dynamic relationships among agents.
Symu targets agnostic organizations as social groups and does not plan to implement functionality for specific types of organizations.
Some useful links:
- Website : symu.org
- Documentation : docs.symu.org
- Code : github.symu.org
- Issues : github.symu.org/issues
- Twitter : symuorg
Symu
models groups and organizations as complex systems and captures the variability in human, technological and organizational factors through heterogeneity in information processing capabilities, knowledge and resources.
The non-linearity of the model generates complex temporal behavior due to dynamic relationships among agents.
Symu
is a multi-agent system, time based with discrete events, for the co-evolution of agents and socio-cultural environments.
Agents are decision-making units and can represent various levels of analysis such as individuals, groups or organizations.
Agents are autonomous, rationally bounded and tasks based.
They interact simultaneously in a shared environment that interacts in turn with the agents, via asynchronous messages.
Because we believe that such a framework is valuable for organizations and academics.
Symu
is based on a library of theoretical models:
organization theory, social networks, socio-cultural environment, information diffusion, socio-technical environment…
With our academic program, we will first implement models that you want to use for you.
The main project is Symu. This is the framework you'll use to build your own application in batch. You can use SymuForm for a GUI mode.
Symu works only on Windows when you use SymuForm. Otherwise, it can be used on Linux, but it have not been tested.
Symu is built upon different repositories. We don't use git submodules. So that, to build Symu and its examples solutions, you'll need to check the dependencies manually.
To build Symu you have to add the Symu.Common.dll and Symu.DNA.dll as dependencies. You find this library in the Symu.Common and Symu.DNA repositories. To build Symu examples, you'll need to add Symu.dll, Symu.Forms.dll, Symu.Common.dll and Symu.DNA.dll as dependencies.
- Math.net
- NCalc2
- Some examples are using : ** SyncFusion
As it is a core library, you can't run Symu as is. The sample projects are interesting to understand what the framework can do. They are divided into models, for example learning and forgetting models. They allow you to discover, understand and configure each model, in this sense it is a good entry point. You can find executables files of those examples in the latest release.
See the list of CONTRIBUTORS who participated in this project.
Please read CONTRIBUTING for details on how you can contribute and the process for contributing.
Please read CODE_OF_CONDUCT for details on our code of conduct if you want to contribute.
We use SemVer for versioning. For the versions available, see the tags on this repository.
This project is licensed under the GNU General Public License v2.0 - see the LICENSE file for details
Paid consulting and support options are available from the corporate sponsors. See Symu services.
Symu is used in projects:
Symu.biz
: an enterprise level implementation