Learn how to translate an executable model of your application into running code. This is not a book about theory, good intentions or possible future developments. You'll benefit from translation technology and solid software engineering principles that are demonstrated with concrete examples using an open source tool chain.
Models don't deliver enough value if they are not on a direct path to code production. But to waste time building models that are merely pictures of your code doesn't add much value either. In this book, you'll translate detailed, yet platform-independent models that solve real application problems.
Using a pragmatic approach, Models to Code quickly dives into two case studies of Executable UML models. The models and code are extensively annotated and illustrate key principles that are emphasized throughout the book.
You'll work with code production using "C" as the implementation language and targeting microcomputer class processors. This might not be your particular target language or platform, but you can use you can use what you learn here to engineer or re-evaluate your own code translation system to dramatically increase the value of both your modeling and code generation solution.
Written by three leading experts, Models to Code is an exceptional resource for producing software by model translation- add it to your library today.
What You'll Learn
Who This Book Is For
- See how detailed models resolve ambiguity and contradiction common in requirements.
- Examine how a model can be detailed enough to be executable and testable while remaining platform independent
- Produce code from a model, leaving the model intact so it can be redeployed on new platforms or adapted to changing software and hardware technology.
- Implement platform independent model execution rules in platform specific run-time code
Modelers and systems engineers on active MBSE projects (using Executable UML or not), projects using Simulink, Matlab, Dymola, MatrixX and other math modelling tools.
Any developers with current or past model experience, professors, students, systems engineers, embedded systems developers, or anyone interested in learning more about software modelling.
Leon Starr is a co-founder of Model Integration, LLC in San Francisco, California where he helps large projects develop model driven software successfully. Since 1984 he has been a prolific modeler of real-time, distributed and embedded systems. His models have been used in fighter jets, factory material transport control systems, ultrasound diagnostic and cardiac pacing systems, gas chromatography and semiconductor wafer inspection systems, video post-production systems and networked military battle simulators. He has authored training and taught numerous modeling courses to systems engineers and software developers worldwide. Leon is the author of the books How to Build Shlaer-Mellor Object Models, How to Build Class Models, Executable UML: A Case Study, How to Build Executable UML Models and assorted papers at uml.org and modeling-languages.com. Leon speaks barely passable French and equally poor Swedish.
Stephen Mellor is a well-known technology consultant on methods for the construction of real-time and embedded systems, a signatory to the Agile Manifesto, and adjunct professor at the Australian National University in Canberra, ACT, Australia. Stephen is the author of Structured Development for Real-Time Systems,Object Lifecycles, Executable UML, and MDA Distilled. He is presently the Chief Technical Officer for the Industrial Internet Consortium, where he directs the standards requirements and technology & security priorities for the industrial internet. In that role, he coordinates the activities of the several engineering, architecture, security and testbed working groups and teams. Before that, he was Chief Scientist of the Embedded Software Division at Mentor Graphics, and founder and past president of Project Technology, Inc., before its acquisition. He participated in multiple UML/modeling-related activities at the Object Management Group (OMG), and was a member of the OMG Architecture Board, which is the final technical gateway for all OMG standards. Stephen was the Chairman of the Advisory Board to IEEE Software for ten years and a two-time Guest Editor of the magazine, most recently for an issue on Model-Driven Development.
For more than 30 years, Andrew Mangogna has been a hands-on builder of embedded software systems. He has worked in application areas ranging from laboratory instrumentation, remote data collection, and video special effects to implantable medical devices. Andrew has always had a special interest in applying more formal techniques to the challenge of engineering software to create systems in a cost effective manner with demonstrable quality. Trained in the basics of object oriented analysis by Stephen Mellor himself, he has successfully applied executable modeling techniques and model translation to many projects and has written several tools to help automate the translation process. With a keen interest in technology and a practical realization of the benefits of modeling, he has a mastery of mapping models to appropriate implementation technology to obtain high quality software systems.
1. The Modeling Landscape2. A Simple Executable Model3. Making Translation Decisions4. Translating the Air Traffic Control Model5. Model Execution Domain6. An Extended Example7. Sensor and Actuator Service Domain8. Integrating the Application and Service Domains9. Event Polymorphism10. Pycca and Other Platforms11. The Translation LandscapeAppendix A. Summary of xUMLAppendix B. Scrall OverviewAppendix C. Pycca Language OverviewAppendix D. Bibliography