Real-Time Systems. Model Driven Development

0 downloads 0 Views 286KB Size Report
Capitolul 5 Mediul de dezvoltare IBM Rational Rhapsody. 223. 5.1. Tipuri de diagrameın Rational Rhapsody . ..... Rhapsody Systems Engineering Tutorial.
Monica Dragoicea, “Real-Time Systems. Model Driven Development” (in Romanian), Editura Universitara, Bucharest, Romania, 370 pages, ISBN 978-973-749-924-0, 2011

http://www.editurauniversitara.ro/carte/informatica-57/sisteme_in_timp_real_dezvoltare_pe_baza_de_model/731

CUPRINS

Prefat¸ˇ a

7

I Dezvoltarea pe bazˇ a de model a sistemelor ˆın timp-real 11 Capitolul 1 Sisteme ˆın timp-real

13

1.1. Definit¸ii . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

15

1.1.1. Sisteme ˆın timp-real . . . . . . . . . . . . . . . . . .

15

1.1.2. Sisteme incorporate (embedded ) . . . . . . . . . . . .

18

1.1.3. Sisteme incorporate ˆın timp-real . . . . . . . . . . . .

20

1.2. Caracterizarea sistemelor ˆın timp-real . . . . . . . . . . . . .

23

1.2.1. Caracteristici generale ale sistemelor ˆın timp-real . .

23

1.2.2. Concurent¸a ˆın sistemele ˆın timp-real . . . . . . . . .

25

1.2.3. Taskuri ¸si procesare multitasking . . . . . . . . . . .

27

1.2.4. Predictibilitatea execut¸iei ˆın sisteme ˆın timp-real

. .

28

1.3. Aspecte ale proiectˇarii sistemelor ˆın timp-real . . . . . . . .

29

1.3.1. Notat¸ii . . . . . . . . . . . . . . . . . . . . . . . . . .

32

1.3.2. Metode de proiectare pentru sisteme ˆın timp-real . . i

36

ii

CUPRINS 1.4. Proiectarea pe bazˇa de model a sistemelor ˆın timp real . . .

38

1.4.1. Arhitectura bazatˇa pe model . . . . . . . . . . . . . .

39

1.4.2. Dezvoltare pe bazˇa de model . . . . . . . . . . . . . .

44

1.4.3. Metodologii de proiectare pentru sistemele ˆın timp-real 46 1.5. Sumar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Capitolul 2 Standarde de modelare

60 61

2.1. Modele ¸si modelare . . . . . . . . . . . . . . . . . . . . . . .

62

2.2. Standardul de modelare UML . . . . . . . . . . . . . . . . .

64

2.2.1. Scurtˇa istorie a UML . . . . . . . . . . . . . . . . . .

64

2.2.2. UML ¸si tehnologia orientatˇa spre obiecte . . . . . . .

67

2.2.3. Caracteristici UML 2.0 . . . . . . . . . . . . . . . . .

70

2.2.4. Diagrama de clase ˆın UML 2.0 . . . . . . . . . . . . .

72

2.2.5. Diagrama de structurˇa compusˇa . . . . . . . . . . . .

84

2.2.6. Diagrama de cazuri de utilizare . . . . . . . . . . . .

86

2.2.7. Diagrama de activitˇa¸ti . . . . . . . . . . . . . . . . .

91

2.2.8. Diagrama de stˇari . . . . . . . . . . . . . . . . . . . .

93

2.2.9. Diagrame de interact¸iune . . . . . . . . . . . . . . . . 101 2.3. Standardul de modelare SysML . . . . . . . . . . . . . . . . 105 2.4. Sumar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

II Tehnologia Java pentru dezvoltarea sistemelor ˆın timp-real 113 Capitolul 3 Limbajul de programare Java

115

3.1. Scurtˇa introducere ˆın Java . . . . . . . . . . . . . . . . . . . 120 3.1.1. Tipuri de date . . . . . . . . . . . . . . . . . . . . . . 121 3.2. Clase ¸si obiecte Java . . . . . . . . . . . . . . . . . . . . . . 131 3.3. Crearea obiectelor Java . . . . . . . . . . . . . . . . . . . . . 133 3.4. Variabile statice . . . . . . . . . . . . . . . . . . . . . . . . . 134

CUPRINS

iii

3.5. Definirea metodelor statice . . . . . . . . . . . . . . . . . . . 136 3.6. Distrugerea obiectelor . . . . . . . . . . . . . . . . . . . . . . 138 3.7. Subclase ¸si mo¸stenire . . . . . . . . . . . . . . . . . . . . . . 139 3.8. Superclase, clasa Object ¸si ierarhii de clase . . . . . . . . . . 144 3.9. Interfet¸e ˆın Java . . . . . . . . . . . . . . . . . . . . . . . . . 145 3.10. Clase derivate. Constructori . . . . . . . . . . . . . . . . . . 149 3.11. Variabile ”ascunse” . . . . . . . . . . . . . . . . . . . . . . . 151 3.12. Supradefinirea metodelor . . . . . . . . . . . . . . . . . . . . 152 3.13. Atribute de modificare a vizibilitˇa¸tii . . . . . . . . . . . . . . 154 3.14. Tratarea except¸iilor ˆın Java . . . . . . . . . . . . . . . . . . 155 3.15. Tehnologia Java ¸si ”timpul real” . . . . . . . . . . . . . . . . 158 3.16. Sumar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 Capitolul 4 Mecanisme concurent¸iale ˆın Java

177

4.1. Fire de execut¸ie ˆın Java . . . . . . . . . . . . . . . . . . . . 178 4.1.1. Stˇari. Planificarea firelor de execut¸ie ˆın Java . . . . . 179 4.1.2. Crearea firelor de execut¸ie ˆın Java . . . . . . . . . . . 181 4.1.3. Terminarea firelor de execut¸ie . . . . . . . . . . . . . 187 4.2. Sincronizarea firelor de execut¸ie ˆın Java . . . . . . . . . . . . 191 4.3. Semafoare ˆın Java . . . . . . . . . . . . . . . . . . . . . . . . 198 4.3.1. Implementarea semafoarelor binare implicite ˆın Java . 200 4.3.2. Implementarea semafoarelor generalizate ˆın Java . . . 202 4.4. Planificarea pe condit¸ie de timp ˆın Java . . . . . . . . . . . . 207 4.4.1. Accesul la un ”ceas” ˆın Java . . . . . . . . . . . . . . 210 4.5. Java 5 java.util.concurrent API . . . . . . . . . . . . . . . . 218 4.6. Sumar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219

iv

CUPRINS

III

Instrumente

221

Capitolul 5 Mediul de dezvoltare IBM Rational Rhapsody

223

5.1. Tipuri de diagrame ˆın Rational Rhapsody . . . . . . . . . . 224 5.1.1. Diagrama cazurilor de utilizare . . . . . . . . . . . . 226 5.1.2. Diagrama modelului de obiecte . . . . . . . . . . . . 228 5.1.3. Diagrame de structurˇa . . . . . . . . . . . . . . . . . 235 5.1.4. Diagrama de componente

. . . . . . . . . . . . . . . 237

5.1.5. Diagrama de implementare . . . . . . . . . . . . . . . 239 5.1.6. Diagrama de stˇari . . . . . . . . . . . . . . . . . . . . 241 5.1.7. Diagrame de activitˇa¸ti . . . . . . . . . . . . . . . . . 245 5.1.8. Diagrama de secvent¸e . . . . . . . . . . . . . . . . . . 249 5.1.9. Diagrama de colaborare . . . . . . . . . . . . . . . . 252 5.2. Proprietˇa¸ti generale Rational Rhapsody . . . . . . . . . . . . 255 5.3. Perspective grafice ˆın Rational Rhapsody . . . . . . . . . . . 257 5.3.1. Perspectiva modelului de analizˇa . . . . . . . . . . . 257 5.3.2. Perspectiva modelului de obiecte . . . . . . . . . . . 259 5.3.3. Perspectiva modelului de stˇari . . . . . . . . . . . . . 259 5.3.4. Perspectiva modelului de implementare . . . . . . . . 259 5.3.5. Perspectiva de animat¸ie . . . . . . . . . . . . . . . . 259 5.4. IBM Rational Rhapsody 7.5.1 . . . . . . . . . . . . . . . . . 263 5.5. Sumar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266 Capitolul 6 Studiu de caz

