Introduction au temps réel
- concepts temps réel de base
- contraintes particulières du temps réel
- programmation structurée et objet
- apports des techniques objets
L'approche objet avec UML
- genèse d'UML
- modèles UML standards
- cycle de développement Objet
L'approche temps réel avec UML
- contraintes liées à l'interprétation des diagrammes
- interprétation des diagrammes
- définition de nouveaux diagrammes
- cycle de développement avec RT UML
Modélisation
Le langage de modélisation UML
- Modélisation statique
- cas d'utilisation
- modèles de classes
- Modélisation dynamique
- diagrammes de Séquence
- diagrammes de Collaboration
- diagrammes Etats Transitions
- Etendre UML
- Accéder au meta-modèle d'UML
- Créer des stéréotypes
- Créer des profils
Les extensions pour le temps réel
- environnement / diagramme de contexte système
- contraintes / diagramme de contraintes
- comportement / diagramme d'états
- timings / diagramme de séquence étendu
- parallélisme / diagramme architecture logicielle
- architecture / diagramme architecture matérielle
Le profil MARTE
- Présentation générale
- Les concepts de MARTE
- Gestion du temps avec MARTE
Spécification système
L'aspect statique
- spécification du diagramme de contexte
- formalisation des contraintes non fonctionnelles
- description des cas d'utilisation
- identification des classes de haut niveau
- ébauche du modèle de classes
- itération et affinage pour chaque cas d'utilisation
L'aspect dynamique
- formalisation des cas d'utilisation par les "scénarios"
- ajout des aspects temporels dans le diagramme de séquence
- comportement du système et Diagramme Etat transition
- affinage du modèle objet avec les opérations
- ajout des objets d'interface dans les Diagrammes de séquences
- création du modèle Objet d'Interface
Conception système
L'affinage des modèles de spécification
- organisation du système en sous systèmes et packages
- description dynamique des classes
- diagramme de comportement de chaque classe
- affinage des diagrammes de séquence
- affinage du modèle de classes
- utilisation de bibliothèques d'Interface Homme Machine (GUI)
- intégration des Interfaces d'entrée/sortie
- prise en considération des objets de stockage
La gestion multiprocess et multitâches
- différents types d'architectures logicielles
- identification des tâches
- allocation des sous-systèmes aux processeurs et aux tâches
- communication inter-process
- synchronisation
- élaboration du diagramme architecture logicielle
L'architecture système
- partitionnement en sous système matériels (cartes, machines, CPU...)
- types d'architectures matérielles
- optimisation des choix d'architecture
- définition des Interfaces systèmes internes (bus, liaisons, protocoles...)
- modélisation du système à travers le diagramme d'architecture matérielle
L'environnement d'exécution des tâches
- problèmes liés au choix de l'exécutif
- interprétation des mécanismes temps réel en fonction du type d'architecture
Conception détaillée et Codage
La préparation au codage
- description détaillée des méthodes et attributs
- critères d'optimisation
- affinage de l'héritage
- classes abstraites, template...
- associations et pointeurs
Le codage incrémental
- implémentation des objets de stockage
- UML et les langages de programmation
- passage UML -> C
- passage UML -> C++
- passage UML -> Java
- codage d'un incrément
- test de l'incrément
- validation de l'incrément
- livraison