.. .. Contexte,

. .. Étude-de-cas-;-de-contrôle-de-robot, 114 6.3.4 Génération d'un modèle de conception initial pour l'application de contrôle de robot

. .. Résultats, 122 6.4.1 Déploiement de l'application sur un RTOS qui peut varier

.. .. Conclusion,

, Ce chapitre décrit les expérimentations menées dans cette étude pour évaluer le processus DRIM. Ces expérimentations sont basées sur l'automatisation de ce dernier et une présentation d'un cas d'étude permettant ainsi de montrer son applicabilité

, En effet, comme décrit dans son modèle donné en annexe B, MicroC-OS/II n'autorise pas le partage d'un même niveau de priorité entre les tâches (isPriorityShared est égal à false) et ne supporte aucun protocole de synchronisation pour l'implémentation des ressources partagées. Tandis que dans le modèle de conception initial (Figure 6.9)les deux tâches positionProcessingTask et ultrasonicSensorControlTask ont le même niveau de priorité qui est égal à 20 d'une part et d'autre part l'implémentation des deux ressources partagées position et goalPosition se base sur l, plication du robot) sur ce RTOS. Comme illustré dans la Figure 6.11, la phase d'évaluation de faisabilité détecte deux problèmes de déploiement dans ce cas

, Qompass-Architect implémente un filtre qui permet de guider l'utilisateur à choisir un RTOS (à partir de la librairie de RTOS) qui ne pose pas ces deux problèmes. Ceci nous amène à identifier des familles de RTOS suivant un problème de déploiement donné. Par exemple, pour le problème de déploiement lié aux niveaux de priorité égaux, nous identifions une famille de RTOS qui supporte le partage d, Afin d'éviter ces deux problèmes, l'utilisateur choisit de changer ce RTOS. Dans ce cas

P. Dans-cette, Qompass-Architect doit être capable de guider l'utilisateur pour changer le modèle de conception initial de façon à résoudre le problème de déploiement d'une part et en assurant toujours le respect des contraintes de temps de l'application d'autre part. Pour cela, supposons dans ce cas que l'utilisateur choisit RTEMS comme RTOS cible sur lequel il cherche à déployer l'application de contrôle du robot. De plus, pour cet exemple, supposons qu'il choisit de limiter le nombre de niveaux des priorités distincts pour des besoins d'extensibilité. Ainsi, il réserve juste 3 niveaux de priorité distincts pour l'application de contrôle de robot à l'implémentation (voir Figure 6.13). Pour un tel scénario, nous nous intéressons au cas où le RTOS cible sur lequel l'application sera déployée, est fixe

, En effet, le modèle de conception initial définit quatre niveaux de priorité distincts pour décrire l'application de contrôle de robot, tandis que l'utilisateur veut réserver juste trois niveaux pour cette application à l'implémentation. Dans ce cas, Qompass-Architect permet à l'utilisateur de changer le modèle de conception initial manuellement (bouton Change Design Model de la Figure 6.14) ou automatiquement en appliquant des patrons (bouton Find Pattern de la Figure 6.14) dans le but d'éliminer le problème de déploiement signalé. Si l'utilisateur choisit de chercher un patron, une liste des patrons qui correspond au problème de déploiement lié au nombre des niveaux de priorité distincts apparait comme illustré dans la Figure 6.15, Cette liste contient les deux patrons décrits dans le chapitre précédent et qui sont New Priority Assignement Pattern (NPAP) et Distinct Priority Merge Pattern (DPMP)

, Notons que le patron NPAP n'est pas applicable dans ce cas car le modèle de conception initial ne satisfait pas les hypothèses définies par ce patron (les tâches dans le modèle de conception initial sont dépendantes). Ainsi, seul le patron DPMP peut être appliqué. L'application du patron DPMP se traduit par la génération d

