O3S Inside

All about the Open System Simulation Solution

En attendant la version 2.0.0

Beaucoup de changements profonds dans la version 2.0.0 comme l’introduction d’un middle-ware maison pour la synchronisation des données. Mais en attendant cette version, voici 3 captures d’écran des GUIs O3S en version 2.0.0:

Le nouveau o3sPlatformManager

Le nouveau o3sUIDesigner avec des changements invisibles comme la possibilité de scripter en Javascript au niveau du synoptique ou encore la possibilité de relier les objects graphiques entre eux et plus seulement aux variables O3S.

La nouvelle interface graphique de o3sScope, mais pas seulement: la version 2.0.0 améliore les performances d'affichage et intègre le coeur de synchronisation des données à travers un plugin pour Air® 3.0 (la même solution est adoptée pour l'UIDesigner également)

La version 2.0.0 de O3S sera un grand cru. Sans apporter beaucoup de nouvelles fonctionnalités, elle consolide fortement la robustesse, améliore notablement les performances et permet à l’utilisateur une prise en main plus facile. Les GUIs sont de ce point de vue un apport évident, mais ce sont des outils comme O3SStudio permettant le développement d’applications pour O3S (Python, C/C++) qui donne véritablement de la puissance à la solution.

A bientôt pour la présentation de O3S 2.0.0

11 October 2011 at 11 h 21 min Comments (0)

Accord de collaboration entre OpenTekhnia, TechniWare et Geensyde

OpenTekhnia, TechniWare et Geensyde ont conclu un accord pour proposer des solutions de simulation de systèmes embarqués et/ou distribués innovantes. Cet accord est motivé par le désir de chaque partenaire de pouvoir mettre en commun leur savoir-faire dans ce domaine, souhaitant proposer une valeur ajoutée « produits et services » à leur clientèle grands-comptes industriels.

La collaboration s’attachera à répondre aux besoins d’amélioration du processus d’ingénierie des systèmes embarqués, par une offre d’accompagnement focalisée sur l’efficience.

OpenTekhnia, une jeune entreprise innovante, membre du pôle Systematic et Intel Software Partner, et TechniWare société spécialisée dans les bancs de simulation pour le test, l’intégration et la validation des systèmes, ont développé la technologie innovante O3S (Open System Simulation Solution®).

Cette plate-forme complète de simulation, permettant la mise en oeuvre de bancs de test, d’intégration et de validation de systèmes embarqués avec un coût de possession très concurrentiel.

Ces solutions permettent notamment le test d’un système en usine en se situant aussi près que possible des conditions d’opération de l’utilisateur final. Ceci grâce à la capacité de simuler tout ou partie de l’environnement d’utilisation final, mais aussi une partie des équipements sous test eux-mêmes.

Dans le cadre du développement de nos solutions « model driven architecture », l’offre « d’ingénierie globale» de Geensyde et l’expérience de ses consultants viennent renforcer notre offre d’outils pour le développement des systèmes.

Témoignage

« Les technologies développées par Open Tekhnia et TechniWare associées à l’offre «d’ingénierie globale» de Geensyde, nous permettent permettent de répondre de manière plus efficiente aux besoins d’outillage qui nous sont exprimés par nos clients. »

Thierry BILLOIR
Président

, ,
8 June 2011 at 9 h 02 min Comments (0)

O3S v1.3.0 is out

New version this month: the v1.3.0 brings several new features like the o3sConfigManager (a « Simulink like » configuration tool: in fact the possibility to drag and drop configuration and deployment elements like simulation models and variable attachements), or serial link XDDL encoding/decoding.

Just a reminder of previous versions’ features compared to v1.0.7:

v1.2.0:

  • Add of Android python connector for using UIDesigner on Android Mobile devices (tested with Honeycomb on Acer Iconia A500)
  • Simulation time management (see test example)
  • SCXML: bugs corrections, add of the message decoding functionality coupled to SCXML models/simulaitons
  • Add of an workspace (o3ssim) allowing the compilation of linux simulations/models (o3sdev VM)
  • Add of Android python connector for using UIDesigner on Android Mobile devices (tested with Honeycomb on Acer Iconia A500) » « Simulation time management (see test example) » Bug correction for states management (‘resolved’ becomes ‘initialized’): corrects a synchronization bug during the init phase SCXML: bugs corrections, add of the message decoding functionality coupled to SCXML models/simulaitons Add of an workspace (o3ssim) allowing the compilation of linux simulations/models (o3sdev VM) Small bugs corrections in HMIs (better management of the Bonjour services in o3sPlatformManager, for example)
v1.1.0:
  • Attach function for messages (data structures), variables, variables to endpoints
  • Ethernet encode/decode from xddl
  • Messages manipulation (equivalent to C struct, but also to data structures exchanged through messaging)
  • CAN bus on Janz emPC
  • Addi-Data drivers for AIO and DIO
  • Janz emPC with specific debian/Xenomai distribution (based on debian lenny)
  • Full python process for generating embedded python scripts
  • Dev environment with installed HMI and python connectors on Linux Ubuntu 10.04 for development beginners (avoiding the install of several dev tools) (o3sdev VM)
