EasyFlow - v Application Developer Guide

Size: px
Start display at page:

Download "EasyFlow - v Application Developer Guide"

Transcription

1 EasyFlow - v Application Developer Guide June 23, 2014

2 i 2013 CAMELOT Biomedical Systems Srl. The information in this document is proprietary to CAMELOT. No part of this publication may be reproduced, copied or transmitted in any form or for any purpose without the express prior written permission of CAMELOT. The information contained herein may be changed without prior notice. This document is provided without a warranty of any kind, either express or implied, including but not limited to the implied warranties of merchantability, fitness for a particular purpose, or non-infringement. CAMELOT shall have no liability for damages of any kind including without limitation direct, special, indirect, or consequential damages that may result from the use of these materials. This limitation shall not apply in cases of intent or gross negligence. The statutory liability for personal injury and defective products is not affected. Any software coding and/or code lines / strings ( Code ) included in this documentation are only examples and are not intended to be used in a productive system environment. The Code is only intended better explain and visualize the syntax and phrasing rules of certain coding. CAMELOT does not warrant the correctness and completeness of the Code given herein, and CAMELOT shall not be liable for errors or damages caused by the usage of the Code, except if such damages were caused by CAMELOT intentionally or grossly negligent.

3 CONTENTS 1 Contents 1 Introduction What is EasyFlow? Getting Started Requirements Installation Test your installation Using CMake Hello World! Introduction Create the project Write the code CMakeLists.txt HelloWorld class main function Compile the project Test your application Complete Functionalities Handling Input Interruption Points Initialise and Release Resources Where to Go from Here Deploying your app Further information Introduction 1.1 What is EasyFlow? EasyFlow is a software framework meant to simplify the integration of image post-processing applications ("apps") into systems meant for the management and storage of images. We refer to the system integrating the apps as the "host". Within the EasyFlow framework, an application can receive data from the Host, execute a processing task, and send the results back to the Host. As an example, in a radiology department a PACS is the system used to archive all image series acquired with the different modalities. Some of the acquired series may require further processing before they can be reviewed by the radiologist, and this task may be delegated to a separate process on a dedicated server. In this scenario the PACS would play the role of Host, integrating the App doing the actual work on the dedicated server. A similar scenario can be seen in the context of digital pathology. Here again we have systems collecting and archiving whole-slide images from the acquisition device, and often these images may require post-processing before being reviewed by the pathologist. Through EasyFlow image management system could play as Host and delegate the post-processing to apps residing on a separate server.

4 1.2 Getting Started 2 Figure 1: EasyFlow architecture The integration of an app and its host occurs by allowing them to communicate over TCP/IP through a well-defined protocol. Since an app and its host communicate over TCP/IP, this allows for a much wider range of set-ups and configurations. The framework defines: a host-application interaction layer, that handles the interaction between the Host and the Application through web service, and it is hidden to third-party developers; a integration layer, that is used for the rapid development of hosted applications and the integration in hosting systems, and it is the layer exposed to third-party developers. This document shall guide you through the deployment of an application as an EasyFlow app. The examples of this tutorial describe how to write a hosted application program using the integration layer offered by the EasyFlow framework, which takes care of all the necessary communication with the host. Using EasyFlow allows the developer to focus on the logic of the post-processing application. 1.2 Getting Started Requirements The EasyFlow framework will work in both Unix-like and Windows operating systems. It has been developed and tested across different combinations of systems, compilers and hardware platforms including Windows, Linux and Mac OSX on Intel-compatible hardware. It is known to work for the following combination of operating systems and compilers: Windows (XP 32bit, 7/8 32/64bit) with Visual Studio 2008/2010 (both Express and Professional edition) Linux (kernel 2.6.3x/3.x 32/64bit) with GCC 4.6.x Mac OSX ( /64bit) with Apple LLVM 5.x In order to build your own EasyFlow application you will also need to install CMake, a cross-platform and opensource family of software tools designed for managing the build, test and package process of software using a compiler-independent method. CMake can be downloaded at no cost from:

