SlideShare a Scribd company logo
1 of 11
Download to read offline
Automate document generation from SysML
     models with Rational Rhapsody ReporterPLUS
     Techniques for producing documents required as systems
     engineering project deliverables

     Skill Level: Intermediate


     Rodrigo A. Batista (Rodrigo.Batista@suzlon.com)
     Systems engineer
     Suzlon Energy GmbH



     03 May 2011


     This article explains techniques to generate documents from IBM® Rational®
     Rhapsody SysML models, using the Rhapsody ReporterPLUS feature. Automated
     document generation from existing models enhances consistency between the
     different representations of the system used throughout system development. Using
     the right techniques, it is possible to produce publication-ready, human-readable
     documents that support engineering processes.
     Model-based systems engineering (MBSE) is widely recognized as providing an
     immense improvement to traditional development methods when it comes to
     complex or safety-relevant designs. Today, it is even used with document-centric
     approaches to fill in the gaps inherent in those methods.

     With the advent of SysML, which is an offshoot of UML specifically adapted to
     systems engineering, development teams have a semantic-rich notation to build
     models that illustrate very different aspects of a system under development. It
     greatly assists in all sorts of analysis tasks.

     SysML models contain so much information from so many different domains that it is
     a logical step to use this information to generate documents when they are required
     as part of the deliverables. This article focuses on using the combination of the
     ReporterPLUS feature with IBM® Rational® Rhapsody, along with Microsoft Word,
     to automate creation of human-readable documents from IBM Rational Rhapsody


Automate document generation from SysML models with Rational Rhapsody ReporterPLUS       Trademarks
© Copyright IBM Corporation 2011                                                        Page 1 of 11
developerWorks®                                                                      ibm.com/developerWorks



     SysML models.

     For background information on the use of document generation, see "A Modeling
     Approach to Document Generation" and "SysML models as a basis for automated
     document generation," which are both cited in the Resources section of this article.


     Document generation techniques in detail
     Document generation from a SysML model using the Rhapsody ReporterPLUS
     feature can be very straight-forward. The software already delivers some very useful
     templates. Simple new templates can be created easily in a visual manner by using
     the drag-and-drop method (for details, see Resources for a link to the online
     documentation). But, as always, the devil lies in the detail.

     Simon Morrish already provided some very good tips regarding the work with
     ReporterPLUS in his presentation titled "Working with ReporterPLUS!" (see
     Resources). Systems developers who want more adapted templates will need to get
     acquainted with Q-Language, the underlying scripting language for ReporterPLUS
     (see the official documentation). This article goes into advanced topics regarding
     document generation aimed at creating more readable documents that extract the
     important information from a SysML model and put this information in the correct
     context.

     Figure 1 shows the basic setup for document generation in the tool chain described
     in this article.

     Figure 1. Tool chain setup




     Some of the work of document generation is performed by ReporterPLUS in the .tpl
     file (ReporterPLUS template)/ This includes the whole work of information extraction
     from the SysML model and some formatting of the generated document. Another
     part of the work is performed by the .dot file (Microsoft Word template), which can do
     most of the formatting and even some of the more advanced transformations of the
     text through Visual Basic for Applications (VBA) macros. The result of this highly
     configurable process is, ideally, a very readable document that is well adapted to the
     needs of the target audience.

     The aim of the setup that this article describes is to generate a document with these


Automate document generation from SysML models with Rational Rhapsody ReporterPLUS               Trademarks
© Copyright IBM Corporation 2011                                                                Page 2 of 11
ibm.com/developerWorks                                                                  developerWorks®



     characteristics:

               • Customized title page with some fields providing information extracted
                 from the model
               • Table of contents (a standard feature of ReporterPLUS that will be not
                 further described in this article)
               • Table of figures
               • Use of rich text formatting in the Rhapsody model description fields
                 throughout the document
               • Attractive tables with adapted width and colored first row
               • Suppression of model elements with specific stereotypes attached
               • Documentation of model element interdependencies modeled as
                 allocations
               • A requirements traceability table showing all applicable requirements
                 (only those linked to the model elements described by the document)
                 hyperlinked to the corresponding model element description in the
                 generated document.
     But first the next section introduces some of the techniques used in the Rational
     Rhapsody ReporterPLUS feature.


     Rhapsody ReporterPLUS techniques
     In Rational Rhapsody, whenever a model element is created that the user does not
     intend to be part of the documentation, it needs a specific stereotype attached to it.
     If, for example, the model includes simulation-related elements that will not appear in
     the system documentation (because it will describe only the physical system), the
     user can include a stereotype called «forSimulationOnly». In Rhapsody
     ReporterPLUS, you can include this constraint (also shown in the screenshot in
     Figure 2) in any loop where you want to prevent such model elements from
     appearing in the final document:


       $name of [stereotypes]~<> "forSimulationOnly"


     Figure 2. Omitting specific stereotypes




Automate document generation from SysML models with Rational Rhapsody ReporterPLUS           Trademarks
© Copyright IBM Corporation 2011                                                            Page 3 of 11
developerWorks®                                                                      ibm.com/developerWorks




     At different places in the document, description fields extracted from the SysML
     model are going to be inserted. They can have rich text formatting (RTF), which will
     not be automatically translated by Microsoft Word to the corresponding formatting.
     To translate this formatting code into actual bold, italics, font sizes, and other styles,
     you will need to use Microsoft's Visual Basic for Applications (VBA). To this end, the
     first step is to tag the RTF fields so that the VBA macros can find them later on:


           1.     First, proceed by locating the RTF-formatted model elements in the tree
                  structure for the document in ReporterPLUS. These elements are
                  descriptions attached to model elements that are accessible through the
                  «$descriptionRTF» field.

           2.     In the body of the document section, precede this tag with
                  ##BeginRTF##, and then put a ##EndRTF## after the description field.

     Figure 3 shows how this looks in ReporterPLUS. Enclosing the tag like this will make
     it easier to find the RTF-formatted code using regular expressions in VBA.

     Figure 3. Tagging RTF Heading and Body fields




     In a similar way, you can indicate the place where you want to have the table of
     figures by using this markup: ##InsertTOF##.

     For the figure captions, you can put the name of the diagram inside
     ##BeginFigureCaption## and ##EndFigureCaption## tags.

     According to the requirements stipulated, the resulting document shall include
     hyperlinks from the requirements to the elements that they are allocated to. For that
     purpose, you can use Microsoft Word bookmarks. To make these bookmarks


