Ever since the release of Rational Rhapsody 8.0.6, the ability to format code generation has just become BIGGER and BETTER.
Take a look at the list of properties that could be used to format the code as you want.
Every element like Class, Operation, Attribute and other model elements has its own property. The list is quite huge. These properties can be modified at the element level or its owner level. Even the specification and the implementation files have their own set of properties. As can be seen from the screenshot above, Rhapsody has separate section called WriterTemplates (which are defined under the CPP_CG).
Each of this property consists of "[[...]]" containing the code generation extractor keywords within them.
Let's have a look on CPP_CG::WriterTemplates::ClassSpec
The code for the class will be generated in the following way by default:
Homo Sapiens are not the only intelligent ones.. IBM Rational Rhapsody seems to be enhancing its ‘thinking’ capabilities with the introduction of version 8.0.5.
Let us consider you are connecting two ‘actions’ in an Activity diagram with an ObjectFlow. Until the release of 8.0.5, performing the same erroneous step would result in the following error message:
Now in IBM Rational Rhapsody 8.0.5, it automatically understands the error and intention and corrects it by converting the link to a ControlFlow (which happens to be the Intended behaviour). Isn’t that smart?
Similarly, Until the previous release (Rational Rhapsody 8.0.4), you would get the following message when an ‘Action' is connected to an ‘Object Node’ through a ControlFlow:
Here again intelligence of Rational Rhapsody 8.0.5 can be observed, the ControlFlow automatically gets converted to an ObjectFlow when an ‘Action' is connected to an ‘Object Node’:
0:16 - Video agenda 1:11 - Model based system engineering 2:44 - What is a trade study? 6:06 - System Engineering best practices 10:04 - SysML Parametric diagram 13:16 - SysML Constraint Blocks 15:44 - ConstraintProperties 17:20 - Analysis of Architectures 18:43 - Example problem definition and requirements 20:00 - Identify key system functions 24:32 - Determining MOEs 26:43 - Modeling with SysML constraints 28:51 - Calculating derived values and MOEs 31:28 - Defining Alternative Architectures 32:24 - Calculating objectives table 33:27 - Success examples and motivation 35:56 - Summary 37:58 - Further Resources 41:51 - Changing values such as weight
Over the course of 10 weeks in Q4 2013, developerWorks Rational featured a modeling tip for systems engineers each week from Bruce Douglass. Undeniably, Bruce's 35 years of experience and credentials make him the perfect person to provide this information, and he does so with humor- which makes it all the more fun. We think these are some fabulous hints and tips and hope you find these tips helpful in your daily work as well:
#4 Design patterns reuse proven solutions- In hint #4 of Bruce Douglass' top 10 modeling hints series you'll learn about the importance of leveraging the experience and knowledge of other designers through abstraction or design pattern reuse.
#5 Only 4 (+1) diagrams are required- Your article abstract goes here. Put the main points and key phrases at the beginning of the abstract, because it will be truncated in search results. Make your abstract enticing yet succinct. Aim for three to five sentences that express why the reader would care about the content (motive) and what he or she can gain from reading the content (benefits).
#9 All models are abstractions but some are useful- System engineers have responded to the need for more rigor by adopting the UML and SysML standards. The standards are complex, and don’t provide guidance on how best to apply modeling techniques with these languages to effectively specify requirements and architectures, nor how to use modeling to perform trade studies and the various kinds of analyses required by systems engineering. Dr. Douglass has spent more than 30 years consulting on hundreds of project. He shares his observations and deep experience in this list of his top ten hints for model-based systems engineering.
#10 Forget 7 ± 2- System engineers have responded to the need for more rigor by adopting the UML and SysML standards. The standards are complex, and don’t provide guidance on how best to apply modeling techniques with these languages to effectively specify requirements and architectures, nor how to use modeling to perform trade studies and the various kinds of analyses required by systems engineering. Dr. Douglass has spent more than 30 years consulting on hundreds of project. He shares his observations and deep experience in this list of his top ten hints for model-based systems engineering.
I'm constantly amazed at the great information our developerWorks authors produce on such a consistent basis. To prove that point, here are the latest articles from the past week that have gone live on developerWorks Rational:
Develop reliable software with DevOps
By: Bob Aiello, Consultant and Technical editor, CM Best Practices Consulting (Division of Yellow Spider, Inc) and Leslie Sachs, COO, Yellow Spider, Inc.
Bob Aiello and Leslie Sachs teach you how to create reliable systems using principles and practices that are emerging as part of DevOps.
Products: IBM Rational Requirements Composer, IBM Rational Focal Point
A macro-pattern for public sector systems architecture
By: Jan K. Gravesen, Executive Architect, IBM
Jan Graveson gives you a common systems architecture pattern to help you accelerate the design of new systems architectures for the public sector.
Product: IBM Rational System Architect
JazzHub: Collborate in the cloud in less than 10 minutes
By: Jean-Louis Maréchaux, Worldwide Technical Enablement Lead, IBM and Fariz Saracevic, Lifecycle Scenario Architect, IBM
Jean-Louis Maréchaux and Fariz Saracevic take you on a tour of Jazz Hub in this scenario-based article. With Jazz Hub your team will quickly and easily collaborate on projects.
What's new in IBM Rational Application Developer V9.0 Portal Tools
By: Mansi Gaba, Staff Software Engineer, IBM
Mansi Gaba introduces you to the new and enhanced features. Support for jQuery tooling, the Maven framework, Mac OS, and simplified Dojo mobile view creation are some of the top improvements.
Product: IBM Rational Application Developer
We're knee deep into fall now, and well into November already! How did that happen? I'm not sure of the time-space continuum shift that has truncated this year, but what I am sure of is that our awesome developerWorks authors have been steadily publishing their great articles regardless of how short or long the year has seemed... Here are the latest articles from the past few weeks which have gone live on Rational developerWorks:
Analyzing data in an agile world By: Scott Snyder, Senior Performance Architect, IBM
Learn to interpret test results in an adaptable way. Scott Snyder shows you the techniques and tooling that should make data analysis more interactive. Product: IBM Rational Team Concert
Develop a hybrid mobile application using Rational Application Developer By: Hamid Kalantari, Staff software engineer, IBM
Top 10 modeling hints for system engineers: #10: Forget 7 ± 2 By: Bruce Douglass, Rational Chief Evangelist, Systems Engineering, IBM
Bruce Douglass gives one hint a week to help you with modeling. This 10-week series starts with #10: Forget 7 ± 2 Products: IBM Rational Rhapsody, IBM Rational System Architect, IBM Rational Software Architect
Debugging optimized code By: Rajan Bhakta, Technical Architect, z/OS XL C/C++ compilers, IBM
Rajan Bhakta gives you ways to make the right tradeoffs to get the easiest possible debugging and fastest possible optimization. Products: IBM C/C++ Compiler
Adopting the IBM DevOps approach By: Paul Bahrs, Chief Architect, Emerging technologies, IBM
This practice-based framework will help you assess your current practices and build a roadmap to DevOps adoption.
Be smart with virtualization, Part 2 By: Mike Donati, ClearCase Performance Team Lead, IBM, Ryan Smith, Software Performance Analyst, IBM, and Grant Covell, Senior Development Manager, Rational Performance Engineering, IBM
Part 2 of this article series brings you even more best practices for using IBM Rational software in virtualized environments. Products: IBM Rational Team Concert, IBM Rational ClearCase
IBM SmartCloud Enterprise and V9 Rational IDEs simplify application development By: Jean-Yves B. Rigolet, Rational IDE Cloud Architect and Lead, IBM
The new Version 9 rational IDEs are now available on the Smart Cloud Enterprise. No more install and configuration, just continuous access to your development environment from multiple devices. Learn more from Jean-Yves Rigolet. Products: Rational Developer for System z, Rational Developer for Power, IBM Rational Software Architect, IBM Rational Application Developer, IBM Rational Team Concert
Server-side mobile application development By: Bhargav Perepa, WebSphere Architect and IT Specialist, IBM
A five-part article series that explains how to use IBM Rational Application Developer for WebSphere Software and IBM® Worklight together to develop applications for mobile devices. Bhargav Perepa walks you through the entire process. He provides application and sample configuration files to guide you through the steps. Products: IBM Rational Application Developer, IBM Worklight
IBM Rational Rhapsody family provides a collaborative design, development and test environment for systems engineers and software engineers. It uses Systems Modeling Language (SysML) and Unified Modeling Language (UML) to enable rapid requirements analysis and visual, model-based design.
The UML diagrams are views into the underlying semantic system model; each kind of diagram emphasizes some aspect of the model.
Example - Dynamic aspects is represented by behavior diagram - State chart.
Statecharts define the behavior of objects by specifying how they react to events or operations. The reaction can be to perform a transition between states and possibly to execute some actions. When running in animation mode, IBM Rational Rhapsody highlights the transitions between states.
The discussion covers few modeling challenges with state chart using Rational Rhapsody and how to over come those challenges:
1) Evaluation of condition connector in state chart
A scenario where a variable (count) is decremented before the condition connector and is expected to terminate if value of variable is 9 (count==9).
However, on executing you observe that the condition doesn’t take the change in the variable on the transition. Instead it takes the initial value of the variable for comparison.
The work around here is to have an additional dummy state in between to get the desired output.
2) Multicasting with rapid ports in layered structure
Currently, the multicasts of event via rapid ports (ports that have no provided/required interfaces) are supported only from a direct invocation.
Example - One sender object and two receiver objects
Consider a scenario where the event is first sent from the Class A's object(itsA) and then it reaches the Class B's object(itsB), from where it is delegated to its 2 inner parts(itsB1 and itsB2
No multicasting is available on having multi layered structure.
The Workaround is to add an additional state chart and MULITCAST_GEN() macro in class B.
3) Working of Reaction in State
In a single state for a Reactive class, you would expect to continuously print a statement after elapse time of tm (1000). However, upon execution it prints only once instead of continuous timer.
Using a tm (1000) as a trigger for a reaction in state means that 1 second after you enter the state you'll be triggered. It's not a continuous timer.
To restart the timer you have to exit the state and re-enter it. It needs a design change as below.
4) Combining Junction Connector and Condition Connector in a state chart
You would like to have several events from a state and a condition to determine the other state.
You cannot join several transitions into a condition connector neither you can have a transition from a junction connector to a condition connector.
However, you can model to add a dummy state in between that will further evaluate for condition connector.
In this 3-part series, Rational Technical Specialist Ricardo Camacho introduces you to the concept of Systems Engineering and how it is done across an enterprise and across applications via Rational Rhapsody Designer v4.
Here's the most recent list of the latest and greatest downloads which have gone live from Rational Support since August 28th! These links below are provided to help you find the fixes you need in order to stay up to date and successful with your Rational products.... Plus, don't forget to check out the downloads tag to see any of the fixes you may have previously missed:
Here's the most recent list of the latest and greatest downloads which have gone live from Rational Support since June 19th! Presented below to help you find the fixes you need in order to stay up to date and successful with your Rational products....
We're back from Innovate, IBM's Technical Summit and on the tails of our mid-year release cycles. Even with the busy schedules this past month, our authors are still committed to getting you the best information we can to help you be successful with our products an in your daily work. To that end, here's the articles, featured downloads and upcoming webcasts that went live on developerWorks Rational recently:
Find out for yourself: 7 new video demonstrations
Special-focus narrated demonstrations of five Rational software applications: Rational DOORS Next Generation features and administration, Rational Requirements Composer user and project admin, Rational Rhapsody models with Rational Publishing Engine reports, business-critical uses of Rational Focal Point
Simplify user management for Collaborative Lifecycle Management applications By: Pranab Agarwal, Advisory Software Engineer, IBM and Navneet R. Srivastava, Senior Staff Software Engineer, IBM
Integrate the Jazz Team Server for Collaborative Lifecycle Management applications with Rational Directory Server for common directory services Product: IBM Rational Requirements Composer, IBM Rational Quality Manager, IBM Rational Team Concert
Server-side mobile application development with IBM Worklight: Parts 1-4 By: Bhargav Perepa, WebSphere Architect and IT Specialist, IBM
Bhargav Perepa explains how to use IBM® Rational® Application Developer for WebSphere® Software and IBM® Worklight together to develop applications for mobile devices that run Android, iOS, BlackBerry, and Microsoft Windows Metro operating systems Product: IBM Rational Application Developer for WebSphere Software
Configure Rational Team Concert to build ISPF Dialog Tag Language components By: Liam Doherty, Rational Team Concert Enterprise Extensions Architect, IBM
Many Rational customers use IBM Interactive System Productivity Facility (ISPF) Dialog Tag Language (DTL) on IBM z/OS systems to define and create their ISPF panels and messages. Invoking the ISPF DTL conversion utility requires different steps in the setup of the language definitions and translators in Rational Team Concert. Liam Doherty explains those steps. Product: IBM Rational Team Concert
Using PHP and cURL for server-side caching of dynamic web pages By: Igor Todorovski, Software Developer, IBM, Nancy Wang, Software Developer, IBM, and Leon Kiriliuk, Test Manager, IBM
Leon Kiriliuk, Igor Todorovski, and Nancy Wang explain how they save a substantial amount of processing and load time by using PHP and cURL to cache dynamic web pages on the server. Their method caches session variables, as well as the HTML. Products and technologies: C/C++ Compiler, COBOL, Fortran Compiler
The Rational solution for Collaborative Lifecycle Management is a set of seamlessly integrated applications that work together as one: IBM® Rational Team Concert, IBM® Rational® Quality Manager, and IBM® Rational® Requirements Composer.
As we're knee-deep in preparations for Innovate, IBM's Technical Summit, we're still committed to getting you the best information we can to help you be successful with our products an in your daily work. To that end, here's the articles, featured downloads and upcoming webcasts that went live on developerWorks Rational last week:
Plan and design for product variants for long-term success
By: Joanne L. Scouler, Curriculum Architect, IBM and Martin R. Bakal, Worldwide Offering Manager, Electronics Industry, IBM
Incentives and best practices for a product variants strategy, implementation, and management Products: IBM Rational DOORS, IBM Rational ClearCase, IBM Rational Rhapsody
Stopwatch demo showing model-driven development with IBM Rational Rhapsody in Ada- Ada is a rich high-level language designed for embedded real-time, high integrity and large scale systems development. Progressively, in the Ada 95 and Ada 2005 revisions, it has incorporated more and more Object Oriented (OO) features further increasing its power and richness. During a similar timeframe there has been continued expansion in the use of the industry-standard OMG Unified Modeling Language (UML) for documenting OO designs in C++ and Java. There is arguably no better time for combining the two to help resolve longetivity challenges associated with maintaining Ada software designs. In this video we focus on the core principles and benefits of Model-Driven Development using IBM Rational Rhapsody; including automatically keeping the design and code synchronized at all times and showing its integration with compilers, including AdaCore's GNAT Pro compiler chain. The video uses a Stopwatch example model to highlight the added benefits of higher-level abstractions in UML2 to enable developers to focus on the essential parts of the design and make use of graphical programming techniques to speed up development and capture traceability to requirements. We also showcase Rhapsody in Ada features such as the newer Advanced roundtrip and model-level debugging.
We're glad you asked! Here's the articles, downloads, and other odd & ends that went live on developerWorks Rational recently:
Being agile while still being compliant By: Keith Collyer, PhD, Senior Solution Manager, Electronics and Medical Devices Industry Solutions, IBM and Jordi Manzano, Software Quality Assurance Manager and Deputy Director of R&D, Diagnostic Grifols A practical approach to agile development practices for medical device manufacturers Product: Rational DOORS
Agile analysis practices for safety-critical software development By: Bruce Douglass, Rational Chief Evangelist, Systems Engineering, I.B.M. Bruce Douglass, author of the IBM® Rational® Harmony™ for Embedded RealTime Development process, explains why and how to apply agile methods to the key analysis practices for development of safety-critical systems. Products: IBM Rational DOORS, IBM Rational Rhapsody
IBM Rational Team Concert IBM Rational Team Concert, based on the Jazz platform, now supports any plan, any process, any platform. New formal planning templates support traditional project phases, while new risk management capabilities can be used by any traditional, agile or hybrid team. With a single release for all platforms, simple role-based user licensing, no charge for the server software, and new flexible pricing models, you are free to mix and match deployments to suit your particular environments. Rational Team Concert is free for up to 10 developers.
Rational Test Workbench IBM Rational Test Workbench delivers end-to-end functional, regression, load, and integration testing to address the quality challenges of highly complex applications. Registration and sales representative assistance required for access to the 30-day free trial. Register on Passport advantage today.
IBM Rational Rhapsody The IBM Rational Rhapsody software is available in different editions to help systems engineers and developers of embedded software analyze, design, develop, test, and deliver embedded, real-time systems and software.
We are pleased to feature Contributing Author Fabio Castiglioni: Fabio Castiglioni is an Executive IT Architect with IBM Sales and Distribution in Italy. He has 30 years of experience in IT, 13 in development labs where he held technical and management positions in international projects. Earlier in his career, Fabio was Technical Director for research projects on object-oriented technologies, Senior IT Architect in major integration projects, and Technical Leader for the Government Industry for IBM South Europe. Fabio is one of the teachers of Component Modeling classes for IBM architects and has published several articles on the subject of nonfunctional requirements.
The new year is starting to really ramp up as we all return from our holidays and start digging into strategies and goals for 2013... Of course one of those goals is to remain committed to bringing you the latest and greatest content you need! So, here you go! The following items went live on developerWorks Rational this week:
Three steps to rapid development of high-quality medical devices By: Keith Collyer, PhD, Senior Solution Manager, Electronics and Medical Devices Industry Solutions, IBM, Martin R. Bakal, Worldwide Offering Manager, Electronics Industry, IBM, and Paridhi Verma, Go-to-Market Manager, Electronics Industry, IBM Medical device developers face challenges that are different from those in developing products in most other industries. Chief among these is the imperative of compliance with safety regulations and industry standards. Three IBM experts describe ways to enhance key processes and improve and integrate to accelerate development, yet still produce high-quality devices that comply with regulations. Products: Rational DOORS, Rational Team Concert, Rational Quality Manager, Rational Rhapsody
Improve safety-related software development with a model-based testing workflow By: Paul Urban, Senior Systems Market Manager, IBM Corporation and Udo Brockmeyer, PhD, CEO, BTC Embedded Systems AG Developing safety-critical software, where failure can result in injury or loss of life, such as in airplanes, automobiles, trains, or medical devices, requires extra care and effort. The delivery of safe code that is compliant with strict development standards and guidelines such as DO-178C, DO-178B, ISO 26262, IEC 61508, or IEC 62304, can result in increased time and cost of the project. This article describes how to extend the advantages of using the Rhapsody Reference workflow included with the IBM Rational Rhapsody Kit for ISO 26262 and IEC 61508 for development of safety-critical applications. You will learn about the Rhapsody Reference workflow, and how to use model-based testing with the Rational Rhapsody TestConductor Add On to verify the model and the generated code. This reduces the time to deliver high-quality software yet still complies with safety standards. Product: Rational Rhapsody
Error handling in embedded SQL for C/C++ on IBM z/OS systems By: Francesco Cassullo, Software Developer, IBM and Igor Todorovski, Software Developer, IBM This is a guide to detecting SQL errors in C/C++ applications with embedded SQL on the IBM z/OS platform. It includes sample code for performing simple error-checking and a more advanced technique for more in-depth error analysis. All material is based on and tested with IBM z/OS DB2 Versions 8 to 10 and z/OS XL C/C++ compilers V1R11 to V1R13. Product: C/C++ Compilers
Featured download: IBM Rational Rhapsody IBM Rational Rhapsody family provides multiple editions to help systems engineers and embedded software developers analyze, design, develop, test, and deliver embedded, real-time systems and software.
This week we are also highlighting the following items on our pages that you may find of interest:
Our developers were busy over the Thanksgiving holiday week, working tirelessly to get you the fixes and updates you need! Here's the latest and greatest downloads which have gone live from Rational Support since November 13th.... and don't forget to check out the downloads tag to see the fixes you may have missed over the summer and early fall months:
As you recover from a hopefully fun Halloween night, here's the latest downloads which have gone live from Rational Support since October 22nd, presented below to help you find the fixes you need.... and don't forget to check out the downloads tag to see the fixes you may have missed over the summer: