Report Wizard and VTL (2 days)


  1. Programming/Coding background REQUIRED. This course will NOT teach anyone how to be a programmer.

  2. Comfortable with use of Cameo/MagicDraw and basic features.

Course Overview

  • This course will teach fundamental concepts of report generation (Report Wizard).

  • Covers Velocity Template Language (VTL), select extensions, and general concepts required to understand report generation.

  • Includes a hands-on practical exercise after each module, followed by a course final Lab.

  • This course is intended for students with strong programming background that are already knowledgeable about the tool and the domain that is modeled (UML, SysML, or UPDM / UAF, etc.).


Course Curriculum

Day 1

Module 01 - Introduction to Report Generation (the Report Wizard)

  • Background of the Report Wizard

  • Presentation of the UI and overview of the kinds of example reports that come with the tool

  • Demo using the report wizard windows to export an existing demo report

  • Lab

Module 02 – Introduction to Velocity Template Language (VTL)

  • Understand the Velocity Template Language

  • Basic concepts of Templating

  • Basic Constructs

  • Comments

  • References

  • Directives

  • Generating Warnings and exceptions

  • Accessing the Model

  • Best Practices

  • Lab (30 minutes)

Module 03 – MagicDraw’s Implementation of VTL

  • Helper Tools

  • Dissecting MagicDraw Specification

  • Lab (30 minutes)

Module 04 – Working with Tables

  • Tabular Export Background

  • Accessing all Elements contained on a diagram

  • Dynamic Row Creation

  • Dynamic Column Creation

  • 3 Labs


Day 2

Module 05 - Macros Development

  • Why use macros

  • How to Use Macros

  • Recursion

  • 2 Labs

Module 06 – Excel and Power Point

  • How to export data into Excel

  • How to export data into PowerPoint

  • #forpage directive

  • 2 labs

Module 07 – Template Development Process

  • Documentation Useful for Template Development

  • Template Development Process

  • Reviewing the Target Template

  • What is in the Model?

  • What is the Model’s Metadata?

  • Using VTL and model API to write the data

  • Cameo Collaborator Custom Templates

  • Template Development Best Practices

Final Lab