Automate document generation from SysML models with Rational Rhapsody ReporterPLUS               Trademarks
© Copyright IBM Corporation 2011                                                                Page 4 of 11
ibm.com/developerWorks                                                               developerWorks®



     unique, take the GUID from the Rational Rhapsody model, which is unique inside a
     model.

     The GUID is a further model property that is available in ReporterPLUS. In
     Q-Language, this is accessible as «$GUID». To generate the bookmark, you will
     need to use the follwing code:


       [BOOKMARK: name=(«$GUID»)]«$displayName» [CR]


     Figure 4 shows the creation of these bookmarks in ReporterPLUS.

     Figure 4. Creating bookmarks using GUIDs




     In common systems engineering processes such as IBM® Harmony, T. Weilkien's
     SYSMOD, or S. Friedenthal's OOSEM, functions in a model are always allocated to
     physical blocks to indicate their expected behavior. In addition to this allocation
     between SysML activities and blocks, you use special allocations between activities
     and states, stereotyped as «validInState», to create a bridge between the
     activities and the state or mode of operation where they are expected to be
     performed. We show this relationship in the documentation in the form, as shown in
     Figure 5 (columns for "Function Name" and "Available in States/Modes").

     Figure 5. The allocation of activities to blocks and states in the generated
     document




     In order to achieve this, a somewhat more complex construct is required. This is the
     procedure:


           1.     Iterate over blocks.

           2.     Iterate over the association "references" with this condition:
                  $name = $name of [dependsOn]



Automate document generation from SysML models with Rational Rhapsody ReporterPLUS        Trademarks
© Copyright IBM Corporation 2011                                                         Page 5 of 11
developerWorks®                                                                      ibm.com/developerWorks




           3.     The activity name is output though:
                  «$displayName of [owner]»

           4.     Iterate over the "dependency" class with this condition:

           5.     $metaClass of [dependsOn] = "State" and (for_all x in
                  [dependsOn]->[stereotypes] =>$name of x =
                  "validInState")
                  This will look for all dependencies that have a «validInState» stereotype
                  and are linked to states.

           6.     The state name is output through:
                  «$displayName of [dependsOn]»

     Figure 6 shows the corresponding node structure in the ReporterPLUS template.

     Figure 6. Allocating activities to blocks and states, template node structure




     Finally, you need to have hyperlinks from the requirements to the elements that they
     are allocated to. You have already seen how the GUIDs for the different elements in
     the model have been used to create the bookmarks. The hyperlinks are created by
     using the following command in ReporterPLUS:


       [LINK: text=("some text"), bookmark=(someBookmark)]


     Now you need to iterate only over all requirements, see whether they are allocated
     to model elements, and find this element's GUID:


           1.     Iterate over the Requirement class.

           2.     Iterate over class the Class class, with this condition:
                  <Specific Object>filter { ($name of [dependsOn] ~=
                  $name of this) } over all "Dependency"
                  Tip:


Automate document generation from SysML models with Rational Rhapsody ReporterPLUS               Trademarks
© Copyright IBM Corporation 2011                                                                Page 6 of 11
ibm.com/developerWorks                                                                developerWorks®



                  Look for all elements in the model with a dependency on this requirement.

           3.     Create a hyperlink using «$name of [dependent]» as the text and
                  «$GUID of [dependent]» as the bookmark.

     Rational Rhapsody ReporterPLUS can do basic formatting in the sense of font styles
     (bold, italic, underline). It can also create bookmarks and links to them. It cannot do
     more advanced table formatting (width, cell colors, and so forth) to create figure and
     table captions or to interpret rich text format. The section that follows, "Formatting
     with Microsoft Word and VBA macros," covers, in detail, the steps required to
     overcome these limitations.


     Formatting with Microsoft Word and VBA macros
     The Microsoft Word template will handle some reformatting of the document. To
     make the process automatic, the corresponding procedures are called in the
     AutoOpen() macro of the document. This is a special macro that is automatically
     called upon opening the document.


           1.     In order to create the AutoOpen() macro, you will need to press Alt-F11 in
                  Microsoft Word to access the VBA environment, and then create a
                  module.

           2.     In that module, write a procedure called AutoOpen().

           3.     In that procedure you can enter your custom formatting code.

     You can find more information on the AutoOpen() macro on the Microsoft Support
     website (see Resources).

     The problem with simply using AutoOpen() is that all reformatting is performed every
     time that the document is opened, as opposed to only the first time. To prevent this,
     define (in the template) a Boolean document property called "FormattingPerformed"
     set to false. The AutoOpen() macro checks this property. If it is false, it performs all
     formatting operations and then sets it to true. If the property is true, then the
     formatting has already been performed and the AutoOpen() terminates.

     Create figure captions

     The next step is to create captions for all of the figures in the document. The macro
     searches for all instances of ##BeginFigureCaption## and
     ##EndFigureCaption##, removes these tags, and puts the text in between these
     tags in a figure caption, using the InsertCaption VBA method. This article does not
     go into implementation details for these macros, please refer to the basic VBA
     literature.


Automate document generation from SysML models with Rational Rhapsody ReporterPLUS         Trademarks
© Copyright IBM Corporation 2011                                                          Page 7 of 11
developerWorks®                                                                      ibm.com/developerWorks



     After the captions are created, you can let Microsoft Word generate a Table of
     Figures. Look for the ##InsertTOF## tag, remove it, and at that same place in the
     document, execute the following VBA code:


       ActiveDocument.TablesOfFigures.Add Caption:="Figure"


     Format tables

     To format tables:


           1.     Define a new table style with shading of the first row.

           2.     Apply the style to each table in the document.

           3.     Then set the wdAutoFitContent property and change border styles to
                  fit the desired appearance (see Figure 5).

     Next, you need to tackle the task of replacing the RTF formatting commands
     included by ReporterPLUS as clear text with correctly formatted text. To achieve
     this, you can use the method described in the Microsoft Help and online Support:
     How to paste a Rich Text Format string into Word with Visual Basic Automation (see
     Resources for a link). The method basically requires the RTF text to be explicitly
     copied to the clipboard as RTF text:


       lRTF = RegisterClipboardFormat("Rich Text Format")


     Then you copy it from the clipboard and paste it back into the document. Because
     this requires access to Microsoft Windows DLL files that are normally not directly
     available for VBA macros, you will need some additional code. For details, see the
     same Microsoft Support document mentioned previously.


     Summary
     As this article has explained, you can use the Rational Rhapsody ReporterPLUS
     feature (which is highly configurable, using Q Language) and the flexibility available
     for document manipulation through VBA to customize document generation from
     IBM Rational Rhapsody SysML models. With these tools, you can truly suit the
     needs of your target audience.