5 1.2 Getting Started 3 You can download binary versions for most of the popular platforms including Windows, Mac OSX and Linux. Alternatively you can download the source code and build CMake on your system. Follow the instructions in the CMake Web page for downloading and installing the software. EasyFlow also depends on the Boost ( and Apache Thrift ( apache.org) libraries. The parts of Boost and Thrift that are required for developing an EasyFlow app are already included in the EasyFlow distribution Installation The EasyFlow framework is shipped in two versions: the Application Developer package; the Host Integration package. Both versions are currently shipped as zip archive files, containing the present guide as well as all that is needed to either develop an EasyFlow App, or to integrate the framework in a Host. This guide only deals with the Application Developer package and the subsequent paragraphs will explain how to use it. For the Host Integration package you have to refer to the Host Integration Guide. To install the Application Developer package simply unzip the archive in the folder of your choice. Once unzipped, the installation folder will contain the following directories: Copyright.txt: the copyright notice. bin: the directory holding auxiliary tools, among them a simple Host to test you apps. include: the directory holding all the header files needed compiling an app. lib: the directory holding all the libraries your application will link to. examples: docs: examples/helloworld - contains the files of the "Hello World" example. docs/tutorials/ - contains the tutorial that you are reading. docs/api_reference/ - contains the doxygen documentation which describes in detail every class and method in the framework. The documentation also contains inheritance and collaboration diagrams and listing of data members Test your installation In order to test the installation, we suggest to build the example app in the examples/helloworld directory using CMake, and test it with the simple Host distributed with the packages. You will find more information in section Compile the project Using CMake For detailed instructions on how to use CMake, refer to the website. Here we give a very short summary to introduce you to its use for building an EasyFlow app. CMake expects a CMakeLists.txt file defining the project you want to build. Typically, in this file you will define which source code files must be built, where the header files are placed, which libraries the executable should be linked to and so on. CMake processes the CMakeLists.txt file, possibly requiring input from the user for

6 2 Hello World! 4 information that it cannot gather automatically, and generates the files needed to build the project (e.g. Makefiles, Visual Studio solutions, XCode projects). The CMake program can be used both through textual (only UNIX-like systems) and graphical (on all systems) user interface. In both cases, you will be asked to provide the path to the folder where you have installed the Application Developer package. To use the TUI, open a terminal and change the current working directory to the folder where you want to build your project. The build directory can be the same source directory (what is called an in-source build) or a specially created directory. Then you can type the "ccmake PATH_TO_PROJ" command, where you should replace P- ATH_TO_PROJ with the path to the project directory holding the CMakeLists.txt file. To use the GUI, run the cmake-gui program and provide the build folder and the project folder. 2 Hello World! 2.1 Introduction In this section we will describe how to write your first EasyFlow app. The goal of this example is to guide you in writing a simple EasyFlow app which stores on disk a text file containing the "Hello World!" line. Neither input files nor input parameters will be used in this example. All the sources and files related to this example are present in the installation archive inside the "Examples/Hello- World" folder. 2.2 Create the project First of all, before starting writing the code, you need to create and set up properly the new project that will contain the example. The simplest way to create a new project with EasyFlow is to create a new folder somewhere in your disk and create four files inside it: A CMakeLists.txt file that will be used by CMake to generate a Makefile (if you are using UNIX-like systems) or a Visual Studio solution (if you are using Windows). A source file with the main function that allows the example class to start execution. The header and source files with the implementation of the C++ class doing the actual work. The details of these files are described in the following section. Once all the files are in your directory, you can run CMake in order to configure your project. 2.3 Write the code CMakeLists.txt The file contains the following lines: CMAKE_MINIMUM_REQUIRED(VERSION 2.8) PROJECT(HelloWorld) FIND_PACKAGE(EasyFlowApp) INCLUDE_DIRECTORIES( $EASYFLOW_APP_INCLUDE_DIR ) SET( HDRS HelloWorld.h )

7 2.3 Write the code 5 SET( SRCS HelloWorld.cpp ) ADD_EXECUTABLE(helloWorld main.cpp $SRCS $HDRS) TARGET_LINK_LIBRARIES(helloWorld $EASYFLOW_APP_LIBRARIES) The first line sets the minimum required version of CMake for the current project. If the current version of CMake is lower than that required it will stop processing the project and report an error. The second line defines the name of your project as it will appear in Visual Studio (it will have no effect under UNIX-like systems). The FIND_PACKAGE command deals with setting both the $EASYFLOW_APP_INCLUDE_DIR and the $EASYFLOW_APP_LIBRARIES variables. In order to find the right paths, it will require the path of the Easy- Flow App installation, which should be provided via TUI/GUI. The INCLUDE_DIRECTORIES adds the found directory to those the compiler uses to search for include files. Using the SET command, we specify the header and the source files of the class that will contain the code of our example. The ADD_EXECUTABLE command defines as its first argument the name of the executable that will be produced as result of the building of this project. The remaining arguments of ADD_EXECUTABLE are the names of the source files to be compiled and linked. Finally, in the TARGET_LINK_LIBRARIES command we specify the EasyFlow library which will be linked against this project HelloWorld class In order to create an App, a class must be derived from BaseApp, and some of its methods must be reimplemented. The file HelloWorld.h contains the declaration of the derived class: #ifndef HELLOWORLD_H #define HELLOWORLD_H #include "App/BaseApp.h" #include "Interfaces/DataExchange_types.h" #include <string> #include <vector> class HelloWorld : public BaseApp public: HelloWorld(std::string addr, int port, int http_port, std::string host_addr, int host_port, std::string doc_root, std::string ext_addr); bool inittask(); void exectask(const std::map< std::string, std::vector<apphost::objectlocator> >& input, const std::vector<std::string>& inputparams, apphost::uri outputlocation, std::vector<apphost::uri>& results); bool releasetask(); protected: void setpreferredprotocols(); ; #endif//helloworld_h First we include the BaseApp class header. Then, we declare the HelloWorld class, derived from BaseApp. Its constructor takes as input the same arguments needed by the constructor of the superclass. Furthermore, we declare all the methods that we need to reimplement: exectask is the core method of the class, and it should implement the processing task; inittask is a method called before the execution of the task and used to initialise any structure that does not depend on the input;

8 2.3 Write the code 6 releasetask is a method called after the execution of the task to release any resource allocated during the task execution; setpreferredprotocols is a method used to define which protocols should be preferred for transferring data between app and host. The file helloworld.cpp contains the definition of the class. In order to create the example class, you have to include the helloworld.h header previously described. In this example, you must also include the <fstream> header, required to create and store on disk the text file containing the "Hello World!" line. #include "HelloWorld.h" #include <fstream> Subsequently, you must implement the class constructor calling the superclass constructor in its initialization list. Since this is a simple example, you don t need to initilize and release anything: so both inittask and release- Task methods are implemented to only print (on standard output) a log string. HelloWorld::HelloWorld(std::string addr, int port, int http_port, std::string host_addr, int host_port, std::string doc_root, std::string ext_addr) : BaseApp(addr, port, http_port, host_addr, host_port, doc_root, ext_addr ) bool HelloWorld::initTask() std::cout << "A: Preparing for task" << std::endl; return true; bool HelloWorld::releaseTask() std::cout << "A: Releasing task" << std::endl; return true; The core of the class lies on the exectask. Its arguments are a list of input files, a list of input parameters (both not used in this example), the URI of where the output should be stored and a list of output files. The first three arguments will be provided by the host, while the last will be written in output by the method. In this implementation, we store in the local output folder a text file with the single "Hello World!" string written inside it. Note that to perform this operation, we need to call the auxiliary method buildoutputuris: this method builds the URI to return to the host and helps you to get the local output folder (stored inside the m_outfullpaths field). Before calling this method, we have to clear and populate the m_outfilenames field pushing the filename of the output result; void HelloWorld::execTask(const std::map< std::string, std::vector<objectlocator> >& input, const std::vector<std::string>& inputparams, URI outputlocation, std::vector<uri>& results) std::cout << "A: executing the task" << std::endl; m_outfilenames.clear(); m_outfilenames.push_back("output.txt"); buildoutputuris(outputlocation, results); std::ofstream ofs; ofs.open(m_outfullpaths[0].c_str()); ofs << "Hello World!" << std::endl; ofs.close(); Finally, we find the implementation of the setpreferredprotocols method, which sets the preferred protocols for transferring data between app and host. The protocols are inserted in order of preference into a list. The Host selects the most appropriate protocol and uses it in setting up the resources and generating the URI returned to the app. An EasyFlow app shall at least support both the http: and the file: protocols). void HelloWorld::setPreferredProtocols() m_preferredprotocols.clear(); m_preferredprotocols.push_back("file://"); m_preferredprotocols.push_back("

9 2.4 Compile the project main function This file contains the code of the main function: #include "HelloWorld.h" void print_help_usage() std::cout << "\nhelloworld" << std::endl; std::cout << "usage: app <app_address> <app_thrift_port> <app_http_port> <host_address> <host_thrift_port> <app_doc_root> <app_ext_address>" << std::endl; int main(int argc, char** argv) std::string app_address = ""; int app_thrift_port = 0; int app_http_port = 0; std::string host_address = ""; int host_thrift_port = 0; std::string app_doc_root = ""; std::string app_ext_address = ""; if (argc == 8) app_address = argv[1]; app_thrift_port = atoi(argv[2]); app_http_port = atoi(argv[3]); host_address = argv[4]; host_thrift_port = atoi(argv[5]); app_doc_root = argv[6]; app_ext_address = argv[7]; else print_help_usage(); return 0; HelloWorld hello(app_address, app_thrift_port, app_http_port, host_address, host_thrift_port, app_doc_root, app_ext_address); hello.start(); After including the header with the declaration of the HelloWorld class, we must manage the input arguments: IP address or domain (host name) of the applications; TCP port that the application web service will listen to; TCP port that the application http server will listen to; IP address or domain (host name) of the host; TCP port that the host web service will listen to; Path to the application http server document root. In order to define our hosted application, we declare an instance of the HelloWorld class, passing to its constructor the input arguments. Now we are ready to start our hosted application calling its method start. At this point you have successfully created your first simple EasyFlow app. 2.4 Compile the project After writing the code you need to compile the project in order to use your first simple EasyFlow app. To compile you have to use the file generated by CMake (e.g. Makefiles, Visual Studio solutions, XCode projects) and the appropriate tools/commands. On Visual Studio be sure to select the build configuration (e.g. Debug, Release) properly depending on the configuration of the libraries shipped with the package.

10 2.5 Test your application Test your application In order to test your application you need to write a description file that will be used as interface to the Host. For further details read the Deploying your app section. In this section we will guide you in writing a description file suitable for the "HelloWorld" example. Here we can use a simple description file in which we don t need to specify both the "inputs" and "parameters" fields: "programpath": "<Path to HelloWorld executable>", "programargs": [ "localhost", "localhost", 9090, "<Path to the application http server document root>" ], "address" : "localhost", "name" : "HelloWorld App", "description" : "HelloWorld App Example (file protocol)", "inputs" : [], "outputs" : [ "name": "output", "description" : "text file", "supportedmimetypes" : [ "text/plain" ], "supportedmodalities" : [] ], "parameters" : [] The application can be tested using the simple Host distributed with the package: create a folder to be used as the Host http server document root; open the file bin/hostgui-settings.ini: check the port settings to be sure that there is no conflict with other running applications; set the path to the folder to be used as the Host http server document root; start the Host (bin/hostgui) and load the settings file; load the app JSON file by clicking on the "Load App Description File" button; (optionally) check that the app has been started by looking for a corresponding process; choose the output folder by selecting the "Output" tab and by clicking the "Search" button; start the task by clicking on the button "Start"; check that the file output.txt has been created, and the content is correct. Alternatively the application can be tested using both the Host and the AppStarter RESTful web service distributed with the package: create a folder to be used as the AppStarter http server document root; copy inside it the JSON file of the HelloWorld application; open the file bin/appstarter-settings.ini: check the port settings to be sure that there is no conflict with other running applications; set the path to the folder to be used as the AppStarter http server document root; open a console and start the AppStarter (bin/appstarter.exe) passing the settings file as input argument; create a folder to be used as the Host http server document root; open the file bin/hostgui-settings.ini:

11 3 Complete Functionalities 9 check the port settings to be sure that there is no conflict with other running applications; set the path to the folder to be used as the Host http server document root; start the host (bin/hostgui) and load the settings file; get the applications catalog by clicking the "Get the Apps Catalog" button; (if the operation is completed successfully the "Register an App" button will be enabled); click the "Register an App" button to display a dialog window with the list of all available applications (in this case there will be only one application); select the application from the list; (optionally) check that the app has been started by looking for a corresponding process; choose the output folder by selecting the "Output" tab and by clicking the "Search" button; start the task by clicking on the button "Start"; check that the file output.txt has been created, and the content is correct. The Host program shipped with this package is written using the QT toolkit. The package does not distribute any libraries of the QT toolkit, so in order to use the Host you have to download the QT SDK version 4.8.x from http- ://qt-project.org/downloads. 3 Complete Functionalities 3.1 Handling Input Your application can receive from the host two types of input: files and parameters. Both information are passed to your application as arguments of exectask, first (input) and second (inputparams) respectively. The parameters are all stored as strings, and it is your responsibility to convert the string to the appropriate representation. In the following example, we convert the parameters needed for an image registration task. Some are converted to integer, others to float or boolean: RegParams params; params.numberofhistogrambins = atoi(inputparams[0].c_str()); params.numberofspatialsamples = atoi(inputparams[1].c_str()); params.useexplicitpdfderivatives = inttobool(atoi(inputparams[2].c_str())); params.initialangle = atof(inputparams[3].c_str()); params.backgroundgraylevel = atoi(inputparams[4].c_str()); The input argument to exectask stores map of lists of ObjectLocators objects. Local copies of the input files can be retrieved by accessing the m_infilepaths field after setting the m_indir field and calling either the buildinputfiles or the exectask method of the base class. Both method takes as arguments the input variable. The difference between the two methods is that the latter also manages the output: in fact this method internally calls both the buildinputfiles and the buildoutputuris methods. The m_infilepaths is a map which keys will correspond to the names of the input objects defined inside the.json file. Inside the m_in- Dir field we must specify a path to a local directory (relative to the application http server document root) where the files should be stored if using the http protocol; otherwise if we are using the file protocol the location its already defined in the URI field specified inside the ObjectLocator objects: m_indir = "input"; BaseApp::execTask(input, inputparams, outputlocation, results); //buildinputfiles(input); //buildoutputuris(outputlocation, results);

12 3.2 Interruption Points Interruption Points EasyFlow provides a mechanism for the Host to cancel a task currently executed by an app. This is implemented by adding interruption points to the processing code. We show the use of interruption points in the following example. This code consists in a infinite while loop that calls the boost::this_thread::interruption_point() function inside its body. void interruptionpointstest() int i = 0; while (true) std::cout << i << " "; i++; // cancel task test: put an interuption_point boost::this_thread::interruption_point(); 3.3 Initialise and Release Resources During the execution of a task it is common to allocate new resources (in memory and on disk), and it is important to release all the resources used by a task when it is completed or canceled. To the aim of managing and keeping track of the resources used, the BaseApp class provides three methods: inittask, releasetask and register- UsedFiles. The user may implement the inittask method in order to initialize any resource before execution of the task. The method is called before exectask is called. Any resource (in-memory objects or files) other than the output files that is allocated by inittask or exectask must be deallocated in releasetask, and it is your responsibility to implement releasetask accordingly. EasyFlow will take care of the output files once the Host has retrieved them. As an example, the following implementation of the method deletes the extra local files that the task generates, in addition to the output file. The application kept track of such files and stored them in m_maskimgspath. bool Application::releaseTask() std::cout << "A: Releasing task" << std::endl; std::vector<std::string>::const_iterator cit = m_maskimgspath.begin(); for(; cit!= m_maskimgspath.end(); cit++) boost::filesystem::path filepath = boost::filesystem::path((*cit)); if (boost::filesystem::exists(filepath)) boost::filesystem::remove(filepath); //boost::filesystem::path httpworkitemdir = boost::filesystem::path(m_doc_root) / boost::filesystem::path(m_workitemuuid); //if (!boost::filesystem::exists(httpworkitemdir)) // boost::filesystem::remove_all(httpworkitemdir); return true; Finally, in order to keep track of disk usage, the application should register all the local files is using. To this aim call the BaseApp::registerUsedFiles method, either passing as argument a string or a list of strings; in both cases the strings must represent file paths. In this example we register both the output result and the two mask images. registerusedfiles(m_maskimgspath); 4 Where to Go from Here

13 4.1 Deploying your app Deploying your app In order to deploy your application you need to write a description file that will be used as interface to the Host. Thanks to this file, the application will be registered to the Host, adding it to its pool of available applications and setting up all the parameters needed both to start the communication between application and host and to execute a particular task assigned to the application. In general an application can have more than one description files (i.e. one per task) that may be stored locally, on remote servers providing the services, or on a public "marketplace". The description files and the applications may also be on different locations. The description file must be in JSON format, with the following structure: Path to the application executable. "programpath": String, Input arguments needed by the application, respectively: IP address or domain (host name) of the application web service and http server IP address or domain (host name) of the host web service and http server TCP port of the host web service server Path to the application http server document root Other arguments if needed "programargs": [ String, String, Int, String,... ], IP address or domain (host name) of the application web service and http servers. "address" : String, Name of the task to be executed "name" : String, Description of the task to be executed "description" : String, List of structures providing specific information for each input passed to the application, respectively: Name of the input Description of the input List of MIME types supported by the application for the input List of modalities supported by the application for the input Flag indicating if the input is composed of one or more files "inputs" : [ "name" : String, "description" : String, "supportedmimetypes" : [ MimeType,... ], "supportedmodalities" : [ String,... ], "single" : Bool,... ],

14 4.2 Further information 12 List of structures providing specific information for each output returned by the application, respectively: Name of the output Description of the output List of MIME types supported by the application for the output List of modalities supported by the application for the output "outputs" : [ "name" : String, "description" : String, "supportedmimetypes" : [ MimeType,... ], "supportedmodalities" : [ String,... ],... ], List of structures providing specific information for each parameter required by the application, respectively: Description of the parameter Type of the parameter (possible values: char, string, bool, int, float, double) Minimum value allowed for the parameter Maximum value allowed for the parameter Default value of the parameter "parameters" : [ "description" : String, "type" : String, "min" : String, "max" : String, "defaultvalue" : String,... ] For an example of a compiled description file see the Compile the project section. 4.2 Further information Further information on EasyFlow can gained from the source code reference HTML documentation, generated by Doxygen. It can be found in docs/api_reference.

Introduc)on to CMake. Ben Thomas.