8 June 2011 at 9 h 00 min Comments (0)

O3S v1.0.7 is out

A new version of O3S has been issued. The following functions are available (the functions currently available are tagged v1.0.7):

CORE-001 Distribution of parameters Data distribution between nodes v1.0.0
CORE-002 Bundle services Administration of O3S bundles v1.0.0
CORE-003 Script services Administration of node embedded scripts v1.0.0
CORE-004 Simulation services Administration of node embedded simulations v1.0.0
CORE-005 oCDL management Parameters management through oCDL v1.0.0
CORE-006 xDDL management Parameters management through xDDL v1.0.0
CORE-007 Parameters managent Management of parameters services and linking to real IO v1.0.0
CORE-008 Python remote administration Services allowing Python remote control v1.0.0
CORE-009 Python remote modeling Services allowing Python remote model execution v1.0.0
CORE-010 Generic AIO Generic analog IO management v1.0.0
CORE-011 Generic DIO Generic digital IO management v1.0.0
CORE-012 Generic Ethernet Generic Ethernet management v1.0.0
CORE-013 Generic serial Generic serial management v1.4.0
CORE-014 Generic CAN Generic CAN bus management v1.3.0
CORE-015 LabJack U12 driver Labjack U12 IO board availability v1.0.0
CORE-016 Addi-Data PCI drivers Addi-Data PCI boards availability v1.1.0
CORE-017 Janz CAN driver Janz CAN board availability v1.2.0
CORE-018 Janz serial driver Janz serial board availability v1.4.0
CORE-019 Dynamic model instaciation Instanciating scripts and simulations dynamically v1.0.0
CORE-020 Dynamic parameters attach Attaching (joiting) dynamically parameters and endpoints v1.0.7
CORE-021 Dynamic configuration persistency Save a given dynamically created configuration to XML format v1.0.7
CORE-022 Python persistency (cfg or admin) Save a python history for recreating a given situation v1.0.0
CORE-023 Logging services Services for logging in bundles or in simulations v1.0.0
CORE-024 SCXML Running SCXML v1.0.7
CORE-025 External models import External models import in C/C++ capability v1.0.0
CORE-026 Ethernet xDDL based communication Capability to manage dynamically the Eth messages decoding v1.1.0
CORE-027 CAN xDDL based communication Capability to manage dynamically the CAN messages decoding V2.0.0
CORE-028 Serial xDDL based communication Capability to manage dynamically the ser messages decoding V2.0.0
CORE-029 Ethernet fault infection Capability to dynamically inject errors V2.2.0
CORE-030 Simulation time management gettime provides a simulation controlled value instead of OS one v1.2.0
UI-001 Remote administration Remote administration (CORE-002 to 007) through dedicated ui v1.0.0
UI-002 Specific UI parameters access Remote access to paremeters through graphic objects v1.0.0
UI-003 Remote logging UI Remote logging from a dedicated UI v1.0.0
UI-004 Scope UI Scope like UI for signals visualisation v1.0.0
UI-005 Intranet/internet http remote for UIs Intranet/Internet remote use of the UI v1.0.0
UI-006 Visual dynamic configuration Dynamic « Simulink like » tool for sims and attachements v1.1.0
DEV-01 Model development Eclipse plug-in for model dev (import, dev) v1.2.0
DEV-02 Python dev Eclipse plug-in for embedded python dev v1.0.7


If you want a live demo, please contact us. For the moment we propose a live demo via Skype or we come to your office for it.

9 March 2011 at 9 h 35 min Comments (0)

La transformation de modèles: une technique d’avenir déjà à l’oeuvre

Lorsque j’ai commencé à travailler sur le sujet MDA et la transformation de modèles, j’ai eu un petit peu du mal, j’avoue. Tout paraissait simple. J’ai compilé ci-dessous une micro-tutoriel: mise-à-part la réalisation du modèle métier lui même, cela ne prend pas plus de 30 minutes pour réaliser un prototype d’éditeur Eclipse dédié spécifiquement à votre modèle. A l’aide de EMF (Eclipse Modeling Frameworks) et GMF (Graphic Modeling Frameworks) vous pouvez tout faire, paraît-il. La preuve: dans la compilation ci-dessous, j’importe un XSD me servant de modèle pour réaliser l’éditeur qui va bien, càd un éditeur dédié à mon modèle où les objets graphiques lui correspondent, ainsi que les outils de dessin/édition disponibles. J’ai appliqué ce tutoriel à un modèle de données de signalisation ferroviaire, en deux étapes: d’abord un modèle simplifié, puis un modèle plus complet et nécessairement bien plus complexe. Dans le premier cas les choses se sont passées effectivement en 15min, dans le deuxième, hmmm, ce fur plus dur. Voici donc ce tutoriel (inspiré comme je l’ai dit de diverses sources et que j’enrichirai au fur et à mesure sur ce site):

Requirements: Eclipse Helios installed with modelling tools packages (EMF, GMF)