Automate document generation from SysML models with Rational Rhapsody ReporterPLUS               Trademarks
© Copyright IBM Corporation 2011                                                                Page 8 of 11
ibm.com/developerWorks                                                               developerWorks®




     Resources
     Learn
        • Citations in this article:
               • Jenkins, S. A Modeling Approach to Document Generation, INCOSE
                 Insight. December 2009, Volume 12, Issue 4.
               • Batista et al. SysML models as a basis for automated document
                 generation. Presented by Batista, R. et al. at the INCOSE German
                 chapter's "Tag des Systems Engineering 2010" conference.
               • Q Language section of the ReporterPLUS Guide. Official documentation.
               • Morrish, S. Working with ReporterPLUS!. 2008. You can download the
                 PDF called "ReporterPLUS hints."
               • Microsoft Support website: How to paste a Rich Text Format string into
                 Word with Visual Basic Automation. Retrieved 23 February 2011.
               • Microsoft Support website: WD2000: Auto Macros in Word. Retrieved 23
                 February 2011.

        • Read the Reporting with Rational Rhapsody ReporterPLUS documentation in
          the Reporting section of the IBM Rational Rhapsody Information Center.
        • To learn more about this tool for collaborative, model-driven development for
          embedded systems, start with these overviews:
               • Introduction to Rational Rhapsody
               • The Rational Rhapsody Developer product page
               • The Rational Rhapsody page on IBM developerWorks

        • Explore the various versions, too:
               • IBM® Rational® Rhapsody® Architect for Software, a visual development
                 environment for embedded systems and software
               • IBM® Rational® Rhapsody® Architect for Systems Engineers
               • IBM® Rational® Rhapsody® Designer for Systems Engineers
               • IBM® Rational® Rhapsody® Developer edition. This edition is required for
                 Eclipse users and these editions are available to create specialized C,
                 C++, Java, or Ada projects.

        • Visit the Rational software area on developerWorks for technical resources and
          best practices for Rational Software Delivery Platform products.


Automate document generation from SysML models with Rational Rhapsody ReporterPLUS         Trademarks
© Copyright IBM Corporation 2011                                                          Page 9 of 11
developerWorks®                                                                      ibm.com/developerWorks



        • Stay current with developerWorks technical events and webcasts focused on a
          variety of IBM products and IT industry topics.
               • Attend a free developerWorks Live! briefing to get up-to-speed quickly on
                 IBM products and tools, as well as IT industry trends.
               • Watch developerWorks on-demand demos, ranging from product
                 installation and setup demos for beginners to advanced functionality for
                 experienced developers.

        • Improve your skills. Take the Telelogic Rhapsody ReporterPLUS web-based
          training course (OQQ205), and check the Rational training and certification
          catalog, which includes many types of courses on a wide range of topics. You
          can take some of them anywhere, any time, and many of the "Getting Started"
          ones are free.
     Get products and technologies
        • Download Rational Rhapsody Developer and try it free for 30 days.
        • Evaluate IBM software in the way that suits you best: Download it for a trial, try
          it online, use it in a cloud environment, or spend a few hours in the SOA
          Sandbox learning how to implement service-oriented architecture efficiently.
     Discuss
        • Join the discussion in the Rational Rhapsody forum. Ask and answer questions
          and increase your expertise when you get involved in the other Rational forums,
          cafés, and wikis, too.
        • Share your knowledge and help others who use Rational software by writing a
          developerWorks article. You'll get worldwide exposure, RSS syndication, a
          byline and a bio, and the benefit of professional editing and production on the
          developerWorks Rational website.
        • Follow Rational software on Facebook and Twitter (@ibmrational), and add your
          comments and requests.
        • Connect with others who share your interests by joining the developerWorks
          community and responding to the developer-driven blogs.



     About the author
     Rodrigo A. Batista