Introduc)on to CMake. Ben Thomas. Introduc)on to CMake Ben Thomas b.a.thomas@ucl.ac.uk 1 Overview What is CMake? "Hello World!" demo Package management CCP SuperBuild CTest and CPack 2 What is CMake? h#p://www.cmake.com CMake is an open-source,

More information

CE221 Programming in C++ Part 1 Introduction

CE221 Programming in C++ Part 1 Introduction CE221 Programming in C++ Part 1 Introduction 06/10/2017 CE221 Part 1 1 Module Schedule There are two lectures (Monday 13.00-13.50 and Tuesday 11.00-11.50) each week in the autumn term, and a 2-hour lab

More information

Tutorial on text transformation with pure::variants

Tutorial on text transformation with pure::variants Table of Contents 1. Overview... 1 2. About this tutorial... 1 3. Setting up the project... 2 3.1. Source Files... 4 3.2. Documentation Files... 5 3.3. Build Files... 6 4. Setting up the feature model...

More information

PetaLinux SDK User Guide. Application Development Guide

PetaLinux SDK User Guide. Application Development Guide PetaLinux SDK User Guide Notice of Disclaimer The information disclosed to you hereunder (the "Materials") is provided solely for the selection and use of Xilinx products. To the maximum extent permitted

More information

ewon Flexy JAVA J2SE Toolkit User Guide

ewon Flexy JAVA J2SE Toolkit User Guide Application User Guide ewon Flexy JAVA J2SE Toolkit User Guide AUG 072 / Rev. 1.0 This document describes how to install the JAVA development environment on your PC, how to create and how to debug a JAVA

More information

Qt Essentials - Fundamentals of Qt Module

Qt Essentials - Fundamentals of Qt Module Qt Essentials - Module Training Course Visit us at http://qt.digia.com Produced by Digia Plc. Material based on Qt 5.0, created on September 27, 2012 Digia Plc. The Story of Qt Developing a Hello World

More information

How to install and build an application

How to install and build an application GEANT4 BEGINNERS COURSE GSSI, L Aquila (Italy) 12 nd May 2014 How to install and build an application tutorial course Outline Supported platforms & compilers Required software Where to download the packages

More information

SORRENTO MANUAL. by Aziz Gulbeden

SORRENTO MANUAL. by Aziz Gulbeden SORRENTO MANUAL by Aziz Gulbeden September 13, 2004 Table of Contents SORRENTO SELF-ORGANIZING CLUSTER FOR PARALLEL DATA- INTENSIVE APPLICATIONS... 1 OVERVIEW... 1 COPYRIGHT... 1 SORRENTO WALKTHROUGH -

More information

Lab 1: First Steps in C++ - Eclipse

Lab 1: First Steps in C++ - Eclipse Lab 1: First Steps in C++ - Eclipse Step Zero: Select workspace 1. Upon launching eclipse, we are ask to chose a workspace: 2. We select a new workspace directory (e.g., C:\Courses ): 3. We accept the

More information

PUBLIC Rapid Deployment Guide

PUBLIC Rapid Deployment Guide SAP Data Services Document Version: 4.2 Support Package 8 (14.2.8.0) 2017-01-18 PUBLIC Content 1 Introduction.... 3 1.1 Documentation set for SAP Data Services....3 2 Deployment environment requirements....

More information

SAP Financial Consolidation 10.1, starter kit for IFRS, SP7

SAP Financial Consolidation 10.1, starter kit for IFRS, SP7 SAP Financial Consolidation 10.1, starter kit for IFRS, SP7 Installation guide Copyright 2018 SAP BusinessObjects. All rights reserved. SAP BusinessObjects and its logos, BusinessObjects, Crystal Reports,

More information

Download, Install and Setup the Linux Development Workload Create a New Linux Project Configure a Linux Project Configure a Linux CMake Project

Download, Install and Setup the Linux Development Workload Create a New Linux Project Configure a Linux Project Configure a Linux CMake Project Table of Contents Download, Install and Setup the Linux Development Workload Create a New Linux Project Configure a Linux Project Configure a Linux CMake Project Connect to Your Remote Linux Computer Deploy,

More information

CAAM 420 Daily Note. Scriber: Qijia Jiang. Date: Oct.16. Project 3 Due Wed 23.Oct. Two parts: debug code and library exercise.

CAAM 420 Daily Note. Scriber: Qijia Jiang. Date: Oct.16. Project 3 Due Wed 23.Oct. Two parts: debug code and library exercise. CAAM 420 Daily Note Scriber: Qijia Jiang Date: Oct.16 1 Announcement Project 3 Due Wed 23.Oct. Two parts: debug code and library exercise. 2 Make Convention Make syntax for library directories and library

More information

PRINCIPLES OF OPERATING SYSTEMS

PRINCIPLES OF OPERATING SYSTEMS PRINCIPLES OF OPERATING SYSTEMS Tutorial-1&2: C Review CPSC 457, Spring 2015 May 20-21, 2015 Department of Computer Science, University of Calgary Connecting to your VM Open a terminal (in your linux machine)

More information

IPNexus Server Secure Instant Messaging & Integrated Collaboration

IPNexus Server Secure Instant Messaging & Integrated Collaboration IPNexus Server Secure Instant Messaging & Integrated Collaboration Version 1.5 Installation & Setup Guide DOC00023 Rev. 1.0 01.03 VCON IPNexus Server Installation & Setup Guide 1 2003 VCON Ltd. All Rights

More information

How to install and build an application

How to install and build an application GEANT4 BEGINNERS COURSE GSSI, L Aquila (Italy) 6-10 July 2015 How to install and build an application tutorial course Outline Supported platforms & compilers Required software Where to download the packages

More information

How to install and build an application

How to install and build an application GEANT4 BEGINNERS COURSE GSSI, L Aquila (Italy) 27-30 June 2016 How to install and build an application tutorial course Outline Supported platforms & compilers Required software Where to download the packages

