Who Are We?
The Pathfinder Difference
Careers
Brochure
Contact Us
Effective Modeling Training
Expert Mentoring Services
Systems Engineering
Software Development
PathMATE: Transformation Engine
PathMATE: Spotlight
PathMATE: Transformation Maps
Rational Software Modeler Integration
Rational Rose Integration
C Maps
C++ Maps
Java Maps
IBM Sales Teams
PathTECH
White Papers
Pathfinder Beacon
Modeling Resources
Downloads
News
Events
User ID:   Password:   
Site Map  |  Contact Us  
 
Home  >  Products  >  PathMATE: Extensibility Explained
PathMATE Extensibility Explained

See Also:
PathMATE Spotlight
Transformation Maps

Rational Software Modeler Integration

Rational Rose Integration

Extensibility Frequently Asked Questions

Back to Previous Page
 

Introduction

PathMATE is the most open MDA transformation environment for the development of high performance software systems. Since the first version in 1995, PathMATE has been deliberately designed and packaged to afford the user the greatest degree of control over the transformation of models to high performance code. Based on this consistent focus, PathMATE has a wide array of extensibility features, capabilities, languages, and modes of use.
Detailed support information can be found in these documents:

  • PathMATE datasheet
  • PathMATE User Guide
  • PathMATE Transformation Engine User Guide
  • Spotlight User Guide - specifically the Automated Testing section
  • C Design Guide - while this document specifically targets users of the PathMATE Transformation Map for C, the capabilities are nearly identical with the Transformation Map for C++
  • Java Design Guide
In addition to the multitude of extensibility features in PathMATE, the IBM Rational Software Modeler environment (RSM) also provides comprehensive extensibility and scripting features. RSM/RSA extensibility features will be detailed in a separate response.


Extensibility Capability Overview

The “Itemized Responses” section below addresses individual questions raised by Kirk Walker. First, it will be helpful to review the general architecture of the extensibility capabilities offered by PathMATE.



Each element of the diagram above outlines an aspect of the PathMATE product that includes some extensibility capability. Here’s a brief description of each:
  • Transformation Engine: The technological heart of PathMATE, this is where PIMs, markings, templates and instance data all come together to produce generated output. With access from the PathMATE editor, RSM, Rose, and the command line, the Engine can be used in interactively and from scripts or make files.
  • Transformation Maps: Bundles the information needed to apply a set of transformations including template files. Common transformation maps are provided; user can edit these or create and distribute their own.
  • Code and Report Templates: These are the elements that actually implement transformations, navigating model information, testing/applying PIM markings and producing output files. Sets of template files are provided with PathMATE for production of optimized C, C++ and Java code generation, formatted Word document production (including diagrams), configurable model checking, and information exchange. The user can customize this capability as all templates are provided as plain text files. Users can create additional Templates as well. See Template Rules below.
  • Template Rules: Forms the basis of the Pathfinder authored, QVT Models-to-Text standard from the Object Management Group (OMG) . These rules include the ability to navigate all model information, query and apply PIM markings, transformation-time access to the system command line, access to the file system, model checking infrastructure, formatted document production, and model instance data access.
  • PIM Markings: Property and associated values that describe extended information associated with PIM elements, such as deign/implementation input, requirements tracing, custom report fields, etc. Markings can be very powerful because they are directly accessed via the transformation Templates. In addition to a rich set of pre-supported built-in markings, users can define their own markings and develop customized transformation Templates to access them.
  • Base Execution Mechanisms (C, C++, Java): These are classes, functions and structures that form the run-time execution foundation for systems generated from PathMATE. The mechanisms are highly portable and optimized for deployment to common embedded targets. C and C++ mechanisms include a wide range of compile time switches to allow the user to accommodate specific and unique targets. Mechanisms are provided in source form, allowing complete customization and/or replacement by the user.
  • Spotlight: PathMATE's model-level debug and test environment provides a wide range of capabilities which can be accessed both interactively and from the command line. Spotlight includes an open access to interface stub/drivers and instance population. Spotlight can also directly connect to a custom target systems under test, the connection interface is supplied in source and may be freely modified to accommodate unique targets.
  • Spotlight Test Automation: Spotlight supports the running of driver or test harness files both interactively and from the command line, allowing the creation of debug or test procedures, and their flexible execution. Driver files can be hand coded or created within an interactive Spotlight session.
  • Realized Domains/Types/Code Interfaces: Code elements coming from non-modeled sources ranging from individual type definitions and constants up to complete components and external systems are integrated with PIM elements in PathMATE. This gives the user the flexibility to model as much or as little as needed, and to integrate PathMATE-generated systems with external components or systems.
  • XMI Import: The PIM input data channel is XMI-based, allowing PathMATE to receive model information from others source, including those outside RSM and Eclipse.
  • XML Export: All transformation output, including model information and marking data can be made available through multi forms, including XML, HTML, and text.
  • RSM Extensibility: A wide range of published interfaces, plug-ins and specific user extension facilities exist to allow the full customization of RSM and other plug-ins that integrate with it, including PathMATE.
  • Ant scripting: a script language built into Eclipse that can execute any tool element with a published Ant control point. PathMATE publishes an Ant control point to initiate and control all aspects of transformation.
  • Eclipse Extensibility: The base Eclipse environment has a rich extensibility architecture, including Java plug-ins to complement/configure/control virtually all aspects of the environment. Eclipse is also an open source environment, allowing the ultimate in user control.
  • Windows Scripting: Key elements of the PathMATE tool are available from a DOS command line (/pathmate/bin), including the transformation engine, key source management facilities, and the Spotlight debug/test facility (see documentation for details).

Extensibility Frequently Asked Questions

Home  |  About  |  Products  |  Services  |  Partners & Industries  |  News & Events  |  Resources
Search Our Website  |  Contact Us  |  Site Map  |  Trademarks  |  Privacy Policy
© 2003-2005  Pathfinder Solutions    •   33 Commercial Street, Suite 2   •   Foxboro, MA 02035   •   888-662-PATH   •   info@PathfinderMDA.com