New version 1.1.0 including System Dynamics

New version 1.1.0 including System Dynamics

A new release 1.1.0 of Symu has been released and now supports System DynamicsIn the last post, we mentioned the evolution of the Symu framework towards an open source suite. This suite deal with the modeling, analysis and simulation of organizations. This trend continues with this new version includes a new independent project. Let’s examine it:

System dynamics

We have created a new github repository Symu.SysDyn which is an open source framework for System Dynamics. 

What is System Dynamics?

It is an aspect of systems theory as a method to understand the dynamic behavior of complex systems. The basis of the method is the recognition that the structure of any system, the many circular, interlocking, sometimes time-delayed relationships among its components, is often just as important in determining its behavior as the individual components themselves. (from wikipedia

You can find more information here.

But why System Dynamics in a multi-agents system? 

In an organization, interconnections between people are well-designed in a multi-agent system. But agents operate in an evolving system itself. This evolution depends on the context of the organization. So, we should include in our simulator models for any situations that an organization can face. Which is impossible.
Thus, the system dynamics approach completes the agent-based one. It can focus on macroscopic dynamics. Moreover it offers a flexible approach to model them and add them without coding. You can create a complex system in an XML file, see it and analyze it with a system dynamics app.
With this new framework, we offer the possibility to model all macroscopic scenarios for an organization and let the agents evolve within it.

How it works

Symu.SysDyn models complex system as a graph of  stocks, flows and internal feedback loops. Each artifacts can be defined from constants to complex equations. The relation between artifacts may be cyclic.As a result, it offers the ability to model real interconnected systems.

Example

The word of mouth model of a growth engine

Word of mouth model
New release 1.0.0

New release 1.0.0

A new release 1.0.0 of Symu has been released. Initially, Symu was a framework for organization simulation. It becomes an open source suite allowing the modeling, analysis and simulation of organizations. Each area is now a independant project with its own repository. Let’s explore them:

Organizational modeling

Firstly, to be able to simulate an organization, you must first be able to model this organization. Therefore, we extracted the code allowing this modeling. In other words, we have created a new github repository Symu.OrgMod (for Organization Modeling).

How it works

Moreover, Symu.OrgMod models organization as a graph of specific artefacts such as :

  • Actor
  • Belief, Knowledge
  • Event
  • Organization
  • Resource
  • Role
  • Task

What it is

It creates a graph of organizational artifacts and graphical (not yet available) to model an organization.

Organizational analysis

Secondly, simulating an organization is one thing, being able to analyze and characterize an organization is another. And they are complementary. Some of the key measures for characterizing organizational architectures may be found in the area of network analysis. Some are from social SNA (social network analysis), others from organizational ONA (organizational network analysis) networks. This analysis may be static and even or dynamic with DNA (dynamic network analysis).

As a result, with this new release 1.0.0 of Symu comes a new github repository Symu.DNA (for Dynamic Network Analysis).

How it works

Symu.DNA models social group and organization as a meta-network. This meta-network is a list of specific networks that characterizing organizational architectures such as :

  • Social network
  • Knowledge network
  • Information network
  • Capabilities network
  • Skills network
  • Assigment, needs, requirements, work, ….

What it is

Meta-network is used for laying out the relation among types of those networks. It creates statistical and graphical (not yet available) models of the people, tasks, groups, knowledge and resources of organizational systems. Those metrics assess and identify change within and across networks.

Scenarios and events models in Symu

Scenarios and events models in Symu

A new full example has been added in this new release v0.7.0 . In this example we have chosen to zoom on the scenarios and events models.

 

Scenarios

To run a simulation, you must at least define one scenario. it will basically allow to define which parameter allows to stop the simulation and for which value.
There are thress pre-defined scenarios :
  • Time based
  • Tasks based
  • Messages based
You can define your own scenario. A simulation may be define with multiple scenarios.

Events

To add variability, you can schedule events during the simulation. You will find by design one shot, cyclical and random events.

You can only use scenarios if you choose. But the scenarios and the events are different by design. The scenario is an agent, has its own life cycle, interacts with other agents via asynchronous messages; where events is a simple class that can be used directly by the agent via an EventHandler.

At least one scenario is required to run a simulation, then you choose what best suits your needs for variability between scenarios and events.

SymuScenariosAndEvents example

You can use this example to discover and understand how to use scenarios and events models to run a simulation.

Scenario of the simulation

  1. Agents performing tasks according to their availability, knowledge and beliefs
  2. Random process to assign the weight of tasks
Due to models and murphies, capacity may diverge from the number of tasks performed because of the blockers or unavailability of the agents.
Adding events such as new person needing to learn existing knowledge, or new knowledge for all the persons will also have an impact on the results.
In a Monte Carlo approach, you perform a number of iterations with the same configuration and analyse the results with a histogram chart of a frequency distribution in which the height of the bars are proportional to the result frequencies.
Small screenshot of scenarios and events models

Getting started

To start playing with this example, download the version v0.7.0. You will find the source code and the executable SymuScenariosAndEvents.exe.

Murphies and blockers model in Symu

Murphies and blockers model in Symu

Different models are implemented in this simulator. A new full example has been added in this new release v0.6.0 which demonstrate the use of one of them: the murphies model and its consequences : the blockers.

 

Murphies and blockers model

An organization is designed to work in an optimal system. Murphies is a way to run a system in a sub-optimal way and see the impacts.
By construction, Symu offers you several possible scenarios for working sub-optimally:

 

  • Unavailability
  • Incomplete knowledge
  • Incomplete beliefs
  • Incomplete information
As Symu is task-based, murphies often results in blockers in tasks.
A murphy contains the conditions for triggering the stress, but also the conditions for unlocking the blocker. It is fully customizable.

SymuMurphiesAndBlockers example

You can use this example to discover and understand the impact of all the setups on the agents. That will help you setup you own murphies and blockers model.

 

Scenario of the simulation

  1. Agents performing tasks according to their availability, knowledge and beliefs
  2. Emails and internet access to search information.
Because of the murphies, the agents are blocked. They have different strategies to unlock the blockers :
They search for information from colleagues, in their emails, on the Internet, or try to guess the correct answer.
They may find no strategy to unlock tasks, so they will not complete them or even cancel them.
Small Screenshot of murphies and blockers models

Getting started

To start playing with this example, download the version v0.6.0. You will find the source code and the executable SymuMurphiesAndBlockers.exe.

Beliefs and influence model in Symu

Beliefs and influence model in Symu

Different models are implemented in this simulator. A new full example has been added in this new release v0.5.0 which demonstrate the use of two of them: the beliefs and influence model.

 

Beliefs model

Symu is a framework for organization simulation which include co-evolution of agents with in particular a beliefs model. Agents may have particular belief about knowledge or information. 
Symu is a multi-agent system in socio-cultural environments with an interaction model between agents.
These interactions are based on the information exchanged but also the beliefs.

Influence model

They might influence other agents or be influenced by them.

This model define how an agent will reinforce its belief or change its belief from influencer. Agents can accumulate beliefs during the simulation.

Risk aversion

Influence model is associated with the risk aversion that prevent an agent from acting on a particular belief. Agents are task-based. In that case, the task is blocked.

SymuBeliefsAndInfluence example

You can use this example to discover and understand the impact of all the setups on the agents. That will help you setup you own beliefs model.

Scenario of the simulation

  1. Workers performing tasks according to their beliefs, asking advice from influencers if necessary (risk aversion)
  2. Influencers with string beliefs trying to influence workers

Beliefs and influence model have an impact on different parameters that you can follow in the simulation results: 

  • perform tasks
  • modify the sphere of interaction
  • agents beliefs
Screenshot of beliefs and influence model

Getting started

To start playing with this example, download the version v0.5.0. You will find the source code and the executable SymuBeliefsAndInfluence.exe.

Group and interaction model in Symu

Group and interaction model in Symu

Different models are implemented in this simulator. A new full example has been added in this new release v0.4.0 which demonstrate the use of one of them: the group and interaction model.

 

Group and interaction model

 

Symu is a multi-agent system for the co-evolution of agents and socio-cultural environments with an interaction model between agents : each agent defines the way the agent interacts with other agents.
It is based on different parameters:
  • relative knowledge
  • relative activities
  • relative beliefs
  • social demographics
Each parameter has an associated weight to calculate the homophily factor.
This model defines the way the interaction sphere is initialized and can change over time.
The interaction sphere may be initialized in two ways: similarity matching and random generation.

SymuGroupAndInteraction example

You can use this example to discover and understand the impact of all the setups on the agents. That will help you setup you own interaction model.

Scenario of the simulation

  1. Groups of people
  2. People who are members of the group

Knowledge, activites, beliefs and social-demographics are defined for every agents. Those parameters has an impact on the way people are interacting every day in their group, in their sphere of interaction.
Play with the interaction strategy to see the impact on the organization flexibility, defined by the capacity of creating triads.
Try to increase triads with the creation of new interactions.

Screenshot of group and interaction model

You can also discover the learning and forgetting models implemented in Symu or the messaging and tasking models.

Getting started

To start playing with this example, download the version v0.4.0. You will find the source code and the executable SymuGroupAndInteraction.exe.

Pin It on Pinterest