This document discusses various migration paths and tasks involved in migrating applications from an S-series NonStop system running TNS/R to an Integrity NonStop system running TNS/E. It covers migrating applications written in TNS, pTAL, C/C++, and COBOL and discusses changes needed to code, compilers, libraries and other elements to ensure successful migration. Key tasks discussed include recompilation, adjusting for changes in data alignment, compiler directives and functions, and replacing obsolete features.
8051 programming skills using EMBEDDED CAman Sharma
It contains basic programming tips for embedded c for those who are just into it and don't know much about it....have a look in it and u will surely find it easy.
8051 programming skills using EMBEDDED CAman Sharma
It contains basic programming tips for embedded c for those who are just into it and don't know much about it....have a look in it and u will surely find it easy.
This presentation discusses the internal architecture of Intel 8051. It discusses basic families of 8051, the programmer view, register sets and memory organiszation of 8051
The document is a scientific composition about the
system architecture of OpenFlow and describes their principles of data handling, the types of messages and operations on the network.
The Microcontroller 8051 Family
Features of 8051 Microcontroller
Pin Configuration of 8051 Microcontroller
Ports of 8051 Microcontroller
Architecture of 8051 Microcontroller
Registers of 8051
Special Function Registers (SFR's)
Bit addressable RAM
Register Bank and Stack of 8051
In this presentation we will discuss the planning considerations as well as some applicable methodologies and tools involved in the development and execution of a large AWS migration strategy.
This presentation discusses the internal architecture of Intel 8051. It discusses basic families of 8051, the programmer view, register sets and memory organiszation of 8051
The document is a scientific composition about the
system architecture of OpenFlow and describes their principles of data handling, the types of messages and operations on the network.
The Microcontroller 8051 Family
Features of 8051 Microcontroller
Pin Configuration of 8051 Microcontroller
Ports of 8051 Microcontroller
Architecture of 8051 Microcontroller
Registers of 8051
Special Function Registers (SFR's)
Bit addressable RAM
Register Bank and Stack of 8051
In this presentation we will discuss the planning considerations as well as some applicable methodologies and tools involved in the development and execution of a large AWS migration strategy.
Many significant business initiatives and large IT projects depend upon a successful data migration. Your goal is to minimize as much risk as possible through effective planning and scoping. This paper will provide insight into what issues are unique to data migration projects and offer advice on how to best approach them.
In this deck from the University of Houston CACDS HPC Workshop, Jeff Larkin from Nvidia presents: The Past, Present, and Future of OpenACC.
"OpenACC is an open specification for programming accelerators with compiler directives. It aims to provide a simple path for accelerating existing applications for a wide range of devices in a performance portable way. This talk with discuss the history and goals of OpenACC, how it is being used today, and what challenges it will address in the future."
Watch the video presentation: http://wp.me/p3RLHQ-dTm
Python uses DYNAMIC typing AND A COMBINATION of reference counting AND A cycle-detecting GARBAGE collector for memory MANAGEMENT. It ALSO FEATURES DYNAMIC NAME RESOLUTION(LATE binding) which binds methods AND VARIABLE NAMES during PROGRAM execution.
As we know, whenever we run ANY APPLICATION it gets LOADED into RAM AND some memory gets ALLOCATED by OS for THAT APPLICATION.
Learn more about Python PRogramming with Learnbay.
Visit:https://www.learnbay.co/data-science-course/
Android 5.0 Lollipop brings huge change, compare to before.
This report includes statistics from source code with data and hidden features from source code & git log investigation.
Getting Started: Intro to Telegraf - July 2021InfluxData
In this training webinar, Samantha Wang will walk you through the basics of Telegraf. Telegraf is the open source server agent which is used to collect metrics from your stacks, sensors and systems. It is InfluxDB’s native data collector that supports nearly 300 inputs and outputs. Learn how to send data from a variety of systems, apps, databases and services in the appropriate format to InfluxDB. Discover tips and tricks on how to write your own plugins. The know-how learned here can be applied to a multitude of use cases and sectors. This one-hour session will include the training and time for live Q&A.
Join this training as Samantha Wang dives into:
Types of Telegraf plugins (i.e. input, output, aggregator and processor)
Specific plugins including Execd input plugins and the Starlark processor plugin
How to install and start using Telegraf
DAOS - Scale-Out Software-Defined Storage for HPC/Big Data/AI Convergenceinside-BigData.com
In this deck, Johann Lombardi from Intel presents: DAOS - Scale-Out Software-Defined Storage for HPC/Big Data/AI Convergence.
"Intel has been building an entirely open source software ecosystem for data-centric computing, fully optimized for Intel® architecture and non-volatile memory (NVM) technologies, including Intel Optane DC persistent memory and Intel Optane DC SSDs. Distributed Asynchronous Object Storage (DAOS) is the foundation of the Intel exascale storage stack. DAOS is an open source software-defined scale-out object store that provides high bandwidth, low latency, and high I/O operations per second (IOPS) storage containers to HPC applications. It enables next-generation data-centric workflows that combine simulation, data analytics, and AI."
Unlike traditional storage stacks that were primarily designed for rotating media, DAOS is architected from the ground up to make use of new NVM technologies, and it is extremely lightweight because it operates end-to-end in user space with full operating system bypass. DAOS offers a shift away from an I/O model designed for block-based, high-latency storage to one that inherently supports fine- grained data access and unlocks the performance of next- generation storage technologies.
Watch the video: https://youtu.be/wnGBW31yhLM
Learn more: https://www.intel.com/content/www/us/en/high-performance-computing/daos-high-performance-storage-brief.html
Sign up for our insideHPC Newsletter: http://insidehpc.com/newsletter
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...Neo4j
Leonard Jayamohan, Partner & Generative AI Lead, Deloitte
This keynote will reveal how Deloitte leverages Neo4j’s graph power for groundbreaking digital twin solutions, achieving a staggering 100x performance boost. Discover the essential role knowledge graphs play in successful generative AI implementations. Plus, get an exclusive look at an innovative Neo4j + Generative AI solution Deloitte is developing in-house.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
A tale of scale & speed: How the US Navy is enabling software delivery from l...sonjaschweigert1
Rapid and secure feature delivery is a goal across every application team and every branch of the DoD. The Navy’s DevSecOps platform, Party Barge, has achieved:
- Reduction in onboarding time from 5 weeks to 1 day
- Improved developer experience and productivity through actionable findings and reduction of false positives
- Maintenance of superior security standards and inherent policy enforcement with Authorization to Operate (ATO)
Development teams can ship efficiently and ensure applications are cyber ready for Navy Authorizing Officials (AOs). In this webinar, Sigma Defense and Anchore will give attendees a look behind the scenes and demo secure pipeline automation and security artifacts that speed up application ATO and time to production.
We will cover:
- How to remove silos in DevSecOps
- How to build efficient development pipeline roles and component templates
- How to deliver security artifacts that matter for ATO’s (SBOMs, vulnerability reports, and policy evidence)
- How to streamline operations with automated policy checks on container images
2. NonStop S-Series to Integrity NonStopNonStop S-Series to Integrity NonStop
Migration PathsMigration Paths
migration paths:
◦ S-series TNS Mode to Integrity NonStop TNS Mode
◦ TNS/R Native Mode to TNS/E Native Mode
5 - Application Migration 2
TNS Mode
Native Mode
TNS Mode
Native Mode
S-series System (TNS/R)
Integrity NonStop System
(TNS/E)
3. NonStop S-Series TNS Mode toNonStop S-Series TNS Mode to
Integrity NonStop TNS ModeIntegrity NonStop TNS Mode
◦ Any TNS Guardian program that runs on
an S-series platform should run on an Integrity
NonStop with no changes
◦ TNS Guardian object code
can be emulated by an interpreter
◦ TNS Guardian object code accelerated in TNS/R
system can be accelerated again in TNS/E system
Object file can contain both accelerated versions
◦ TNS execution is not supported in the HP NonStop
Open System Services (OSS) environment
5 - Application Migration 3
4. TNS/R Native Mode toTNS/R Native Mode to
TNS/E Native ModeTNS/E Native Mode
Migrating object code running in TNS/R
native mode to run inTNS/E native mode
usually requires only a recompilation using a
TNS/E native compiler, except:
◦ In a few cases, source code needs changes
For example, conditional compilation:
“ if <TNS/R> … else … “ (TNS meant)
◦ To incorporate some of the new H- or J-series
features into the application for performance
improvement and other benefits
◦ Some features considered obsolete in the TNS/R
native programming languages are not supported
in the TNS/E native version of the language
5 - Application Migration 4
5. Preparing Programs for MigrationPreparing Programs for Migration
◦ Be sure the program runs successfully on the
G06.20 or later G-series ReleaseVersion Update (RVU)
◦ If the program runs on an earlier RVU, see the
following documents and upgrade:
G06.xx Software Installation and Upgrade Guide
G06.xx ReleaseVersion Update Compendium
Interactive Upgrade Guide and Interactive Upgrade Guide
2
5 - Application Migration 5
6. Maintaining Common Source CodeMaintaining Common Source Code
◦ Most TNS/R native programs will require no
changes to migrate them to an Integrity
NonStop system
◦ When maintaining a common source code for
TNS/R and TNS/E native compilers:
Do not use any of the new H- or J-series features
Avoid using those few features in the TNS/R
programs that are not supported
in the H- or J-series RVUs
5 - Application Migration 6
7. Alignment of DataAlignment of Data
◦ Different compilers align data items differently:
TNS compilers align data on even-byte boundaries
TNS/R and TNS/E compilers align 4-byte data items on 4-byte
boundaries
TNS/E compilers also align 8-byte data items on 8-byte
boundaries
TNS/E native POOL_GETSPACE_, GETPOOL, and malloc
procedures allocate buffers aligned on 16-byte boundaries
◦ Programming errors or run-time events can cause a
data item to violate the data alignment rules and can
change the behavior of the program.
◦ use EPTRACE
◦ Applications bound into GDSX must be recompiled.
◦ Because of 16-byte alignment in DEFINEPOOL
5 - Application Migration 7
8. Adjusting for Increased DCT LimitsAdjusting for Increased DCT Limits
◦ The maximum size of the Destination Control Table
(DCT) can be optionally increased from 32,767 to
65,376 as of G06.23 RVU and H-series
The default setting for the extended DCT limit is:
OFF for G06.23 or later RVU
OFF for H-series RVU (originally proposed to be on)
◦ The affected programs are those that call the
following
C-series procedures:
FILEINFO
GETDEVNAME
GETPPDENTRY
GETSYSTEMNAME
LOCATESYSTEM
LOOKUPPROCESSNAME
5 - Application Migration 8
9. Adjusting for Increased DCT LimitsAdjusting for Increased DCT Limits
C-Series Procedure Replacement Procedure
FILEINFO FILE_GETINFOLIST_
GETDEVNAME DEVICE_GETINFOBYLDEV_, CONFIG_GETINFOBYLDEV_,
CONFIG_GETINFOBYLDEV2_, FILENAME_FINDSTART_,
FILENAME_FINDNEXT_
GETPPDENTRY PROCESS_GETPAIRINFO_
GETSYSTEMNAME NODENUMBER_TO_NODENAME_
LOCATESYSTEM NODENAME_TO_NODENUMBER_
LOOKUPPROCESSNAME PROCESS_GETPAIRINFO_
5 - Application Migration 9
To migrate the affected programs:
◦ Change programs to use replacement procedures
◦ Use SCF to reset the DCT limits extension to ON
10. TNS/E pTAL CompilerTNS/E pTAL Compiler
◦ All TNS/R pTAL programs must be
recompiled with the TNS/E pTAL compiler.
◦ Most of the features and constructs of TNS/R
pTAL are supported in TNS/E pTAL, except:
Some privileged operations
Some features, such as SRL, that are not supported
in H-series RVUs
Features considered obsolete in TNS/E pTAL
◦ All code produced by the TNS/E compilers is
position-independent code (PIC), which can
be used to create DLLs.
5 - Application Migration 10
11. pTAL Compiler DirectivespTAL Compiler Directives
◦ Compiler directives that must be removed or
changed:
SAVEGLOBALS: not supported
USEGLOBALS: not supported
NOCALL_SHARED: the compiler generates PIC only
NOGP_OK: not needed; SRLs are not supported
TARGET:TNS_R_TARGET option is not accepted.
Replaced by TNS_E_TARGET
◦ Compiler directives that are obsolete and are
ignored by the compiler (a warning is issued):
BEGINCOMPILATION: not supported and is ignored
SRL: not supported and warning is issued
GP_OK, PUSHGP_OK, POPGP_OK, and NOGP_OK:
these SRL-related directives are ignored by the compiler
5 - Application Migration 11
12. pTAL Compiler DirectivespTAL Compiler Directives
◦ Compiler directives that have different
behavior and may require source code
changes:
OPTIMIZEFILE: warnings are issued in certain
conditions
OVERFLOW_TRAPS and NOOVERFLOW_TRAPS:
In TNS/R pTAL, OVERFLOW_TRAPS is the default,
but in TNS/E pTAL, NOOVERFLOW_TRAPS is the
default
5 - Application Migration 12
13. pTAL Functions and ProcedurespTAL Functions and Procedures
◦ Functions and procedures that are not supported
and should be replaced with H- or J-series
directly-called privileged interface:
$EXECUTIO, $INTERROGATEIO,
$INTERROGATEHIO, $LOCATESPTHDR,
$LOCKPAGE, $READBASELIMIT, $READSPT,
$UNLOCKPAGE, and $WRITEPTE
◦ Functions and procedures that are changed:
$AXADR: Replace with standard interface
$FREEZE: Replace with the $TRIGGER function.
$HALT: Replace with the $TRIGGER function.
$STACK_ALLOCATE: Perform different rounding and alignment.
Address of allocated area aligned to 16-byte boundary
Size of allocated area rounded up to the multiple of 16 bytes
5 - Application Migration 13
14. Other pTAL Migration TasksOther pTAL Migration Tasks
◦ Procedure attributes
TNS/E pTAL does not support the INTERRUPT
procedure attribute
◦ 16-byte-aligned data
The TNS/E pTAL compiler provides
STRUCTALIGN (MAXALIGN) attribute.This
attribute causes data to be aligned on the maximum
alignment defined for the platform, which is 16
bytes for TNS/E platform.
5 - Application Migration 14
15. Other pTAL Migration TasksOther pTAL Migration Tasks
◦ FIELDALIGN directive in mixed language
programming
FIELDALIGN (PLATFORM) causes the pTAL compiler to use
the same data alignment as other compilers on the same
platform
FIELDALIGN (AUTO) allows the pTAL compiler to determine
data alignment based on what is most efficient
◦ Functions that return condition code and value:
TNS/E pTAL compiler issues warning
Not callable from C/C++
TNS/R pTAL 64-bit workaround no longer works
Write jacket procedure in pTAL
5 - Application Migration 15
16. TNS/E Native C/C++ CompilersTNS/E Native C/C++ Compilers
◦ TNS/R and TNS/E native C/C++ compilers
conform to the ISO/ANSI C language
standard
Programs migrating from TNS/R most likely require
no changes unless they depend on the underlying
machine architecture or use undocumented
features (mainly privileged features)
◦ C/C++ main routine object file name
In Guardian: CCPLMAIN
In OSS: cpplmain.o
5 - Application Migration 16
17. Standard C++ Run-Time LibrariesStandard C++ Run-Time Libraries
◦ Three versions of the standard C++ library are
available on NonStop systems:
VERSION1
Data structures and algorithm libraries
string, complex, and numeric_limits classes
Not supported on Integrity NonStop systems
Tools.h++ version 6.1 library
VERSION2
STL (Standard Template Library)
Memory management, language support, locale and exception handling
features
Tools.h++ version 7 library
VERSION3
Conforms to ISO/IEC IS 14882:1998 (E) standard for C++
Does not support any version ofTools.h++ library
5 - Application Migration 17
18. Native C/C++ Library MigrationNative C/C++ Library Migration
◦ Native C run-time library
Native C run-time library on S-series and on Integrity
NonStop are nearly identical
◦ Native C++ run-time library
Migrating from C++VERSION2 andVERSION3 on S-series
to the respective version on Integrity NonStop should
require no additional source code changes
Migrating from C++VERSION1 on G-series to C++
VERSION2 on Integrity NonStop requires source code
changes
If linking the program as a separate step, you must also specify the
ZCPPCDLL and ZCPP2DLL on the eld command
Tools.h++ version 6.1, if any, should be migrated toTools.h++ version 7
Recommendation is to migrate toVERSION3
5 - Application Migration 18
19. Native C/C++ Library MigrationNative C/C++ Library Migration
◦ Native C++ run-time library (Continued)
Migrating from C++VERSION1 on S-series to C++
VERSION3 on Integrity NonStop requires source code
changes
The two versions are source code compatible; the only differences are
in the names of header files
Requires source code changes to remove any use ofTools.h++ library
Migrating from C++VERSION2 on S-series to C++
VERSION3 on Integrity NonStop requires source code
changes
It is recommended that you convert to C++VERSION3 on
S-series, then to C++VERSION3 on Integrity NonStop
Requires source code changes to remove any use ofTools.h++ library
5 - Application Migration 19
20. Changed Pragmas and FlagsChanged Pragmas and Flags
◦ The following pragmas and flags are either obsolete
or have different behavior:
EXTERN_DATA GP_OK allows GP-relative addressing for
external data references.This pragma is ignored and a
warning is issued in TNS/E systems.
NON_SHARED pragma is ignored and a warning is issued
SRL pragmas or –Wsrl flag is ignored and a warning is issued
SRLExports or –Wsrlexports is ignored and a warning is
issued
SRLExportMembers or –Wsrlexportmembers is ignored
and a warning is issued
SRLName or –Wsrlname is ignored and a warning is issued
5 - Application Migration 20
21. Changed Pragmas and FlagsChanged Pragmas and Flags
◦ The following pragmas and flags are either obsolete
or have different behavior (Continued):
INSPECT
Controls the selection of the debugging tools.The order of
precedence follows:
For S-series non-PIC:Visual Inspect, Inspect, DEBUG
For S-series PIC:Visual Inspect, DEBUG
For Integrity NonStop:Visual Inspect, Native Inspect
NOINSPECT
Controls the selection of the debugging tools.The order of
precedence follows:
For S-series: DEBUG
For Integrity NonStop: Native Inspect
5 - Application Migration 21
22. Changed Pragmas and FlagsChanged Pragmas and Flags
◦ The following pragmas and flags are either obsolete
or have different behavior (Continued):
NLD or –Wnld is replaced with ELD or –Weld
respectively
LD or –Wld is replaced with ELD or –Weld respectively
VERSION1 replaced withVERSION2 orVERSION3
–Wversion1 replaced with –Wversion2 or –Wversion3
5 - Application Migration 22
23. Neutral C++ DialectNeutral C++ Dialect
◦ The neutral C++ dialect consists of library
components that are sharable betweenVERSION2
andVERSION3 of the C++ standard libraries
◦ Permits middleware to supportVERSION2 and
VERSION3 clients
◦ Two pragmas are provided in support of the neutral
C++ dialect:
NEUTRAL: Marks a class definition as being sharable (allowed only in
standard header files)
BUILD_NEUTRAL_LIBRARY: Used to create DLLs that use the
neutral dialect. If this pragma is specified and the program references
an object not marked with NEUTRAL, a compiler error is issued.
5 - Application Migration 23
24. Other C/C++ MigrationTasksOther C/C++ MigrationTasks
◦ New C and C++ features
Pragmas
NEUTRAL: Marks an object as sharable betweenVERSION2
andVERSION3 of the C++ standard library
BUILD_NEUTRAL_LIBRARY: Build a DLL using the neutral
C++ dialect
MAXALIGN:Aligns composite objects to the16-byte
alignment, which is the maximum alignment supported by
the compiler for some functions to work. Most programs
will not need to declare the MAXALIGN pragma, as it is
included in the standard header file that supplies the data
type declaration.
5 - Application Migration 24
25. Other C/C++ MigrationTasksOther C/C++ MigrationTasks
◦ New C and C++ features (Continued)
New 64-bit unsigned integer data type
Type declaration is unsigned long long
New functions for conversion between character
strings and the 64-bit integer type:
strtoll — Converts a character string to a
signed long long integer
strtoull — Converts a character string to an
unsigned long long integer
wcstoll — Converts a wide-character string to a
signed long long integer
wcstoull — Converts a wide-character string to an
unsigned long long integer
5 - Application Migration 25
26. Other C/C++ MigrationTasksOther C/C++ MigrationTasks
◦ Data type for 32-bit values in CEXTDECS file
changes from long to int
When recompiling native TNS/R programs for the TNS/E
environment, if
The parameter is passed by value: automatic type conversion is done
and no warning is issued
The parameter is passed by reference: correct code is generated and
the warning of mismatched data types is issued
One of the following actions may be taken, but is not
required:
Use theWARN/NOWARN pragma or flag to suppress the warning
message
Use the int type instead of the long type in the calling program
Use __int32_t typedef for 32-bit items
5 - Application Migration 26
27. Other C/C++ MigrationTasksOther C/C++ MigrationTasks
◦ TNS/R and TNS/E systems use opposite conventions
for returning quiet and signaling NaN (not-a-number)
values
◦ Programs that depend on the TNS floating point
format must specify the TANDEM_FLOAT pragma
because the default floating-point format is IEEE
◦ Replace _TNS_R_TARGET feature test macro with
_TNS_E_TARGET
◦ Use _TANDEM_ARCH_ feature test macro to
identify the platform
0 for TNS, 1 for TNS/R and 2 for TNS/E
5 - Application Migration 27
28. TNS/E Native COBOL CompilerTNS/E Native COBOL Compiler
◦ Supports the same functions and features as
the TNS/R native COBOL compiler
◦ Compiles most TNS/R native COBOL
programs and executes them correctly
◦ Any program called by a migrated application
must also be migrated to TNS/E native mode
◦ All code produced by the compiler is PIC
5 - Application Migration 28
29. COBOL Compiler DirectivesCOBOL Compiler Directives
◦ The following obsolete compiler directives
cause a warning to be issued if they are not
removed. No code change is required.
NON-SHARED: In a TNS/E system, all code is
sharable PIC; therefore, this directive is ignored
LARGEDATA: In a TNS/E system, there is no
distinction of data areas so this directive is ignored
LESS-CODE: In a TNS/E system, native COBOL
does not support the option to use a system call to
initialize the Extended-Storage Section and this
directive has no effect
5 - Application Migration 29
30. COBOL Compiler DirectivesCOBOL Compiler Directives
◦ The following compiler directives have different
meanings and changes may be required
UL: Has the same effect as the SHARED directive. If used with
CALL-SHARED or SHARED, can cause an error. If used with
RUNNABLE, causes the compiler to link the object file into a DLL.
SEARCH and CONSULT:
These must specify TNS/E object files
OPTIMIZE:
0 no optimization
1 produces optimization for use with debugging
2 produces full optimization
INSPECT: If available, selectsVisual Inspect over Native
Inspect as the debugging tool
NOINSPECT:
Selects Native Inspect as the debugging tool
5 - Application Migration 30
31. Other COBOL Migration TasksOther COBOL Migration Tasks
◦ Use of floating-point data
TNS/E native COBOL uses the IEEE format, not HP
proprietary TNS format
◦ Alignment of Level-01 and Level-77 data items
are aligned on an 8-byte boundary
can be aligned on an 4-byte boundary by adding the
SYNCHRONIZED clause to the declarations
◦ File names referenced in the following contexts are
changed from NMCOBEX<n> to ECOBEX<n>
where <n> is 0, 1 or T:
CONSULT, LIBRARY, and SEARCH directives
File-mnemonic clause of the SPECIAL-NAMES paragraph
OF or IN clause of the CALL or ENTER statement
5 - Application Migration 31
32. User Library MigrationTasksUser Library MigrationTasks
◦ The user library is an object file that the operating
system links to a program file at run time
◦ TNS/R native user libraries:
Non-PIC user library is a special form of shared run-time
library (SRL)
PIC user library is a dynamic-link library (DLL)
◦ TNS/E supports PIC user libraries only
◦ Migrating either type of TNS/R native user library
requires recompiling and relinking
5 - Application Migration 32
33. User Library MigrationTasksUser Library MigrationTasks
◦ Migrating SRL-type of TNS/R native user library
For pTAL programs
Guardian environment: Use EPTAL with CALL_SHARED directive
on the command line
PC: Use eptal with –shared flag on the command line
For C/C++ programs
Guardian environment: Use CCOMP or CPPCOMP
OSS environment or PC: Use c89 with –Wshared flag. Replace SRL
with SHARED pragma
For COBOL programs
Guardian environment: Use ECOBOL with SHARED, ELD, and
RUNNABLE directives on the command line
(or in the source code)
OSS environment or PC: Use ecobol
5 - Application Migration 33
34. User Library MigrationTasksUser Library MigrationTasks
◦ Migrating DLL-type of TNS/R native user
library
For all programs
DLLs on TNS/E systems are functionally identical to DLLs
on TNS/R systems
Recompile DLLs with TNS/E native compiler and link the
object codes with TNS/E eld linker using same compiler
directives and same linker flags
5 - Application Migration 34
35. Floating-point Consistency ChecksFloating-point Consistency Checks
◦ Possible linkfile and loadfile floattype settings:
TANDEM_FLOAT
IEEE_FLOAT
NEUTRAL_FLOAT
◦ Set by compiler or eld
◦ Checks performed:
Link-time
TANDEM_FORMAT and IEEE_FORMAT can not be linked together
Override by setting floattype explicitly using eld
Run-time
Program file and Ordinary DLL must match or one be neutral
Override by setting float_lib_overrule using eld
5 - Application Migration 35
36. Guardian API Migration TasksGuardian API Migration Tasks
◦ Procedures having different behavior
Different buffer alignment for GETPOOL and
POOL_GETSPACE_ procedures
ForTNS/R native callers, the above procedures return pointers to
4-byte aligned buffers.
ForTNS/E native callers, the above procedures return pointers to
16-byte aligned buffers by default
Results may differ when the pool is already near capacity. It may
not be possible to allocate as many data blocks on aTNS/E system
as on aTNS/R system
DEBUG and PROCESS_DEBUG_ procedure invokes H-
series debuggers
Visual Inspect, Native Inspect, or Inspect
5 - Application Migration 36
37. Guardian API Migration TasksGuardian API Migration Tasks
◦ Procedures having new return values
PROCESSORTYPE procedure returns:
10 indicating an EPIC processor
PROCESSOR_GETNAME_ procedure returns:
For name parameter: NSE-A
For cpu-type-out parameter: 10
For cpu-model-out parameter: 1 to 92*
PROCESSOR_GETINFOLIST_ procedure returns:
For processor type: 10
For processor model number : 1 to 92*
For processor name: NSE-x
For processor full name: HP NonStop System EPIC Model x CPU
Number of IPUs for NSMA
TOSVERSION and REMOTETOSVERSION procedures
return the value of R06
5 - Application Migration 37
38. Guardian API Migration TasksGuardian API Migration Tasks
◦ Superseded procedures
The DELAY procedure is deprecated; it is superceded
by the PROCESS_DELAY_ procedure
◦ New procedures to support process
management enhancements
PROCESS_DELAY_
TIMER_START_
TIMER_STOP_
TS_NANOSECS_
TS_UNIQUE_COMPARE_
TS_UNIQUE_CONVERT_TO_JULIAN_
TS_UNIQUE_CREATE_
5 - Application Migration 38
39. Third-Party ToolsThird-Party Tools
Ensure that any third-party tools you use
are available for TNS/E systems:
◦ Development tools
◦ Code libraries
◦ Operations tools
Schedulers
Performance monitors
Backups
5 - Application Migration 39
40. Data Dictionary MigrationData Dictionary Migration
New DDL Compiler on TNS/E
◦ ?DICT
This dictionary was created by a different
version of the DDL compiler. It can be read but
not updated by this DDL compiler.
To convert your dictionary:
?DDL TEMP
OUTPUT *
?NODDL, DICT! ,COMMMENTS, SOURCE TEMP
5 - Application Migration 40