More information

Eclipse CDT Tutorial. Eclipse CDT Homepage: Tutorial written by: James D Aniello

Eclipse CDT Tutorial. Eclipse CDT Homepage:  Tutorial written by: James D Aniello Eclipse CDT Tutorial Eclipse CDT Homepage: http://www.eclipse.org/cdt/ Tutorial written by: James D Aniello Hello and welcome to the Eclipse CDT Tutorial. This tutorial will teach you the basics of the

More information

Lab 1: Introduction to C++

Lab 1: Introduction to C++ CPSC 221, Jan-Apr 2017 Lab 1 1/5 Lab 1: Introduction to C++ This is an introduction to C++ through some simple activities. You should also read the C++ Primer in your textbook, and practice as much as

More information

KnapSac Windows Server User's Guide

KnapSac Windows Server User's Guide KnapSac Windows Server User's Guide Table of Contents KnapSac Server for WIndows... 3 Introduction... 3 Windows Server... 3 License File... 5 License File System ID... 5 License File Options... 5 Server

More information

UNic Eclipse Mini Tutorial (Updated 06/09/2012) Prepared by Harald Gjermundrod

UNic Eclipse Mini Tutorial (Updated 06/09/2012) Prepared by Harald Gjermundrod Page 1 of 19 UNic Eclipse Mini Tutorial (Updated 06/09/2012) Prepared By: Harald Gjermundrod Table of Contents 1 EASY INSTALLATION... 2 1.1 DOWNLOAD... 2 1.2 INSTALLING... 2 2 CUSTOMIZED INSTALLATION...

More information

My First Command-Line Program

My First Command-Line Program 1. Tutorial Overview My First Command-Line Program In this tutorial, you re going to create a very simple command-line application that runs in a window. Unlike a graphical user interface application where

More information

CMake & Ninja. by István Papp

CMake & Ninja. by István Papp CMake & Ninja by István Papp istvan.papp@ericsson.com Hello & Disclaimer I don t know everything (surprise!), if I stare blankly after a question, go to https://cmake.org/ Spoiler alert: or https://ninja-build.org/

More information

Goals for this lecture. Lecture 4 Getting Started with ITK! Getting help. Assignments. Assignments, cont. Grading of assignments

Goals for this lecture. Lecture 4 Getting Started with ITK! Getting help. Assignments. Assignments, cont. Grading of assignments Goals for this lecture Lecture 4 Getting Started with ITK! Methods in Medical Image Analysis - Spring 2018 16-725 (CMU RI) : BioE 2630 (Pitt) Dr. John Galeotti Compile, compile, compile Learn how to use

More information

PROGRAMMING IN C++ CVIČENÍ

PROGRAMMING IN C++ CVIČENÍ PROGRAMMING IN C++ CVIČENÍ INFORMACE Michal Brabec http://www.ksi.mff.cuni.cz/ http://www.ksi.mff.cuni.cz/~brabec/ brabec@ksi.mff.cuni.cz gmichal.brabec@gmail.com REQUIREMENTS FOR COURSE CREDIT Basic requirements

More information

IMSL C Numerical Library

IMSL C Numerical Library IMSL C Numerical Library Getting Started Guide for Windows A Technical Guide by Rogue Wave Software. Rogue Wave Software 5500 Flatiron Parkway, Suite 200 Boulder, CO 80301, USA www.roguewave.com IMSL C

More information

KINGSTAR 3.2. SOFT PLC RUNTIME INSTALLATION AND USER GUIDE KS-DOC-x R3

KINGSTAR 3.2. SOFT PLC RUNTIME INSTALLATION AND USER GUIDE KS-DOC-x R3 KINGSTAR 3.2 SOFT PLC RUNTIME INSTALLATION AND USER GUIDE KS-DOC-x64-0021-R3 Copyright 1996-2017 by All rights reserved. No part of this document may be reproduced or transmitted in any form or by any

More information

ENERGY 211 / CME 211. Evolution

ENERGY 211 / CME 211. Evolution ENERGY 211 / CME 211 Lecture 2 September 24, 2008 1 Evolution In the beginning, we all used assembly That was too tedious, so a very crude compiler for FORTRAN was built FORTRAN was still too painful to

More information

Swift. Introducing swift. Thomas Woodfin

Swift. Introducing swift. Thomas Woodfin Swift Introducing swift Thomas Woodfin Content Swift benefits Programming language Development Guidelines Swift benefits What is Swift Benefits What is Swift New programming language for ios and OS X Development

More information

CMake, an overview. D. Arrivault 1. 24th November, 2014 / Talep presentation. Aix Marseille Université. CMake, an overview.

CMake, an overview. D. Arrivault 1. 24th November, 2014 / Talep presentation. Aix Marseille Université. CMake, an overview. CMake, an overview. D. Arrivault 1 1 Laboratoire d Excellence Archimède Aix Marseille Université 24th November, 2014 / Talep presentation Outline Credits Build sytems What problems does it solve? The good

More information

CMPT 300. Operating Systems. Brief Intro to UNIX and C

CMPT 300. Operating Systems. Brief Intro to UNIX and C CMPT 300 Operating Systems Brief Intro to UNIX and C Outline Welcome Review Questions UNIX basics and Vi editor Using SSH to remote access Lab2(4214) Compiling a C Program Makefile Basic C/C++ programming

More information

AW-HE40 / HE65 Firmware Update Procedure

AW-HE40 / HE65 Firmware Update Procedure AW-HE40 / HE65 Firmware Update Procedure Please be sure to read this first. The update of AW-HE40/ HE65 camera is performed via a network from Web setting screen on PC. There might be accidents in the

More information

Zynq-7000 Platform Software Development Using the ARM DS-5 Toolchain Author: Simon George and Prushothaman Palanichamy

Zynq-7000 Platform Software Development Using the ARM DS-5 Toolchain Author: Simon George and Prushothaman Palanichamy Application Note: Zynq-7000 All Programmable SoC XAPP1185 (v1.0) November 18, 2013 Zynq-7000 Platform Software Development Using the ARM DS-5 Toolchain Author: Simon George and Prushothaman Palanichamy

More information

Android NDK. Federico Menozzi & Srihari Pratapa

Android NDK. Federico Menozzi & Srihari Pratapa Android NDK Federico Menozzi & Srihari Pratapa Resources C++ CMake https://cmake.org/cmake-tutorial/ http://mathnathan.com/2010/07/getting-started-with-cmake/ NDK http://www.cplusplus.com/doc/tutorial/

More information

How to build Simbody 2.2 from source on Windows

How to build Simbody 2.2 from source on Windows How to build Simbody 2.2 from source on Windows Michael Sherman, 30 Mar 2011 (minor revision 27 July 2011) Simbody 2.2 was re-engineered to be much easier to build from source than previous releases. One

More information

Professor Terje Haukaas University of British Columbia, Vancouver C++ Programming

Professor Terje Haukaas University of British Columbia, Vancouver  C++ Programming C++ Programming C++ code is essentially a collection of statements terminated by a semicolon, such as (spaces not needed): a = b + c; Most C++ code is organized into header files and cpp files, i.e., C++

More information

Direct Memory Access. Lecture 2 Pointer Revision Command Line Arguments. What happens when we use pointers. Same again with pictures

