Objetisation

Objetisation

Ph Leroy

2019-03-22

Introduction

Sisal est une longue suite de développement, d'évolution, de réflexion et d'amélioration.

Notre objectif premier était de réaliser le développement d'application temps réel le plus rapidement et le plus économique possible.

Sisal en introduisant un langage de script de haut niveau a largement atteint cet objectif.

La notion de device ( objet représentatif d'un sous-ensemble physique) introduit à son tour un paradigme extrêmement puissant.

Ces même concepts ont été particulièrement utile pour satisfaire des besoins de simulation.

Ces concepts sont aussi très prometteurs en terme de test, que ce soit pour du test fonctionnel ou du test unitaire.

Ce qui nous parait intéressant est de systématiser ces concepts tout au long du cycle de vie d'un produit.

Cette page est une expression à un instant donné de ces réflexions et tentatives de systèmatisation; elle n'a rien de définitif, ni d'absolu et ne vaut rien tant que l'auteur ne l'a pas publié.

Objet et cycle de vie

Exemples

Dans certains cas nous avons eu besoin de simuler le fonctionnement d'équipements complexes afin de pouvoir faire la mise au point d'une application Sisal hors exploitation.

En 2011, on a donc réalisé la simulation d'un transtockeur (magasin automatique) avec plusieurs postes de chargement.

Pour cela on déclare dans Sisal une vue openGL définie par objet GLCanvas dans un synoptique; chaque élément visualisé est associé à une variable Sisal qui conserve son identifiant openGL.

L'intérêt majeur est que le code Sisal de contrôle de l'installation simulée a été porté à l'identique dans le code Sisal de pilotage du magasin physique. La dynamique n'est pas la même mais le traitement des ordres, la gestion des zones exclusives, l'ordonnancement sont identiques.

Objetisation

Désolé pour ce néologisme, mais je n'ai pas trouvé mieux

L'efficacité de Sisal est décuplée par l'usage intensif de l'orienté objet et tout naturellement nous avons intégré les concepts d'objet de programmation, les concepts d'objet de simulation, les concepts d'objet physique, les concepts d'objets de test et les concepts d'objets de supervision.

L'objetisation est donc le processus de gestion d'une entité qui est conçue, développée et maintenue tout au long du cycle de vie d'un produit.

Si on se contente de programmation, cette entité est un objet. Si on s’intéresse à la conception ce sera l'objet et ses exigences fonctionnelles, si on se concentre sur le test fonctionnel ce sera l'objet et l'ensemble des ses test fonctionnels.

Prenons un exemple simple.

Une entreprise développe un drone d'inspection de carrières.
Le drone est équipé d'une centrale inertielle, de 4 propulseurs et commande le fonctionnement des sous-ensembles.

Donc la première entité est le drone d'étude et la seconde est le propulseur d'étude qui vont être définis dans l'étude.

Pendant la conception mécanique, on a un modèle mécanique du drone et un autre du propulseur.

On va évaluer la plage de fonctionnement des propulseurs ( tours/mn) et l'efficacité des hélices. 

On retrouve des propriétés précédemment définies et de nouvelles propriétés. Ces propriétés sont définies à une étape et peuvent être conservées pendant tout la durée de vie du produit.

La plage de fonctionnement des groupes propulseurs sera réutilisé en phase de simulation, de test, de recette et de validation.

On va aussi définir un berceau de montage du drone,

et un banc de test des propulseurs

Un objet requiert d'autres objets dans certaines circonstances. Ces objets complètent ce premier objet pour réaliser certaines fonctions.

Le berceau de montage est complémentaire du drone, un peu comme le moule de fonderie qui est le complément de la pièce qui est fondue.

Il est nécessaire de simuler le drone dans son environnement.
On a un drone simulé, un propulseur simulé et un environnement simulé ( pluie, tempête,...).

On va pouvoir simuler un propulseur simulé en face du drone simulé et réciproquement; mais aussi tester un grouper propulseur physique face à ce drone simulé.

Ces notions se retrouvent à toutes les étapes d'un projet et à notre avis méritent d'être modélisées et d'être instanciées.

Concepts Description
Objets Éléments identifiables définis par un ensemble de propriétés et de fonctionnalités
Classe Ensemble identifié de propriétés et de fonctionnalités
Propriété Information caractéristique d'un objet
Fonctionnalités Opération pouvant être réalisée par un objet
Compléments Objet défini par sa capacité de simuler le "reste du monde" pour un objet donné

Reste à faire...