SlideShare ist ein Scribd-Unternehmen logo
1 von 36
Downloaden Sie, um offline zu lesen
Getting started with Rhapsody in ADA
Setup Rhapsody in Ada with AdaCore GPL
Frank Braun,
Managing Partner EVOCEAN Deutschland GmbH
2 - © EVOCEAN www.evocean.com
Let’s get started – Rhapsody in Ada
In this session we show you how to:
‱ 1) Select and install an appropriate Ada Compiler.
‱ 2) Install Setup IBM Rational Rhapsody 8.2 in Ada.
‱ 3) Build an initial Hello World Example.
1) Select and install Ada Compiler
4 - © EVOCEAN www.evocean.com
Rhapsody 8.2 Ada Compiler support
 The Rhapsody in Ada Code generator has been tested against the following
Ada compilers:
‱ GNAT 3.15p (freely available, however outdated: GCC 2.8.1)
‱ AdaCore’s GNAT Pro (commercial)
‱ AONIX ObjectAda Enterprise Edition (commercial )
 Not officially supported but a good alternative is the free-of-charge and
fully-featured GNAT GPL 2016 EDITION which is based on GCC 4.9.4.
 This edition is available for students and free Software developers from
http://libre.adacore.com/download and consists of:
‱ The GNAT Ada 95, Ada 2005 and Ada 2012 development environment.
‱ AdaCore’s GNAT Programming Studio IDE (GPS).
‱ A license suitable to develop Free Software (www.fsf.org).
5 - © EVOCEAN www.evocean.com
GNAT GPL installation steps
 The installation of the GNAT GPL Edition is straight forward.
‱ Just re-call the installation folder (Required for Rhapsody installation
later on).
2.1) Install IBM Rational Rhapsody 8.2 in Ada
7 - © EVOCEAN www.evocean.com
Download Rhapsody Evaluation
 You can download the full featured Rhapsody evaluation edition + license
under IBM developerWorks.
‱ http://www.ibm.com/developerworks/downloads/r/rhapsodydeveloper/
(If not yet registered , register once with your email then login)
8 - © EVOCEAN www.evocean.com
Rhapsody Installation
Double click on the installation file to
launch Rhapsody installation Wizard:
Read and accept license agreement
then press Next>
9 - © EVOCEAN www.evocean.com
Version and Language Settings
 Select ‘IBM Rational Rhapsody
Developer’
 Select Ada
 Select „Development environment and
RTOS setting“
You will be able to also launch all
other editions after the installation
10 - © EVOCEAN www.evocean.com
Change Installation Path
 Click Change to install Rhapsody to the following Path C:Rhapsody8.2
Having a central Rhapsody
repository like this allows you
to easily organise and install
multiple Rhapsody releases
underneath (i.e. 7.6, 8.0 etc)
 Check “Install all Rhapsody
files in one location”
‱ (will be underneath
C:Rhapsody8.2Share)
11 - © EVOCEAN www.evocean.com
 Installed environments are detected by the installer and incorporated in
Rhapsody‘s environmental settings.
Existing environments
Before you continue, make
sure that the Gnat Compiler
path is pointing to the GPL
2016 installation Path.
12 - © EVOCEAN www.evocean.com
Add-ons
Select any Rhapsody-AddOn’s as required.
13 - © EVOCEAN www.evocean.com
Licence
Create a Folder flexlm and store your evaluation license file
With Browse point to that license file:
14 - © EVOCEAN www.evocean.com
Installation
Press Install> to launch installation
process.
Press >Finish and launch Rhapsody
2.2) Setup IBM Rational Rhapsody 8.2 in Ada
16 - © EVOCEAN www.evocean.com
Compiling Rhapsody Framework with GNAT GPL
 Because we‘re using a different compiler than the officially supported one
we have to rebuild the Rhapsody Framework libraries once before we start.
 The simplest way is to perform this inside Rhapsody:
‱ Launch Rhapsody in Ada and create a new Project HelloWorldPrj by
Selecting AdaCodeGeneration as Project Type
17 - © EVOCEAN www.evocean.com
Build Framework
 Select Code->Build Framework to
launch the Framework BuildProcess:
 Observer the build log and make sure
that the build completes successfully:
3.) Hello World Project
19 - © EVOCEAN www.evocean.com
Hello World with Rhapsody in Ada
 Let’s build a first Rhapsody UML ADA-Model. The final generated code might
look like this:
‱  A package structure containing a simple procedure which prints “Hello World”
Ada Specification File
Ada Body File
20 - © EVOCEAN www.evocean.com
 Rhapsody Project and configuration structure
 Generating Code from Model Elements
 Adding own Code
 Round Trip – To keep model and code in sync
 Customize Code Generation
 Generate and Build Component, Configuration, Packages Code
What you will learn
21 - © EVOCEAN www.evocean.com
Create Project
 Launch Rhapsody in Ada:
 In Rhapsody select File->New:
 Name the Project HelloWorldPrj
 Press OK> and Yes> to create the new Project and its Project Directory:
Press No If you’re asked to
enable the UML Perspective
toolbar -
22 - © EVOCEAN www.evocean.com
Rhapsody Projects
 Observe the Browser structure:
Browser
Component
Packages
Configuration
23 - © EVOCEAN www.evocean.com
 Rename DefaultComponent to HelloWorldApp
and DefaultConfig to release:
Components, Configurations, Packages
 A Component is a kind of physical Container, the Application (exe), or Library
that we Build. Each Component consist of at least one Configuration
 In the Configuration of the component we tell Rhapsody, how to build the
Component (which compiler, setting etc).
 A Package is a logical structural Element.
 Right Click on the Component
HelloWorldApp to open its Feature Dialog:
24 - © EVOCEAN www.evocean.com
Feature Dialog Component
 Each Rhapsody model element has a Feature Dialog which allows further
settings.
 At Component Level, general Build- (i.e. to build an executable or build a library) and Code-
generation- Settings (Scope of Code-generation) are defined in its Features.
Just observe the settings
in the General and Scope
Tab of the HelloWorldApp
Feature Dialog
25 - © EVOCEAN www.evocean.com
Feature Dialog Configuration
 Click on release to change the context of the Feature Dialog to the
Configuration:
 General configuration settings
(Object Initialisation, Environment
Settings like Compiler Settings)
are made in the Features Dialog of
the Configuration.
26 - © EVOCEAN www.evocean.com
Main- and Make- File
 The Main and Make Files of the Component HelloWorldApp
(Application) are organized at configuration level.
‱ Press CTRL+F7 or select Code->Generate->release to initiate the Code generator:
‱ Right Click on the release configuration and select Edit Configuration Main File
to open the main file:
Even if Ada does not
require a main as
entry point, most Ada
programs have one
and Rhapsody
generates one as well.
27 - © EVOCEAN www.evocean.com
Package Code Generation
 Rename the Default Package
to HelloWorldPkg
 Make sure that HelloWorldPkg is selected then Press ALT+2 to open the Active
Code View Window:
‱ Observe the generated Code

Active Code View is a dynamic and
context sensitive code editor.
Click on an Rhapsody UML element
and you can see and edit its code
Note that Rhapsody generates an
ADA Package for a UML Package
28 - © EVOCEAN www.evocean.com
Add Function to Model
 Right Click on the Package HelloWorldPkg ,
select Add New->Function:
 Name the function sayHello ()
 Observe the generated code for the specification- (ads) and body-flle (adb):
29 - © EVOCEAN www.evocean.com
 You can implement Code in two ways:
1) In the Model through the feature dialog.
2) Directly in the Source Code.
1) Implement Code through Features Dialog:
 Open the Features Dialog of the sayHello Function and select the
Implementation Tab:
 In Local Variables type:
c:character;
 In Operation Body type:
Put_Line("Hello World");
 Press OK> and observe the code Window:
Implement Function in Feature Dialog
30 - © EVOCEAN www.evocean.com
Implement Function in Code Editor
2) Implement Code in Code Editor:
 In the ActiveCode View Editor add a new line below Put_Line(“Hello World”)
then type Get(c); to read some characters from the terminal:
 Press CTRL+S and
observe the Log-Protocol
in the output window:
The Code gets round
tripped into the model.
31 - © EVOCEAN www.evocean.com
Rhapsody Properties
 We have one missing step to perform:
‱ Including the IO dependencies.
 There are several ways how to perform this, for example through modelling or by the
use of the Rhapsody Properties.
 In this session we’re going to use the Properties.
Rhapsody Properties are a powerful mean to
customize Rhapsody Environment, Behaviour
and Code Generation.
‱ In the browser double click on the
HelloWordPkg to open its Feature Dialog
then select the Properties Tab:
32 - © EVOCEAN www.evocean.com
CodeGeneration through properties
 In the Property Ada_CG->Package->ImplementationProlog type the
following text: with Ada.Text_IO; use Ada.Text_IO;
 Observe the changes in the Code Editor Window:
33 - © EVOCEAN www.evocean.com
Initialize Main
 As we have learned in previous slides, the generated
code from the configuration underneath the Component
is the entry point (main) for each application.
 Inside the Initialization code
field press CTRL+Space which
activates Rhapsody Intellisense
(Rhapsody auto complete):
 To complete we need to call our sayHello function to the main.
‱ Open the Features Dialog of the release configuration:
 Select the Initialization Tab:
 Make sure that you have
HelloWorldPkg.sayHello; as
initialisation code:
34 - © EVOCEAN www.evocean.com
Build and Run Application
 In Rhapsody select Code-> Generate/Make/Run
or press :
 Observe the build log and enjoy your result:
In case of a compilation error
double click on the error
message to navigate to the
source of error.
You should now have all
ingredients to complete or fix
the model in order to make it
running ;-)
35 - © EVOCEAN www.evocean.com
Thank you - Do you want more ?
We periodically run the following Training Courses:
‱ IBM Rhapsody in C and C++ Training Course with UML (4 days)
‱ EVOCEAN Rhapsody in C++ Training Course with RaspberryPi (3 days)
‱ Rhapsody for System Engineers with SysML (4 days)
‱ Rhapsody MDSE with SysML ToolTraining (2 days)
 Visit: www.evocean.com/events
World-
Wide !
Project Support, In-house Trainings / Trainings in
Rhapsody in Autosar, Ada or Java , Design Manager ?
 Send request to : info@evocean.com
36 - © EVOCEAN www.evocean.com
THANK YOU
Are you interested in a specific topic ?
Just send an Email to:
Rhapsody@evocean.com
or send “Newsletter” to
Info@evocean.com to receive our
newsletter

Weitere Àhnliche Inhalte

Was ist angesagt?

Rhapsody Eclipse
Rhapsody EclipseRhapsody Eclipse
Rhapsody EclipseBill Duncan
 
System Architect and Rhapsody
System Architect and RhapsodySystem Architect and Rhapsody
System Architect and RhapsodyMartin Owen
 
Rational Rhapsody 8.3 with Cygwin and iFixes (www.executablembse.com)
Rational Rhapsody 8.3 with Cygwin and iFixes (www.executablembse.com)Rational Rhapsody 8.3 with Cygwin and iFixes (www.executablembse.com)
Rational Rhapsody 8.3 with Cygwin and iFixes (www.executablembse.com)Fraser Chadburn
 
Prasad_CTP
Prasad_CTPPrasad_CTP
Prasad_CTPPrasad Bhat
 
Rhapsody Systems Software
Rhapsody Systems SoftwareRhapsody Systems Software
Rhapsody Systems SoftwareBill Duncan
 
Extending uBuild and uDeploy with Plugins
Extending uBuild and uDeploy with PluginsExtending uBuild and uDeploy with Plugins
Extending uBuild and uDeploy with PluginsIBM UrbanCode Products
 
AXCIOMA, the internals, the component framework for distributed, real-time, a...
AXCIOMA, the internals, the component framework for distributed, real-time, a...AXCIOMA, the internals, the component framework for distributed, real-time, a...
AXCIOMA, the internals, the component framework for distributed, real-time, a...Remedy IT
 
RTF - Prasad bhatt
RTF - Prasad bhattRTF - Prasad bhatt
RTF - Prasad bhattRoopa Nadkarni
 
Branching and merging strategy
Branching and merging strategyBranching and merging strategy
Branching and merging strategyRahul Janghel
 
Integrating DDS into AXCIOMA, the component approach
Integrating DDS into AXCIOMA, the component approachIntegrating DDS into AXCIOMA, the component approach
Integrating DDS into AXCIOMA, the component approachRemedy IT
 
HP Application Lifecycle ‹Intelligence
HP Application Lifecycle ‹IntelligenceHP Application Lifecycle ‹Intelligence
HP Application Lifecycle ‹IntelligenceJakub Mazurkiewicz
 
SpencerKellerResume
SpencerKellerResumeSpencerKellerResume
SpencerKellerResumeSpencer Keller
 
CORBA Programming with TAOX11/C++11 tutorial
CORBA Programming with TAOX11/C++11 tutorialCORBA Programming with TAOX11/C++11 tutorial
CORBA Programming with TAOX11/C++11 tutorialRemedy IT
 
GDG Cloud meetup november 2019 - kubeflow pipelines
GDG Cloud meetup november 2019 -  kubeflow pipelinesGDG Cloud meetup november 2019 -  kubeflow pipelines
GDG Cloud meetup november 2019 - kubeflow pipelinesSven Degroote
 
Whats New In LabVIEW 2010
Whats New In LabVIEW 2010Whats New In LabVIEW 2010
Whats New In LabVIEW 2010Danny Thomson
 
Mannu_Kumar_CV
Mannu_Kumar_CVMannu_Kumar_CV
Mannu_Kumar_CVMannu Kumar
 
Milano Meetup #6 - Training & Certification and Internal Support Models
Milano Meetup #6 - Training & Certification and Internal Support ModelsMilano Meetup #6 - Training & Certification and Internal Support Models
Milano Meetup #6 - Training & Certification and Internal Support ModelsGonzalo Marcos Ansoain
 
Building a CI/CD Pipeline for PHP apps
Building a CI/CD Pipeline for PHP appsBuilding a CI/CD Pipeline for PHP apps
Building a CI/CD Pipeline for PHP appsJuan Manuel Torres
 
Sunil Kumar Sarvepalli
Sunil Kumar SarvepalliSunil Kumar Sarvepalli
Sunil Kumar SarvepalliSunil Sarvepalli
 
