API Guides > ConceptRT 3.x
Welcome to ConceptRT

Introduction to ConceptRT philosophy and ecosystem.

ConceptRT is a programming platform developed to support object-oriented and real time programming requirements. The features of ConceptRT are designed to be used in Automation and machinery domain as well as for the embedded world.

To face software development complexity, the object-oriented methodology leads to design always more flexible and agile software architectures. This way, the software is able naturally to integrate new business requirements.

The philosophy of ConceptRT is deeply inspired by object-oriented methodology. Unlike the functional programming method where data and behaviour (functions) are separated, the object approach is more consistent since data and behaviour are in the same compound. Modularity, independence and scalability can be henceforth managed directly at the object-oriented language level.

Variabilities families and combinations are usually sources of software complexity. The object-oriented methodology and language handle nicely these situations thanks to abstractions and the polymorphism mechanism of the virtual methods.

Inheritance, polymorphism and object model elegantly solve complex situations but they bring their technical challenges for the programmer:

  • How to visualize the objects of a polymorphous list with the debugger?
  • How to save and restore the content of a polymorphous list from a text file ?
  • How to save and restore a reference or pointer (aggregation) from a text file?

These technical challenges are easily and almost transparently supported by ConceptRT. The full power of object-oriented methodology can then be used to make of ConceptRT a real productivity platform.

ConceptRT ecosystem

Overview

ConceptRT ecosystem overview. LiveTuning Dictionary ConceptEditor OsAbstraction Fiedlbuses IoManager MappingEditor Tools Checks Modeling Plugins Components SmartConcurrency Script

ConceptRT brings software components and features in order to:

  • Rapidly develop with well-proven tools such as container, utilities, useful macros, etc.
  • Diagnose errors and validate deterministic behaviours of the application. Save huge debugging and analysing efforts with the real time check mechanisms.
  • Handle readily object-oriented and agile programming support: Serialisation / de-serialization of polymorphous containers and aggregations.
  • Handle plug-ins application to integrate future evolution.
  • Improve development efficiency through reusability of code of well-designed components with high added values.
  • Transparently manage concurrency with built-in smart concurrency mechanism.
  • Handle scripted behaviour in real-time execution.
  • Have less code to maintain: Through macros, properties are declared in one line. To make a property accessible to dynamic invocation mechanism only one line is necessary.

Common ecosystem tools

Live Tuning

Interact in live with the developed objects model. Check structure and set or get object properties in two clicks or simply call methods on them to test their expected behaviour.

LiveTuning.png

ConceptEditor

ConceptEditor.png

Dictionary

Dictionary.png

Automation ecosystem tools

Io Manager

IoManager.png

Mapping editor

MappingEditor.png

Technologies abstractions

Cross-platform support

ConceptRT is built in order to be cross-platform: an abstraction of the OS primitive gives the ability to offer the same abstraction independently of the target. This way, the development can mainly be made in a comfortable Windows context and then be tested and deployed on the final target. This can be very interesting especially for the embedded world. Moreover, the application and all the development investments are free of specific technology suppliers. See Available platforms for more details.

IO communication technology abstraction

IO communication technology abstraction gives the ability to develop the business functionalities without depending on a specific technology. It is thus possible to change field-bus technology whenever it becomes necessary without impacting the business software layer. See Field-bus technologies for more details.

Use the full potential of ConceptRT with Object-oriented methodology

The object-oriented methodology is well recommended as soon as the application to develop contains variabilities, different working modes or some scalability requirements.

The process of modeling helps formalizing the requirements, analyzing the needs, communicating with others and validating the objectives and budget. Furthermore, it also helps to describe the software architecture through class diagrams. They are the best plans to help programmers to be more efficient: to do it well and to do it once.

ConceptRT is at its full potential when programmers implements object-oriented models that are properly designed. Agile programming shows how a class diagram is easily translated into code with ConceptRT.

.