Automate document generation from SysML models with Rational Rhapsody ReporterPLUS              Trademarks
© Copyright IBM Corporation 2011                                                               Page 10 of 11
ibm.com/developerWorks                                                                developerWorks®



                    Rodrigo A. Batista graduated from RWTH Aachen (Germany) as an
                    aeronautics engineer. He has been working for more than seven years
                    in the aerospace industry, particularly in the development of electronic
                    equipment. In recent years, he has been actively involved in the
                    deployment of systems engineering processes with emphasis in
                    requirements engineering and model-based systems engineering
                    (MBSE). Since February 2011 he has been working for Suzlon Energy
                    GmbH, in the wind energy sector. The work presented in this article
                    originated during his consultancy job at Berner & Mattner
                    Systemtechnik GmbH (http://www.berner-mattner.com).




Automate document generation from SysML models with Rational Rhapsody ReporterPLUS         Trademarks
© Copyright IBM Corporation 2011                                                          Page 11 of 11

More Related Content

What's hot

Zensar Retail Presentation
Zensar Retail PresentationZensar Retail Presentation
Zensar Retail PresentationNiraj Singh
 
PLM and ERP: Separated by a common Bill of Materials (BOM)
PLM and ERP: Separated by a common Bill of Materials (BOM)PLM and ERP: Separated by a common Bill of Materials (BOM)
PLM and ERP: Separated by a common Bill of Materials (BOM)Oleg Shilovitsky
 
Creo packaging and solution capabilities presentation (1) za sajta creo desig...
Creo packaging and solution capabilities presentation (1) za sajta creo desig...Creo packaging and solution capabilities presentation (1) za sajta creo desig...
Creo packaging and solution capabilities presentation (1) za sajta creo desig...Victor Mitov
 
How BIM is able to optimise the design phase of a construction project
How BIM is able to optimise the design phase of a construction projectHow BIM is able to optimise the design phase of a construction project
How BIM is able to optimise the design phase of a construction projectJacob Ostwald
 
Why is DDS the Right Technology for the Industrial Internet?
Why is DDS the Right Technology for the Industrial Internet?Why is DDS the Right Technology for the Industrial Internet?
Why is DDS the Right Technology for the Industrial Internet?Real-Time Innovations (RTI)
 
INDUSTRY 4.0 SMART SUPPLY CHAIN
INDUSTRY 4.0 SMART SUPPLY CHAININDUSTRY 4.0 SMART SUPPLY CHAIN
INDUSTRY 4.0 SMART SUPPLY CHAINCNRFID
 
Building the Enterprise Data Lake - Important Considerations Before You Jump In
Building the Enterprise Data Lake - Important Considerations Before You Jump InBuilding the Enterprise Data Lake - Important Considerations Before You Jump In
Building the Enterprise Data Lake - Important Considerations Before You Jump InSnapLogic
 
Mechanical design engineer
Mechanical design engineerMechanical design engineer
Mechanical design engineerPrasanna M N
 
Design Principles for a Modern Data Warehouse
Design Principles for a Modern Data WarehouseDesign Principles for a Modern Data Warehouse
Design Principles for a Modern Data WarehouseRob Winters
 
The Microsoft Well Architected Framework For Data Analytics
The Microsoft Well Architected Framework For Data AnalyticsThe Microsoft Well Architected Framework For Data Analytics
The Microsoft Well Architected Framework For Data AnalyticsStephanie Locke
 
Storytelling in Software Development
Storytelling in Software Development Storytelling in Software Development
Storytelling in Software Development Nagarro
 
Azure data analytics platform - A reference architecture
Azure data analytics platform - A reference architecture Azure data analytics platform - A reference architecture
Azure data analytics platform - A reference architecture Rajesh Kumar
 
4th Qatar BIM User Day, BIM Guides and Standards
4th Qatar BIM User Day, BIM Guides and Standards4th Qatar BIM User Day, BIM Guides and Standards
4th Qatar BIM User Day, BIM Guides and StandardsBIM User Day
 

What's hot (15)

modular-design-playbook
modular-design-playbookmodular-design-playbook
modular-design-playbook
 
Zensar Retail Presentation
Zensar Retail PresentationZensar Retail Presentation
Zensar Retail Presentation
 
PLM and ERP: Separated by a common Bill of Materials (BOM)
PLM and ERP: Separated by a common Bill of Materials (BOM)PLM and ERP: Separated by a common Bill of Materials (BOM)
PLM and ERP: Separated by a common Bill of Materials (BOM)
 
Creo packaging and solution capabilities presentation (1) za sajta creo desig...
Creo packaging and solution capabilities presentation (1) za sajta creo desig...Creo packaging and solution capabilities presentation (1) za sajta creo desig...
Creo packaging and solution capabilities presentation (1) za sajta creo desig...
 
How BIM is able to optimise the design phase of a construction project
How BIM is able to optimise the design phase of a construction projectHow BIM is able to optimise the design phase of a construction project
How BIM is able to optimise the design phase of a construction project
 
Why is DDS the Right Technology for the Industrial Internet?
Why is DDS the Right Technology for the Industrial Internet?Why is DDS the Right Technology for the Industrial Internet?
Why is DDS the Right Technology for the Industrial Internet?
 
INDUSTRY 4.0 SMART SUPPLY CHAIN
INDUSTRY 4.0 SMART SUPPLY CHAININDUSTRY 4.0 SMART SUPPLY CHAIN
INDUSTRY 4.0 SMART SUPPLY CHAIN
 
Building the Enterprise Data Lake - Important Considerations Before You Jump In
Building the Enterprise Data Lake - Important Considerations Before You Jump InBuilding the Enterprise Data Lake - Important Considerations Before You Jump In
Building the Enterprise Data Lake - Important Considerations Before You Jump In
 
Mechanical design engineer
Mechanical design engineerMechanical design engineer
Mechanical design engineer
 
Kiran_Resume
Kiran_ResumeKiran_Resume
Kiran_Resume
 
Design Principles for a Modern Data Warehouse
Design Principles for a Modern Data WarehouseDesign Principles for a Modern Data Warehouse
Design Principles for a Modern Data Warehouse
 
The Microsoft Well Architected Framework For Data Analytics
The Microsoft Well Architected Framework For Data AnalyticsThe Microsoft Well Architected Framework For Data Analytics
The Microsoft Well Architected Framework For Data Analytics
 
Storytelling in Software Development
Storytelling in Software Development Storytelling in Software Development
Storytelling in Software Development
 
Azure data analytics platform - A reference architecture
Azure data analytics platform - A reference architecture Azure data analytics platform - A reference architecture
Azure data analytics platform - A reference architecture
 
4th Qatar BIM User Day, BIM Guides and Standards
4th Qatar BIM User Day, BIM Guides and Standards4th Qatar BIM User Day, BIM Guides and Standards
4th Qatar BIM User Day, BIM Guides and Standards
 

Similar to Automate document generation from SysML models with Rational Rhapsody ReporterPLUS

SAP ABAP Latest Interview Questions
SAP ABAP Latest  Interview Questions SAP ABAP Latest  Interview Questions
SAP ABAP Latest Interview Questions piyushchawala
 
bi-publisher.pptx
bi-publisher.pptxbi-publisher.pptx
bi-publisher.pptxkjkombrink
 
RPE - Template formating, style and stylesheet usage
RPE - Template formating, style and stylesheet usageRPE - Template formating, style and stylesheet usage
RPE - Template formating, style and stylesheet usageGEBS Reporting
 
Code That Writes Code : Automatic Programming for NHibernate
Code That Writes Code : Automatic Programming for NHibernateCode That Writes Code : Automatic Programming for NHibernate
Code That Writes Code : Automatic Programming for NHibernateDeepak Sahu
 
Assignment # 2PreliminariesImportant Points· Evidence of acad.docx
Assignment  # 2PreliminariesImportant Points· Evidence of acad.docxAssignment  # 2PreliminariesImportant Points· Evidence of acad.docx
Assignment # 2PreliminariesImportant Points· Evidence of acad.docxjane3dyson92312
 
XMLPublisher
XMLPublisherXMLPublisher
XMLPublisherJAYAARC
 
Design Patterns in Electronic Data Management
Design Patterns in Electronic Data ManagementDesign Patterns in Electronic Data Management
Design Patterns in Electronic Data ManagementGlen Alleman
 
Crystal Reports Review
Crystal Reports ReviewCrystal Reports Review
Crystal Reports ReviewJustin R. Rue
 
MDD and modeling tools research
MDD and modeling tools researchMDD and modeling tools research
MDD and modeling tools researchRoger Xia
 
Super applied in a sitecore migration project
Super applied in a sitecore migration projectSuper applied in a sitecore migration project
Super applied in a sitecore migration projectdodoshelu
 
IM in Graph 2017-05.pdf
IM in Graph 2017-05.pdfIM in Graph 2017-05.pdf
IM in Graph 2017-05.pdfMichal Miklas
 
Deliver Dynamic and Interactive Web Content in J2EE Applications
Deliver Dynamic and Interactive Web Content in J2EE ApplicationsDeliver Dynamic and Interactive Web Content in J2EE Applications
Deliver Dynamic and Interactive Web Content in J2EE Applicationsinfopapers
 
the Modeling is a way of thinking about the
the Modeling is a way of thinking about thethe Modeling is a way of thinking about the
the Modeling is a way of thinking about thesaman zaker
 
Basic concepts and terminology for the Requirements Management application
Basic concepts and terminology for the Requirements Management applicationBasic concepts and terminology for the Requirements Management application
Basic concepts and terminology for the Requirements Management applicationIBM Rational software
 
MongoDB Schema Design by Examples
MongoDB Schema Design by ExamplesMongoDB Schema Design by Examples
MongoDB Schema Design by ExamplesHadi Ariawan
 
Agile Methodology Approach to SSRS Reporting
Agile Methodology Approach to SSRS ReportingAgile Methodology Approach to SSRS Reporting
Agile Methodology Approach to SSRS ReportingDanielson Samuel
 
Serena Mainframe VUG In-Com
Serena Mainframe VUG In-Com Serena Mainframe VUG In-Com
Serena Mainframe VUG In-Com Serena Software
 

Similar to Automate document generation from SysML models with Rational Rhapsody ReporterPLUS (20)

SAP ABAP Latest Interview Questions
SAP ABAP Latest  Interview Questions SAP ABAP Latest  Interview Questions
SAP ABAP Latest Interview Questions
 
bi-publisher.pptx
bi-publisher.pptxbi-publisher.pptx
bi-publisher.pptx
 
RPE - Template formating, style and stylesheet usage
RPE - Template formating, style and stylesheet usageRPE - Template formating, style and stylesheet usage
RPE - Template formating, style and stylesheet usage
 
Code That Writes Code : Automatic Programming for NHibernate
Code That Writes Code : Automatic Programming for NHibernateCode That Writes Code : Automatic Programming for NHibernate
Code That Writes Code : Automatic Programming for NHibernate
 
Dbms fast track 2/3
Dbms fast track 2/3Dbms fast track 2/3
Dbms fast track 2/3
 
Assignment # 2PreliminariesImportant Points· Evidence of acad.docx
Assignment  # 2PreliminariesImportant Points· Evidence of acad.docxAssignment  # 2PreliminariesImportant Points· Evidence of acad.docx
Assignment # 2PreliminariesImportant Points· Evidence of acad.docx
 
XMLPublisher
XMLPublisherXMLPublisher
XMLPublisher
 
Design Patterns in Electronic Data Management
Design Patterns in Electronic Data ManagementDesign Patterns in Electronic Data Management
Design Patterns in Electronic Data Management
 
Crystal Reports Review
Crystal Reports ReviewCrystal Reports Review
Crystal Reports Review
 
Project Report on SAP
Project Report on SAPProject Report on SAP
Project Report on SAP
 
MDD and modeling tools research
MDD and modeling tools researchMDD and modeling tools research
MDD and modeling tools research
 
Super applied in a sitecore migration project
Super applied in a sitecore migration projectSuper applied in a sitecore migration project
Super applied in a sitecore migration project
 
IM in Graph 2017-05.pdf
IM in Graph 2017-05.pdfIM in Graph 2017-05.pdf
IM in Graph 2017-05.pdf
 
Deliver Dynamic and Interactive Web Content in J2EE Applications
Deliver Dynamic and Interactive Web Content in J2EE ApplicationsDeliver Dynamic and Interactive Web Content in J2EE Applications
Deliver Dynamic and Interactive Web Content in J2EE Applications
 
the Modeling is a way of thinking about the
the Modeling is a way of thinking about thethe Modeling is a way of thinking about the
the Modeling is a way of thinking about the
 
Basic concepts and terminology for the Requirements Management application
Basic concepts and terminology for the Requirements Management applicationBasic concepts and terminology for the Requirements Management application
Basic concepts and terminology for the Requirements Management application
 
MongoDB Schema Design by Examples
MongoDB Schema Design by ExamplesMongoDB Schema Design by Examples
MongoDB Schema Design by Examples
 
Agile Methodology Approach to SSRS Reporting
Agile Methodology Approach to SSRS ReportingAgile Methodology Approach to SSRS Reporting
Agile Methodology Approach to SSRS Reporting
 
Serena Mainframe VUG In-Com
Serena Mainframe VUG In-Com Serena Mainframe VUG In-Com
Serena Mainframe VUG In-Com
 
Entity framework
Entity frameworkEntity framework
Entity framework
 

More from Bill Duncan

Red Hat Accredited Professional - Red Hat Sales Specialist Infrastructure as ...
Red Hat Accredited Professional - Red Hat Sales Specialist Infrastructure as ...Red Hat Accredited Professional - Red Hat Sales Specialist Infrastructure as ...
Red Hat Accredited Professional - Red Hat Sales Specialist Infrastructure as ...Bill Duncan
 
Ibm bluemix—from idea to application by karim abousedera
Ibm bluemix—from idea to application by karim abousederaIbm bluemix—from idea to application by karim abousedera
Ibm bluemix—from idea to application by karim abousederaBill Duncan
 
IBM Federal Systems Integrator Forum at InterConnect
IBM Federal Systems Integrator Forum at InterConnectIBM Federal Systems Integrator Forum at InterConnect
IBM Federal Systems Integrator Forum at InterConnectBill Duncan
 
Create software builds with jazz team build
Create software builds with jazz team buildCreate software builds with jazz team build
Create software builds with jazz team buildBill Duncan
 
How DOORS Helps JPL Get to Mars & Beyond
How DOORS Helps JPL Get to Mars & BeyondHow DOORS Helps JPL Get to Mars & Beyond
How DOORS Helps JPL Get to Mars & BeyondBill Duncan
 
Space Quarterly: September 2011
Space Quarterly:  September 2011Space Quarterly:  September 2011
Space Quarterly: September 2011Bill Duncan
 
Tutorial: Create a custom work item in Rational Team Concert
Tutorial: Create a custom work item in Rational Team ConcertTutorial: Create a custom work item in Rational Team Concert
Tutorial: Create a custom work item in Rational Team ConcertBill Duncan
 
How to implement access restrictions to your EA artifacts using Rational Syst...
How to implement access restrictions to your EA artifacts using Rational Syst...How to implement access restrictions to your EA artifacts using Rational Syst...
How to implement access restrictions to your EA artifacts using Rational Syst...Bill Duncan
 
Speed delivery of Android devices and applications with model-driven development
Speed delivery of Android devices and applications with model-driven developmentSpeed delivery of Android devices and applications with model-driven development
Speed delivery of Android devices and applications with model-driven developmentBill Duncan
 
Optimize load handling for high-volume tests with IBM Rational Performance Te...
Optimize load handling for high-volume tests with IBM Rational Performance Te...Optimize load handling for high-volume tests with IBM Rational Performance Te...
Optimize load handling for high-volume tests with IBM Rational Performance Te...Bill Duncan
 
Improve software development project success with better information
Improve software development project success with better informationImprove software development project success with better information
Improve software development project success with better informationBill Duncan
 
Automate document generation from sys ml models with rational rhapsody report...
Automate document generation from sys ml models with rational rhapsody report...Automate document generation from sys ml models with rational rhapsody report...
Automate document generation from sys ml models with rational rhapsody report...Bill Duncan
 
Inadequate Security Practices Expose Key NASA Network to Cyber Attack
Inadequate Security Practices Expose Key NASA Network to Cyber AttackInadequate Security Practices Expose Key NASA Network to Cyber Attack
Inadequate Security Practices Expose Key NASA Network to Cyber AttackBill Duncan
 
Integrate Rational DOORS and Rational Team Concert change management
Integrate Rational DOORS and Rational Team Concert change managementIntegrate Rational DOORS and Rational Team Concert change management
Integrate Rational DOORS and Rational Team Concert change managementBill Duncan
 
IBM Rational Harmony Deskbook rel 3.1.2
IBM Rational Harmony Deskbook rel 3.1.2IBM Rational Harmony Deskbook rel 3.1.2
IBM Rational Harmony Deskbook rel 3.1.2Bill Duncan
 
Advanced Rational Performance Tester reports
Advanced Rational Performance Tester reportsAdvanced Rational Performance Tester reports
Advanced Rational Performance Tester reportsBill Duncan
 
Developing service component architecture applications using rational applica...
Developing service component architecture applications using rational applica...Developing service component architecture applications using rational applica...
Developing service component architecture applications using rational applica...Bill Duncan
 
Managing requirements across Analysis and Design phases using System Architec...
Managing requirements across Analysis and Design phases using System Architec...Managing requirements across Analysis and Design phases using System Architec...
Managing requirements across Analysis and Design phases using System Architec...Bill Duncan
 
What's New in Rational Team Concert 3.0
What's New in Rational Team Concert 3.0What's New in Rational Team Concert 3.0
What's New in Rational Team Concert 3.0Bill Duncan
 
Automatic Proactive Troubleshooting with IBM Rational Build Forge
Automatic Proactive Troubleshooting with IBM Rational Build ForgeAutomatic Proactive Troubleshooting with IBM Rational Build Forge
Automatic Proactive Troubleshooting with IBM Rational Build ForgeBill Duncan
 

More from Bill Duncan (20)

Red Hat Accredited Professional - Red Hat Sales Specialist Infrastructure as ...
Red Hat Accredited Professional - Red Hat Sales Specialist Infrastructure as ...Red Hat Accredited Professional - Red Hat Sales Specialist Infrastructure as ...
Red Hat Accredited Professional - Red Hat Sales Specialist Infrastructure as ...
 
Ibm bluemix—from idea to application by karim abousedera
Ibm bluemix—from idea to application by karim abousederaIbm bluemix—from idea to application by karim abousedera
Ibm bluemix—from idea to application by karim abousedera
 
IBM Federal Systems Integrator Forum at InterConnect
IBM Federal Systems Integrator Forum at InterConnectIBM Federal Systems Integrator Forum at InterConnect
IBM Federal Systems Integrator Forum at InterConnect
 
Create software builds with jazz team build
Create software builds with jazz team buildCreate software builds with jazz team build
Create software builds with jazz team build
 
How DOORS Helps JPL Get to Mars & Beyond
How DOORS Helps JPL Get to Mars & BeyondHow DOORS Helps JPL Get to Mars & Beyond
How DOORS Helps JPL Get to Mars & Beyond
 
Space Quarterly: September 2011
Space Quarterly:  September 2011Space Quarterly:  September 2011
Space Quarterly: September 2011
 
Tutorial: Create a custom work item in Rational Team Concert
Tutorial: Create a custom work item in Rational Team ConcertTutorial: Create a custom work item in Rational Team Concert
Tutorial: Create a custom work item in Rational Team Concert
 
How to implement access restrictions to your EA artifacts using Rational Syst...
How to implement access restrictions to your EA artifacts using Rational Syst...How to implement access restrictions to your EA artifacts using Rational Syst...
How to implement access restrictions to your EA artifacts using Rational Syst...
 
Speed delivery of Android devices and applications with model-driven development
Speed delivery of Android devices and applications with model-driven developmentSpeed delivery of Android devices and applications with model-driven development
Speed delivery of Android devices and applications with model-driven development
 
Optimize load handling for high-volume tests with IBM Rational Performance Te...
Optimize load handling for high-volume tests with IBM Rational Performance Te...Optimize load handling for high-volume tests with IBM Rational Performance Te...
Optimize load handling for high-volume tests with IBM Rational Performance Te...
 
Improve software development project success with better information
Improve software development project success with better informationImprove software development project success with better information
Improve software development project success with better information
 
Automate document generation from sys ml models with rational rhapsody report...
Automate document generation from sys ml models with rational rhapsody report...Automate document generation from sys ml models with rational rhapsody report...
Automate document generation from sys ml models with rational rhapsody report...
 
Inadequate Security Practices Expose Key NASA Network to Cyber Attack
Inadequate Security Practices Expose Key NASA Network to Cyber AttackInadequate Security Practices Expose Key NASA Network to Cyber Attack
Inadequate Security Practices Expose Key NASA Network to Cyber Attack
 
Integrate Rational DOORS and Rational Team Concert change management
Integrate Rational DOORS and Rational Team Concert change managementIntegrate Rational DOORS and Rational Team Concert change management
Integrate Rational DOORS and Rational Team Concert change management
 
IBM Rational Harmony Deskbook rel 3.1.2
IBM Rational Harmony Deskbook rel 3.1.2IBM Rational Harmony Deskbook rel 3.1.2
IBM Rational Harmony Deskbook rel 3.1.2
 
Advanced Rational Performance Tester reports
Advanced Rational Performance Tester reportsAdvanced Rational Performance Tester reports
Advanced Rational Performance Tester reports
 
Developing service component architecture applications using rational applica...
Developing service component architecture applications using rational applica...Developing service component architecture applications using rational applica...
Developing service component architecture applications using rational applica...
 
Managing requirements across Analysis and Design phases using System Architec...
Managing requirements across Analysis and Design phases using System Architec...Managing requirements across Analysis and Design phases using System Architec...
Managing requirements across Analysis and Design phases using System Architec...
 
What's New in Rational Team Concert 3.0
What's New in Rational Team Concert 3.0What's New in Rational Team Concert 3.0
What's New in Rational Team Concert 3.0
 
Automatic Proactive Troubleshooting with IBM Rational Build Forge
Automatic Proactive Troubleshooting with IBM Rational Build ForgeAutomatic Proactive Troubleshooting with IBM Rational Build Forge
Automatic Proactive Troubleshooting with IBM Rational Build Forge
 

Recently uploaded

DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 

Recently uploaded (20)

DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 

Automate document generation from SysML models with Rational Rhapsody ReporterPLUS

  • 1. Automate document generation from SysML models with Rational Rhapsody ReporterPLUS Techniques for producing documents required as systems engineering project deliverables Skill Level: Intermediate Rodrigo A. Batista (Rodrigo.Batista@suzlon.com) Systems engineer Suzlon Energy GmbH 03 May 2011 This article explains techniques to generate documents from IBM® Rational® Rhapsody SysML models, using the Rhapsody ReporterPLUS feature. Automated document generation from existing models enhances consistency between the different representations of the system used throughout system development. Using the right techniques, it is possible to produce publication-ready, human-readable documents that support engineering processes. Model-based systems engineering (MBSE) is widely recognized as providing an immense improvement to traditional development methods when it comes to complex or safety-relevant designs. Today, it is even used with document-centric approaches to fill in the gaps inherent in those methods. With the advent of SysML, which is an offshoot of UML specifically adapted to systems engineering, development teams have a semantic-rich notation to build models that illustrate very different aspects of a system under development. It greatly assists in all sorts of analysis tasks. SysML models contain so much information from so many different domains that it is a logical step to use this information to generate documents when they are required as part of the deliverables. This article focuses on using the combination of the ReporterPLUS feature with IBM® Rational® Rhapsody, along with Microsoft Word, to automate creation of human-readable documents from IBM Rational Rhapsody Automate document generation from SysML models with Rational Rhapsody ReporterPLUS Trademarks © Copyright IBM Corporation 2011 Page 1 of 11
  • 2. developerWorks® ibm.com/developerWorks SysML models. For background information on the use of document generation, see "A Modeling Approach to Document Generation" and "SysML models as a basis for automated document generation," which are both cited in the Resources section of this article. Document generation techniques in detail Document generation from a SysML model using the Rhapsody ReporterPLUS feature can be very straight-forward. The software already delivers some very useful templates. Simple new templates can be created easily in a visual manner by using the drag-and-drop method (for details, see Resources for a link to the online documentation). But, as always, the devil lies in the detail. Simon Morrish already provided some very good tips regarding the work with ReporterPLUS in his presentation titled "Working with ReporterPLUS!" (see Resources). Systems developers who want more adapted templates will need to get acquainted with Q-Language, the underlying scripting language for ReporterPLUS (see the official documentation). This article goes into advanced topics regarding document generation aimed at creating more readable documents that extract the important information from a SysML model and put this information in the correct context. Figure 1 shows the basic setup for document generation in the tool chain described in this article. Figure 1. Tool chain setup Some of the work of document generation is performed by ReporterPLUS in the .tpl file (ReporterPLUS template)/ This includes the whole work of information extraction from the SysML model and some formatting of the generated document. Another part of the work is performed by the .dot file (Microsoft Word template), which can do most of the formatting and even some of the more advanced transformations of the text through Visual Basic for Applications (VBA) macros. The result of this highly configurable process is, ideally, a very readable document that is well adapted to the needs of the target audience. The aim of the setup that this article describes is to generate a document with these Automate document generation from SysML models with Rational Rhapsody ReporterPLUS Trademarks © Copyright IBM Corporation 2011 Page 2 of 11
  • 3. ibm.com/developerWorks developerWorks® characteristics: • Customized title page with some fields providing information extracted from the model • Table of contents (a standard feature of ReporterPLUS that will be not further described in this article) • Table of figures • Use of rich text formatting in the Rhapsody model description fields throughout the document • Attractive tables with adapted width and colored first row • Suppression of model elements with specific stereotypes attached • Documentation of model element interdependencies modeled as allocations • A requirements traceability table showing all applicable requirements (only those linked to the model elements described by the document) hyperlinked to the corresponding model element description in the generated document. But first the next section introduces some of the techniques used in the Rational Rhapsody ReporterPLUS feature. Rhapsody ReporterPLUS techniques In Rational Rhapsody, whenever a model element is created that the user does not intend to be part of the documentation, it needs a specific stereotype attached to it. If, for example, the model includes simulation-related elements that will not appear in the system documentation (because it will describe only the physical system), the user can include a stereotype called «forSimulationOnly». In Rhapsody ReporterPLUS, you can include this constraint (also shown in the screenshot in Figure 2) in any loop where you want to prevent such model elements from appearing in the final document: $name of [stereotypes]~<> "forSimulationOnly" Figure 2. Omitting specific stereotypes Automate document generation from SysML models with Rational Rhapsody ReporterPLUS Trademarks © Copyright IBM Corporation 2011 Page 3 of 11
  • 4. developerWorks® ibm.com/developerWorks At different places in the document, description fields extracted from the SysML model are going to be inserted. They can have rich text formatting (RTF), which will not be automatically translated by Microsoft Word to the corresponding formatting. To translate this formatting code into actual bold, italics, font sizes, and other styles, you will need to use Microsoft's Visual Basic for Applications (VBA). To this end, the first step is to tag the RTF fields so that the VBA macros can find them later on: 1. First, proceed by locating the RTF-formatted model elements in the tree structure for the document in ReporterPLUS. These elements are descriptions attached to model elements that are accessible through the «$descriptionRTF» field. 2. In the body of the document section, precede this tag with ##BeginRTF##, and then put a ##EndRTF## after the description field. Figure 3 shows how this looks in ReporterPLUS. Enclosing the tag like this will make it easier to find the RTF-formatted code using regular expressions in VBA. Figure 3. Tagging RTF Heading and Body fields In a similar way, you can indicate the place where you want to have the table of figures by using this markup: ##InsertTOF##. For the figure captions, you can put the name of the diagram inside ##BeginFigureCaption## and ##EndFigureCaption## tags. According to the requirements stipulated, the resulting document shall include hyperlinks from the requirements to the elements that they are allocated to. For that purpose, you can use Microsoft Word bookmarks. To make these bookmarks Automate document generation from SysML models with Rational Rhapsody ReporterPLUS Trademarks © Copyright IBM Corporation 2011 Page 4 of 11
  • 5. ibm.com/developerWorks developerWorks® unique, take the GUID from the Rational Rhapsody model, which is unique inside a model. The GUID is a further model property that is available in ReporterPLUS. In Q-Language, this is accessible as «$GUID». To generate the bookmark, you will need to use the follwing code: [BOOKMARK: name=(«$GUID»)]«$displayName» [CR] Figure 4 shows the creation of these bookmarks in ReporterPLUS. Figure 4. Creating bookmarks using GUIDs In common systems engineering processes such as IBM® Harmony, T. Weilkien's SYSMOD, or S. Friedenthal's OOSEM, functions in a model are always allocated to physical blocks to indicate their expected behavior. In addition to this allocation between SysML activities and blocks, you use special allocations between activities and states, stereotyped as «validInState», to create a bridge between the activities and the state or mode of operation where they are expected to be performed. We show this relationship in the documentation in the form, as shown in Figure 5 (columns for "Function Name" and "Available in States/Modes"). Figure 5. The allocation of activities to blocks and states in the generated document In order to achieve this, a somewhat more complex construct is required. This is the procedure: 1. Iterate over blocks. 2. Iterate over the association "references" with this condition: $name = $name of [dependsOn] Automate document generation from SysML models with Rational Rhapsody ReporterPLUS Trademarks © Copyright IBM Corporation 2011 Page 5 of 11
  • 6. developerWorks® ibm.com/developerWorks 3. The activity name is output though: «$displayName of [owner]» 4. Iterate over the "dependency" class with this condition: 5. $metaClass of [dependsOn] = "State" and (for_all x in [dependsOn]->[stereotypes] =>$name of x = "validInState") This will look for all dependencies that have a «validInState» stereotype and are linked to states. 6. The state name is output through: «$displayName of [dependsOn]» Figure 6 shows the corresponding node structure in the ReporterPLUS template. Figure 6. Allocating activities to blocks and states, template node structure Finally, you need to have hyperlinks from the requirements to the elements that they are allocated to. You have already seen how the GUIDs for the different elements in the model have been used to create the bookmarks. The hyperlinks are created by using the following command in ReporterPLUS: [LINK: text=("some text"), bookmark=(someBookmark)] Now you need to iterate only over all requirements, see whether they are allocated to model elements, and find this element's GUID: 1. Iterate over the Requirement class. 2. Iterate over class the Class class, with this condition: <Specific Object>filter { ($name of [dependsOn] ~= $name of this) } over all "Dependency" Tip: Automate document generation from SysML models with Rational Rhapsody ReporterPLUS Trademarks © Copyright IBM Corporation 2011 Page 6 of 11
  • 7. ibm.com/developerWorks developerWorks® Look for all elements in the model with a dependency on this requirement. 3. Create a hyperlink using «$name of [dependent]» as the text and «$GUID of [dependent]» as the bookmark. Rational Rhapsody ReporterPLUS can do basic formatting in the sense of font styles (bold, italic, underline). It can also create bookmarks and links to them. It cannot do more advanced table formatting (width, cell colors, and so forth) to create figure and table captions or to interpret rich text format. The section that follows, "Formatting with Microsoft Word and VBA macros," covers, in detail, the steps required to overcome these limitations. Formatting with Microsoft Word and VBA macros The Microsoft Word template will handle some reformatting of the document. To make the process automatic, the corresponding procedures are called in the AutoOpen() macro of the document. This is a special macro that is automatically called upon opening the document. 1. In order to create the AutoOpen() macro, you will need to press Alt-F11 in Microsoft Word to access the VBA environment, and then create a module. 2. In that module, write a procedure called AutoOpen(). 3. In that procedure you can enter your custom formatting code. You can find more information on the AutoOpen() macro on the Microsoft Support website (see Resources). The problem with simply using AutoOpen() is that all reformatting is performed every time that the document is opened, as opposed to only the first time. To prevent this, define (in the template) a Boolean document property called "FormattingPerformed" set to false. The AutoOpen() macro checks this property. If it is false, it performs all formatting operations and then sets it to true. If the property is true, then the formatting has already been performed and the AutoOpen() terminates. Create figure captions The next step is to create captions for all of the figures in the document. The macro searches for all instances of ##BeginFigureCaption## and ##EndFigureCaption##, removes these tags, and puts the text in between these tags in a figure caption, using the InsertCaption VBA method. This article does not go into implementation details for these macros, please refer to the basic VBA literature. Automate document generation from SysML models with Rational Rhapsody ReporterPLUS Trademarks © Copyright IBM Corporation 2011 Page 7 of 11
  • 8. developerWorks® ibm.com/developerWorks After the captions are created, you can let Microsoft Word generate a Table of Figures. Look for the ##InsertTOF## tag, remove it, and at that same place in the document, execute the following VBA code: ActiveDocument.TablesOfFigures.Add Caption:="Figure" Format tables To format tables: 1. Define a new table style with shading of the first row. 2. Apply the style to each table in the document. 3. Then set the wdAutoFitContent property and change border styles to fit the desired appearance (see Figure 5). Next, you need to tackle the task of replacing the RTF formatting commands included by ReporterPLUS as clear text with correctly formatted text. To achieve this, you can use the method described in the Microsoft Help and online Support: How to paste a Rich Text Format string into Word with Visual Basic Automation (see Resources for a link). The method basically requires the RTF text to be explicitly copied to the clipboard as RTF text: lRTF = RegisterClipboardFormat("Rich Text Format") Then you copy it from the clipboard and paste it back into the document. Because this requires access to Microsoft Windows DLL files that are normally not directly available for VBA macros, you will need some additional code. For details, see the same Microsoft Support document mentioned previously. Summary As this article has explained, you can use the Rational Rhapsody ReporterPLUS feature (which is highly configurable, using Q Language) and the flexibility available for document manipulation through VBA to customize document generation from IBM Rational Rhapsody SysML models. With these tools, you can truly suit the needs of your target audience. Automate document generation from SysML models with Rational Rhapsody ReporterPLUS Trademarks © Copyright IBM Corporation 2011 Page 8 of 11
  • 9. ibm.com/developerWorks developerWorks® Resources Learn • Citations in this article: • Jenkins, S. A Modeling Approach to Document Generation, INCOSE Insight. December 2009, Volume 12, Issue 4. • Batista et al. SysML models as a basis for automated document generation. Presented by Batista, R. et al. at the INCOSE German chapter's "Tag des Systems Engineering 2010" conference. • Q Language section of the ReporterPLUS Guide. Official documentation. • Morrish, S. Working with ReporterPLUS!. 2008. You can download the PDF called "ReporterPLUS hints." • Microsoft Support website: How to paste a Rich Text Format string into Word with Visual Basic Automation. Retrieved 23 February 2011. • Microsoft Support website: WD2000: Auto Macros in Word. Retrieved 23 February 2011. • Read the Reporting with Rational Rhapsody ReporterPLUS documentation in the Reporting section of the IBM Rational Rhapsody Information Center. • To learn more about this tool for collaborative, model-driven development for embedded systems, start with these overviews: • Introduction to Rational Rhapsody • The Rational Rhapsody Developer product page • The Rational Rhapsody page on IBM developerWorks • Explore the various versions, too: • IBM® Rational® Rhapsody® Architect for Software, a visual development environment for embedded systems and software • IBM® Rational® Rhapsody® Architect for Systems Engineers • IBM® Rational® Rhapsody® Designer for Systems Engineers • IBM® Rational® Rhapsody® Developer edition. This edition is required for Eclipse users and these editions are available to create specialized C, C++, Java, or Ada projects. • Visit the Rational software area on developerWorks for technical resources and best practices for Rational Software Delivery Platform products. Automate document generation from SysML models with Rational Rhapsody ReporterPLUS Trademarks © Copyright IBM Corporation 2011 Page 9 of 11
  • 10. developerWorks® ibm.com/developerWorks • Stay current with developerWorks technical events and webcasts focused on a variety of IBM products and IT industry topics. • Attend a free developerWorks Live! briefing to get up-to-speed quickly on IBM products and tools, as well as IT industry trends. • Watch developerWorks on-demand demos, ranging from product installation and setup demos for beginners to advanced functionality for experienced developers. • Improve your skills. Take the Telelogic Rhapsody ReporterPLUS web-based training course (OQQ205), and check the Rational training and certification catalog, which includes many types of courses on a wide range of topics. You can take some of them anywhere, any time, and many of the "Getting Started" ones are free. Get products and technologies • Download Rational Rhapsody Developer and try it free for 30 days. • Evaluate IBM software in the way that suits you best: Download it for a trial, try it online, use it in a cloud environment, or spend a few hours in the SOA Sandbox learning how to implement service-oriented architecture efficiently. Discuss • Join the discussion in the Rational Rhapsody forum. Ask and answer questions and increase your expertise when you get involved in the other Rational forums, cafés, and wikis, too. • Share your knowledge and help others who use Rational software by writing a developerWorks article. You'll get worldwide exposure, RSS syndication, a byline and a bio, and the benefit of professional editing and production on the developerWorks Rational website. • Follow Rational software on Facebook and Twitter (@ibmrational), and add your comments and requests. • Connect with others who share your interests by joining the developerWorks community and responding to the developer-driven blogs. About the author Rodrigo A. Batista Automate document generation from SysML models with Rational Rhapsody ReporterPLUS Trademarks © Copyright IBM Corporation 2011 Page 10 of 11
  • 11. ibm.com/developerWorks developerWorks® Rodrigo A. Batista graduated from RWTH Aachen (Germany) as an aeronautics engineer. He has been working for more than seven years in the aerospace industry, particularly in the development of electronic equipment. In recent years, he has been actively involved in the deployment of systems engineering processes with emphasis in requirements engineering and model-based systems engineering (MBSE). Since February 2011 he has been working for Suzlon Energy GmbH, in the wind energy sector. The work presented in this article originated during his consultancy job at Berner & Mattner Systemtechnik GmbH (http://www.berner-mattner.com). Automate document generation from SysML models with Rational Rhapsody ReporterPLUS Trademarks © Copyright IBM Corporation 2011 Page 11 of 11