267

6.1. Introducere . . . . . . . . . . . . . . . . . . . . . . . . . . . 268 6.2. Dezvoltarea pe bazˇa de model a tehnologiilor asistive mobile 276 6.2.1. Specificarea cerint¸elor pentru un sistem TAM . . . . 276 6.2.2. Perspectiva de proiectare pe domeniu pentru sisteme TAM . . . . . . . . . . . . . . . . . . . . . . . . . . . 280 6.2.3. Analiza funct¸ionˇarii sistemului TAM . . . . . . . . . 283 6.2.4. Testarea comportamentului sistemului TAM . . . . . 289

CUPRINS

v

6.2.5. Autonomia sistemului TAM . . . . . . . . . . . . . . 296 6.2.6. Ret¸ele neuronale artificiale . . . . . . . . . . . . . . . 299 6.2.7. Algoritmi de conducere pentru sistemul TAM . . . . 306 6.3. Sumar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321

IV

Bibliografie Bibliografie

323 363

BIBLIOGRAFIE

[1] E. Alpaydin. Introduction to Machine Learning. MIT Press, Cambridge, Massachusetts, 2004 [2] ANSI/IEEE Std 1471-2000. IEEE Recommended Practice for Architectural Description of Software-Intensive Systems. American National Standards Institute / Institute for Electrical and Electronic Engineers, Sept. 21, 2000 [3] L. Baker, P. Clemente, B. Cohen, L. Permenter, B. Purves, P. Salmon. Foundational Concepts for Model Driven System Design. White paper, INCOSE Model Driven System Design Interest Group, International Council on Systems Engineering, 2000 [4] L. Balmelli. An Overview of the Systems Modeling Language for Products and Systems Development. IBM Technical Report, 2006 [5] D. Bell. UML Basics: An introduction to the Unified Modeling Language. IBM Global Services, 2003 [6] R. Boldt. Model Driven Architecture, Embedded Developers and Rhapsody. Telelogic, 2007 [7] G. Bollella, B. Brosgol, P. Dibble, S. Furr, J. Gosling, D. Hardin, M. Turnbull, R. Belliardi, D. Holmes, A. Wellings. Real-Time Specification for Java (RTSJ) 1.0.2. 0201703238, Addison-Wesley, 2006 363

364

BIBLIOGRAFIE

[8] G. Booch, J. Rumbaugh, I. Jacobson. Unified Modeling Language User Guide. 2nd Edition, Addison-Wesley Object Technology Series, 2005 [9] M. Brambring. Mobility and Orientation Processes of the Blind. In Warren D.H. and Strelow E.R. (Eds), Electronic Spatial Sensing for the Blind, Dordrecht, The Netherlands, Nijhoff, 1985 [10] Th. Braunl. Embedded Robotics. Mobile Robot Design and Applications with Embedded Systems. 2nd Edition, Springer, 2006 [11] A. Burns, A. Wellings. Real-Time Systems and Programming Languages - Ada95, Real-Time Java and Real-Time Posix. 3rd Edition, Addison Wesley, 2001 [12] M. Cantor. Rational Unified Process for Systems Engineering, RUP SE. Version 2.0, IBM Rational Software white paper, IBM Corporation, 2003 [13] A.M. Cook, S.M. Hussey. Assistive Technology: Principles and Practice. 2nd Edition, Mosby Inc., St. Louis, 2002 [14] P. C. Dibble. Real Time Java. Platform Programming. The Sun Microsystems Press, Java Series, 2002 [15] J. Dick, J. Chard. The Systems Engineering Sandwich: Combining requirements, models and design. Telelogic, 2004 [16] M. Drˇagoicea. Contribut¸ii la Sinteza Sistemelor de Conducere Adaptive Apelˆ and la Tehnici Neurale. Teza de Doctorat, Universitatea Politehnica Bucure¸sti, 2000 [17] M. Drˇagoicea. Sisteme ¸si Limbaje de Programare de Timp-real. Editura Printech, Bucure¸sti, ISBN 973-652-886-2, 220 pag, 2003 [18] M. Drˇagoicea, I. Dumitrache, D. Cuculescu. Multi-behavioural Model Based Autonomous Navigation of the Mobile Robots. International Journal Automation Austria, Vol. 11, Nr.1, pp:1-20, ISSN 1562-2703, 2003 [19] M. Drˇagoicea, I. Dumitrache. Neural Mechanisms of Learning and Control in Mobile Robotic Systems. Buletinul S¸tiintific al Universitˇa¸tii Politehnica Timi¸soara, Seria Automatica ¸si Calculatoare, Periodica Politehnica, Transactions on Automatic Control and Computer Science, vol. 48(62), ISSN 1224-600X, pag. 62-69, 2003

