GBL Design Studio 2.0 provides facilities for implementing virtual and real-time event-driven architectural designs.
It can be used for building system-level behavioral or cycle accurate event-driven simulators and verification suites, like SystemC,
or to graphically develop algorithms, like in LabVIEW, or in building other event-driven systems, like GUI, RTOS, databases, FSMs.
You can find included GBL simulation library to be more flexible and easier to use than other existing alternatives.

Even general large-scale software designs can be significantly simplified, decoupled, and parallelized, by using powerful top-down
event-driven design with GBL fibers and threads. Event-driven multithreaded designs demonstrate very loose coupling between modules,
unachievable with any other software design techniques, thus allowing partitioning of the large-scale software systems to highly decoupled
hierarchical modular system, which is the most efficient way of managing complexity.

Intuitive graphical development environment provides convenient and easy way of designing event-driven architectures, integrating
C++ code generation and building facilities, which, on one hand, removes the burden of programming for the event-driven simulation library from
the designer and, on the other hand, enables a designer to produce easily understandable, verifiable and high performance applications.

Building applications and systems around an event-driven architecture allows these applications
and systems to be constructed in a manner
that facilitates more responsiveness, because event-driven systems are, by design, more normalized to unpredictable
and asynchronous environments
(Jeff Hanson, Event-driven services in SOA)

An event driven architecture is extremely loose coupled and well distributed. The
great distribution of this architecture exists because an event can be almost anything
and exist almost anywhere. The architecture is extremely loose coupled because the
event itself doesn’t know about the consequences of its cause. e.g. If we have an
alarm system that records information when the front door opens, the door itself
doesn’t know that the alarm system will add information when the door opens, just
that the door has been opened
(Brenda M. Michelson, Event-Driven Architecture Overview,
Patricia Seybold Group)

Draw your design in GBL Designer.

Create your own modules, or use imported packages.

Think about the logic of event flow, not about code.

GBL Designer will automatically generate C++ code for your design.

If you are creating specific event handlers, threads, or fibers, GBL designer will provide stubs for them.