Syco G++

SYCO G++ Software Development Environment


Analysis, Design, Prototyping and Implementation
An Object Oriented Software Environment for the Development of
Concurrent Distributed Applications
  • C++ and Java programming languages
  • An evolutionary design method based on a Pattern Language
  • CASE tools for analysis, design, prototyping and code generation
  • GUI editors for monitoring and control
  • Basic frameworks of reusable classes
  • Business Application Framework - enabled by J2EE™ technology



The Application Domain

G++ is dedicated to distributed discrete event dynamic systems, such as Automation, Telecommunications, Telephone Systems, Interactive Enterprise Management.

The Class Libraries

Supporting both the C++ and Java programming languages. The environment contains over 300 basic classes divided into several libraries covering: basic types and data structures; classes for concurrency, discrete event simulated and real-time systems; graphical objects, editors and GUI based on OSF-Motif or MS-Windows; distribution; persistency; Business Logic and Business Objects.

Common functionality of the library

All objects of the library enjoy (for C++, optional run-time pointer checking) exceptions and errors handling, function tracing, persistency and the «callback» mechanism for event based programming.
Objects and Concurrency
Concurrency is achieved:

  • fine grain - actions triggered by events on sequential objects
  • medium grain – multithreading processes co-operating through shared resources (thread and blocking objects)
  • large grain - programs exchanging blocking or non-blocking service requests (active objects).

The G++ Active Object Pattern

The design is conceptually supported by a pattern language where control applications are modelled as a set of concurrent/distribut-ed servers that render services (i.e. sequences of operations developed over time) to their clients. The class Server is the G++ abstract definition of the «active» object of the framework.
The Server interface encompasses synchronous, asynchronous and futures (deferred synchronous) service requests, each one is honoured by instantiating a new Service internally to the server, i.e. a process, that offers a separate execution environment to the service operations.

The service implementation can be delegated to the fine grain, event driven, interaction of sequential objects in the service scope.


Business Application Framework

BAF, enabled by J2EE™ technology, has been conceived for global scale applications, with:

  • Business logic driven by Servlets with JSP presentation
  • Business Objects based on OO interface to access persistency through JDBC.

Software Development Process

The software development process is driven by a pattern language which enables an evolutionary approach based on transformations: from the analysis, to the logical design and prototyping then to the physical design and implementation on a distributed computer platform.
The whole process is supported by CASE tools for specification, design, documentation, animation of the prototype and final code generation.

Analysis - high level design

Analysis and high level logical and physical design are carried on using the UML object model.

Class design - Interface definition

A detailed class design editor adopts the ESA-HOOD modelling technique, and extends it to the C++ and Java languages.
Functionality is offered to generate or reverse engineering C++ or Java code, to generate from the prototype interface objects, and to import/ex-port CORBA-IDL files.

The behaviour editor

An OO extension of SDL (the Specification and Description Language of the CCITT) is used for the specification and prototyping of the dynamic behaviour of objects for both fine and medium grain levels of concurrency. The environment supports the automatic generation of the code for the object control logic both for event based, and process based programming.

Interaction tree diagrams

At the highest interaction level an innovative graphical tool supports BAF for modelling web-centric interaction sessions. It generates automatically Java classes and JSP fragments.


More Documents


You can get more information about SYCO G++ from the following sources:


Please refer to for any problem regarding this page.
This page last updated on Nov 10 ,2002.
Copyright © 2000 SYCO S.a.s.