BIBLIOGRAFIE

365

[20] M. Drˇagoicea. Strategic Development of Intelligent Transportation Systems for Disabled People. Proceedings of the 16th Int. Workshop International Workshop on Robotics in Alpe-Adria-Danube Region - RAAD 2007, June 7-9, Ljubljana, Slovenia, pag. 345-350, ISBN 978-961-243-067-2, 2007 [21] M. Drˇagoicea. Programarea Aplicat¸iilor ˆın Timp-Real. Teorie ¸si Practicˇ a. Editura Universitarˇa, Bucure¸sti, ISBN 978-973-749-579-3, 221 pag, 2009 [22] M. Drˇagoicea, N. Chivarov. Assistive Mobile Robot Technology for Real-Time Task Implementation. Proceedings of the RAAD 2009, 18th Int. Workshop on Robotics in Alpe-Adria-Danube Region, Borangiu, Th. (Ed), 4 pag, ISBN 978-606-521-315-9, Brasov, Printech, Bucharest, 2009 [23] M. Drˇagoicea, M. D. Sacalˇa, A. Cojocaru, N. Chivarov. Designing Mobile Assistive Technologies in the Model Driven Development Framework. Proceedings of the 1st International Conference on Manufacturing Engineering, Quality and Production Systems MWQAPS’09, pag:100-105, ISBN 978-960-474-121-2, Brasov, September 24-26, 2009. Published by WSEAS Press [24] M. Drˇagoicea. Sisteme Inteligente de Conducere pentru Robot¸i Mobili. Note de curs. Universitatea Politehnica Bucure¸sti, Facultatea Automaticˇa ¸si Calculatoare, 2008 [25] B.P. Douglas. Doing Hard Time. Developing Real-Time Systems with UML, Objects, Frameworks, and Patterns. Addison - Wesley, 1999 [26] B.P. Douglas. Real Time UML. Advances in the UML for RealTime Systems. 3rd Edition, Addison - Wesley, 2004 [27] B.P. Douglas. Real Time UML Workshop for Embedded Systems. Elsevier Inc., 2007 [28] I. Dumitrache, N. Constantin, M. Drˇagoicea. Ret¸ele Neurale. Identificarea ¸si Conducerea Proceselor. Editura MatrixRom, 1999 [29] J. A. Estefan. Survey of Model-Based Systems Engineering (MBSE) Methodologies. Technical Report, INCOSE MBSE Focus Group, International Council on Systems Engineering, 2007

366

BIBLIOGRAFIE

[30] L. Fausett. Fundamentals of Neural Networks. Architectures, Algorithms and Applications. Prentice Hall, 1994 [31] D.G. Firesmith, E.M. Eykholt. Dictionary of Object Technology: The Definitive Desk Reference. Cambridge University Press, 1995 [32] M. Gayle. ISO/IEC 19760 Final Draft Technical Standard. Jet Propulsion Laboratory, 2007 [33] S. Gerard, J-P. Babau, J. Champeau. Model Driven Engineering for Distributed Real-time Embedded Systems. Lavoisier, Hermes Science Publishing Limited, 2005 [34] J. Goodwin, A. Winfield. A Unified Design Framework for Mobile Robot Systems. Proceedings of SIMPAR 2008, Int. Conf. On Simulation, Modeling and Programming for Autonomous Robots, pp. 513524, ISBN 978-88- 95872-01-8, Venice, November 2008 [35] S. Hartley. Concurrent Programming: The Java Programming Language. Oxford University Press, 1998 [36] S. Hayken. Neural Networks: MacMillan, 1994