Direct Memory Access. Lecture 2 Pointer Revision Command Line Arguments. What happens when we use pointers. Same again with pictures Lecture 2 Pointer Revision Command Line Arguments Direct Memory Access C/C++ allows the programmer to obtain the value of the memory address where a variable lives. To do this we need to use a special

More information

AN 834: Developing for the Intel HLS Compiler with an IDE

AN 834: Developing for the Intel HLS Compiler with an IDE AN 834: Developing for the Intel HLS Compiler with an IDE Subscribe Send Feedback Latest document on the web: PDF HTML Contents Contents 1 Developing for the Intel HLS Compiler with an Eclipse* IDE...

More information

How to Use Definitions in Rules Composer

How to Use Definitions in Rules Composer How to Use Definitions in Rules Composer Applies to: SAP NetWeaver Business Rules Management. For more information, visit the Business Rules Management homepage. Summary This tutorial helps you work with

More information

Intel Integrated Native Developer Experience 2015 Build Edition for OS X* Installation Guide and Release Notes

Intel Integrated Native Developer Experience 2015 Build Edition for OS X* Installation Guide and Release Notes Intel Integrated Native Developer Experience 2015 Build Edition for OS X* Installation Guide and Release Notes 24 July 2014 Table of Contents 1 Introduction... 2 1.1 Product Contents... 2 1.2 System Requirements...

More information

MODULE 2: CREATE A DECISION TABLE USING RULES COMPOSER (BRM)

MODULE 2: CREATE A DECISION TABLE USING RULES COMPOSER (BRM) SOA EXPERIENCE WORKSHOP MODULE 2: CREATE A DECISION TABLE USING RULES COMPOSER (BRM) Exercises / Solutions SAP NETWEAVER PRODUCT MANAGEMENT SOA SOA EXPERIENCE WORKSHOP 1 Creating a decision table using

More information

Integrate a Forum into a Collaboration Room

Integrate a Forum into a Collaboration Room How-to Guide SAP NetWeaver 04 How To Integrate a Forum into a Collaboration Room Version 1.00 May 2007 Applicable Releases: SAP NetWeaver 04 SPS20 Copyright 2007 SAP AG. All rights reserved. No part of

More information

C++ Runtime Environment Programming Guide

C++ Runtime Environment Programming Guide C++ Runtime Environment Programming Guide Contents Introduction 3 Organization of This Document 3 Overview of the C++ Runtime Environment 4 Targeting Mac OS X v10.3.8 and Earlier 4 Targeting Mac OS X v10.3.9

More information

Supported platforms & compilers Required software Where to download the packages Geant4 toolkit installation (release 10.1.p02)

Supported platforms & compilers Required software Where to download the packages Geant4 toolkit installation (release 10.1.p02) Supported platforms & compilers Required software Where to download the packages Geant4 toolkit installation (release 10.1.p02) Using CMake Building a Geant4 application with CMake Example of a Geant4

More information

HUNT ENGINEERING HeartConf HEART connection configuration tool

HUNT ENGINEERING HeartConf HEART connection configuration tool HUNT ENGINEERING Chestnut Court, Burton Row, Brent Knoll, Somerset, TA9 4BP, UK Tel: (+44) (0)1278 760188, Fax: (+44) (0)1278 760199, Email: sales@hunteng.co.uk http://www.hunteng.co.uk http://www.hunt-dsp.com

More information

Multimedia-Programmierung Übung 3

Multimedia-Programmierung Übung 3 Multimedia-Programmierung Übung 3 Ludwig-Maximilians-Universität München Sommersemester 2016 Ludwig-Maximilians-Universität München Multimedia-Programmierung 1-1 Today Ludwig-Maximilians-Universität München

More information

Target Definition Builder. Software release 4.20

Target Definition Builder. Software release 4.20 Target Definition Builder Software release 4.20 July 2003 Target Definition Builder Printing History 1 st printing December 21, 2001 2 nd printing May 31, 2002 3 rd printing October 31, 2002 4 th printing

More information

Lecture 2, September 4

Lecture 2, September 4 Lecture 2, September 4 Intro to C/C++ Instructor: Prashant Shenoy, TA: Shashi Singh 1 Introduction C++ is an object-oriented language and is one of the most frequently used languages for development due

More information

RTX 8.0 Installation Guide

RTX 8.0 Installation Guide RTX 8.0 Installation Guide Copyright 1996-2007 by Ardence, a Citrix Company. All rights reserved. No part of this document may be reproduced or transmitted in any form or by any means, graphic, electronic,

More information

AW-UE70 Firmware Update Procedure

AW-UE70 Firmware Update Procedure Firmware Update Procedure Please be sure to read this first. Update Procedure March 2016. The update of camera is performed via a network from Web setting screen on PC. There might be accidents in the

More information

ProgressBar Abstract

ProgressBar Abstract Doc type here 1(21) ProgressBar Abstract The WireFlow progressbar module is an easy way to add progress bars to an application. It is easy to customize the look of the displayed progress window, since

More information

Mali Offline Compiler User Guide

Mali Offline Compiler User Guide Mali Offline Compiler 6.0.0 User Guide ARM Limited 2017 Introduction 2 Contents 3 Contents Chapter 1: Introduction... 5 Overview... 6 Installation Package... 6 This Release...6 Chapter 2: Installation...

More information

Introduction to C ++

Introduction to C ++ Introduction to C ++ Thomas Branch tcb06@ic.ac.uk Imperial College Software Society October 18, 2012 1 / 48 Buy Software Soc. s Free Membership at https://www.imperialcollegeunion.org/shop/ club-society-project-products/software-products/436/

More information

Common Misunderstandings from Exam 1 Material

Common Misunderstandings from Exam 1 Material Common Misunderstandings from Exam 1 Material Kyle Dewey Stack and Heap Allocation with Pointers char c = c ; char* p1 = malloc(sizeof(char)); char** p2 = &p1; Where is c allocated? Where is p1 itself

More information

SAM4 Reset Controller (RSTC)

SAM4 Reset Controller (RSTC) APPLICATION NOTE AT06864: SAM4 Reset Controller (RSTC) ASF PROGRAMMERS MANUAL SAM4 Reset Controller (RSTC) This driver for SAM devices provides an interface for the configuration and management of the

More information

Application Note: AN00152 xscope - Bi-Directional Endpoint

Application Note: AN00152 xscope - Bi-Directional Endpoint Application Note: AN00152 xscope - Bi-Directional Endpoint This application note shows how to create a simple example which uses the XMOS xscope application trace system to provide bi-directional communication

More information

Visual Composer Build Process

Visual Composer Build Process Applies to: Visual Composer for Composition Environment 7.1 Summary This paper explains how Visual Composer builds & creates its applications, and what are the dependencies and naming consideration a modeler

More information

82V391x / 8V893xx WAN PLL Device Families Device Driver User s Guide

82V391x / 8V893xx WAN PLL Device Families Device Driver User s Guide 82V391x / 8V893xx WAN PLL Device Families Device Driver Version 1.2 April 29, 2014 Table of Contents 1. Introduction... 1 2. Software Architecture... 2 2.1. Overview... 2 2.2. Hardware Abstraction Layer

More information

Armide Documentation. Release Kyle Mayes

