Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

New Cosa Movie V8

582 views

Published on

A new temporal state machine that reduces software complexity, improves performance, reduces debug time. Includes inherent trace and the new ability to self-heal.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

New Cosa Movie V8

  1. 1. Breaking the Time Barrier: The T Th Temporal Engineering of S ft lE i i f Software a book by Gordon E Morrison
  2. 2. Model-Driven Development • Calculator example • Keep it simple • Select one or more views
  3. 3. Choose a View Diagram Application Logic Model
  4. 4. COSA Calc Diagram
  5. 5. Calculator Engine
  6. 6. The Logic
  7. 7. Create Steps / Behaviors in Model Application
  8. 8. Everything in Sync Dynamic Model
  9. 9. Application, Model, Logic Control-Flow Logic
  10. 10. Enter Operand (-3.14159)
  11. 11. True Behavior
  12. 12. False Behavior One Period
  13. 13. Fractional F ti l Part
  14. 14. Until Not a Number
  15. 15. Trace Trace Count Step Trace Eng Static Dynam ic Behaior v Value 1 +T 0; = 100 Off; 44; 44; Negae; t N=- 2 +T 1; = 101 Off; 1; 1; Any_Number N=-3 3 Ğ 1; F= 101 On; 1; 59; Ignore; N= 4 +T 2; = 102 Off; 59; 59; One_Perio d; N=-3. 5 +T 3; = 103 Off; 1; 1; Any_Number N=-3.1 6 +T 3 T 3; = 103 Off; 1; Off 1 1; 1 Any_Number A N b N= 3 14 N -3.14 7 +T 3; = 103 Off; 1; 1; Any_Number N=-3.141 8 +T 3; = 103 Off; 1; 1; Any_Number N=-3.1415 9 +T 3; = 103 Off; 1; 1; Any_Number N=-3.14159
  16. 16. Enter Operation (‘-’) Operators
  17. 17. Trace Subtract 10 Ğ 3; F= 103 On; 1; 44; Ignore; N= 11 Ğ 4; F= 104 On; 12; 44; Ignore; N= 12 Ğ 5; F= 105 On; 11; 44; Ignore; N= 13 Ğ 6; F= 106 On; 1; 44; Push_Disp ; N= 14 Ğ 7; F F= 500 On; 43; 44; Ignore; N N= 15 +T 8; = 501 On; 44; 1; Subtra n; ctio N=-3.14159
  18. 18. Enter Operand (-2.14159)
  19. 19. Negate N t
  20. 20. Loopp until not number
  21. 21. Trace 16 +T 12; = 700 Off; 1; 1; Engine_Off; N=-3.14159 17 +T 13; = 701 Off; 44; 44; Negae; t N=- 18 +T 14; = 702 Off; 1; 1; Any_Number N=-2 19 Ğ 14; F= 702 Off; 1; 59; Ignore; N= 20 +T 15; = 703 Off; 59; 59; One_Perio d; N=-2. 21 +T 16; = 704 Off; 1; 1; Any_Number N=-2.1 22 +T 16; = 704 Off; 1; 1; Any_Number N=-2.14 23 +T 16; = 704 Off; 1; 1; Any_Number N=-2.141 24 +T 16; = 704 Off; 1; 1; Any_Number N=-2.1415 25 +T 16; = 704 Off; 1; 1; Any_Number N=-2.14159
  22. 22. Enter ‘=‘ ‘=‘ Not ‘ ‘N ta Number
  23. 23. Not Clear Entry
  24. 24. Not Clear
  25. 25. Not Percent
  26. 26. Equals
  27. 27. Ready for Next Problem Trace 26 Ğ 16 705 F= On; 1; 13; Ignore; N= 27 Ğ 18 706 F= On; 12; 13; Ignore; N= 28 Ğ 17 707 F= On; 1; 13; Save_Disp ; N= 29 Ğ 19 900 F= On; 11; 13; Ignore; N= 30 +T 20; 901 = Off; 13; 13; Equal s; N= -1
  28. 28. Trace - Simple or Robust • Numbers only OR • Dynamic State • Static State • Engine State • Behavior Name • Etc.
  29. 29. Trace Can be Inherited • True Trace Definition • False Trace Definition – Subordinate Call to True – Subordinate Call to False Trace Trace • Subordinate Call to True • Subordinate Call to False Trace Trace – Subordinate Call to True – Subordinate Call to False Trace Trace
  30. 30. Trace Can Be: • Enabled • Disabled – Dynamic bind = – Dynamic bind = call to Trace call to ignore
  31. 31. Trace - All that you want Count Step y Trace Eng Static Dynam ic Behavior Value 1 +T= 0; 100 Off; 44; 44; Negate; N= - 2 +T= 1; 101 Off; 1; 1; Any_Number; N= -3 3 ĞF= 1; 101 On; 1; 59; Ignore; N= 4 +T= 2; 102 Off; 59; 59; One_Perio d; N= -3. 5 +T= 3 T 3; 103 Off; Off 1; 1 1; 1 Any_Number; A N b N= 3 1 N -3.1 6 +T= 3; 103 Off; 1; 1; Any_Number; N= -3.14 7 +T= 3; 103 Off; 1; 1; Any_Number; N= -3.141 8 +T= 3; 103 Off; 1; 1; Any_Number; N= -3.1415 9 +T= 3; 103 Off; 1; 1; Any_Number; N= -3.14159 10 ĞF= 3; 103 On; 1; 44; Ignore; N= 11 ĞF= Ğ 4; 104 On; 12; 44; Ignore; N= 12 ĞF= 5; 105 On; 11; 44; Ignore; N= 13 ĞF= 6; 106 On; 1; 44; Push_Disp ; N= 14 ĞF= 7; 500 On; 43; 44; Ignore; N= 15 +T= 8; 501 On; 44; 1; Subtraction; N= -3.14159 16 +T= 12;; 700 Off;; 1; ; 1; ; Engine_Off; g ; N= -3.14159 17 +T= 13; 701 Off; 44; 44; Negate; N= - 18 +T= 14; 702 Off; 1; 1; Any_Number; N= -2 19 ĞF= 14; 702 Off; 1; 59; Ignore; N= 20 +T= 15; 703 Off; 59; 59; One_Perio d; N= -2. 21 +T= 16; 704 Off; 1; 1; Any_Number; N= -2.1 22 +T +T= 16; 704 Off; 1; 1; Any_Number; Any Number; N 2.14 N= -2 14 23 +T= 16; 704 Off; 1; 1; Any_Number; N= -2.141 24 +T= 16; 704 Off; 1; 1; Any_Number; N= -2.1415 25 +T= 16; 704 Off; 1; 1; Any_Number; N= -2.14159 26 ĞF= 16; 705 On; 1; 13; Ignore; N= 27 ĞF= 18; 706 On; 12; 13; Ignore; N= 28 ĞF= 17; 707 On; 1; 13; Save_D Save D isp; N= 29 ĞF= 19; 900 On; 11; 13; Ignore; N= 30 +T= 20; 901 Off; 13; 13; Equals; N= -1
  32. 32. Compare
  33. 33. Now with Trace
  34. 34. Was improving the quality of your software products a company goal? Are you using an object-oriented design methodology because it promotes code reuse and reduces code maintenance and complexity? Are you happy with the results? Or did you end up with spaghetti objects? My new book provides a clear step-by-step of how to achieve the promise that object technology alone can t deliver. can’t deliver But it requires change.
  35. 35. The End

×