Smart Internationalization assistance and resource translation tools
Smart Internationalization assistance and resource translation toolsSmart Internationalization assistance and resource translation tools
Smart Internationalization assistance and resource translation toolsmreiterer
 

Was ist angesagt? (20)

Rhapsody Eclipse
Rhapsody EclipseRhapsody Eclipse
Rhapsody Eclipse
 
System Architect and Rhapsody
System Architect and RhapsodySystem Architect and Rhapsody
System Architect and Rhapsody
 
Rational Rhapsody 8.3 with Cygwin and iFixes (www.executablembse.com)
Rational Rhapsody 8.3 with Cygwin and iFixes (www.executablembse.com)Rational Rhapsody 8.3 with Cygwin and iFixes (www.executablembse.com)
Rational Rhapsody 8.3 with Cygwin and iFixes (www.executablembse.com)
 
Prasad_CTP
Prasad_CTPPrasad_CTP
Prasad_CTP
 
Rhapsody Systems Software
Rhapsody Systems SoftwareRhapsody Systems Software
Rhapsody Systems Software
 
Extending uBuild and uDeploy with Plugins
Extending uBuild and uDeploy with PluginsExtending uBuild and uDeploy with Plugins
Extending uBuild and uDeploy with Plugins
 
AXCIOMA, the internals, the component framework for distributed, real-time, a...
AXCIOMA, the internals, the component framework for distributed, real-time, a...AXCIOMA, the internals, the component framework for distributed, real-time, a...
AXCIOMA, the internals, the component framework for distributed, real-time, a...
 
RTF - Prasad bhatt
RTF - Prasad bhattRTF - Prasad bhatt
RTF - Prasad bhatt
 
Branching and merging strategy
Branching and merging strategyBranching and merging strategy
Branching and merging strategy
 
Integrating DDS into AXCIOMA, the component approach
Integrating DDS into AXCIOMA, the component approachIntegrating DDS into AXCIOMA, the component approach
Integrating DDS into AXCIOMA, the component approach
 
HP Application Lifecycle ‹Intelligence
HP Application Lifecycle ‹IntelligenceHP Application Lifecycle ‹Intelligence
HP Application Lifecycle ‹Intelligence
 
SpencerKellerResume
SpencerKellerResumeSpencerKellerResume
SpencerKellerResume
 
CORBA Programming with TAOX11/C++11 tutorial
CORBA Programming with TAOX11/C++11 tutorialCORBA Programming with TAOX11/C++11 tutorial
CORBA Programming with TAOX11/C++11 tutorial
 
GDG Cloud meetup november 2019 - kubeflow pipelines
GDG Cloud meetup november 2019 -  kubeflow pipelinesGDG Cloud meetup november 2019 -  kubeflow pipelines
GDG Cloud meetup november 2019 - kubeflow pipelines
 
Whats New In LabVIEW 2010
Whats New In LabVIEW 2010Whats New In LabVIEW 2010
Whats New In LabVIEW 2010
 
Mannu_Kumar_CV
Mannu_Kumar_CVMannu_Kumar_CV
Mannu_Kumar_CV
 
Milano Meetup #6 - Training & Certification and Internal Support Models
Milano Meetup #6 - Training & Certification and Internal Support ModelsMilano Meetup #6 - Training & Certification and Internal Support Models
Milano Meetup #6 - Training & Certification and Internal Support Models
 
Building a CI/CD Pipeline for PHP apps
Building a CI/CD Pipeline for PHP appsBuilding a CI/CD Pipeline for PHP apps
Building a CI/CD Pipeline for PHP apps
 
Sunil Kumar Sarvepalli
Sunil Kumar SarvepalliSunil Kumar Sarvepalli
Sunil Kumar Sarvepalli
 
Smart Internationalization assistance and resource translation tools
Smart Internationalization assistance and resource translation toolsSmart Internationalization assistance and resource translation tools
Smart Internationalization assistance and resource translation tools
 

Ähnlich wie Getting started with IBM Rational Rhapsody in Ada

2018.02.11 installation guide rhapsody in c and cpp
2018.02.11 installation guide rhapsody in c and cpp2018.02.11 installation guide rhapsody in c and cpp
2018.02.11 installation guide rhapsody in c and cppFrank Braun
 
Rational Rhapsody Workflow Integration with Visual Studio
Rational Rhapsody Workflow Integration with Visual Studio Rational Rhapsody Workflow Integration with Visual Studio
Rational Rhapsody Workflow Integration with Visual Studio Frank Braun
 
