160 likes | 426 Views
Model Driven Development with Rhapsody. By Will Fritz. What is Model Driven Development?. A method for producing software quickly, efficiently, and with as little cost as possible. Based around generating code directly from UML or other modeling languages. Why use Model Driven Development?.
E N D
Model Driven Development with Rhapsody By Will Fritz
What is Model Driven Development? • A method for producing software quickly, efficiently, and with as little cost as possible. • Based around generating code directly from UML or other modeling languages.
Why use Model Driven Development? • MDD allows for easier building and maintenance of complex state machines than direct work with code. • Many embedded systems have too many states to keep straight easily through standard development methods
Why use MDD (cont.) • With quality MDD tools, systems can be maintained wholly through their state diagrams and other models.
Advantages of MDD • There are many advantages to using model driven development. • “By using models, software engineers and other stakeholders are able to argue conceptually about a problem without worrying about syntax or other platform specific issues.”[4]
Advantages of MDD (cont.) • The added ease of communication can lead to fast design times.
System independence • System can be designed with very little information about final platform. • MDD emphasizes building system independent models, then applying model transformations to make it fit the target system. • This leads to better portability for the system.
Rhapsody • Rhapsody is a MDD tool from Telelogic. • It currently supports final code generation into Ada, C, C++, and Java. • It also supports 8, 16, 32, and 64 bit systems.
Rhapsody (cont.) • Rhapsody can run simulations of the designed system. • It can also run debugging on the target hardware. • Lastly it includes support for built in requirements and model based testing.
Standards • CORBA: Common Object Request Broker Architecture • D0-178B • UML • SysML • DoDAF: Department of Defense Architecture Framework • AUTOSAR: soon
Rhapsody Animator • Rhapsody has a debugging tool called the Animator. It shows the current state of the simulation within the diagrams.
Target Debugging with Tornado • When used for target debugging along with the Tornado IDE Rhapsody is able to show the status of the system in diagrams via the animator while target debugging.
Airbus Boeing Hamilton Sunstrand Lockheed Martin Smiths Aerospace Ford Mazda Mitsubishi CISCO Motorola Nokia Panasonic Sony Electronics 3Com Medtronic HP Intel Trane Customers
Trane Example • Used to design software for new high-efficiency water chiller • Project went from blackboard to testing in three months • Manager of SE Pat Wilson marked that as very fast for that type of project
References • [1] Hofstader, Joseph; Building Distributed Applications Model-Driven Development, http://msdn2.microsoft.com/en-us/library/aa964145(d=printer).aspx • [2] Mellor, S., Scott, K., Uhl, A. and Weise, D. MDA Distelled; Principles of Model-Driven Architecture, Addison Wesley, 2004. • [3] Rutherford, Matthew J. and Wolf, Alexander L.; A Case for Test-Code Generation in Model-Driven Systems, Springer-Verlag Berlin Heidelberg, 2003 • [4] Bull, R. Ian; Integrating Dynamic Views Using Model Driven Development, 2006