Armide Documentation. Release Kyle Mayes Armide Documentation Release 0.3.1 Kyle Mayes December 19, 2014 Contents 1 Introduction 1 1.1 Features.................................................. 1 1.2 License..................................................

More information

How to Translate a Visual Composer Model Part I

How to Translate a Visual Composer Model Part I How to Translate a Visual Composer Model Part I Applies to: SAP NetWeaver Visual Composer. Summary This How To guide is the first part in a series of guides which explain how to create and maintain translations

More information

1.1 Introduction. 12c (12.1.3)

1.1 Introduction. 12c (12.1.3) Oracle Data Integrator Getting Started 12c (12.1.3) E57393-01 March 2015 This document provides instructions on how to install the Oracle Data Integrator (ODI) 12c Getting Started Virtual Machine (VM).

More information

Report.doc General design overview of the software Manual.doc How to use the software

Report.doc General design overview of the software Manual.doc How to use the software A1. Structure of the Distributed Files A1.1 Documentation Software Documentation Report.doc General design overview of the software Manual.doc How to use the software ehttp/ API Documentation o HTML/ index.html

More information

How to Use Other Conditions in Decision Tables in Rules Composer

How to Use Other Conditions in Decision Tables in Rules Composer How to Use Other Conditions in Decision Tables in Rules Composer Applies to: SAP NetWeaver Business Rules Management. For more information, visit the Business Rules Management homepage. Summary This tutorial

More information

Business Objects Integration Scenario 2

Business Objects Integration Scenario 2 SAP AG May 2010 - Prerequisites Abstract This presentation provides a step by step description how to create an Xcelsius dashboard based on a BI Query (using the SAP NetWeaver BW connection). Prerequisites

More information

How To Integrate the TinyMCE JavaScript Content Editor in Web Page Composer

How To Integrate the TinyMCE JavaScript Content Editor in Web Page Composer SAP NetWeaver How-To Guide How To Integrate the TinyMCE JavaScript Content Editor in Web Page Composer Applicable Releases: Portal for SAP NetWeaver 7.3 Version 1.0 April 2011 Copyright 2011 SAP AG. All

More information

disspcap Documentation

disspcap Documentation disspcap Documentation Release 0.0.1 Daniel Uhricek Dec 12, 2018 Installation 1 Requirements 3 1.1 Build depedencies............................................ 3 1.2 Python depedencies...........................................

More information

Qt Essentials - Fundamentals of Qt Module

Qt Essentials - Fundamentals of Qt Module Qt Essentials - Fundamentals of Qt Module Qt Essentials - Training Course Produced by Nokia, Qt Development Frameworks Material based on Qt 4.7, created on December 15, 2010 http://qt.nokia.com 1/28 Module:

More information

Oracle Fusion Middleware

Oracle Fusion Middleware Oracle Fusion Middleware Getting Started with Oracle Data Integrator 12c Virtual Machine Installation Guide July 2017 Oracle Fusion Middleware Getting Started with Oracle Data Integrator, 12c Copyright

More information

Oracle Tuxedo Application Runtime for Batch

Oracle Tuxedo Application Runtime for Batch Oracle Tuxedo Application Runtime for Batch Installation Guide 12c Release 1 (12.1.1) August 2012 Oracle Tuxedo Application Runtime for Batch Installation Guide, 12c Release 1 (12.1.1) Copyright 2012,

More information

PetaLinux SDK User Guide. Eclipse Plugin Guide

PetaLinux SDK User Guide. Eclipse Plugin Guide PetaLinux SDK User Guide Notice of Disclaimer The information disclosed to you hereunder (the "Materials") is provided solely for the selection and use of Xilinx products. To the maximum extent permitted

More information

Biostatistics 615/815 - Lecture 2 Introduction to C++ Programming

Biostatistics 615/815 - Lecture 2 Introduction to C++ Programming Biostatistics 615/815 - Lecture 2 Introduction to C++ Programming Hyun Min Kang September 8th, 2011 Hyun Min Kang Biostatistics 615/815 - Lecture 2 September 8th, 2011 1 / 47 BIOSTAT615/815 - Objectives

More information

Ryft REST API - Swagger.io

Ryft REST API - Swagger.io Ryft REST API - Swagger.io User Guide Ryft Document Number: 1192 Document Version: 1.1.0 Revision Date: June 2017 2017 Ryft Systems, Inc. All Rights in this documentation are reserved. RYFT SYSTEMS, INC.

More information

Document Revision No.: 1 Revised: 03/12/09 RIT KGCOE MSD Program. P09027 Upper Extremity Motion Capture System. Software Manual

Document Revision No.: 1 Revised: 03/12/09 RIT KGCOE MSD Program. P09027 Upper Extremity Motion Capture System. Software Manual P09027 Upper Extremity Motion Capture System Software Manual By: Melissa Gilbert, Dan Chapman, Adey Gebregiorgis, Pooja Nanda, Alan Smith and J.J Guerrette Table of contents 1 GUI USER MANUAL... 2 1.1

More information

DAB/MOT Data Carousel Support Library Linux Server Implementation

DAB/MOT Data Carousel Support Library Linux Server Implementation DAB/MOT Data Carousel Support Library Linux Server Implementation D. Knox 98-0003-003/1.0 28th Apr 1990 ENSIGMA Ltd Turing House Station Road Chepstow GWENT NP6 5PB Ensigma Ltd. Page 2 of 31 Distribution

More information

IoT Sensing SDK. Getting started with IoT Sensing SDK (ISSDK) v1.7 middleware. Document information. IoT Sensing SDK, ISSDK, MCUXpresso, middleware

IoT Sensing SDK. Getting started with IoT Sensing SDK (ISSDK) v1.7 middleware. Document information. IoT Sensing SDK, ISSDK, MCUXpresso, middleware Getting started with (ISSDK) v1.7 middleware Document information Information Content Keywords, ISSDK, MCUXpresso, middleware Abstract 1 Prerequisites This document assumes completion of the following

More information

Data Validation in Visual Composer for SAP NetWeaver Composition Environment

Data Validation in Visual Composer for SAP NetWeaver Composition Environment Data Validation in Visual Composer for SAP NetWeaver Composition Environment Applies to: Visual Composer for SAP enhancement package 1 for SAP NetWeaver Composition Environment 7.1 For more information

More information

Quick Start Guide for Intel FPGA Development Tools on the Microsoft* Azure* Platform

Quick Start Guide for Intel FPGA Development Tools on the Microsoft* Azure* Platform Quick Start Guide for Intel FPGA Development Tools on the Microsoft* Azure* Platform Updated for Intel Quartus Prime Design Suite: 17.1 Subscribe Send Feedback Latest document on the web: PDF HTML Contents

More information

SAP NetWeaver MDM MDM Import and Syndication Server & Port Concept

SAP NetWeaver MDM MDM Import and Syndication Server & Port Concept Welcome to your RKT Live Expert Session SAP NetWeaver MDM MDM Import and Syndication Server & Port Concept Michael Reil SAP NetWeaver Product Management Please note that we are recording this session!

More information

xtensor-io Sep 20, 2018

xtensor-io Sep 20, 2018 Sep 20, 2018 INSTALLATION 1 Enabling xtensor-io in your C++ libraries 3 2 Licensing 5 2.1 Installation................................................ 5 2.2 Basic Usage...............................................