, Ce programme linéaire permet pour ce scénario (l'application de contrôle de robot, RTEMS et degré d'extensibilité 3) de chercher la meilleure façon de fusionner les tâches (en termes d'utilisation processeur) afin de réduire le nombre de niveaux de priorité distincts utilisé dans le modèle de conception initial de 4 à 3. Pour cela, le solveur décide de fusionner les deux tâches goalPositionProcessTask et controlProcessingTask en une seule tâche goalPositionControProcessTask (voir Figure 6.16). Ainsi, le modèle résultant (appelé DPMP : New Design Model (extensibility=3)) est constitué de quatre tâches définies avec trois niveaux de priorité distincts et d'une seule ressource partagée qui est position (la ressource goalPosition est supprimée car elle n'est partagée que par les deux tâches goalPositionProcessTask et controlProcessingTask qui ont été fusionnées)

.. .. Bilan,

R. Mzid, C. Mraidha, J. Babau, and M. Abid, RTOS-Aware Refactoring for Portable RealTime Design Model, Accepté et à apparaître en juillet, 2014.

R. Mzid, C. Mraidha, J. Babau, and M. Abid, A MDD Approach for RTOS Integration on Valid Real-Time Design Model, The 38th Euromicro Conference On software Engineering and Advanced Applications (SEAA'12), 2012.
URL : https://hal.archives-ouvertes.fr/hal-00744935

R. Mzid, C. Mraidha, J. Babau, and M. Abid, Real-Time Design Models to RTOS-Specific Models Refinement Verification. The 5th International Workshop on Model Based Architecting and construction of Embedded Systems ACES-MB@MODELS 2012, 2012.
URL : https://hal.archives-ouvertes.fr/hal-00744943

R. Mzid, C. Mraidha, A. Mehiaoui, S. T. Piergiovanni, J. Babau et al., DPMP : A software Pattern for Real-Time Tasks Merge, The 9th European Conference on Modeling Foundations and Applications (ECMFA'13), vol.7949, 2013.
URL : https://hal.archives-ouvertes.fr/hal-00904179

R. Mzid, C. Mraidha, J. Babau, and M. Abid, SRMP : A Software Pattern for Deadlocks Prevention in Real-Time Concurrency Models, The 10th International ACM Sigsoft conference on Quality of software architectures (Qosa'14), 2014.

. Freertos,

W. River-vxworks and R. ,

, µITRON for small-scale embedded systems, IEEE Micro, vol.15, pp.46-54, 1995.

. Osek/vdx, Time Triggered Operating System, 2001.

, The Open Group Base Specifications. AN-SI/IEEE Std, 2004.

, Operating System Specification 2.2.3. OSEK/VDX, 2005.

, Object Constraint Language (OCL), 2006.

, RTEMS Real Time Operating System, 2010.

. Nanork, , 2011.

/. Microc and . Os-ii, , 2012.

. Autosar, , 2013.

W. R. Adrion, M. A. Branstad, and J. C. Cherniavsky, Validation, verification, and testing of computer software, ACM Computing Surveys (CSUR), vol.14, issue.2, pp.159-192, 1982.

J. P. Almeida, Model-driven design of distributed applications, On the Move to Meaningful Internet Systems 2004 : OTM 2004 Workshops, pp.854-865, 2004.

A. Antoniou, Digital signal processing, 2006.

T. Arpinen, M. Setala, E. Salminen, and T. D. Hannikainen, Modeling embedded software platform with a uml profile, Forum on Specification and Design Languages (FDL'07), 2007.

C. Atkinson and T. Kuhne, Model-driven development : a metamodeling foundation, Software, vol.20, issue.5, pp.36-41, 2003.

C. Atkinson and T. Kühne, A generalized notion of platforms for model-driven development, Model-driven software development, pp.119-136, 2005.

W. Barnes, Arinc 653 and why is it important for a safety-critical rtos, 2004.

C. Bartolini, G. Lipari, and M. Natale, From functional blocks to the synthesis of the architectural model in embedded real-time applications, Real Time and Embedded Technology and Applications Symposium, 2005. RTAS 2005. 11th IEEE, pp.458-467, 2005.

S. K. Baruah, A. K. Mok, and L. E. Rosier, Preemptively scheduling hard-real-time sporadic tasks on one processor, Real-Time Systems Symposium, 1990. Proceedings., 11th, pp.182-190, 1990.

L. B. Becker, R. Holtz, and C. E. Pereira, On mapping rt-uml specifications to rt-java api : bridging the gap, Proceedings. Fifth IEEE International Symposium on, pp.348-355, 2002.

A. Ben, Principles of concurrent programming, 1982.

G. Bernat, Response time analysis of asynchronous real-time systems, Real-Time Systems, vol.25, pp.131-156, 2003.

J. Bézivin, On the unification power of models. Software & Systems Modeling, vol.4, pp.171-188, 2005.

G. Bollella and J. Gosling, The real-time specification for java, Computer, vol.33, issue.6, pp.47-54, 2000.

A. W. Brown, D. J. Carney, E. J. Morris, and D. B. Smith, Principles of CASE tool integration, 1994.

M. Broy, Challenges in automotive software engineering, Proceedings of the 28th international conference on Software engineering, pp.33-42, 2006.

M. Brun, Utilisation des techniques développées dans le cadre de l'ingénierie dirigée par les modèles pour la réalisation d'un outils de génération de code conforme osek/vdx à partir d'une description aadl, 2006.

M. Brun, Contribution à la considération explicite des plates-formes d'exécution logicielles lors d'un processus de déploiement d'application, 2010.

W. E. Chehade, Déploiement Multiplateforme d'Applications Multitâche par la Modélisa-tion, 2011.

A. Davare, D. Densmore, T. Meyerowitz, A. Pinto, A. Sangiovanni-vincentelli et al., A next-generation design framework for platform-based design, Conference on using hardware design and verification languages, vol.152, 2007.

J. Delange, L. Pautet, A. Plantec, M. Kerboeuf, F. Singhoff et al., Validate, simulate, and implement arinc653 systems using the aadl, In ACM SIGAda Ada Letters, vol.29, pp.31-44, 2009.
URL : https://hal.archives-ouvertes.fr/hal-00745370

J. Delatour, F. Thomas, G. Savaton, and S. Faucou, Modèle de plate-forme pour l'embarqué : première expérimentation sur les noyaux temps réel, Actes des premières journées sur l'Ingénierie Dirigée par les Modèles (IDM 2005), p.26, 2005.

B. P. Douglass, Real-Time Design Patterns : Robust Scalable Architecture for Real-Time Systems, 2002.

V. Silva, D. Kroening, and G. Weissenbacher, A survey of automated techniques for formal software verification, IEEE Transactions on, vol.27, issue.7, pp.1165-1178, 2008.

J. Elloy, Editorial : Quelle informatique est donc nécessaire pour automatiser en temps réel, vol.7, pp.395-396, 1988.

J. Favre, Towards a basic theory to model model driven engineering, 3rd Workshop in Software Model Engineering, 2004.

C. Ferdinand, R. Heckmann, D. Kästner, K. Richter, N. Feiertag et al., Integration of code-level and system-level timing analysis for early architecture exploration and reliable timing verification, Proceeding of the Embedded Real Time Software and Systems, 2010.

J. Fernandez, A. Kerbrat, and L. Mounier, Symbolic equivalence checking, Computer Aided Verification, pp.85-96, 1993.

M. J. Flynn, Very high-speed computing systems, Proceedings of the IEEE, vol.54, issue.12, pp.1901-1909, 1966.

J. Gaudiot, The walls of computer design, Parallel and Distributed Processing and Applications, pp.1-1, 2006.

S. Gérard, , 2012.

J. B. Goodenough and L. Sha, The priority ceiling protocol : A method for minimizing the blocking of high priority Ada tasks, vol.8, 1988.

M. Guignard-spielberg and K. Spielberg, Integer programming : State of the art and recent advances, Annals of Operations Research, vol.139, 2005.

J. Hugues, B. Zalila, L. Pautet, and F. Kordon, From the prototype to the final embedded system using the ocarina aadl tool suite, ACM Transactions on Embedded Computing Systems (TECS), vol.7, issue.4, p.42, 2008.
URL : https://hal.archives-ouvertes.fr/hal-01175916

B. Joseph, Les systèmes électroniques embarqués : un enjeu majeur pour l'automobile, Journées nationales de réflexion et de perspective sur les systèmes embarqués, 2003.

F. Jouault, Contribution à l'étude des langages de transformation de modèles, 2006.

M. H. Klein, T. Ralya, B. Pollak, R. Obenza, and M. G. Harbour, A practitioner's handbook for real-time analysis, 1993.

S. Kodase, S. Wang, and K. G. Shin, Transforming structural model to runtime model of embedded software with real-time constraints, Proceedings of the conference on Design, Automation and Test in Europe : Designers' Forum, vol.2, 2003.

H. Kopetz, The complexity challenge in embedded system design, Object Oriented Real-Time Distributed Computing (ISORC), pp.3-12, 2008.

P. Kukkala, J. Riihimaki, M. Hannikainen, T. D. Hamalainen, and K. Kronlof, Uml 2.0 profile for embedded system design, Proceedings of the conference on Design, vol.2, pp.710-715, 2005.
URL : https://hal.archives-ouvertes.fr/hal-00181193

J. P. Lehoczky, Fixed priority scheduling of periodic task sets with arbitrary deadlines, Real-Time Systems Symposium, 1990. Proceedings., 11th, pp.201-209, 1990.

J. P. Lehoczky and L. Sha, Performance of real-time bus scheduling algorithms, ACM SIGMETRICS Performance Evaluation Review, vol.14, issue.1, pp.44-53, 1986.

C. L. Liu and J. W. Layland, Scheduling algorithms for multiprogramming in a hardreal-time environment, Journal of the ACM (JACM), vol.20, issue.1, pp.46-61, 1973.

J. W. Liu, Real-time systems, 2000.
URL : https://hal.archives-ouvertes.fr/hal-00544464

Y. Manai, J. Haggege, and M. Benrejeb, New approach for application architecture adequacy in hardware/software embedded system design, Faible Tension Faible Consommation (FTFC), pp.39-42, 2011.

R. Marvie, L. Duchien, and M. Blay-fornarino, Les plate-formes d'exécution et l'idm, chapitre 4, Numéro ISBN, pp.2-7462

A. Mehiaoui, E. Wozniak, S. Tucci-piergiovanni, C. Mraidha, M. D. Natale et al., A two-step optimization technique for functions placement, partitioning, and priority assignment in distributed systems, Proceedings of the 14th ACM SIGPLAN/SIGBED conference on Languages, compilers and tools for embedded systems, pp.121-132, 2013.
URL : https://hal.archives-ouvertes.fr/hal-00903753

M. Mohamed, M. Romdhani, and K. Ghedira, Classification des approches de refactorisation des modèles, p.169, 2008.

A. Moore, Extending the rt profile to support the osek infrastructure, Proceedings. Fifth IEEE International Symposium on, pp.341-347, 2002.

C. Mraidha, Modelisation executable et analyse de proprietes temps reel, 2005.

C. Mraidha, S. Tucci-piergiovanni, and S. Gerard, Optimum : a marte-based methodology for schedulability analysis at early design stages, ACM SIGSOFT Software Engineering Notes, vol.36, pp.1-8, 2011.

R. Mzid, C. Mraidha, A. Mehiaoui, S. Tucci-piergiovanni, J. Babau et al., Dpmp : a software pattern for real-time tasks merge, Modelling Foundations and Applications, pp.101-117, 2013.
URL : https://hal.archives-ouvertes.fr/hal-00904179

O. M. , Uml profile for modeling and analysis of real time and embbeded systems (marte), Object Management Group

. Omg and . Mda, Guide Version 1.0.1. OMG omg/2003-06-01, 2003.

O. M. , Profile for schedulability, performance, and time specification (spt), 2003.

O. Qvt, , 2005.

. Omg, Architecture analysis & design language (aadl), as5506. Society of Automotive Engineer, 2006.

. Omg and . Meta, Object Facility (MOF) 2.0 Core Specification, 2006.

M. C. Paulk, C. V. Weber, B. Curtis, and M. E. Chrissis, The capability maturity model : Guidelines for improving the software process, vol.441, 1995.

A. D. Pimentel, C. Erbas, and S. Polstra, A systematic approach to exploring embedded system architectures at multiple abstraction levels. Computers, IEEE Transactions on, vol.55, issue.2, pp.99-112, 2006.

A. Pinto, Metropolis design guidelines. rapport technique. University of California, Berkeley, page 30, 2004.

M. Raphaël, D. Laurence, and B. Mireille, Les plates-formes d'exècution et l'idm, Hermes, chapter 4, pp.71-86

E. Riccobene, P. Scandurra, A. Rosti, and S. Bocchio, A soc design methodology involving a uml 2.0 profile for systemc, Design, Automation and Test in Europe, 2005. Proceedings, pp.704-709, 2005.
URL : https://hal.archives-ouvertes.fr/hal-00181192

A. Sangiovanni-vincentelli and G. Martin, Platform-based design and software design methodology for embedded systems, Design & Test of Computers, vol.18, issue.6, pp.23-33, 2001.

B. Schätz, A. Pretschner, F. Huber, and J. Philipps, Model-based development of embedded systems, Advances in Object-Oriented Information Systems, pp.298-311, 2002.

E. Seidewitz, What models mean. Software, IEEE, vol.20, issue.5, pp.26-32, 2003.

B. Selic, A generic framework for modeling resources with uml, Computer, vol.33, issue.6, pp.64-69, 2000.

B. Selic, On software platforms, their modeling with uml 2, and platform-independent design, Object-Oriented Real-Time Distributed Computing, pp.15-21, 2005.

L. Sha, T. Abdelzaher, K. Årzén, A. Cervin, T. Baker et al., Real time scheduling theory : A historical perspective. Real-time systems, vol.28, pp.101-155, 2004.

L. Sha, R. Rajkumar, and J. P. Lehoczky, Priority inheritance protocols : An approach to real-time synchronization. Computers, IEEE Transactions on, vol.39, issue.9, pp.1175-1185, 1990.

M. J. Smith, Application-specific integrated circuits, vol.7, 1997.

J. Staunstrup and W. Wolf, Hardware/software co-design : principles and practice, 1997.

J. Sztipanovits and G. Karsai, Model-integrated computing, Computer, vol.30, issue.4, pp.110-111, 1997.

A. S. Tanenbaum, Structured computer organization, 1984.

F. Thomas, Contribution à la prise en compte des plates-formes logicielles d'exécution dans une ingénierie générative dirigée par les modèles, 2008.

Y. Trinquet and J. Elloy, Systèmes d'exploitation temps réel-Exemples d'exécutifs industriels, 2010.

M. Woodside, G. Franks, and D. C. Petriu, The future of software performance engineering, Future of Software Engineering, 2007. FOSE'07, pp.171-187, 2007.

G. Yang, M. Zhao, L. Wang, and Z. Wu, Model-based design and verification of automotive electronics compliant with osek/vdx, Second International Conference on, 2005.

R. Yemhalli, Real-time operating systems : An ongoing review, Work-ln-Progress Sessions of the 21th IEEE Real-lime System Symposium (RTSSWIPOO), 2000.

B. Zalila, Configuration et déploiement d'applications temps-réel réparties embarquées à l'aide d'un langage de description d'architecture, Télécom ParisTech, 2008.

H. Zeng, M. D. Natale, and Q. Zhu, Optimizing stack memory requirements for realtime embedded applications, Emerging Technologies & Factory Automation (ETFA), 2012 IEEE 17th Conference on, pp.1-8, 2012.

F. Zhang and A. Burns, Schedulability analysis for real-time systems with edf scheduling. Computers, IEEE Transactions on, vol.58, issue.9, pp.1250-1258, 2009.

M. Zhao, Z. Wu, G. Yang, L. Wang, and W. Chen, Smartosek : a dependable platform for automobile electronics, The First International Conference on Embedded Software and System, p.437, 2004.

, Rétro-Ingénierie des plateformes pour le déploiement des applications temps-réel Résumé

, Nous définissons dans ce travail une méthodologie nommée DRIM. Cette méthodologie permet de guider le déploiement des applications temps réel sur différents RTOS en suivant la ligne de l'IDM et en assurant le respect des contraintes de temps après le déploiement. L'automatisation de la méthodologie DRIM montre sa capacité à détecter les descriptions non-implémentables de l'application, réalisées au niveau conception, pour un RTOS donné, ce qui présente l'avantage de réduire le temps de mise sur le marché d'une part et de guider l, Les travaux présentés dans cette thèse s'inscrivent dans le cadre du développement logiciel des systèmes temps réel embarqués