a comprehensive foundation.

[37] M. Hersh, M. Johnson. Assistive Technology for Vision-Impaired and Blind People. Springer Verlag, London, 2008 [38] H.P. Hofmann. SysML-Based Systems Engineering Using a Model-Driven Development Approach. Telelogic, 2008 [39] H.P. Hofmann. Harmony/SE - Model-based Systems Engineering Using SysML. Proceedings of the SDR’08 Technical Conference and Product Exposition, 2008 [40] J.J. Hopfield. Neurons with Graded Response Have Collective Computational Properties Like Those of Two-State Neurons. Proc. Natl. Acad. Sci. USA, vol.81, 1984 [41] ISO/IEC 10746-1:1998(E). Information Technology - Open Distributed Processing - Reference Model: Overview. International Organization for Standardization / International Electrotechnical Commission, Nov.15, 2003 [42] T. Kohonen. Self-Organization and Associative Memory. Springer Verlag, 1988

BIBLIOGRAFIE

367

[43] J. Krasner. What Do You Do When the Horse You’re Riding Drops Dead? Why Model Driven Design is Emerging as Preferred Best Practice. Embedded Market Forecasters, American Technology International Inc., Martie 2007 [44] Ph. Kruchten. The Rational Unified Process: An Introduction. 3rd Edition, Addison-Wesley Professional: Reading, MA, 2003 [45] D. S. Levine. Introduction to Neural and Cognitive Modeling. 2nd Edition, Lawrence Erlbaum Associates, New Jersey, 2000 [46] Guang, L., Towards on-line Learning Agent for Autonomous Navigation. PhD Thesis, Chalmers University of Technology, Goeteborg, 1999 [47] H. Lykins, S. Friedenthal, A. Meilich. Adapting UML for an Object-Oriented Systems Engineering Method (OOSEM). Proceedings of the INCOSE 2000 International Symposoim, Minneapolis, MN, 2000 [48] P. Maes, R. Brooks. Learning to Coordinate Behaviours. Proc. AAAI 1990, Morgan Kaufman, San Mateo CA, 1990 [49] S. Mahadevan, J. Connell. Automatic Programming of Behaviour-Based Robots Using Reinforcement Learning. Proc. 9th National Conference on Artificial Intelligence, AAAI 1991, Morgan Kaufman, San Mateo CA, 1991 [50] J.N. Martin. Systems Engineering Guidebook: A Process for Developing Systems and Products. CRC Press, Inc.: Boca Raton, FL, 1996 [51] J. McCarthy, M. Minsky, N. Rochester, C. Shannon. Dartmouth Summer Research Conference on Artificial Intelligence. Dartmouth College, http://www.dartmouth.edu/vai50/ homepage.html, 1956 [52] FL. Munteanu, Gh. Musca. Programarea Calculatoarelor de Proces. Editura Univ. Politehnica Bucure¸sti, 1989 [53] R. Murphy. Introduction to AI Robotics. MIT Press, 2000 [54] U. Nehmzow. Mobile Robotics: Springer, 2000

A Practical Introduction.

368

BIBLIOGRAFIE

