Final exam EEE499 Real-Time Embedded System Design 18 April
Transcription
Final exam EEE499 Real-Time Embedded System Design 18 April
Final exam Examen final EEE499 Real-Time Embedded System Design GEF499 Conception de systèmes intégrés en temps réel 18 April 2015, 09:00 18 avril 2015, 09h00 Examiner: Dr. Alain Beaulieu, CD, PhD, PEng Examinateur: Capt Adrien Lapointe, CD, MSc Instructions: Instructions: • Do not turn this page until instructed to do so. You have 180 minutes to complete the test. Questions have the values indicated in the centre column. This exam is on 100 marks. • • Answer all questions in the test booklet, unless instructed otherwise. • • Immediately fill out your name, college number and the number of your booklet and on the information card. Use of a calculator is permitted. If a question seems unclear, make a reasonable assumption, document it, and answer the question as though the assumption were correct. The examiners will not clarify the meaning of questions during the test. • Good luck! • • • • • • • • • • • • Ne tournez pas cette page avant l’instruction de l’examinateur. Vous avez 180 minutes pour compléter le test. Les questions ont les valeurs indiquées dans la colonne centrale. Cet examen est sur 100 points Répondez à toutes les questions dans le livret d'examen, sauf sur indication contraire. Écrivez immédiatement votre nom, numéro de collège sur le livret et sur la carte d’information. L’usage de la calculatrice est permis. Si une question ne vous semble pas claire, faites des suppositions raisonnables, documentez-les et répondez à la question en tenant compte des suppositions. Les examinateurs ne clarifieront pas le sens des questions pendant le test. Bonne chance! 1. Explain what the run-to-completion semantics mean and why it is important. 2 1. Expliquez ce qu’est la sémantique d’exécution jusqu’à la fin et pourquoi elle est importante. 2. Protocols are important in Real-Time Object Oriented Modeling. Name the main advantage of using protocols to communicate between capsules. 2 2. Les protocoles sont importants pour la modélisation orientée-objet de systèmes en temps réel. Donnez l’avantage principal d’utiliser des protocoles pour communiquer entre les capsules. 3. In the implementation of Lab 3, the jammer cannot transmit while the receiver is in search mode. This obviously requires some special attention at design. 6 3. Dans l’implémentation du laboratoire 3, le brouilleur ne peut pas transmettre lorsque le receveur est en mode de recherche. Cela nécessite évidemment une attention spéciale lors du design. a. Donnez une définition de la tolérance aux défaillances. b. Étant donné que le contrôleur ElectronicWarfare coordonne les émissions électromagnétiques du transmetteur et du brouilleur, quel type de communications devrait-il utiliser? Pourquoi? c. Quel est l’effet de ce type de communications sur la sémantique d’exécution jusqu’à la fin? a. Give a definition of fault-tolerance b. Given that an ElectronicWarfare controller coordinates the electromagnetic emissions of both the transmitter and jammer, what kind of communication should it use? Why? c. What is the effect of that type of communication on the run-to-completion semantics? Questions 4 to 6 refer to the a SystemCapsule that includes the following elements: Les questions 4 à 6 font référence à un SystemCapsule qui inclus les éléments suivants : i. Trois capsules contenues : anA de type A, aB de type B et aC de type C. ii. Les capsules de types A et B partagent le protocole AtoB, A est la base et B le conjugué. iii. Un port de chronomètre appelé delayTimer; et iv. Un port relais conjugué public vers la capsule aC utilisant le protocole SCtoC. i. Three contained capsules: anA of type A, aB of type B, and aC of type C. ii. A and B type capsules share the AtoB protocol, A is the base and B is the conjugate. iii. A timing port called delayTimer; et iv. A public conjugate relay port to aC capsule using the SCtoC protocol. 4. Draw the class and structure diagrams for the SystemCapsule. 10 1/8 4. Dessinez les diagrammes de classe et de structure pour le SystemCapsule. 5. Draw the state diagram for aB based on the 6 5. Dessinez le diagramme de machine d’état pour aB selon les exigences suivantes. Annotez sur le diagramme l’endroit où il y aurait du code et donnez-en le pseudo-code. a. Pendant la transition initiale, aB démarre le delayTimer pour 6 secondes et va en mode init. b. Lorsque le delayTimer expire, aB va en mode standby. c. Lorsque le signal catch est reçu de anA, aB va en mode receiving. d. Après 5000 msec, aB envoie le signal gotIt à anA et retourne en mode standby. 3 6. Selon l’information fournie jusqu’à maintenant, dessinez le protocole et ses messages. (Indice : le message sortant pour la base est situé au bas de la représentation graphique du protocole. 3 7. Les systèmes en temps-réel ne sont pas comme les bases de données ou autres applications de bureau. Il y a deux caractéristiques qui les différencient des autres systèmes. Quelles sont-elles? Expliquez l’importance de chacune. following specifications. Annotate where on the diagram you would have code and provide pseudo-code for each annotation. a. During the initial transition aB sets the delayTimer to 6 seconds and goes to the init mode 6. 7. b. When the delayTimer timeout occurs aB goes to standby mode c. Upon receipt of the catch signal from anA, aB goes to the receiving mode d. After 5000 msec, aB sends the gotIt signal to anA and goes back to the standby mode Based on the information provided so far, draw the protocol and the messages where they belong. (Hint: the base outgoing signals are those at the very bottom of the protocol’s graphical representation.) Real-Time systems are not like database or other desktop applications. There are two characteristics that separate real-time systems from other systems. What are the two characteristics and explain why each is important. 2/8 Questions 8 to 10 refer to the ChemicalPlant system shown in the diagram below. 8. Draw the structure diagram for the ChemicalPlant and one Enclave based on the following requirements: a. A ChemicalPlant is composed of a Supervisory Control and Data Acquisition (SCADA) system. b. The plant also has five Enclaves c. A Sensor can be either a Temperature or a Pressure sensor d. Each Enclave has up to six Sensor. Les questions 8 à 10 font référence au système ChemicalPlant montré dans le diagramme cidessous. 6 3/8 8. Dessinez le diagramme de structure pour le ChemicalPlant et une Enclave selon les exigences suivantes : a. Une usine ChemicalPlant est composée d’un système de supervision et d’acquisition de données (SCADA). b. L’usine a aussi cinq Enclave. c. Un Sensor peut être soit un capteur de Temperature ou de Pressure. d. Chaque Enclave a jusqu’à six Sensor. 9. Each Enclave is characterized by two constants V, the volume of the enclave, and n, the number of moles within the enclave. a. Modify the diagram above so that each enclave can be characterized by its own constants. A blank copy of the diagram is provided at the end of the exam. 10 9. Chaque Enclave est caractérisée par deux constantes V, son volume, et n, le nombre de moles qu’elle contient. a. Modifiez le diagramme de classe afin que chaque enclave puisse avoir ses propres constantes. Une copie vierge du diagramme est fournie à la fin de l’examen. b. Créez un protocole afin que le SCADA puisse demander et recevoir V et n de chaque Enclave. Incluez le protocole, ses signaux et relations sur le diagramme. c. Créez un protocole qui permet au SCADA de demander des sensorData de chaque capteur. Incluez le protocole, ses signaux et relations sur le diagramme. d. Spécialisez le protocole générique du Sensor afin que chaque capteur envoie son type (température ou pression) avec les données. e. Complétez le diagramme en incluant la cardinalité et les relations baseconjugué. 10 10. En vous référant au diagramme d’état du SCADA montré ci-dessous, faites la liste des séquences de code exécutées pour chaque transition et identifiez l’état dans lequel le système est à la fin de la chaine de transition. b. Create a protocol that allows SCADA to request and receive V and n from each Enclave. Include the protocol and its signals on the class diagram, complete the relations. c. Create a protocol that allows SCADA to request sensorData from any sensor. Include the protocol and its signals on the class diagram, complete the relations. d. Specialize the Sensor generic protocol so that each sensor sends its type (temperature or pressure) with the data. e. Complete the diagram including cardinality and base-conjugate relationships. 10. Refer to the state diagrams for the SCADA shown below. List the sequence of code blocks executed for each of the following transitions and identify the end state (the state that you are in when the transition chain completes). Assume that initially you are in the monitor state. After that follow the state machine wherever the transition chains take you: Supposez que vous êtes initialement dans l’état monitor. Suivez la machine d’état là où les chaines de transitions vous mènent. a. a. Dans le sous-état monitor, le signal BIT est reçu; b. Suivi par le signal monitorTimeout, supposez que pressureLower est True. b. c. d. e. f. While in the monitor sub-state the BIT signal arrives; Followed by a monitorTimeout signal, assume the pressureLower evaluates to True Followed by a heatTimeout signal; Followed by a status signal; Followed by a monitorTimeout, pressureLower evaluates to False and pressureOutOfRange evaluates to False. Followed by coolTimeout signal c. Suivi par le signal heatTimeout; d. Suivi par le signal status; e. Suivi par le signal monitorTimeout où pressureLower est False et pressureOutOfRange est False; f. Suivi par le signal coolTimeout; 4/8 g. Followed by monitorTimeout where pressureLower evaluates to False, pressureOutOfRange evaluates to True and pressureCritical evaluates to True g. Suivi par le signal monitorTimeout où pressureLower est False, pressureOutOfRange est True et pressureCritical est True. 5/8 11. You have been hired by the Poles-Apart consortium that is building a satellite system that provides navigation data in the Arctic and Antarctic. 4 11. Vous avez été engagé par le consortium Poles-Apart qui bâtit un système de navigation par satellite pour les régions polaires Arctique et Antarctique. Your new boss comes to see you and tells you he read an interesting journal paper on Rate-Monotonic Algorithm (RMA) and he is so impressed with the paper that he wants you to use this algorithm. Votre nouveau patron vous dit qu’il a lu un article sur l’algorithme d’ordonnancement à taux monotone (RMA) et il est si impressionné par l’article qu’il veut utiliser cet algorithme pour le système. Knowing this not a good idea, identify and explain two limitations of RMA. Puisque vous savez que ce n’est pas une bonne idée, identifiez et expliquez deux limites à l’utilisation de l’algorithme. 12. You have encountered a priority inversion problem during the design of the PolesApart satellite. You refer back to your course notes to resolve the problem. You find two algorithms that solve the problem: Priority Inheritance Protocol, and Priority Ceiling Protocol 5 12. Un problème d’inversion des priorités s’est présenté pendant le design du satellite pour Poles-Apart. En regardant vos notes de cours, vous trouvez deux algorithmes qui aident à résoudre le problème : le protocole d’héritage des priorités et le protocole de priorité plafond. Explain what each protocol does. Expliquez ce que chacun des protocoles fait. Which one solves the transitive blocking that can lead to deadlock? Lequel résout le problème de blocage temporaires qui peut entrainer les interblocages? 13. Systems A, B and C are each comprised of four independent periodic tasks. They are scheduled according to RMA on a single processor. Given the following utilization for each system, and using the utilization bound test, indicate if the system can, cannot, or might be schedulable. 6 13. Les systèmes A, B et C ont chacun quatre tâches périodiques indépendantes. Leur ordonnancement est fait selon le RMA sur un seul processeur. Étant donné l’utilisation suivante pour chacun des systèmes et en utilisant le théorème des bornes d’utilisation, indiquez si chacun d’entre eux peut être, ne peux pas ou peux possiblement être ordonnancé. a. UsysA = 0.825; b. UsysB = 1.03; and c. UsysC = 0.72 a. UsysA = 0.825; b. UsysB = 1.03; and c. UsysC = 0.72 Note the formula for schedulability analysis are appended at the end of the exam. Notez que les formules d’ordonnancement sont fournies en annexe. 6/8 14. Refer to the set of tasks in the table below and their respective shared resources. All tasks are periodic so you may assume Rate Monotonic Priority Ordering and simple priority inheritance 12 a. What is the blocking time of each task? b. What is the worst case response time of each task? c. In the system there is one task that does not suffer from interference, which one and why? d. There is also a task that will never suffer from blocking, which one and why? Task / Tâche 14. Les questions suivantes font références aux tâches et à leurs ressources partagées montrées dans le tableau suivant. Toutes les tâches sont périodiques, supposez l’utilisation de l’ordonnancement de priorité avec échéancier monotone et l’héritage des priorités simple. a. Quel est le temps de blocage de chaque tâche? b. Quel est le temps de réponse (pire cas) de chaque tâche? c. Dans le système, il y a une tâche qui ne souffre pas d’interférence. Laquelle et pourquoi? d. Il y a aussi une tâche qui ne souffrira jamais de blocage, laquelle et pourquoi? Computation Time / Temps d’exécution Period / Période Resources Used / (worst-case /pire cas, msec) (msec) Ressource Utilisée A 15 75 R1, R2 B 3 20 R2 C 14 35 R1 D 5 50 R2 Computation Cost / Resource Coût d’exécution (worst-case / pire cas, msec) R1 5 R2 2 15. An image guided surgery system consists of: i. three identical and redundant Interactive Image Guided Surgery (IIGS) units with identical software, ii. a Primary Optical Tracking (POT) unit with unique software, and iii. a Back-up Optical Tracking (BOT) unit with unique software. 15 a. Provide a reliability block diagram for the system. b. Determine the system reliability for a 4 hour procedure c. What is the reliability of a single IIGS (Hardware and Software) for a procedure 15. Un système de chirurgie guidée comprend : i. Trois unités de chirurgie guidée par imagerie interactive (IIGS) avec le même logiciel; ii. Une unité primaire de suivi optique (POT) avec logiciel unique; et iii. Une unité de suivi optique de secours (BOT) avec logiciel unique. a. Donnez un diagramme fonctionnel de fiabilité pour le système. b. Déterminez la fiabilité du système pour une procédure de 4 heures. c. Quelle est la fiabilité d’un seul IIGS (matériel et logiciel) pour une procédure 7/8 twice as long, 8 hours deux fois plus longue, soit 8 heures? All formulas are provided at the end of the exam. Component / Composante Toutes les formules sont fournies à la fin de l’examen Failure Rate / Taux de défaillance (Execution hours / heure d’exécution) Utilization / Utilisation Reliability / Fiabilité (4 hour / heures) IIGS Hardware / Matériel 100% 85% IIGS Software / Logiciel 35% 92.5% POT / BOT Hardware / Matériel 100% 87.5% POT Software / Logiciel 0.010 20% BOT Software / Logiciel 0.005 15% End of Exam Fin de l’examen 8/8 Formules d’ordonancement | Scheduling Formulas Utilisation | Usage U = C/T URM (n) = n(21/n 1) Temps de réponse | Response Time Ri = C i + Bi + I i win+1 = Ci + X j2hp(i) dRi /Tj eCj où | where wi0 = Ci Temps de blocage | Blocking Time Bi = K X u(k, i)CS(k) k=1 K Bi = max (u(k, i) · CS(k)) k=1 Formules pour la fiabilité | Reliability Formulas Fiabilité | Reliability t = ⇢c ⌧ où ⇢c est l’utilisation moyenne. where ⇢c is the average usage. t R(t) = e = 1 M T BF Fiabilité des systèmes en série | Reliability of Serial Systems RSys = n Y Ri i=1 Fiabilité des systèmes en parallèle | Reliability of Parallel Systems RSys = 1 n Y i=1 A-1 (1 Ri ) Fiabilité de k systèmes parmi n | Reliability of k Systems out of n RSys = n ✓ ◆ X n i=k où | where k i RC (1 RC ) n ✓ ◆ n n! = k k!(n k)! A-2 i Name / Nom : ______________________________________________________________________ B-1