Start: File -> New -> Other … EMF Generator Model
EMF Project: name your project (prefer .emf at the end of the name in order to avoid miseunderstandings)
Select a Model Importer: XSD Schema
XML Schema Import: load your XSD file and set the name of hte model (must end with .genmodel)
The project is created and you have there two files:
- genmodel one
- ecore model (a translation of the XSD Schema to ecore).
Now you need to generate adjacent projects needed for your modeling tool.
Open the genmodel file if not already done, and right click on the root of the tree displayed by the file.
Select « Generate All »
3 other projects have been created in the workspace:
<…>.edit
<…>.editor
<…>.tests
Graphical part: File -> New -> Project -> Graphical Modeling Framework: new GMF Project
Go to next screen and select « Show dashboard view for the created project »
During the following steps you’d better keep the emf initial project selected, so that the operations applies to it.
First, select tour « Domain model » and « Domain gen model » in your dashboard. The first one is your ecore gnerated file, while the second one is the genmodel file (both from your initial emf project, in the model directory).
Now we should be able to generate the graphics and tools using the guided derivation provided by the dashboard.
In future articles, we will enter all the details of creating manually (and more precisely) these graphics and tools.
Click on Derive in the dashboard for generating first the Graphic Def Model.
Name you file (most of the time we will be happy with the defaul one that follows your projects naming rules based on EMF model).
Then, in the next screen, select the root diagram element.
In the Graphical Definition screen coming next, select which of your elements are connectors and which are objects. You can also define the labels related to each object or connector.
You need to do the same for the tools.
Click on Derive in the dashboard for generating the Tooling Def Model. Do same kind of stuff as for the Graphic Def Model.
Now you need to map all this together. In order to do this, the simplest way is to use the « combine » action from the dashboard. At this level you need to chose wich are your input models and, for each element, which are nodes and which are links (a default proposal is given by the tool).
Once the mapping done, you have a new file in your EMF project: the gmfmap one.
At this stage, the last step is generating rour specific model editor prototype. First transform your current models in a new output model using the « transform » link in the dashboard. Checking the RCP value will let you generate a standalone editor prototype.
Once this done, generate your diagram editor.
The dashboard will let you know that you have reached 100%.
, , ,
15 December 2010 at 18 h 02 min Comments (0)

o3sDynamicUI: créer des synoptiques spécifiques pour O3S

La nouvelle version de o3sDynamicUI se veut d’une simplicité absolue: sur un tableau noir vide, votre espace de travail, vous pouvez rajouter une panoplie d’objets graphiques de contrôle (boutons radio, boutons radio discrets, boutons simples) ou de visualisations (jauges de toutes sortes, leds, graphiques XY ou YT) que vous reliez ensuite à des paramètres de la plate-forme de simulation O3S. Vous avez ainsi la possibilité de créer votre synoptique spécifiques, allant d’une replique d’une console de conducteur de train à un oscilloscope multi-écrans, en passant par une vue bas-niveau de visualisation et de contrôle des entrées-sorties physiques.<br>

<br>

Basée sur la librairie tekhniaG que nous avons réalisé sous license LGPL, cette application tire profit des capacités graphiques des technologies Adobe®, en particulier dans un environnement desktop s’exécutant sur Adobe® Air®. TekhniaG est disponible sur Google Code.

, , ,
13 October 2010 at 8 h 36 min Comments (0)

OpenTekhnia becomes Intel Software Partner

OpenTekhnia has just become Intel Software Partner with the project O3S. Indeed, Intel Atom(r) is the main technology used for the O3S platforms when heat, noise and power consumption are concerned.

In the same time, some of the future mobile tools linked to O3S will run certainly on Intel Atom(r) devices.

, ,
27 May 2010 at 11 h 15 min Comments (0)

O3S, the new open technology for system I&V

Well, nobody knows precisely which software familly  O3S belongs to.

Let’s say that basically this is an acquisition and generation system. With this, everything could be done. Yeah, really…

  • You can build a SCADA system (finally O3S could be considered as a kind of SCADA of 3rd generation)
  • You can build simulation platforms (ouf… thanks god this is possibile with a solution that has « simulation » in his name)
  • You can build games (ok, if you consider that simulating an industrial railways line system is a game, this is true)
  • You can build low level testing environments (like hardware testing)
  • You can prototype systems through modeling
  • You can prototype HMIs within a simulation environment
  • You can use it for maintenance
  • You can use it for diagnostic
  • You can aski it to make the coffee (but it will refuse)…

Anyway, O3S has been designed first of all for complex system engineering and testing (like system design and system I&V activities).

Imagine an entire railways signaling system in a lab with all its environment simulated thanks to O3S, imagine the capability to create test scenario and to drive them in a centralized way using Python, imagine simulation model generation or import, imagine a parameter driven architecture giving the services for exchanging data between models and real equipments. Imagine a kind of Matlab© extension for real world interaction in a distributed and unlimted way.

This is O3S world, this is O3S technology, this is future now.

,
26 April 2010 at 9 h 56 min Comments (0)