[55] S. Niemann. Make the Transition from Rational Rose to Rhapsody. A Guide to Increased Productivity and Quality for Rational Rose Users. IBM Company, 2008 [56] Object Oriented Systems Engineering Method. OOSEM Descriptive Outline for INCOSE Handbook Version 3, Adnnotated Update, Sect. 6.4.2, pp. 6-1 - 6-2, Mar.14, 2006 [57] Object Oriented Systems Engineering Method (OOSEM) Tutorial. Ver. 02.42.00, Lockheed Martin Corporation and INCOSE OOSEM Working Group, Apr. 2006 [58] M. Owen, J. Raj. BPMN and Business Process Management. An Introduction to the New Business Process Modeling Standard. Telelogic, 2006 [59] H.E. Eriksson, M. Penker. UML Toolkit. Wiley, 1997 [60] D. Pilone, N. Pitman. UML 2.0 in a Nutshell. O’Reilly, 2005 [61] W.S. McCulloch, W. Pitts. A Logical Calculus of Ideas Immanent in Nervous Activity. Bulletin of Mathematical Biophysics, Vol. 5, pp. 115-133, 1943 [62] D. Poulson, S. Richardson. USERfit A Framework for Usercentered Design in Assistive Technology. Technology and Disability. 9, pp. 163171, 1998 [63] G. Roedler. What is ISO/IEC 15288 and Why Should I Care?. ISO/IEC JTC1/SC7/WG7, Geneva: International Organization for Standardization, 2002 [64] J. Rumbaugh, I. Jacobson, G. Booch. The Unified Modeling Language Reference Manual. 2nd. Ed, Addison-Wesley Professional, 2004 [65] M.J. Scherer, G. Craddock. Matching Person and Technology (MPT) Assessment Process. Technology and Disability. 3, pp. 125131, 2002 [66] B. Selic, J. Rumbaugh. Using UML for Modeling Complex RealTime Systems. Rational Software Corporation, 1998 [67] R. Siegwart, I. Nourbakhsh. Introduction to Autonomous Mobile Robots. MIT Press, 2004

BIBLIOGRAFIE

369

[68] D.A. Taylor. Object-Oriented Technology: A Manager’s Guide (Object Technology: A Managers Handbook. Addison-Wesley, 1997 [69] P. Urban. What’s New in IBM Rational Rhapsody, Version 7.5. IBM. http://www.ibm.com/developerworks/ rational/library/09/whatsnewinibmrationalrhapsodyv75/, 2007 [70] J. Viljoen. RUP SE: The Rational Unified Process for Systems Engineering. INCOSE SA [South Africa] Newsletter, Issue 01: Q4, 2003 [71] T. Weilkiens. Systems Engineering with SysML/UML. Morgan Kaufmann Publishers, Elsevier Inc., 2007 [72] T. Weilkiens. UML 2 Certification Guide: Fundamental and Intermediate Exams (The OMG Press). Morgan Kaufmann Publishers, 1st Ed., 2006 [73] A. Wellings. Concurrent and Real-Time Programming in Java. John Wiley and Sons, 2004 [74] N. Wiener. The Human Use of Human Beings: Cybernetics and Society. Da Capo Press, 1988 (reprinting) [75] AICAS Realtime. JamaicaVM 3.2 User Manual. Java Technology for Critical Embedded Systems. Edited by Fridtjof Siebert, Chief Technology Officer, Aicas GmbH, 2008 [76] OMG. A UML Profile for MARTE: Modeling and Analysis of Real-Time Embedded Systems, Beta 2. OMG Document Number: ptc/2008-06-08, 2008 [77] OMG. UML Profile for Schedulability, Performance, and Time Specification. OMG Document Version 1.1 formal/05-01-02, 2005 [78] OMG. OMG Systems Modeling Language (OMG SysML), V1.0. OMG Document Number: formal/2007-09-01, 2007 [79] OMG. OMG Unified Modeling Language (OMG UML), Infrastructure, V2.1.2. OMG Document Number: formal/2007-11-04, 2007 [80] IBM Rational. Rhapsody User Guide. www.ibm.com. 2009

370

BIBLIOGRAFIE

[81] IBM Rational. Rhapsody Modeler Tutorial. www.ibm.com. 2009 [82] IBM Rational. Rhapsody www.ibm.com. 2009

Systems

Engineering

Tutorial.

[83] IBM Rational. Rhapsody in J. Tutorial. www.ibm.com. 2009 [84] IBM Rational. What’s New in Rational Rhapsody 7.5.1. http://www.ibm.com/developerworks/rational/products/rhapsody, accesat la 12 Februarie 2010

Suggest Documents