Kompics Simulator

Kompics is a component model concentrated to build distributed systems by composing protocols programmed as event driven components. We ensure kompics components are reactive state machine which execute concurrently by set of workers. We offer kompics projects component model and programming framework designed to simplify complex distributed systems. We support kompics projects with pluggable component schedulers at runtime for research scholars. We enable a simulation framework with deterministic debugging and reproducible performance evaluation of unmodified kompics system.We developed more than 75+ kompics projects with kompics component.


Component model for kompics projects:

It is an event driven state machine executes concurrently & communicate asynchronous by message passing.

It is an active entity, interact with each other by triggering & handle events. It is a unit of function & management.

Component types:

Types are given as:

  • Component management.
  • Component membranes.
  • Component fault isolation.
  • Component sharing.


We describe event as passive objects with set of immutable attributes and form hierarchical types. We subscribe every event component to channel & publish events into channels.


We ensure channel with interaction links among components. We carry events from publisher components to subscriber components.

Event handlers:

An event handler is an event specific procedure in which component executes as reaction to received event. It triggers every new event and guarded by Boolean guards.

Event subscription:

We subscribe event handler component to channels by registering event subscription at respective channels. Event subscription may be event type or event attribute in which subscription contain a set of attribute filters.


We provide ports are bidirectional event based component interfaces. A port which permits specific set of event types to pass in each direction.

Kompics operation semantics:

We implement following semantics from Elsevier papers.

  • Channel event filtering.
  • Kompics operation: create, connect, subscribe.
  • Fault management.
  • Dynamic reconfiguration.
  • Publish subscribe message passing.
  • Request response interaction.
  • Non-blocking receives.
  • Component initialization & life cycle.

P2P systems in kompics:

We design a java domain specific language to express experiment scenario for P2P systems. Stotachastic processes have three types are:

  • Chrun.
  • Boot.
  • Lookups.

Kompics project implementation:

We implement kompics projects in java which is an open source project for M.TECH students.

  • Deterministic simulation mode.
  • Java runtime engine & framework.
  • Large programming.
  • Multicore component scheduling.