pathmate
DESCRIPTION
Evaluation of PathMATE software by ATL Intern Eddie JesinskyTRANSCRIPT
An Introduction To
Evaluator: Vijaya Kotikalapudi
Eddie JesinskyNASA/WVU ATL [email protected]
PathMATEModel Automation and Transformation Environment
IV&V ATL
2
PathMATEModel Automation and Transformation Environment
Overview Applied Technology Lab
Pathfinder Solutions
What is it?
Benefits
Features
Maturity
Support
Requirements & Cost
Tutorial
IV&V ATL
3
PathMATEModel Automation and Transformation Environment
Applied Technology Lab Established: 2007 Partnership between WVU and NASA's Independent
Verification and Validation (IV&V) facility in Fairmont, WV.
Goal: To research software engineering techniques that improve and enhance the way NASA produces safe and reliable system software.
Director: Dr. Tim Menzies http://atl.wvu.edu
IV&V ATL
4
PathMATEModel Automation and Transformation Environment
Pathfinder Solutions Pathfinder Solutions started in 1995 as a privately held
partnership of experienced and successful MDA practitioners.
Pathfinder's Model Automation and Transformation Environment - PathMATE - was first released in 1996.
In 2005, PathMATE integrated with Rational Software Modeler, IBM Rational's next generation UML editor.
http://pathfindermda.com
IV&V ATL
5
PathMATEModel Automation and Transformation Environment
What is it? Transforms platform-independent models (PIMs)
defined in UML to efficient, high-performance code. Support for embedded C, C++, and Java code
generation as well as others user-defined through Transformation Maps
IV&V ATL
6
PathMATEModel Automation and Transformation Environment
What is it? Transformation Engine
Rapidly transforms PIMs into high-performance embedded systems
Transformation Maps Code templates which drive engine's transformation
of PIMS into range of outputs and documentation Spotlight
Verify and debug applications at the model level during design phase, enabling faster development, improved quality and reduced int. testing resources
IV&V ATL
7
PathMATEModel Automation and Transformation Environment
What is it?IV&V ATL
8
PathMATEModel Automation and Transformation Environment
Benefits Higher Developer Productivity
Shifts development from being code-centric to architecture-centric.
Claims development productivity gains of up to 40% within first year
Implementation Consistency
Automation makes the production of tight, readable code a highly repeatable process
Architectural and Platform Flexibility
Engine allows you to change implementation language, platform, and architecture with the flip of the switch
Large-Scale Software Reuse
Define component functionality once- Can be regenerated for different deployment languages, platforms, and contexts
IV&V ATL
9
PathMATEModel Automation and Transformation Environment
Overview Applied Technology Lab
Pathfinder Solutions
What is it?
Benefits
Features
Maturity
Support
Requirements & Cost
Tutorial
IV&V ATL
10
PathMATEModel Automation and Transformation Environment
Features Easily control resource utilization and
architecture of generated software Integrates with major UML editors & offers open
access to transformation logic: IBM's Rational Rose and Rational Software Modeler
Enables highly iterative model development transformation and testing
IV&V ATL
11
PathMATEModel Automation and Transformation Environment
Features - Detailed Open Integration
Plugs into popular UML editors such as IBM/Rational Rose
Model versioning & archival via change management systems
Supports popular requirements management systems
Command-line interface for software build integration
Standards Based
Reference technology for OMG’s MDA Model-to-Code standard
Supports MDA Model Marking
XMI data import
Tracks emerging MDA “Executable UML” standard
IV&V ATL
12
PathMATEModel Automation and Transformation Environment
Features - Detailed Rich UML Modeling Support
Architectural-level Domain packages and their interfaces
Classes, attributes, class operations
Associations and generalization including polymorphism support
Harel State Charts including state entry actions, state exit actions, transition actions, guards, composite states, and history
OMG Standard Action Semantics
Supports all UML diagram types: Class Diagrams, State Diagrams, Use Case Diagrams , Sequence Charts, Interfaces, Subsystems, Collaboration Diagrams, Deployment Diagrams
Model “diffing”
Flexible model storage for component-level management and reuse
Robust Repository
IV&V ATL
13
PathMATEModel Automation and Transformation Environment
Features - Detailed Model Checking and Static Analysis
Built-in model syntax, completeness and consistency checks
Run-time performance, safety-critical, high-availability, and modeling consistency analysis
Transformation Performance
Generates > 50K lines of code/minute
Fastest edit-transform-debug cycle for iterative development and testing
Architectural Configurability
Reconfigure across thread & processor topologies for performance prototyping, varying product configurations, etc
IV&V ATL
14
PathMATEModel Automation and Transformation Environment
Features - Detailed Document and Report Generation
Generates formatted Word documents
Injects diagrams into target reports
Generates HTML for web-based collaboration and reference lookup
XML output for open data interchange
Document template library provides a starting point for custom reports
IV&V ATL
15
PathMATEModel Automation and Transformation Environment
Maturity Portable Scalable (Radar) Signal Processor
A cross-program common architecture (fractional) and infrastructure project to build a radar signal processing approach and components that far exceeded the run-time performance of existing hand-coded alternatives.
Nuclear Plant Control System – Embedded Central Controller
Project-specific model-checking was developed with PathMATE rules technology to automatically verify that all model constructs met a range of safety-critical checks.
More information at http://www.nasa.gov/centers/ivv/doc/207832main_PMTE-PathMateTransformationEngine-WebEval.doc
IV&V ATL
16
PathMATEModel Automation and Transformation Environment
Support PathTECH online tech resource site MDA Mentor Training & Consulting Fully Executable Sample Systems Whitepapers
http://pathfindermda.com/resources/whitepapers.php
Email: [email protected] Phone: 888-662-PATH (888-662-7284) Fax: 888-662-7284
IV&V ATL
17
PathMATEModel Automation and Transformation Environment
Requirements/Cost Engine runs on Windows Development
platforms. Floating/Node Locked License: $2200.00
Includes yearly support subscription: toll-free telephone and e-mail support, critical bug patches
Product versions released during support subscription are $440.00 per license
IV&V ATL
18
PathMATEModel Automation and Transformation Environment
Tutorial: Create a New Project
IV&V ATL
19
PathMATEModel Automation and Transformation Environment
Create a Quickstart System Model
IV&V ATL
20
PathMATEModel Automation and Transformation Environment
Rename it to “SimpleOven”
IV&V ATL
21
PathMATEModel Automation and Transformation Environment
Create a domain model for the systems application domain, MicrowaveCooking
IV&V ATL
22
PathMATEModel Automation and Transformation Environment
Add Operation “ ReportDoorStatus” to the MicrowaveCooking Domain
IV&V ATL
23
PathMATEModel Automation and Transformation Environment
Add parameters for the operation
IV&V ATL
24
PathMATEModel Automation and Transformation Environment
Add action language to the operation
IV&V ATL
25
PathMATEModel Automation and Transformation Environment
Create a realized domain
IV&V ATL
26
PathMATEModel Automation and Transformation Environment
Add a UML enumeration to a Domain's Public Types
IV&V ATL
27
PathMATEModel Automation and Transformation Environment
Add UML operations “ActivateDevice” and “DeactivateDevice”
IV&V ATL
28
PathMATEModel Automation and Transformation Environment
Add a parameter to an operation
IV&V ATL
29
PathMATEModel Automation and Transformation Environment
Complete the System Domain Chart: Specify Dependencies Between Domains
IV&V ATL
30
PathMATEModel Automation and Transformation Environment
Specify System Package Imports
IV&V ATL
31
PathMATEModel Automation and Transformation Environment
Complete the Class Diagram for the MicrowaveCooking Domain
IV&V ATL
32
PathMATEModel Automation and Transformation Environment
Add attributes to the Oven class and set their values
IV&V ATL
33
PathMATEModel Automation and Transformation Environment
Associate classes
IV&V ATL
34
PathMATEModel Automation and Transformation Environment
Add MicrowaveCooking Initialization Action
IV&V ATL
35
PathMATEModel Automation and Transformation Environment
Create and name the Door state machine diagram
IV&V ATL
36
PathMATEModel Automation and Transformation Environment
Create signals for the Door state machine
IV&V ATL
37
PathMATEModel Automation and Transformation Environment
Create and Name the Light state machine diagram
IV&V ATL
38
PathMATEModel Automation and Transformation Environment
Add Entry Actions Entry Actions
Establish a relationship between the Door state and the Light state. Door closed -> Light off, Door open -> Light on
The following code snippet is added to the action language as an entry action for the door's closed state
Ref<Light> interior_light = FIND this->A1->A2;GENERATE Light:TurnOff() TO (interior_light);
IV&V ATL
39
PathMATEModel Automation and Transformation Environment
Ex: Add Entry Action for Door Closed
IV&V ATL
40
PathMATEModel Automation and Transformation Environment
Add Entry Actions Similarly, for the open state of the door, the following action
code is added
Ref<Light> interior_light = FIND this->A1->A2;GENERATE Light:TurnOn() TO (interior_light);
Likewise, for the Light state machine, in the action language view of the Light state machine's Off State of the diagram, the following code is pasted:
ExternalDeviceControl:DeactivateDevice(SYS_DEVICE_LIGHT);
For the On State of the Light state machine diagram:
ExternalDeviceControl:ActivateDevice(SYS_DEVICE_LIGHT);
This completes the PathMATE-ready MDA model, which is now ready for being transformed into an executable system.
IV&V ATL
41
PathMATEModel Automation and Transformation Environment
Transformation SimpleOven exists as a sample model in the
PathMATE examples library – part of the PathMATE profile data in the Rational Software Modeler.
The instantiation of SimpleOven as a reference project is done in order to copy the realized ExternalDeviceControl implementation and properties that guide the automatic generation of a Visual C++ project
IV&V ATL
42
PathMATEModel Automation and Transformation Environment
To Instantiate a Reference Project for SimpleOven
IV&V ATL
43
PathMATEModel Automation and Transformation Environment
Create a new Project ReferenceSimpleOven
IV&V ATL
44
PathMATEModel Automation and Transformation Environment
In the ReferenceSimpleOven project, select the .cpp and copy/paste it in the QuickStart project
IV&V ATL
45
PathMATEModel Automation and Transformation Environment
Create a new PathMATE model
IV&V ATL
46
PathMATEModel Automation and Transformation Environment
Select the QuickStart System Model.emx
IV&V ATL
47
PathMATEModel Automation and Transformation Environment
In the Deployment dropdown, select “All Reports” and click Transform
IV&V ATL
48
PathMATEModel Automation and Transformation Environment
Transforming...
IV&V ATL
49
PathMATEModel Automation and Transformation Environment
Reports generated
IV&V ATL
50
PathMATEModel Automation and Transformation Environment
Generate C++ code and Visual Studio Project files:Open QuickStart System Model.pathmate in the Editor pane and in the Deployment select Single Process C++
IV&V ATL
51
PathMATEModel Automation and Transformation Environment
In the Transformation Maps window ensure the PathMATE C++ and Build file generation Maps appear in
order
IV&V ATL
52
PathMATEModel Automation and Transformation Environment
Transforming...
IV&V ATL
53
PathMATEModel Automation and Transformation Environment
Building SimpleOven.exe:Right-click SimpleOven.vcproj in the Project Explorer and
select Open With > System EditorBuild the SimpleOven system in Visual Studio 7
IV&V ATL
54
PathMATEModel Automation and Transformation Environment
Run SimpleOven with Spotlight to visualize system execution at the model level:
Launch from within Visual Studio- usually Debug > Start Debugging or the F5 key
IV&V ATL
55
PathMATEModel Automation and Transformation Environment
Once Spotlight starts, click the Connect button at the left end of the Spotlight toolbar to connect to the target application
IV&V ATL
56
PathMATEModel Automation and Transformation Environment
Press the Go button to start SimpleOven execution.
IV&V ATL
57
PathMATEModel Automation and Transformation Environment
The system is now running.
IV&V ATL
58
PathMATEModel Automation and Transformation Environment
In the Rational Software Modeler, in the Light state machine diagram the current state is highlighted. As expected, this is the On
state because of the DoorIsOpen Signal generated in the MicrowaveCooking Domain
IV&V ATL
59
PathMATEModel Automation and Transformation Environment
QUESTIONS?
Thank You
Eddie Jesinsky, Aaron Higgins – InternsDr. Tim Menzies, Ph.D. - Director
Pier Luigi Long – NASA IV&V
IV&V ATL