Menu

SObjectizer / Blog: Recent posts

A brief and incomplete list of changes in SObjectizer-5 since 2013

There were many different changes, additions to and removal from SObjectizer-5 since it was published in public in 2013. This blog post is an attempt to enumerate some of them. Just to show how SObjectizer-5 evolves with time.

Initially, SObjectizer-5 supported both error codes and exceptions and a user can choose between them (somewhat similar to Asio's approach). But the support for error codes was completely removed somewhere between 2013 and 2014. Only exceptions are used for error reporting now.... read more

Posted by Yauheni Akhotnikau 2020-12-10

An experimental support for unit-testing of agents in v.5.5.24

Introduction

SObjectizer-5 is in production use for several years. The experience shows that writing an agent is not a complex task. Writing the code of agent is, probably, the simplest part. But there is a more tricky part of work: testing the behaviour of the agent.

Today the writing of unit-tests is the essential approach in software development. But how to write unit-tests for SObjectizer's agents?... read more

Posted by Yauheni Akhotnikau 2019-01-08

The second beta of so-5.5.23 and so_5_extra-1.2.0

We have tagged the second beta version of upcoming SObjectizer-5.5.23 and so_5_extra-1.2.0. This beta can be downloaded from Files section: so-5.5.23-beta2.zip and so_5_extra-1.2.0-beta2.zip (or so_5_extra-1.2.0-beta2-full.zip).... read more

Posted by Yauheni Akhotnikau 2018-10-31

The first version of documentation for upcoming SObjectizer-5.5.23 and so_5_extra-1.2.0 release

The first version of documentation for new features of upcoming release of SObjectizer v.5.5.23 and so_5_extra 1.2.0 is available in project's Wiki:

[so-5.5 In-depth - Enveloped Messages]
[so5extra 1.2 Proxy Mbox]
[so5extra 1.2 Revocable Messages]
[so5extra 1.2 Revocable Timers]
[so5extra 1.2 Just Envelope]
[so5extra 1.2 Sending of Envelopes]
[so5extra 1.2 Time-Limited Message Delivery]

If you are interested in what is going on with SObjectizer please take a look. Fill free to ask questions and tell us about what you like or dislike or don't understand. We will try to make our documentation better.... read more

Posted by Yauheni Akhotnikau 2018-10-25

What can or should go into SO-5.5.23?

Preamble

After a pause we can return to the development of next version of SObjectizer-5.5. Because this version is expected to be a continuation of 5.5 branch we don't want to make any breaking changes to SObjectizer-5.5. It means that we can include only those changes and new features which keep compatibility with SO-5.5 behaviour and public API. Nothing revolutionary, only a smooth evolution.... read more

Posted by Yauheni Akhotnikau 2018-09-13

A First Look Toward SObjectizer-5.6

It's more than three years after the first release of 5.5.0. All these three years we tried hard to keep compatibility between 5.5-releases. May be sometimes there were not 100% compatible releases, but in most cases the switch from one version to another inside 5.5 branch was smooth and required only recompilation of the code.... read more

Posted by Yauheni Akhotnikau 2017-12-13

Why there is so big pause between 5.5.18 and 5.5.19 releases

There is a nine months pause between SObjectizer's releases: previous stable version 5.5.18 was released in Sep 2016 and new stable version 5.5.19 is released in May 2017. Why is such big pause? Does this mean that development of SObjectizer is slower down or even abandoned?... read more

Posted by Yauheni Akhotnikau 2017-05-11

SObjectizer helps CrystaX NDK be better

The SObjectizer Team got acknowledgement from Dmitry Mosckalchuk - the leader of CrystaX NDK project. SObjectizer was used in a large test suite for CrystaX NDK and helped to find a tricky bug in CrystaX's implementation of POSIX Thread API.

It's great pleasure to know that our software showed its usefulness in such big and complex project. And we appreciate Dmitry's acknowledgements of high quality of SObjectizer itself and its test suites in particular.

Posted by Yauheni Akhotnikau 2016-05-23

A Strange Difference in SObjectizer 5.5.15 and C++Actor Framework 0.14.4 Performance

The strange difference was noticed while comparing SObjectizer 5.5.15 and C++ Actor Framework (CAF) 0.14.4 performance. We have created CAF-version of thread_pool_disp benchmark from SO-5.5. The benchmark shows the performance of event scheduling on pool of worker threads and has the following description. A bunch of agents (actors) are created. Every agent sends several messages to itself at the start and then continues sending such messages until some limit is reached. After that each agent sends a special completion signal to the main agent-controller and the agent-controller finishes the benchmark when all completion signals are received.... read more

Posted by Yauheni Akhotnikau 2016-02-14

How Actor Model Can Be Used Inside Single Process C++ Applications

Over the last few years the Actor model has become rather popular. But it seems that Erlang and Akka (widely used and well known implementations of the actor model) are primarily used in development of distributed applications. This can make you think that the actor model is oriented only towards distributed application development.

It's hard to say that this impression is completely wrong. The development of some distributed application is significantly easier when the actor model is used. But this is just a consequence of the main feature of that model: usage of asynchronous interaction between isolated actors. Due to asynchronous message passing, sometimes, there is hardly any difference between in-process and inter-process communications.... read more

Posted by Yauheni Akhotnikau 2016-02-05

Invocation Of Several Thread Safe Event Handlers In Parallel

Dispatchers are one of SObjectizer's cornerstones. They are necessary to simplify the development of multithreaded applications where working threads are used for various tasks. Instead of manual manipulations with threads a programmer uses dispatchers and binds agents to an appropriate dispatcher. All further thread management and event scheduling will be performed by dispatchers.... read more

Posted by Yauheni Akhotnikau 2016-01-28

What's Next After v.5.5.15 Release?

Few days ago the version 5.5.15 of SObjectizer was released. Let's speak about what to expect from the project in near future.

There are no plans to add some new functionality to SObjectizer like it was several versions before, especially in v.5.5.9, v.5.5.13 and v.5.5.15. Right now, SObjectizer is a mature, stable and full of features framework with a lot of tuning options and customization points. It is a rather complex tool for complex tasks.... read more

Posted by Yauheni Akhotnikau 2016-01-25
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.