More information

xmii UDS Overview and Troubleshooting

xmii UDS Overview and Troubleshooting xmii UDS Overview and Troubleshooting Applies to: SAP xmii Universal Data Servers (UDS) version 4.0 and higher. Summary This article describes the SAP xmii UDS line of products and methods for debugging

More information

Enterprise Portal Logon Page Branding

Enterprise Portal Logon Page Branding Enterprise Portal Logon Page Branding Applies to: This document applies to Enterprise Portal 6.0 based on NW04 and 2004s platforms. Summary This document describes a procedure that uses the NetWeaver Development

More information

Transport in GP. How-to Guide Beginning with SAP NetWeaver 2004s SPS06. Version 2.00 January 2006

Transport in GP. How-to Guide Beginning with SAP NetWeaver 2004s SPS06. Version 2.00 January 2006 How-to Guide Beginning with SAP NetWeaver 2004s SPS06 How To Transport in GP Version 2.00 January 2006 Applicable Releases: Beginning with SAP NetWeaver 2004s SPS06 Copyright 2006 SAP AG. All rights reserved.

More information

User Scripting April 14, 2018

User Scripting April 14, 2018 April 14, 2018 Copyright 2013, 2018, Oracle and/or its affiliates. All rights reserved. This software and related documentation are provided under a license agreement containing restrictions on use and

More information

Accessing ABAP Functions in Web Dynpro Java

Accessing ABAP Functions in Web Dynpro Java Accessing ABAP Functions in Web Dynpro Java Applies to: Web Dynpro Java in SAP NetWeaver 7.0 (2004s) Summary This tutorial shows how to use the Adaptive RFC model to connect to a SAP backend. Level of

More information

PHY4321 Summary Notes

PHY4321 Summary Notes PHY4321 Summary Notes The next few pages contain some helpful notes that summarize some of the more useful material from the lecture notes. Be aware, though, that this is not a complete set and doesn t

More information

Wipro UWIN Porting Guide

Wipro UWIN Porting Guide Wipro UWIN Porting Guide Wipro Ltd 1995, El Camino Real, Santa Clara, CA 95050, USA uwin@wipro.com http://www.wipro.com/uwin Copyright 1997-1999 Wipro Ltd. All rights reserved. No part of this document

More information

AW-HE40 / HE65 Firmware Update Procedure

AW-HE40 / HE65 Firmware Update Procedure AW-HE40 / HE65 Firmware Update Procedure Please be sure to read this first. The update of AW-HE40/ HE65 camera is performed via a network from Web setting screen on PC. There might be accidents in the

More information

Application Note: AN00151 xscope - Custom Host Endpoint

Application Note: AN00151 xscope - Custom Host Endpoint Application Note: AN00151 xscope - Custom Host Endpoint This application note shows how to create a simple example which uses the XMOS xscope application trace system to provide instrumentation logging

More information

Pace University. Fundamental Concepts of CS121 1

Pace University. Fundamental Concepts of CS121 1 Pace University Fundamental Concepts of CS121 1 Dr. Lixin Tao http://csis.pace.edu/~lixin Computer Science Department Pace University October 12, 2005 This document complements my tutorial Introduction

More information

Master Guide for SAP HANA Smart Data Integration and SAP HANA Smart Data Quality

Master Guide for SAP HANA Smart Data Integration and SAP HANA Smart Data Quality PUBLIC SAP HANA Platform SPS 12 Document Version: 1.0 2016-05-11 Master Guide for Data Integration and Content 1 Getting Started....3 1.1 Overview.... 3 1.2 About This Document.... 4 2 Use Cases....5 3

More information

Movidius Neural Compute Stick

Movidius Neural Compute Stick Movidius Neural Compute Stick You may not use or facilitate the use of this document in connection with any infringement or other legal analysis concerning Intel products described herein. You agree to

More information

One Identity Starling Two-Factor HTTP Module 2.1. Administration Guide

One Identity Starling Two-Factor HTTP Module 2.1. Administration Guide One Identity Starling Two-Factor HTTP Module 2.1 Administration Guide Copyright 2018 One Identity LLC. ALL RIGHTS RESERVED. This guide contains proprietary information protected by copyright. The software

More information

eprosima RPC over REST User Manual Version 0.3.0

eprosima RPC over REST User Manual Version 0.3.0 eprosima RPC over REST User Manual Version 0.3.0 The Middleware Experts eprosima 2014 1 eprosima Proyectos y Sistemas de Mantenimiento SL Ronda del poniente 2 1ºG 28760 Tres Cantos Madrid Tel: + 34 91

More information

This user guide describes how to run the Atmel ATWINC3400 Bluetooth Low Energy (BLE) Provisioning demo from out-of-box conditions.

This user guide describes how to run the Atmel ATWINC3400 Bluetooth Low Energy (BLE) Provisioning demo from out-of-box conditions. ATWINC3400 BLE ATWINC3400 BLE Provisioning - Setup and Usage USER GUIDE Introduction This user guide describes how to run the Atmel ATWINC3400 Bluetooth Low Energy (BLE) Provisioning demo from out-of-box

More information

Applied Informatics POCO PRO C++ Frameworks

Applied Informatics POCO PRO C++ Frameworks Applied Informatics POCO PRO C++ Frameworks Getting Started Guide Version 1.10 Purpose of This Document This document guides developers interested in the POCO PRO C++ Frameworks by Applied Informatics

More information

Using the NEMA SHADER-Edit

Using the NEMA SHADER-Edit Using the NEMA SHADER-Edit A Comprehensive Overview Version 1.1 February 8, 2018 History Version Date Description 1.1 07-2-2018 NemaP mode included 1.0 10-5-2017 Initial Version v1.1 External Confidential

More information

How to add some code into CASToR: observing general programming guidelines

How to add some code into CASToR: observing general programming guidelines How to add some code into CASToR: observing general programming guidelines April 23, 2018 Foreword CASToR is designed to be flexible, but also as generic as possible. Any new implementation should be thought

More information

Schlumberger Private Customer Use

Schlumberger Private Customer Use 1 Copyright Notice Copyright 2009-2014 Schlumberger. All rights reserved. No part of this document may be reproduced, stored in a retrieval system, or translated in any form or by any means, electronic

More information

IBM Rational Rhapsody TestConductor Add On. Testing on an Integrity Target

IBM Rational Rhapsody TestConductor Add On. Testing on an Integrity Target IBM Rational Rhapsody TestConductor Add On Testing on an Integrity Target 1 Rhapsody IBM Rational Rhapsody TestConductor Add On Testing on an Integrity Target Release 2.7.1 2 License Agreement No part

More information

SU2017. LAB 1 (May 4/9) Introduction to C, Function Declaration vs. Definition, Basic I/O (scanf/printf, getchar/putchar)

SU2017. LAB 1 (May 4/9) Introduction to C, Function Declaration vs. Definition, Basic I/O (scanf/printf, getchar/putchar) SU2017. LAB 1 (May 4/9) Introduction to C, Function Declaration vs. Definition, Basic I/O (scanf/printf, getchar/putchar) 1 Problem A 1.1 Specification Write an ANSI-C program that reads input from the

More information