USoft has been a vendor in the Decision Management space for a while. They started as Comtecno in 1986, become part of Unisys in 1995 then Ness Benelux in 1999 before returning to their current status as an independent Dutch software company in 2010 as USoft B.V. The software has had a much more consistent life, being called USoft and developed steadily since the mid nineties. USoft has customers all over the world but primarily in Europe. Their main office is in the Netherlands with branches in Sweden, the UK, and South Africa while some of their development team is in Serbia. The company provides both direct support and indirect support through implementation partners such as major European System Integrators.
70% of projects in Europe that fail do so because the requirements are not clearly documented and explained. Similarly in the US an estimated $63B is wasted on systems built to incorrect requirements. For many, the default BPM answer is that everything is a process that can be defined but USoft feels, as do I, that a mix of processes and rules (or decisions) would be a better solution. As a result the software has both dynamic business process management and model-driven business rules capabilities.
USoft aim to deliver adaptive and flexible processes based on building blocks from a business rules management system or BRMS, a process engine based on BPMN, process specialization, escalation and exception handling. They also offer end to end process monitoring and feedback with relational database access to both the design and run time data. The toolset is based on two established standards – BPMN 2.0 (the current Business Process Model and Notation standard) and SBVR (the Semantics of Vocabulary and Business Rules).
Architecturally the product runs on a relational database (Oracle or SQL Server) on which a complex event-based business rule engine and a business process engine run. The business rules engine acts as a layer between the process and data layers (so that all data access leverages constraints and other rules about the data being manipulated). A connection layer provides an Enterprise Service Bus and message queuing for integration. Requirements are defined using data modeling, SBVR-based vocabulary and rules, and BPMN-based process tools. Process diagrams, data diagrams, fact models and business rules are all integrated in the environment. Both Dutch and English are supported.
Business Rules and Requirements are captured using URequire – an evolution of their business rules repository. This allows business users to write rules or requirements in English or Dutch. There is a full text search across the rules and facts documented. A color coded editor shows concepts, grammar and relationships handled by the system based on syntactical analysis of what is entered. This links related categories, terms, rules and more. For instance typing something that looks like the definition of the word “person” displays categories of person, relationships in the fact model and rules related to people. The editor allows you to define constraint rules (defining a valid license for instance) as well as action or decision-making rules (defining a set of criteria that can be used to make a decision). The rules are managed in a repository with versions, editing lifecycle and other metadata including links to implementation even if it is outside USoft.
UDesign is a SaaS tool designed to allow executable processes to be managed while also allowing the detailed technical rules to be written to match the natural language requirements gathered. A domain specific language is used to define these in a set-oriented declarative format. This allows SQL to be used in place of the language if appropriate or desirable. In addition the executable environment will use the business rules defined even if you connect to the server using standard SQL tools. Essentially the environment looks like a database connection but is more, including the rules layer in the integration. A REST or web services interface can also be used for both the rule service and the process service allowing third party tools to be used for implementation also while maintaining a link to rule requirements traceability.