Top Banner
An Introduction To Evaluator: Vijaya Kotikalapudi Eddie Jesinsky NASA/WVU ATL Intern [email protected] PathMATE Model Automation and Transformation Environment IV&V ATL
59

PathMATE

May 21, 2015

Download

Economy & Finance

CS, NcState

Evaluation of PathMATE software by ATL Intern Eddie Jesinsky
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: PathMATE

An Introduction To

Evaluator: Vijaya Kotikalapudi

Eddie JesinskyNASA/WVU ATL [email protected]

PathMATEModel Automation and Transformation Environment

IV&V ATL

Page 2: PathMATE

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

Page 3: PathMATE

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

Page 4: PathMATE

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

Page 5: PathMATE

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

Page 6: PathMATE

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

Page 7: PathMATE

7

PathMATEModel Automation and Transformation Environment

What is it?IV&V ATL

Page 8: PathMATE

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

Page 9: PathMATE

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

Page 10: PathMATE

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

Page 11: PathMATE

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

Page 12: PathMATE

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

Page 13: PathMATE

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

Page 14: PathMATE

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

Page 15: PathMATE

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

Page 16: PathMATE

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

Page 17: PathMATE

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

Page 18: PathMATE

18

PathMATEModel Automation and Transformation Environment

Tutorial: Create a New Project

IV&V ATL

Page 19: PathMATE

19

PathMATEModel Automation and Transformation Environment

Create a Quickstart System Model

IV&V ATL

Page 20: PathMATE

20

PathMATEModel Automation and Transformation Environment

Rename it to “SimpleOven”

IV&V ATL

Page 21: PathMATE

21

PathMATEModel Automation and Transformation Environment

Create a domain model for the systems application domain, MicrowaveCooking

IV&V ATL

Page 22: PathMATE

22

PathMATEModel Automation and Transformation Environment

Add Operation “ ReportDoorStatus” to the MicrowaveCooking Domain

IV&V ATL

Page 23: PathMATE

23

PathMATEModel Automation and Transformation Environment

Add parameters for the operation

IV&V ATL

Page 24: PathMATE

24

PathMATEModel Automation and Transformation Environment

Add action language to the operation

IV&V ATL

Page 25: PathMATE

25

PathMATEModel Automation and Transformation Environment

Create a realized domain

IV&V ATL

Page 26: PathMATE

26

PathMATEModel Automation and Transformation Environment

Add a UML enumeration to a Domain's Public Types

IV&V ATL

Page 27: PathMATE

27

PathMATEModel Automation and Transformation Environment

Add UML operations “ActivateDevice” and “DeactivateDevice”

IV&V ATL

Page 28: PathMATE

28

PathMATEModel Automation and Transformation Environment

Add a parameter to an operation

IV&V ATL

Page 29: PathMATE

29

PathMATEModel Automation and Transformation Environment

Complete the System Domain Chart: Specify Dependencies Between Domains

IV&V ATL

Page 30: PathMATE

30

PathMATEModel Automation and Transformation Environment

Specify System Package Imports

IV&V ATL

Page 31: PathMATE

31

PathMATEModel Automation and Transformation Environment

Complete the Class Diagram for the MicrowaveCooking Domain

IV&V ATL

Page 32: PathMATE

32

PathMATEModel Automation and Transformation Environment

Add attributes to the Oven class and set their values

IV&V ATL

Page 33: PathMATE

33

PathMATEModel Automation and Transformation Environment

Associate classes

IV&V ATL

Page 34: PathMATE

34

PathMATEModel Automation and Transformation Environment

Add MicrowaveCooking Initialization Action

IV&V ATL

Page 35: PathMATE

35

PathMATEModel Automation and Transformation Environment

Create and name the Door state machine diagram

IV&V ATL

Page 36: PathMATE

36

PathMATEModel Automation and Transformation Environment

Create signals for the Door state machine

IV&V ATL

Page 37: PathMATE

37

PathMATEModel Automation and Transformation Environment

Create and Name the Light state machine diagram

IV&V ATL

Page 38: PathMATE

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

Page 39: PathMATE

39

PathMATEModel Automation and Transformation Environment

Ex: Add Entry Action for Door Closed

IV&V ATL

Page 40: PathMATE

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

Page 41: PathMATE

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

Page 42: PathMATE

42

PathMATEModel Automation and Transformation Environment

To Instantiate a Reference Project for SimpleOven

IV&V ATL

Page 43: PathMATE

43

PathMATEModel Automation and Transformation Environment

Create a new Project ReferenceSimpleOven

IV&V ATL

Page 44: PathMATE

44

PathMATEModel Automation and Transformation Environment

In the ReferenceSimpleOven project, select the .cpp and copy/paste it in the QuickStart project

IV&V ATL

Page 45: PathMATE

45

PathMATEModel Automation and Transformation Environment

Create a new PathMATE model

IV&V ATL

Page 46: PathMATE

46

PathMATEModel Automation and Transformation Environment

Select the QuickStart System Model.emx

IV&V ATL

Page 47: PathMATE

47

PathMATEModel Automation and Transformation Environment

In the Deployment dropdown, select “All Reports” and click Transform

IV&V ATL

Page 48: PathMATE

48

PathMATEModel Automation and Transformation Environment

Transforming...

IV&V ATL

Page 49: PathMATE

49

PathMATEModel Automation and Transformation Environment

Reports generated

IV&V ATL

Page 50: PathMATE

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

Page 51: PathMATE

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

Page 52: PathMATE

52

PathMATEModel Automation and Transformation Environment

Transforming...

IV&V ATL

Page 53: PathMATE

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

Page 54: PathMATE

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

Page 55: PathMATE

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

Page 56: PathMATE

56

PathMATEModel Automation and Transformation Environment

Press the Go button to start SimpleOven execution.

IV&V ATL

Page 57: PathMATE

57

PathMATEModel Automation and Transformation Environment

The system is now running.

IV&V ATL

Page 58: PathMATE

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

Page 59: PathMATE

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