IBM Rational Rhapsody 8.4 install guide (including Cygwin and obtaining an ev...
IBM Rational Rhapsody 8.4 install guide (including Cygwin and obtaining an ev...IBM Rational Rhapsody 8.4 install guide (including Cygwin and obtaining an ev...
IBM Rational Rhapsody 8.4 install guide (including Cygwin and obtaining an ev...Fraser Chadburn
 
Installing Rhapsody 8.2.x Designer/Architect with Cygwin gcc compiler
Installing Rhapsody 8.2.x Designer/Architect with Cygwin gcc compilerInstalling Rhapsody 8.2.x Designer/Architect with Cygwin gcc compiler
Installing Rhapsody 8.2.x Designer/Architect with Cygwin gcc compilerFraser Chadburn
 
Installing Rational Rhapsody Designer 8.2 or 8.2.1 for Executable MBSE
Installing Rational Rhapsody Designer 8.2 or 8.2.1 for Executable MBSEInstalling Rational Rhapsody Designer 8.2 or 8.2.1 for Executable MBSE
Installing Rational Rhapsody Designer 8.2 or 8.2.1 for Executable MBSEFraser Chadburn
 
Getting started with Keil uVision 2020
Getting started with Keil uVision 2020Getting started with Keil uVision 2020
Getting started with Keil uVision 2020SaravananVijayakumar4
 
Android SDK and PhoneGap
Android SDK and PhoneGapAndroid SDK and PhoneGap
Android SDK and PhoneGapDoncho Minkov
 
Hex file creation using Keil uVision
Hex file creation using Keil uVisionHex file creation using Keil uVision
Hex file creation using Keil uVisionSaravananVijayakumar4
 
Titanium Studio [Updated - 18/12/2011]
Titanium Studio [Updated - 18/12/2011]Titanium Studio [Updated - 18/12/2011]
Titanium Studio [Updated - 18/12/2011]Sentinel Solutions Ltd
 
Eclipse & android setup
Eclipse & android setupEclipse & android setup
Eclipse & android setupChina Bigs
 
Android Training Ahmedabad , Android Project Training Ahmedabad, Android Live...
Android Training Ahmedabad , Android Project Training Ahmedabad, Android Live...Android Training Ahmedabad , Android Project Training Ahmedabad, Android Live...
Android Training Ahmedabad , Android Project Training Ahmedabad, Android Live...NicheTech Com. Solutions Pvt. Ltd.
 
How to work with code blocks
How to work with code blocksHow to work with code blocks
How to work with code blocksTech Bikram
 
Getting Enter in Android development
Getting Enter in Android developmentGetting Enter in Android development
Getting Enter in Android developmentGhufran Hashmi
 
M365 global developer bootcamp 2019 PA
M365 global developer bootcamp 2019  PAM365 global developer bootcamp 2019  PA
M365 global developer bootcamp 2019 PAThomas Daly
 
M365 global developer bootcamp 2019
M365 global developer bootcamp 2019M365 global developer bootcamp 2019
M365 global developer bootcamp 2019Thomas Daly
 

Ähnlich wie Getting started with IBM Rational Rhapsody in Ada (20)

2018.02.11 installation guide rhapsody in c and cpp
2018.02.11 installation guide rhapsody in c and cpp2018.02.11 installation guide rhapsody in c and cpp
2018.02.11 installation guide rhapsody in c and cpp
 
Rational Rhapsody Workflow Integration with Visual Studio
Rational Rhapsody Workflow Integration with Visual Studio Rational Rhapsody Workflow Integration with Visual Studio
Rational Rhapsody Workflow Integration with Visual Studio
 
IBM Rational Rhapsody 8.4 install guide (including Cygwin and obtaining an ev...
IBM Rational Rhapsody 8.4 install guide (including Cygwin and obtaining an ev...IBM Rational Rhapsody 8.4 install guide (including Cygwin and obtaining an ev...
IBM Rational Rhapsody 8.4 install guide (including Cygwin and obtaining an ev...
 
Installing Rhapsody 8.2.x Designer/Architect with Cygwin gcc compiler
Installing Rhapsody 8.2.x Designer/Architect with Cygwin gcc compilerInstalling Rhapsody 8.2.x Designer/Architect with Cygwin gcc compiler
Installing Rhapsody 8.2.x Designer/Architect with Cygwin gcc compiler
 
Installing Rational Rhapsody Designer 8.2 or 8.2.1 for Executable MBSE
Installing Rational Rhapsody Designer 8.2 or 8.2.1 for Executable MBSEInstalling Rational Rhapsody Designer 8.2 or 8.2.1 for Executable MBSE
Installing Rational Rhapsody Designer 8.2 or 8.2.1 for Executable MBSE
 
W1.pptx
W1.pptxW1.pptx
W1.pptx
 
Getting started with Keil uVision 2020
Getting started with Keil uVision 2020Getting started with Keil uVision 2020
Getting started with Keil uVision 2020
 
Android SDK and PhoneGap
Android SDK and PhoneGapAndroid SDK and PhoneGap
Android SDK and PhoneGap
 
Hex file creation using Keil uVision
Hex file creation using Keil uVisionHex file creation using Keil uVision
Hex file creation using Keil uVision
 
Compose Camp - Session2.pdf
Compose Camp - Session2.pdfCompose Camp - Session2.pdf
Compose Camp - Session2.pdf
 
Titanium Studio [Updated - 18/12/2011]
Titanium Studio [Updated - 18/12/2011]Titanium Studio [Updated - 18/12/2011]
Titanium Studio [Updated - 18/12/2011]
 
Eclipse & android setup
Eclipse & android setupEclipse & android setup
Eclipse & android setup
 
Android Training Ahmedabad , Android Project Training Ahmedabad, Android Live...
Android Training Ahmedabad , Android Project Training Ahmedabad, Android Live...Android Training Ahmedabad , Android Project Training Ahmedabad, Android Live...
Android Training Ahmedabad , Android Project Training Ahmedabad, Android Live...
 
Android
Android Android
Android
 
How to work with code blocks
How to work with code blocksHow to work with code blocks
How to work with code blocks
 
Getting Enter in Android development
Getting Enter in Android developmentGetting Enter in Android development
Getting Enter in Android development
 
Codename one
Codename oneCodename one
Codename one
 
M365 global developer bootcamp 2019 PA
M365 global developer bootcamp 2019  PAM365 global developer bootcamp 2019  PA
M365 global developer bootcamp 2019 PA
 
Visual c++ demo
Visual c++ demoVisual c++ demo
Visual c++ demo
 
M365 global developer bootcamp 2019
M365 global developer bootcamp 2019M365 global developer bootcamp 2019
M365 global developer bootcamp 2019
 

KĂŒrzlich hochgeladen

CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfWilly Marroquin (WillyDevNET)
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
CALL ON ➄8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➄8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➄8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➄8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceanilsa9823
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
CALL ON ➄8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂
CALL ON ➄8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂CALL ON ➄8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂
CALL ON ➄8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂anilsa9823
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
call girls in Vaishali (Ghaziabad) 🔝 >àŒ’8448380779 🔝 genuine Escort Service đŸ”âœ”ïžâœ”ïž
call girls in Vaishali (Ghaziabad) 🔝 >àŒ’8448380779 🔝 genuine Escort Service đŸ”âœ”ïžâœ”ïžcall girls in Vaishali (Ghaziabad) 🔝 >àŒ’8448380779 🔝 genuine Escort Service đŸ”âœ”ïžâœ”ïž
call girls in Vaishali (Ghaziabad) 🔝 >àŒ’8448380779 🔝 genuine Escort Service đŸ”âœ”ïžâœ”ïžDelhi Call girls
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 

KĂŒrzlich hochgeladen (20)

CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Vip Call Girls Noida âžĄïž Delhi âžĄïž 9999965857 No Advance 24HRS Live
Vip Call Girls Noida âžĄïž Delhi âžĄïž 9999965857 No Advance 24HRS LiveVip Call Girls Noida âžĄïž Delhi âžĄïž 9999965857 No Advance 24HRS Live
Vip Call Girls Noida âžĄïž Delhi âžĄïž 9999965857 No Advance 24HRS Live
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
CALL ON ➄8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➄8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➄8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➄8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
CALL ON ➄8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂
CALL ON ➄8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂CALL ON ➄8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂
CALL ON ➄8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
call girls in Vaishali (Ghaziabad) 🔝 >àŒ’8448380779 🔝 genuine Escort Service đŸ”âœ”ïžâœ”ïž
call girls in Vaishali (Ghaziabad) 🔝 >àŒ’8448380779 🔝 genuine Escort Service đŸ”âœ”ïžâœ”ïžcall girls in Vaishali (Ghaziabad) 🔝 >àŒ’8448380779 🔝 genuine Escort Service đŸ”âœ”ïžâœ”ïž
call girls in Vaishali (Ghaziabad) 🔝 >àŒ’8448380779 🔝 genuine Escort Service đŸ”âœ”ïžâœ”ïž
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 

Getting started with IBM Rational Rhapsody in Ada

  • 1. Getting started with Rhapsody in ADA Setup Rhapsody in Ada with AdaCore GPL Frank Braun, Managing Partner EVOCEAN Deutschland GmbH
  • 2. 2 - © EVOCEAN www.evocean.com Let’s get started – Rhapsody in Ada In this session we show you how to: ‱ 1) Select and install an appropriate Ada Compiler. ‱ 2) Install Setup IBM Rational Rhapsody 8.2 in Ada. ‱ 3) Build an initial Hello World Example.
  • 3. 1) Select and install Ada Compiler
  • 4. 4 - © EVOCEAN www.evocean.com Rhapsody 8.2 Ada Compiler support  The Rhapsody in Ada Code generator has been tested against the following Ada compilers: ‱ GNAT 3.15p (freely available, however outdated: GCC 2.8.1) ‱ AdaCore’s GNAT Pro (commercial) ‱ AONIX ObjectAda Enterprise Edition (commercial )  Not officially supported but a good alternative is the free-of-charge and fully-featured GNAT GPL 2016 EDITION which is based on GCC 4.9.4.  This edition is available for students and free Software developers from http://libre.adacore.com/download and consists of: ‱ The GNAT Ada 95, Ada 2005 and Ada 2012 development environment. ‱ AdaCore’s GNAT Programming Studio IDE (GPS). ‱ A license suitable to develop Free Software (www.fsf.org).
  • 5. 5 - © EVOCEAN www.evocean.com GNAT GPL installation steps  The installation of the GNAT GPL Edition is straight forward. ‱ Just re-call the installation folder (Required for Rhapsody installation later on).
  • 6. 2.1) Install IBM Rational Rhapsody 8.2 in Ada
  • 7. 7 - © EVOCEAN www.evocean.com Download Rhapsody Evaluation  You can download the full featured Rhapsody evaluation edition + license under IBM developerWorks. ‱ http://www.ibm.com/developerworks/downloads/r/rhapsodydeveloper/ (If not yet registered , register once with your email then login)
  • 8. 8 - © EVOCEAN www.evocean.com Rhapsody Installation Double click on the installation file to launch Rhapsody installation Wizard: Read and accept license agreement then press Next>
  • 9. 9 - © EVOCEAN www.evocean.com Version and Language Settings  Select ‘IBM Rational Rhapsody Developer’  Select Ada  Select „Development environment and RTOS setting“ You will be able to also launch all other editions after the installation
  • 10. 10 - © EVOCEAN www.evocean.com Change Installation Path  Click Change to install Rhapsody to the following Path C:Rhapsody8.2 Having a central Rhapsody repository like this allows you to easily organise and install multiple Rhapsody releases underneath (i.e. 7.6, 8.0 etc)  Check “Install all Rhapsody files in one location” ‱ (will be underneath C:Rhapsody8.2Share)
  • 11. 11 - © EVOCEAN www.evocean.com  Installed environments are detected by the installer and incorporated in Rhapsody‘s environmental settings. Existing environments Before you continue, make sure that the Gnat Compiler path is pointing to the GPL 2016 installation Path.
  • 12. 12 - © EVOCEAN www.evocean.com Add-ons Select any Rhapsody-AddOn’s as required.
  • 13. 13 - © EVOCEAN www.evocean.com Licence Create a Folder flexlm and store your evaluation license file With Browse point to that license file:
  • 14. 14 - © EVOCEAN www.evocean.com Installation Press Install> to launch installation process. Press >Finish and launch Rhapsody
  • 15. 2.2) Setup IBM Rational Rhapsody 8.2 in Ada
  • 16. 16 - © EVOCEAN www.evocean.com Compiling Rhapsody Framework with GNAT GPL  Because we‘re using a different compiler than the officially supported one we have to rebuild the Rhapsody Framework libraries once before we start.  The simplest way is to perform this inside Rhapsody: ‱ Launch Rhapsody in Ada and create a new Project HelloWorldPrj by Selecting AdaCodeGeneration as Project Type
  • 17. 17 - © EVOCEAN www.evocean.com Build Framework  Select Code->Build Framework to launch the Framework BuildProcess:  Observer the build log and make sure that the build completes successfully:
  • 18. 3.) Hello World Project
  • 19. 19 - © EVOCEAN www.evocean.com Hello World with Rhapsody in Ada  Let’s build a first Rhapsody UML ADA-Model. The final generated code might look like this: ‱  A package structure containing a simple procedure which prints “Hello World” Ada Specification File Ada Body File
  • 20. 20 - © EVOCEAN www.evocean.com  Rhapsody Project and configuration structure  Generating Code from Model Elements  Adding own Code  Round Trip – To keep model and code in sync  Customize Code Generation  Generate and Build Component, Configuration, Packages Code What you will learn
  • 21. 21 - © EVOCEAN www.evocean.com Create Project  Launch Rhapsody in Ada:  In Rhapsody select File->New:  Name the Project HelloWorldPrj  Press OK> and Yes> to create the new Project and its Project Directory: Press No If you’re asked to enable the UML Perspective toolbar -
  • 22. 22 - © EVOCEAN www.evocean.com Rhapsody Projects  Observe the Browser structure: Browser Component Packages Configuration
  • 23. 23 - © EVOCEAN www.evocean.com  Rename DefaultComponent to HelloWorldApp and DefaultConfig to release: Components, Configurations, Packages  A Component is a kind of physical Container, the Application (exe), or Library that we Build. Each Component consist of at least one Configuration  In the Configuration of the component we tell Rhapsody, how to build the Component (which compiler, setting etc).  A Package is a logical structural Element.  Right Click on the Component HelloWorldApp to open its Feature Dialog:
  • 24. 24 - © EVOCEAN www.evocean.com Feature Dialog Component  Each Rhapsody model element has a Feature Dialog which allows further settings.  At Component Level, general Build- (i.e. to build an executable or build a library) and Code- generation- Settings (Scope of Code-generation) are defined in its Features. Just observe the settings in the General and Scope Tab of the HelloWorldApp Feature Dialog
  • 25. 25 - © EVOCEAN www.evocean.com Feature Dialog Configuration  Click on release to change the context of the Feature Dialog to the Configuration:  General configuration settings (Object Initialisation, Environment Settings like Compiler Settings) are made in the Features Dialog of the Configuration.
  • 26. 26 - © EVOCEAN www.evocean.com Main- and Make- File  The Main and Make Files of the Component HelloWorldApp (Application) are organized at configuration level. ‱ Press CTRL+F7 or select Code->Generate->release to initiate the Code generator: ‱ Right Click on the release configuration and select Edit Configuration Main File to open the main file: Even if Ada does not require a main as entry point, most Ada programs have one and Rhapsody generates one as well.
  • 27. 27 - © EVOCEAN www.evocean.com Package Code Generation  Rename the Default Package to HelloWorldPkg  Make sure that HelloWorldPkg is selected then Press ALT+2 to open the Active Code View Window: ‱ Observe the generated Code
 Active Code View is a dynamic and context sensitive code editor. Click on an Rhapsody UML element and you can see and edit its code Note that Rhapsody generates an ADA Package for a UML Package
  • 28. 28 - © EVOCEAN www.evocean.com Add Function to Model  Right Click on the Package HelloWorldPkg , select Add New->Function:  Name the function sayHello ()  Observe the generated code for the specification- (ads) and body-flle (adb):
  • 29. 29 - © EVOCEAN www.evocean.com  You can implement Code in two ways: 1) In the Model through the feature dialog. 2) Directly in the Source Code. 1) Implement Code through Features Dialog:  Open the Features Dialog of the sayHello Function and select the Implementation Tab:  In Local Variables type: c:character;  In Operation Body type: Put_Line("Hello World");  Press OK> and observe the code Window: Implement Function in Feature Dialog
  • 30. 30 - © EVOCEAN www.evocean.com Implement Function in Code Editor 2) Implement Code in Code Editor:  In the ActiveCode View Editor add a new line below Put_Line(“Hello World”) then type Get(c); to read some characters from the terminal:  Press CTRL+S and observe the Log-Protocol in the output window: The Code gets round tripped into the model.
  • 31. 31 - © EVOCEAN www.evocean.com Rhapsody Properties  We have one missing step to perform: ‱ Including the IO dependencies.  There are several ways how to perform this, for example through modelling or by the use of the Rhapsody Properties.  In this session we’re going to use the Properties. Rhapsody Properties are a powerful mean to customize Rhapsody Environment, Behaviour and Code Generation. ‱ In the browser double click on the HelloWordPkg to open its Feature Dialog then select the Properties Tab:
  • 32. 32 - © EVOCEAN www.evocean.com CodeGeneration through properties  In the Property Ada_CG->Package->ImplementationProlog type the following text: with Ada.Text_IO; use Ada.Text_IO;  Observe the changes in the Code Editor Window:
  • 33. 33 - © EVOCEAN www.evocean.com Initialize Main  As we have learned in previous slides, the generated code from the configuration underneath the Component is the entry point (main) for each application.  Inside the Initialization code field press CTRL+Space which activates Rhapsody Intellisense (Rhapsody auto complete):  To complete we need to call our sayHello function to the main. ‱ Open the Features Dialog of the release configuration:  Select the Initialization Tab:  Make sure that you have HelloWorldPkg.sayHello; as initialisation code:
  • 34. 34 - © EVOCEAN www.evocean.com Build and Run Application  In Rhapsody select Code-> Generate/Make/Run or press :  Observe the build log and enjoy your result: In case of a compilation error double click on the error message to navigate to the source of error. You should now have all ingredients to complete or fix the model in order to make it running ;-)
  • 35. 35 - © EVOCEAN www.evocean.com Thank you - Do you want more ? We periodically run the following Training Courses: ‱ IBM Rhapsody in C and C++ Training Course with UML (4 days) ‱ EVOCEAN Rhapsody in C++ Training Course with RaspberryPi (3 days) ‱ Rhapsody for System Engineers with SysML (4 days) ‱ Rhapsody MDSE with SysML ToolTraining (2 days)  Visit: www.evocean.com/events World- Wide ! Project Support, In-house Trainings / Trainings in Rhapsody in Autosar, Ada or Java , Design Manager ?  Send request to : info@evocean.com
  • 36. 36 - © EVOCEAN www.evocean.com THANK YOU Are you interested in a specific topic ? Just send an Email to: Rhapsody@evocean.com or send “Newsletter” to Info@evocean.com to receive our newsletter