1) The Arriba Debugger provides a holistic approach to debugging embedded Linux through its VMON module, which has minimal performance impact and provides full visibility of the Linux target.
2) It addresses traditional limitations by enabling debugging of loadable modules, multiple processes, and production kernels without halting the target.
3) The Arriba Debugger and Linux Event Analyzer integrate with Eclipse and provide a comprehensive Linux development environment.
A New Paradigm In Linux Debug From Viosoft Corporationart_lee
1) The Arriba Debugger provides a holistic approach to debugging embedded Linux through its VMON module, which has minimal performance impact and provides full visibility of the Linux target.
2) It addresses traditional limitations by enabling debugging of loadable modules, multiple processes, and production kernels without altering target performance.
3) The Arriba Debugger integrates with the Eclipse IDE and includes the Linux Event Analyzer tool for profiling Linux events with minimal overhead.
This document contains the resume of Satyam Singh. It summarizes his work experience as a Senior Software Engineer at Ericsson Global India Pvt Ltd from 2013 to present, where he has worked on projects involving Diameter and SS7 protocols. It also outlines his previous experience as a Software Engineer at Telesys Software from 2010 to 2013, where he worked on Diameter and SS7 protocol stacks. The resume lists his technical skills and qualifications.
This document discusses how to write shared libraries. It begins with a brief history of shared libraries for Linux, noting the limitations of the original a.out format. It then summarizes some of the drawbacks of the a.out approach for shared libraries, before introducing ELF (Executable and Linkable Format) as an improved standard. The document stresses that while ELF removes many restrictions, there are still rules that must be followed to generate decent code from shared libraries and additional techniques required for optimized code.
The document introduces Open Virtual Platforms (OVP) as a solution for developing embedded software for multicore systems on chips (SoCs). OVP provides an open way to model virtual platforms using instruction-accurate software models that can run embedded software quickly for testing and development. It consists of APIs for modeling processors, peripherals and complete platforms, an open source library of models, and a reference simulator. OVP aims to establish common open standards for software virtual platforms.
This document introduces Open Virtual Platforms (OVP) and discusses the growing challenges of embedded software development. It notes that embedded software costs are rising dramatically and now exceed hardware costs for system-on-chip designs. It also describes how the number of processor cores in chips is increasing significantly. This makes embedded software development for multicore systems an extreme challenge. The document argues that virtual platforms can help address this challenge by allowing software testing and development to begin earlier in the design cycle before actual hardware is available. It outlines a four phase process moving towards better programming paradigms and tools for parallel programming and multicore platforms, with virtual platforms playing a key role.
Qualidade de Software em zOS usando IBM Debug Tool e RDzPaulo Batuta
Eu e meu Amigo Claudio fizemos esta apresentação sobre qualidade de software usando IBM Debug Tool e Rdz.Ela foi submetida e aprovada no 2013 World Congress in Computer Science em Las Vegas. O Claúdio foi lá apresentá-la. Foi na Terça passada!
The document outlines an agenda for a Technology Day event at Intland. The agenda includes presentations on new features in codeBeamer, requirements for automotive development tools, managing knowledge at Lufthansa Systems, and agile workflows using the V-Model. There will also be demonstrations of codeBeamer's requirements management and distributed version control system capabilities, as well as an open space meeting and Q&A session.
Video automation testing is important at Skype. Continuous integration helps build, test, and provide feedback continuously across different platforms. Unit, component, and system tests are written by both developers and quality engineers. Cross-platform testing utilizes a CI team and framework to run tests on various devices and analyze results. Non-functional requirements like quality metrics are also tested and evaluated to ensure the best possible video call quality.
A New Paradigm In Linux Debug From Viosoft Corporationart_lee
1) The Arriba Debugger provides a holistic approach to debugging embedded Linux through its VMON module, which has minimal performance impact and provides full visibility of the Linux target.
2) It addresses traditional limitations by enabling debugging of loadable modules, multiple processes, and production kernels without altering target performance.
3) The Arriba Debugger integrates with the Eclipse IDE and includes the Linux Event Analyzer tool for profiling Linux events with minimal overhead.
This document contains the resume of Satyam Singh. It summarizes his work experience as a Senior Software Engineer at Ericsson Global India Pvt Ltd from 2013 to present, where he has worked on projects involving Diameter and SS7 protocols. It also outlines his previous experience as a Software Engineer at Telesys Software from 2010 to 2013, where he worked on Diameter and SS7 protocol stacks. The resume lists his technical skills and qualifications.
This document discusses how to write shared libraries. It begins with a brief history of shared libraries for Linux, noting the limitations of the original a.out format. It then summarizes some of the drawbacks of the a.out approach for shared libraries, before introducing ELF (Executable and Linkable Format) as an improved standard. The document stresses that while ELF removes many restrictions, there are still rules that must be followed to generate decent code from shared libraries and additional techniques required for optimized code.
The document introduces Open Virtual Platforms (OVP) as a solution for developing embedded software for multicore systems on chips (SoCs). OVP provides an open way to model virtual platforms using instruction-accurate software models that can run embedded software quickly for testing and development. It consists of APIs for modeling processors, peripherals and complete platforms, an open source library of models, and a reference simulator. OVP aims to establish common open standards for software virtual platforms.
This document introduces Open Virtual Platforms (OVP) and discusses the growing challenges of embedded software development. It notes that embedded software costs are rising dramatically and now exceed hardware costs for system-on-chip designs. It also describes how the number of processor cores in chips is increasing significantly. This makes embedded software development for multicore systems an extreme challenge. The document argues that virtual platforms can help address this challenge by allowing software testing and development to begin earlier in the design cycle before actual hardware is available. It outlines a four phase process moving towards better programming paradigms and tools for parallel programming and multicore platforms, with virtual platforms playing a key role.
Qualidade de Software em zOS usando IBM Debug Tool e RDzPaulo Batuta
Eu e meu Amigo Claudio fizemos esta apresentação sobre qualidade de software usando IBM Debug Tool e Rdz.Ela foi submetida e aprovada no 2013 World Congress in Computer Science em Las Vegas. O Claúdio foi lá apresentá-la. Foi na Terça passada!
The document outlines an agenda for a Technology Day event at Intland. The agenda includes presentations on new features in codeBeamer, requirements for automotive development tools, managing knowledge at Lufthansa Systems, and agile workflows using the V-Model. There will also be demonstrations of codeBeamer's requirements management and distributed version control system capabilities, as well as an open space meeting and Q&A session.
Video automation testing is important at Skype. Continuous integration helps build, test, and provide feedback continuously across different platforms. Unit, component, and system tests are written by both developers and quality engineers. Cross-platform testing utilizes a CI team and framework to run tests on various devices and analyze results. Non-functional requirements like quality metrics are also tested and evaluated to ensure the best possible video call quality.
The document summarizes IBM's Rational Software Conference 2009. It discusses challenges in embedded software development like requirements shifts, low memory footprints, and debugging difficulties. It introduces IBM Rational Test RealTime as a solution that allows automated component testing at all levels from simple functions to distributed systems. It also enables runtime analysis through profiling, tracing, and linking of code, tests, and models. The tool aims to help developers test throughout development rather than just debugging later, to catch issues early and ensure quality and stability of embedded software projects.
High level programming of embedded hard real-time devicesMr. Chanuwan
This document describes a new Java virtual machine called Fiji VM that targets real-time embedded systems. The Fiji VM ahead-of-time compiles Java bytecode to C code to run on embedded hardware with minimal overhead. Evaluation shows the Fiji VM can achieve throughput close to C for a collision detection benchmark on a LEON3 processor, while still meeting hard real-time deadlines through the use of a concurrent, real-time garbage collector.
Norm Gross is a software engineer with over 20 years of experience developing software across various platforms and languages including C/C++, Unix, VxWorks, and Linux. He has worked on projects involving radar systems, flight simulators, encryption devices, and more. His experience includes software design, programming, testing, documentation, and project management. Currently, he is seeking a software developer position to utilize his extensive skills and experience.
PrimeSoft Solutions was contracted to develop a UMA Handset Simulator for a client. An 18-member team at PrimeSoft's offshore development center was created to work on the project. The team developed the simulator through requirements analysis, specifications, design, coding, testing, and delivering documentation. The UMA Simulator allows automated testing of UMA functionality and supports complex handover scenarios. PrimeSoft also supports long-term testing of the client's Multi Access Gateway product through manual and automation test plans.
The document provides a summary of an experienced software engineer with over 10 years of experience in systems engineering, real-time software development, testing and project consulting. The engineer has expertise in model-based development, systems engineering, testing and collaboration tools from IBM Rational. Several projects are summarized involving development of combat management systems, model-based systems engineering, model-driven development, collaborative lifecycle management and static analysis.
MediaPlatform worked closely with Adobe Systems and the client, a Fortune 500 company, on the pilot of multicast fusion on the Adobe® Flash® Platform. The challenge was to implement this breakthrough video streaming technology which had previously not been tested in a real world environment.
B Labs / Mobile Virtualization for the ARM ArchitectureB Labs
Introduces how our low footprint hypervisor can benefit Semiconductor Vendors gain competitive advantage in SoC development and rich user experiences by enabling multiple virtualized operating systems.
RDZ for Cobol Programmers slides 7 14 Debugger deep dive final2Susan Yoskin
Venkat will be joined by IBM Debug Architects John Tzanakakis and Randy Campbell who will demo debugging of applications using RDz. The demo will cover:
- Debugging of a CICS COBOL application
- Debugging of a COBOL application that calls HLASM
Atmel - Next-Generation IDE: Maximizing IP Reuse [WHITE PAPER]Atmel Corporation
Atmel® Studio 6 is the integrated development platform (IDP) for developing and debugging Atmel ARM® Cortex™-M and Atmel AVR® microcontroller- (MCU-) based applications. The Atmel Studio 6 IDP gives you a seamless and easy-to-use environment to write, build and debug your applications written in C/C++ or assembly code.
Atmel Studio 6 is free of charge and is integrated with the Atmel Software Framework (ASF)—a large library of free source code with 1,600 ARM and AVR project examples. ASF strengthens the IDP by providing, in the same environment, access to ready-to-use code that minimizes much of the low-level design required for projects. Use the IDP for our wide variety of AVR and ARM Cortex-M processor-based MCUs, including our broadened portfolio of Atmel SAM3 ARM Cortex-M3 and M4 Flash devices.
With the introduction of Atmel Gallery and Atmel Spaces, Atmel Studio 6 further simplifies embedded MCU designs to reduce development time and cost. Atmel Gallery is an online apps store for development tools and embedded software. Atmel Spaces is a cloud-based collaborative development workspace allowing you to host software and hardware projects targeting Atmel MCUs.
For more information, please visit http://www.atmel.com/Microsite/atmel_studio6.
Follow along on Twitter at http://www.twitter.com/Atmel and 'Like' Atmel on Facebook at http://www.facebook.com/atmelcorporation.
1) JTAG on-chip debugging allows developers to debug hardware, bootloaders, the Linux kernel, and user space applications when agent-based debugging is unavailable or too expensive. It provides a seamless debugging experience across all components.
2) Debugging embedded Linux devices is challenging due to interactions between the bootloader, Linux kernel, kernel modules, and applications which have different memory mappings and privileges.
3) With JTAG debugging tools, developers can debug issues that occur between the kernel, user space, and target hardware throughout the entire Linux development process from a single integrated environment.
This document discusses an application layer protocol chapter from a textbook. It begins with an introduction to application layer protocols and architectures like client-server and peer-to-peer. It then covers specific protocols like HTTP, FTP, email and DNS. It discusses transport protocols like TCP and UDP and how applications map to these. It provides an overview of the HTTP protocol for web applications and browsing.
Highlighted notes of article while studying Concurrent Data Structures, CSE:
The Concurrency Challenge
Wen-mei W. Hwu, Kurt Keutzer, Tim Mattson
IEEE Design and Test
The Concurrency Challenge
July-August 2008, pp. 312-320, vol. 25
DOI Bookmark: 10.1109/MDT.2008.110
Wen-mei Hwu is a professor and
the Sanders-AMD Endowed Chair of
Electrical and Computer Engineering
at the University of Illinois at Urbana-
Champaign. His research interests
include architecture and compilation for parallel-
computing systems. He has a BS in electrical
engineering from National Taiwan University, and
a PhD in computer science from the University of
California, Berkeley. He is a Fellow of both the IEEE
and the ACM.
Kurt Keutzer is a professor of
electrical engineering and computer
science at the University of California,
Berkeley and a principal investigator
in UC Berkeley’s Universal Parallel
Computing Research Center. His research focuses
on the design and programming of ICs. He has a BS
in mathematics from Maharishi International University, and an MS a PhD in computer science from
Indiana University, Bloomington. He is a Fellow of the
IEEE and a member of the ACM.
Timothy G. Mattson is a principal
engineer in the Applications Research
Laboratory at Intel. He research inter-
ests focus on performance modeling
for future multicore microprocessors
and how different programming models map onto
these systems. He has a BS in chemistry from the
University of California, Riverside; an MS in chemistry
from the university of California, Santa Cruz; and a PhD in theoretical chemistry from the University of
California, Santa Cruz. He is a member of the
American Association for the Advancement of Sci-
ence (AAAS).
https://ieeexplore.ieee.org/document/4584454
TotalView 8.7 and ReplayEngine 2.0 provide debugging tools for distributed, multi-threaded applications. ReplayEngine records program execution so developers can replay and debug problems by moving backwards through time. This helps developers quickly find the root causes of bugs. TotalView supports debugging of Linux applications with distributed and shared memory. While powerful for debugging parallel programs, it only supports Linux and lacks Windows support.
1. The Keil uVision IDE allows developers to create embedded applications using Keil development tools by integrating a project manager, compiler, source code editor, debugger and simulator into a single environment.
2. Flash Magic is a tool for programming flash-based microcontrollers.
3. The Keil software development cycle is similar to other software projects, involving creating projects, adding source code files, compiling, debugging errors, and downloading the code to the microcontroller board.
The document summarizes key information about Android:
1) Android is an open-source software platform based on Linux for mobile devices. It uses Java for application development and includes features for hardware integration, security, and networking.
2) The Android software stack includes layers for hardware integration, core libraries, a virtual machine, application framework, and applications. It supports various hardware configurations and network connectivity standards.
3) Android applications are sandboxed for security and permissions are required for sensitive capabilities. Performance is optimized through techniques like avoiding unnecessary object instantiation and using native code where possible.
Visual Basic .NET (VB.NET) is an object-oriented programming language based on Visual Basic that uses the .NET framework. While the basic syntax is unchanged from Visual Basic, VB.NET includes additional features like structured exception handling and supports object-oriented programming paradigms. The Common Type System defines common rules for data types, inheritance, and lifetime across .NET languages to enable cross-language integration and interoperability.
Build Applications on the Microsoft Platform Using Eclipse, Java, Ruby and PHP!goodfriday
Come hear how Microsoft has delivered multiple technologies that focus on interoperability with non-Microsoft and Open Source technologies. Learn how to use the Eclipse tools today to build Silverlight applications that run on PCs and Macs, how to develop using combinations of Java, Ruby and PHP in addition to the standard Microsoft languages, and how Microsoft's commitment to openness with the Azure Services Platform and the use of claims-based identity supports heterogeneous identity systems.
The document summarizes and compares several major object-oriented programming languages: Smalltalk, C++, Eiffel, and Java. Smalltalk was designed for interactive use and has a fully integrated development environment, while C++ was designed for production use and has less integration. Eiffel focuses on ensuring code correctness but has not been widely adopted. Java became very popular and may become the main language for web programming due to its portability.
Developing Safety-Critical Java Applications with oSCJ Aleš Plšek
We present oSCJ, an implementation of the draft of Safety Critical Java (SCJ) specification. SCJ is designed to make Java amenable to writing mission- and safety-critical soft- ware. It does this by defining a subset of the Real-time Specification for Java that trades expressiveness for verifia- bility. This paper gives a high-level description of our im- plementation of the first compliance level of the SCJ speci- fication, a library called oSCJ, and reports on performance evaluation on the Ovm real-time Java virtual machine. We compare SCJ to C on both a real-time operating system on the LEON3 platform and Linux on a x86. Our results suggest that a high-degree of predictability and competitive performance can indeed be achieved.
Migration Effort in the Cloud - The Case of Cloud PlatformsStefan Kolb
Get the book "On the Portability of Applications in Platform as a Service" at https://www.amazon.de/dp/3863096312
Presentation from IEEE CLOUD 2015. Full paper at http://bit.ly/paasmigration
Edge can be divided into the Device Edge and the Infrastructure Edge. This presentation discusses how to leverage the Infrastructure edge in modern software architecture.
This document discusses how to write shared libraries. It begins with a brief history of shared libraries, noting that they allow code to be reused across processes by loading it into memory once. It then discusses some of the challenges with early binary formats not being designed for shared libraries, and how Linux initially used a.out but later switched to ELF to address limitations. The document will cover rules for properly using shared libraries to optimize resource usage and structure programs.
The document summarizes IBM's Rational Software Conference 2009. It discusses challenges in embedded software development like requirements shifts, low memory footprints, and debugging difficulties. It introduces IBM Rational Test RealTime as a solution that allows automated component testing at all levels from simple functions to distributed systems. It also enables runtime analysis through profiling, tracing, and linking of code, tests, and models. The tool aims to help developers test throughout development rather than just debugging later, to catch issues early and ensure quality and stability of embedded software projects.
High level programming of embedded hard real-time devicesMr. Chanuwan
This document describes a new Java virtual machine called Fiji VM that targets real-time embedded systems. The Fiji VM ahead-of-time compiles Java bytecode to C code to run on embedded hardware with minimal overhead. Evaluation shows the Fiji VM can achieve throughput close to C for a collision detection benchmark on a LEON3 processor, while still meeting hard real-time deadlines through the use of a concurrent, real-time garbage collector.
Norm Gross is a software engineer with over 20 years of experience developing software across various platforms and languages including C/C++, Unix, VxWorks, and Linux. He has worked on projects involving radar systems, flight simulators, encryption devices, and more. His experience includes software design, programming, testing, documentation, and project management. Currently, he is seeking a software developer position to utilize his extensive skills and experience.
PrimeSoft Solutions was contracted to develop a UMA Handset Simulator for a client. An 18-member team at PrimeSoft's offshore development center was created to work on the project. The team developed the simulator through requirements analysis, specifications, design, coding, testing, and delivering documentation. The UMA Simulator allows automated testing of UMA functionality and supports complex handover scenarios. PrimeSoft also supports long-term testing of the client's Multi Access Gateway product through manual and automation test plans.
The document provides a summary of an experienced software engineer with over 10 years of experience in systems engineering, real-time software development, testing and project consulting. The engineer has expertise in model-based development, systems engineering, testing and collaboration tools from IBM Rational. Several projects are summarized involving development of combat management systems, model-based systems engineering, model-driven development, collaborative lifecycle management and static analysis.
MediaPlatform worked closely with Adobe Systems and the client, a Fortune 500 company, on the pilot of multicast fusion on the Adobe® Flash® Platform. The challenge was to implement this breakthrough video streaming technology which had previously not been tested in a real world environment.
B Labs / Mobile Virtualization for the ARM ArchitectureB Labs
Introduces how our low footprint hypervisor can benefit Semiconductor Vendors gain competitive advantage in SoC development and rich user experiences by enabling multiple virtualized operating systems.
RDZ for Cobol Programmers slides 7 14 Debugger deep dive final2Susan Yoskin
Venkat will be joined by IBM Debug Architects John Tzanakakis and Randy Campbell who will demo debugging of applications using RDz. The demo will cover:
- Debugging of a CICS COBOL application
- Debugging of a COBOL application that calls HLASM
Atmel - Next-Generation IDE: Maximizing IP Reuse [WHITE PAPER]Atmel Corporation
Atmel® Studio 6 is the integrated development platform (IDP) for developing and debugging Atmel ARM® Cortex™-M and Atmel AVR® microcontroller- (MCU-) based applications. The Atmel Studio 6 IDP gives you a seamless and easy-to-use environment to write, build and debug your applications written in C/C++ or assembly code.
Atmel Studio 6 is free of charge and is integrated with the Atmel Software Framework (ASF)—a large library of free source code with 1,600 ARM and AVR project examples. ASF strengthens the IDP by providing, in the same environment, access to ready-to-use code that minimizes much of the low-level design required for projects. Use the IDP for our wide variety of AVR and ARM Cortex-M processor-based MCUs, including our broadened portfolio of Atmel SAM3 ARM Cortex-M3 and M4 Flash devices.
With the introduction of Atmel Gallery and Atmel Spaces, Atmel Studio 6 further simplifies embedded MCU designs to reduce development time and cost. Atmel Gallery is an online apps store for development tools and embedded software. Atmel Spaces is a cloud-based collaborative development workspace allowing you to host software and hardware projects targeting Atmel MCUs.
For more information, please visit http://www.atmel.com/Microsite/atmel_studio6.
Follow along on Twitter at http://www.twitter.com/Atmel and 'Like' Atmel on Facebook at http://www.facebook.com/atmelcorporation.
1) JTAG on-chip debugging allows developers to debug hardware, bootloaders, the Linux kernel, and user space applications when agent-based debugging is unavailable or too expensive. It provides a seamless debugging experience across all components.
2) Debugging embedded Linux devices is challenging due to interactions between the bootloader, Linux kernel, kernel modules, and applications which have different memory mappings and privileges.
3) With JTAG debugging tools, developers can debug issues that occur between the kernel, user space, and target hardware throughout the entire Linux development process from a single integrated environment.
This document discusses an application layer protocol chapter from a textbook. It begins with an introduction to application layer protocols and architectures like client-server and peer-to-peer. It then covers specific protocols like HTTP, FTP, email and DNS. It discusses transport protocols like TCP and UDP and how applications map to these. It provides an overview of the HTTP protocol for web applications and browsing.
Highlighted notes of article while studying Concurrent Data Structures, CSE:
The Concurrency Challenge
Wen-mei W. Hwu, Kurt Keutzer, Tim Mattson
IEEE Design and Test
The Concurrency Challenge
July-August 2008, pp. 312-320, vol. 25
DOI Bookmark: 10.1109/MDT.2008.110
Wen-mei Hwu is a professor and
the Sanders-AMD Endowed Chair of
Electrical and Computer Engineering
at the University of Illinois at Urbana-
Champaign. His research interests
include architecture and compilation for parallel-
computing systems. He has a BS in electrical
engineering from National Taiwan University, and
a PhD in computer science from the University of
California, Berkeley. He is a Fellow of both the IEEE
and the ACM.
Kurt Keutzer is a professor of
electrical engineering and computer
science at the University of California,
Berkeley and a principal investigator
in UC Berkeley’s Universal Parallel
Computing Research Center. His research focuses
on the design and programming of ICs. He has a BS
in mathematics from Maharishi International University, and an MS a PhD in computer science from
Indiana University, Bloomington. He is a Fellow of the
IEEE and a member of the ACM.
Timothy G. Mattson is a principal
engineer in the Applications Research
Laboratory at Intel. He research inter-
ests focus on performance modeling
for future multicore microprocessors
and how different programming models map onto
these systems. He has a BS in chemistry from the
University of California, Riverside; an MS in chemistry
from the university of California, Santa Cruz; and a PhD in theoretical chemistry from the University of
California, Santa Cruz. He is a member of the
American Association for the Advancement of Sci-
ence (AAAS).
https://ieeexplore.ieee.org/document/4584454
TotalView 8.7 and ReplayEngine 2.0 provide debugging tools for distributed, multi-threaded applications. ReplayEngine records program execution so developers can replay and debug problems by moving backwards through time. This helps developers quickly find the root causes of bugs. TotalView supports debugging of Linux applications with distributed and shared memory. While powerful for debugging parallel programs, it only supports Linux and lacks Windows support.
1. The Keil uVision IDE allows developers to create embedded applications using Keil development tools by integrating a project manager, compiler, source code editor, debugger and simulator into a single environment.
2. Flash Magic is a tool for programming flash-based microcontrollers.
3. The Keil software development cycle is similar to other software projects, involving creating projects, adding source code files, compiling, debugging errors, and downloading the code to the microcontroller board.
The document summarizes key information about Android:
1) Android is an open-source software platform based on Linux for mobile devices. It uses Java for application development and includes features for hardware integration, security, and networking.
2) The Android software stack includes layers for hardware integration, core libraries, a virtual machine, application framework, and applications. It supports various hardware configurations and network connectivity standards.
3) Android applications are sandboxed for security and permissions are required for sensitive capabilities. Performance is optimized through techniques like avoiding unnecessary object instantiation and using native code where possible.
Visual Basic .NET (VB.NET) is an object-oriented programming language based on Visual Basic that uses the .NET framework. While the basic syntax is unchanged from Visual Basic, VB.NET includes additional features like structured exception handling and supports object-oriented programming paradigms. The Common Type System defines common rules for data types, inheritance, and lifetime across .NET languages to enable cross-language integration and interoperability.
Build Applications on the Microsoft Platform Using Eclipse, Java, Ruby and PHP!goodfriday
Come hear how Microsoft has delivered multiple technologies that focus on interoperability with non-Microsoft and Open Source technologies. Learn how to use the Eclipse tools today to build Silverlight applications that run on PCs and Macs, how to develop using combinations of Java, Ruby and PHP in addition to the standard Microsoft languages, and how Microsoft's commitment to openness with the Azure Services Platform and the use of claims-based identity supports heterogeneous identity systems.
The document summarizes and compares several major object-oriented programming languages: Smalltalk, C++, Eiffel, and Java. Smalltalk was designed for interactive use and has a fully integrated development environment, while C++ was designed for production use and has less integration. Eiffel focuses on ensuring code correctness but has not been widely adopted. Java became very popular and may become the main language for web programming due to its portability.
Developing Safety-Critical Java Applications with oSCJ Aleš Plšek
We present oSCJ, an implementation of the draft of Safety Critical Java (SCJ) specification. SCJ is designed to make Java amenable to writing mission- and safety-critical soft- ware. It does this by defining a subset of the Real-time Specification for Java that trades expressiveness for verifia- bility. This paper gives a high-level description of our im- plementation of the first compliance level of the SCJ speci- fication, a library called oSCJ, and reports on performance evaluation on the Ovm real-time Java virtual machine. We compare SCJ to C on both a real-time operating system on the LEON3 platform and Linux on a x86. Our results suggest that a high-degree of predictability and competitive performance can indeed be achieved.
Migration Effort in the Cloud - The Case of Cloud PlatformsStefan Kolb
Get the book "On the Portability of Applications in Platform as a Service" at https://www.amazon.de/dp/3863096312
Presentation from IEEE CLOUD 2015. Full paper at http://bit.ly/paasmigration
Edge can be divided into the Device Edge and the Infrastructure Edge. This presentation discusses how to leverage the Infrastructure edge in modern software architecture.
This document discusses how to write shared libraries. It begins with a brief history of shared libraries, noting that they allow code to be reused across processes by loading it into memory once. It then discusses some of the challenges with early binary formats not being designed for shared libraries, and how Linux initially used a.out but later switched to ELF to address limitations. The document will cover rules for properly using shared libraries to optimize resource usage and structure programs.
Do modernizing the Mainframe for DevOps.Massimo Talia
The document discusses how organizations can modernize mainframe development for DevOps. It outlines challenges like an aging mainframe developer workforce and slow release cycles. It recommends integrating mainframe source code with version control systems, enabling local development environments, automating builds and testing, and integrating mainframe deployment with corporate DevOps tools. Adopting modern development tools and practices can help empower developers and reduce bottlenecks to help bring mainframe systems into the DevOps model.
The DevOps paradigm - the evolution of IT professionals and opensource toolkitMarco Ferrigno
This document discusses the DevOps paradigm and tools. It begins by defining DevOps as focusing on communication and cooperation between development and operations teams. It then discusses concepts like continuous integration, delivery and deployment. It provides examples of tools used in DevOps like Docker, Kubernetes, Ansible, and monitoring tools. It discusses how infrastructure has evolved to be defined through code. Finally, it discusses challenges of security in DevOps and how DevOps works aligns with open source principles like meritocracy, metrics, and continuous improvement.
This document summarizes the DevOps paradigm and tools. It discusses how DevOps aims to improve communication and cooperation between development and operations teams through practices like continuous integration, delivery, and deployment. It then provides an overview of common DevOps tools for containers, cluster management, automation, CI/CD, monitoring, and infrastructure as code. Specific tools mentioned include Docker, Kubernetes, Ansible, Jenkins, and AWS CloudFormation. The document argues that adopting open source principles and emphasizing leadership, culture change, and talent growth are important for successful DevOps implementation.
Basic Idea
Develop a build system that leverages Docker for implementing continuous integration/deployment(CI/CD) pipeline. A git commit must kick off packaging a Docker Image and provisioning it in a VM.
A git based commit should be used for starting of a build for a docker image which would then be run and provisioned in a Virtual Machine. After every commit a series of test cases is then run on the code to ensure the correctness of the code. After all the test-cases pass, the image gets updated on docker-hub registry, and a VM gets provisioned which can then run the software directly (after pulling the image from the docker-hub).
This entire process ensures that the most recent and updated version of the code is available to the person who is using the software and this speeds up the overall process by at least 2-3 folds.
The project Remote Web Desk deals with remote control of computer over some form of network usually a LAN or the Internet. It allows friend or an administrator to fix problem on your computer or you can use it to show your desk top to somebody at a remote location
Using Docker container technology with F5 Networks products and servicesF5 Networks
This document discusses how Docker containerization technology can be used with F5 products and services. It provides an overview of Docker, comparing it to virtual machines. Docker allows for higher resource utilization and faster application deployment than VMs. The document outlines how F5 supports using containers and integrating with Docker for application delivery and security services. It describes Docker networking and how F5 solutions can provide services like load balancing within Docker container environments.
Control/DCD and Control/SE are software tools that can help with migrating existing COBOL applications to newer Enterprise COBOL compilers. Control/DCD runs in batch mode on one or all programs, while Control/SE allows interactive processing of individual programs. These tools provide pre-compilation analysis of code to help identify issues during migration, as recompiling old COBOL programs without documentation risks introducing logic errors or reopening old bugs. They can help large organizations that rely heavily on legacy mainframe COBOL applications but now use offshore contractors for development and maintenance.
Overcoming software development challenges by using an integrated software fr...Design World
With ever increasing Connectivity options, Security Protocols and Sophisticated Human Interfaces, Software and AP developers find themselves caught more deeply in the dichotomy of dealing with increasing complexity of designs and shrinking timelines. Resource constraints and constantly evolving software landscape provide challenges to software Integration that have to be overcome to enable designers to focus on the actual application.
Developers need a Modular Software Framework that accelerates software integration, provides flexible programming options and enables application re-use across multiple platforms. “That framework is MPLAB® Harmony.”
Join us for the webinar series where we provide a technical overview of MPLAB® Harmony, Live tool demos, Microchip and third party Middleware support and finally demonstrate how Harmony accelerates software integration and moves development focus and resources to Application Development and testing.
In this first installment of a three part webinar series attendees will learn:
-Current Software Development Challenges and how MPLAB® Harmony, Microchip’s software framework, overcomes them.
-Technical Overview of MPLAB® Harmony Framework.
-Integrating RTOS in an embedded development ecosystem.
-Graphics Application demo illustrating how MPLAB® Harmony facilitates changing system requirements.
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2022/08/open-standards-powering-the-future-of-embedded-vision-a-presentation-from-the-khronos-group/
Neil Trevett, President of the Khronos Group and Vice President of Developer Ecosystems at NVIDIA, presents the “Open Standards: Powering the Future of Embedded Vision” tutorial at the May 2022 Embedded Vision Summit.
Open standards play an important role in enabling interoperability for efficient deployment of vision-based systems. In this session, Trevett shares an update on the family of Khronos Group standards for programming and deploying accelerated inferencing and embedded vision, including OpenCL, Vulkan Safety Critical, OpenVX, SYCL and NNEF.
Trevett discusses the evolving roadmap for these standards and provides insights to help you understand which standards are relevant to your projects. In addition, he introduces the new Khronos Embedded Camera API initiative. Trevett outlines the technical direction of the Embedded Camera API working group to create an open standard to streamline the integration and control of sophisticated embedded camera systems, and highlights how attendees can participate in this important industry initiative.
Linux-Based Data Acquisition and Processing On Palmtop ComputerIOSR Journals
This document describes a Linux-based data acquisition and processing system implemented on a palmtop computer. The system uses a PCMCIA data acquisition card and free Linux drivers and libraries to acquire signals from sensors. As a demonstration, a phonometer application was created that can sample 1024 signals at 100 ksamples/s and compute the fast Fourier transform of the signal up to 6 times per second. The document outlines the hardware and software design of the system, including using a custom Linux kernel, COMEDI libraries for device control, and TCL/Tk for the user interface. Experimental results showed the system could successfully implement the phonometer application for acoustic signal analysis on the palmtop computer.
Linux-Based Data Acquisition and Processing On Palmtop ComputerIOSR Journals
This document describes the development of a data acquisition and processing system using a palmtop computer running Linux. The system uses a PCMCIA data acquisition card and free Linux drivers and libraries. A demo application was created that can sample 1024 signals from a microphone at 100 ksamples/s and compute the fast Fourier transform of the signal up to 6 times per second. The document outlines the hardware and software implementation including developing the C code on a desktop, cross compiling it for the palmtop, and downloading and testing the executable on the palmtop computer. It provides details on using COMEDI libraries for data acquisition and TCL/Tk for the graphical user interface.
Developing Real-Time Systems on Application ProcessorsToradex
Guaranteeing real-time and deterministic behavior on SoC-based systems can be challenging. In this blog post, we offer three approaches to add real-time control to systems that use a SoC running a feature-rich OS such as Linux. https://www.toradex.com/blog/developing-real-time-systems-on-application-processors
Crossing the river by feeling the stones from legacy to cloud native applica...OPNFV
Doug Smith, Red Hat, Inc, Gergely Csatari, Nokia
There is an anecdote about a tourist lost in the middle of the countryside in Ireland, who pulls over and asks a local, "How can I get to Galway from here?" To which the local, after thinking for some time, responds, "If I was going to Galway, I wouldn't start from here at all."
Cloud native application development can feel like that sometimes, especially in the telecom industry. I have an application, it's running fine on a bare metal server, and now I am expected to make it resilient, scale-out, cloud native, microservice architecture, buzzword compliant. But how do you get there from where you are?
This presentation will present the hero's quest, identifying the key constraint to cloud resiliency at each stage, and identifying measures for addressing them. By showing the evolution story from the perspective of two applications, including a real telecom application, this presentation addresses the practical problems. The approach is not "rewrite your app from scratch", it is refactoring for incremental improvements.
Doug and Gergely will address the automation of application deployment and configuration, separation of state from behaviour, clustering, handling storage for cloud native applications, monitoring and event management, and container orchestration, so that, at each step along the journey, you know what problem you are solving, and how to get to the next step from where you are.
This presentation is in addition to a series of workshops held at the summit sponsored by the Cloud Native Computing Foundation and organized by Dave Neary, and includes a short summary of the topics presented in those workshops in addition to the perspectives on how to complete the quest to cloud native applications.
How Virtual Compilation Transforms Static Code AnalysisCheckmarx
Many assume that code analysis requires code compilation as a prerequisite. Today, all major static code analyzers are built on this assumption and only scan post compilation - requiring buildable code. The reliance on compilation has major and negative implications for all stake holders: developers, auditors, CISOs, as well as the organizations that hope to build a secure development lifecycle (SDLC). Historically, static code analysis required a complete and buildable project to run against, which made the logical place to do the analysis at the build server and in-line with the entire build process. The “buildable” requirement also forced the execution of the scan nearer the end of the development process, making security repairs to code more expensive and greatly reducing any benefits.
This document discusses Dockerization as a replacement for virtual machines (VMs) to enable computational replication. It outlines some of the challenges with using VMs for computational replication, including dependency issues, software dynamicity, limited documentation, and barriers to adoption. The document then introduces Docker as a solution, describing how Docker images can help address dependency issues and how Docker simplifies updating software. Key features of Docker that enable effective computational replication are also highlighted, such as development over local environments, effective configuration, enhanced productivity, and application isolation through containers.
Eclipse Che - A Revolutionary IDE for Distributed & Mainframe DevelopmentDevOps.com
Eclipse Che introduces a new kind of developer tool that runs directly on Kubernetes and is accessible through a web-based IDE. The container architecture enables easy and rapid onboarding of new team members while eliminating workstation maintenance costs and limitations, all while leveraging a VS Code-like experience. The release of Che 7.0 by the open source community goes further by making the developer environment consistent, repeatable and reproducible. Now available for mainframe-based code with the Che4z subproject, teams can collaborate on cross-platform applications and bridge the distributed/mainframe divide.
The panel with discuss how the Eclipse Che IDE and workspace server drive developer productivity and improve overall software delivery.
Similar to A New Paradigm In Linux Debug From Viosoft (20)
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfChart Kalyan
A Mix Chart displays historical data of numbers in a graphical or tabular form. The Kalyan Rajdhani Mix Chart specifically shows the results of a sequence of numbers over different periods.
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxSitimaJohn
Ocean Lotus cyber threat actors represent a sophisticated, persistent, and politically motivated group that poses a significant risk to organizations and individuals in the Southeast Asian region. Their continuous evolution and adaptability underscore the need for robust cybersecurity measures and international cooperation to identify and mitigate the threats posed by such advanced persistent threat groups.
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc
How does your privacy program stack up against your peers? What challenges are privacy teams tackling and prioritizing in 2024?
In the fifth annual Global Privacy Benchmarks Survey, we asked over 1,800 global privacy professionals and business executives to share their perspectives on the current state of privacy inside and outside of their organizations. This year’s report focused on emerging areas of importance for privacy and compliance professionals, including considerations and implications of Artificial Intelligence (AI) technologies, building brand trust, and different approaches for achieving higher privacy competence scores.
See how organizational priorities and strategic approaches to data security and privacy are evolving around the globe.
This webinar will review:
- The top 10 privacy insights from the fifth annual Global Privacy Benchmarks Survey
- The top challenges for privacy leaders, practitioners, and organizations in 2024
- Key themes to consider in developing and maintaining your privacy program
Building Production Ready Search Pipelines with Spark and MilvusZilliz
Spark is the widely used ETL tool for processing, indexing and ingesting data to serving stack for search. Milvus is the production-ready open-source vector database. In this talk we will show how to use Spark to process unstructured data to extract vector representations, and push the vectors to Milvus vector database for search serving.
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...Tatiana Kojar
Skybuffer AI, built on the robust SAP Business Technology Platform (SAP BTP), is the latest and most advanced version of our AI development, reaffirming our commitment to delivering top-tier AI solutions. Skybuffer AI harnesses all the innovative capabilities of the SAP BTP in the AI domain, from Conversational AI to cutting-edge Generative AI and Retrieval-Augmented Generation (RAG). It also helps SAP customers safeguard their investments into SAP Conversational AI and ensure a seamless, one-click transition to SAP Business AI.
With Skybuffer AI, various AI models can be integrated into a single communication channel such as Microsoft Teams. This integration empowers business users with insights drawn from SAP backend systems, enterprise documents, and the expansive knowledge of Generative AI. And the best part of it is that it is all managed through our intuitive no-code Action Server interface, requiring no extensive coding knowledge and making the advanced AI accessible to more users.
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on automated letter generation for Bonterra Impact Management using Google Workspace or Microsoft 365.
Interested in deploying letter generation automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
This presentation provides valuable insights into effective cost-saving techniques on AWS. Learn how to optimize your AWS resources by rightsizing, increasing elasticity, picking the right storage class, and choosing the best pricing model. Additionally, discover essential governance mechanisms to ensure continuous cost efficiency. Whether you are new to AWS or an experienced user, this presentation provides clear and practical tips to help you reduce your cloud costs and get the most out of your budget.
GraphRAG for Life Science to increase LLM accuracyTomaz Bratanic
GraphRAG for life science domain, where you retriever information from biomedical knowledge graphs using LLMs to increase the accuracy and performance of generated answers
5th LF Energy Power Grid Model Meet-up SlidesDanBrown980551
5th Power Grid Model Meet-up
It is with great pleasure that we extend to you an invitation to the 5th Power Grid Model Meet-up, scheduled for 6th June 2024. This event will adopt a hybrid format, allowing participants to join us either through an online Mircosoft Teams session or in person at TU/e located at Den Dolech 2, Eindhoven, Netherlands. The meet-up will be hosted by Eindhoven University of Technology (TU/e), a research university specializing in engineering science & technology.
Power Grid Model
The global energy transition is placing new and unprecedented demands on Distribution System Operators (DSOs). Alongside upgrades to grid capacity, processes such as digitization, capacity optimization, and congestion management are becoming vital for delivering reliable services.
Power Grid Model is an open source project from Linux Foundation Energy and provides a calculation engine that is increasingly essential for DSOs. It offers a standards-based foundation enabling real-time power systems analysis, simulations of electrical power grids, and sophisticated what-if analysis. In addition, it enables in-depth studies and analysis of the electrical power grid’s behavior and performance. This comprehensive model incorporates essential factors such as power generation capacity, electrical losses, voltage levels, power flows, and system stability.
Power Grid Model is currently being applied in a wide variety of use cases, including grid planning, expansion, reliability, and congestion studies. It can also help in analyzing the impact of renewable energy integration, assessing the effects of disturbances or faults, and developing strategies for grid control and optimization.
What to expect
For the upcoming meetup we are organizing, we have an exciting lineup of activities planned:
-Insightful presentations covering two practical applications of the Power Grid Model.
-An update on the latest advancements in Power Grid -Model technology during the first and second quarters of 2024.
-An interactive brainstorming session to discuss and propose new feature requests.
-An opportunity to connect with fellow Power Grid Model enthusiasts and users.
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slackshyamraj55
Discover the seamless integration of RPA (Robotic Process Automation), COMPOSER, and APM with AWS IDP enhanced with Slack notifications. Explore how these technologies converge to streamline workflows, optimize performance, and ensure secure access, all while leveraging the power of AWS IDP and real-time communication via Slack notifications.
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-und-domino-lizenzkostenreduzierung-in-der-welt-von-dlau/
DLAU und die Lizenzen nach dem CCB- und CCX-Modell sind für viele in der HCL-Community seit letztem Jahr ein heißes Thema. Als Notes- oder Domino-Kunde haben Sie vielleicht mit unerwartet hohen Benutzerzahlen und Lizenzgebühren zu kämpfen. Sie fragen sich vielleicht, wie diese neue Art der Lizenzierung funktioniert und welchen Nutzen sie Ihnen bringt. Vor allem wollen Sie sicherlich Ihr Budget einhalten und Kosten sparen, wo immer möglich. Das verstehen wir und wir möchten Ihnen dabei helfen!
Wir erklären Ihnen, wie Sie häufige Konfigurationsprobleme lösen können, die dazu führen können, dass mehr Benutzer gezählt werden als nötig, und wie Sie überflüssige oder ungenutzte Konten identifizieren und entfernen können, um Geld zu sparen. Es gibt auch einige Ansätze, die zu unnötigen Ausgaben führen können, z. B. wenn ein Personendokument anstelle eines Mail-Ins für geteilte Mailboxen verwendet wird. Wir zeigen Ihnen solche Fälle und deren Lösungen. Und natürlich erklären wir Ihnen das neue Lizenzmodell.
Nehmen Sie an diesem Webinar teil, bei dem HCL-Ambassador Marc Thomas und Gastredner Franz Walder Ihnen diese neue Welt näherbringen. Es vermittelt Ihnen die Tools und das Know-how, um den Überblick zu bewahren. Sie werden in der Lage sein, Ihre Kosten durch eine optimierte Domino-Konfiguration zu reduzieren und auch in Zukunft gering zu halten.
Diese Themen werden behandelt
- Reduzierung der Lizenzkosten durch Auffinden und Beheben von Fehlkonfigurationen und überflüssigen Konten
- Wie funktionieren CCB- und CCX-Lizenzen wirklich?
- Verstehen des DLAU-Tools und wie man es am besten nutzt
- Tipps für häufige Problembereiche, wie z. B. Team-Postfächer, Funktions-/Testbenutzer usw.
- Praxisbeispiele und Best Practices zum sofortigen Umsetzen
Best 20 SEO Techniques To Improve Website Visibility In SERPPixlogix Infotech
Boost your website's visibility with proven SEO techniques! Our latest blog dives into essential strategies to enhance your online presence, increase traffic, and rank higher on search engines. From keyword optimization to quality content creation, learn how to make your site stand out in the crowded digital landscape. Discover actionable tips and expert insights to elevate your SEO game.
HCL Notes and Domino License Cost Reduction in the World of DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-and-domino-license-cost-reduction-in-the-world-of-dlau/
The introduction of DLAU and the CCB & CCX licensing model caused quite a stir in the HCL community. As a Notes and Domino customer, you may have faced challenges with unexpected user counts and license costs. You probably have questions on how this new licensing approach works and how to benefit from it. Most importantly, you likely have budget constraints and want to save money where possible. Don’t worry, we can help with all of this!
We’ll show you how to fix common misconfigurations that cause higher-than-expected user counts, and how to identify accounts which you can deactivate to save money. There are also frequent patterns that can cause unnecessary cost, like using a person document instead of a mail-in for shared mailboxes. We’ll provide examples and solutions for those as well. And naturally we’ll explain the new licensing model.
Join HCL Ambassador Marc Thomas in this webinar with a special guest appearance from Franz Walder. It will give you the tools and know-how to stay on top of what is going on with Domino licensing. You will be able lower your cost through an optimized configuration and keep it low going forward.
These topics will be covered
- Reducing license cost by finding and fixing misconfigurations and superfluous accounts
- How do CCB and CCX licenses really work?
- Understanding the DLAU tool and how to best utilize it
- Tips for common problem areas, like team mailboxes, functional/test users, etc
- Practical examples and best practices to implement right away
2. The Current Paradigm
No one today would argue against the fact that Linux has taken the embedded Real
Time Operating System (RTOS) space by storm. More and more applications that
historically required either a commercially available RTOS, or one that was internally
created and maintained, are being replaced with a Linux-based platform.
The reasons for this movement are varied from one company to the next, but some of
the most common factors are:
1. The availability of source code to the Operating System
2. A wealth of device drivers and communication stacks
3. An increasingly available pool of software engineers that are Linux proficient
4. A perceived cost advantage achieved with removal of the OS royalty component
from the products’ bill of materials
5. Semiconductor suppliers now provide a Linux port to their SoC based hardware
reference platform, along with tool chains and a reference distribution
To take full advantage of the Linux operating system, Original Equipment Manufacturers
(OEMs) have a choice of engaging with a commercial Linux vendor or adding additional
engineering capability in-house. Both models have proven successful, but each carries
its own specific costs.
Regardless of the direction the OEM chooses, the typical debug model available for
their engineers is the same…a command line-based, client server environment based
on GDB (GNU Debugger). This model is illustrated in Figure 1, which depicts an
instantiation of GDBSERVER attached and running on each Linux process under debug
on the target. Each GDBSERVER is communicating with the host through an Ethernet
port.
In addition, it is important to understand that in this approach to Linux debug, the
standard Linux kernel is replaced with a “static” version specifically built with debugging
code instrumented throughout. In addition and with only a few exceptions, all debug
communication to the target via KGDB is limited to an RS232 serial link.
This approach provides an additional challenge to the developer that is using the
instrumented version of the Linux kernel by actually altering the performance of the
target under debug from the “released version” that will eventually ship with the product.
3. Figure 1: Standard Linux Debug Model
While this is by default the accepted Linux debug environment, there are some well
understood limitations to this approach. For example, applications that consist of
multiple processes will require multiple copies of GDBSERVER running in the often
limited target memory. This can affect the performance of the target under debug.
There have been cases of a 50%+ degradation of target performance.
Even in the best case scenario where all kernel instrumentations and communication
channels are available, there are still areas of the code that are inherently inaccessible
under this debugging paradigm. The illustrated “problem” areas in Figure 2 have
presented multiple challenges to kernel and application developers. These areas
include the large amount of threads under each process and kernel loadable modules
that are code and data position independent. While it is possible for skilled developers
to scaffold an environment based on existing technologies to address the debugging
needs in these areas, such an environment has been shown to be very user-unfriendly
and non-scaleable under load.
Consider the case of Linux kernel loadable modules, which consist of an initialization
routine to be invoked at module loading time. Current debug paradigms suggest that
such modules be loaded, and their code and data offsets then be adjusted (manually
and automatically) within the debugger. However, by this time, the initialization code of
the module has already been executed and there is no possible way to debug a
problem in this area of the code. Another use scenario involves shared libraries, which
are often not handled well by GDBSERVER or equivalents.
4. Given these obstacles, it is not uncommon that many engineers to resort to printf (user
space) and printk (kernel space) as their primary debugging aids. Not withstanding the
“ugliness” issues and time overhead of recompiling and linking in these messages, it is
very common for such debug “instrumentations” to sufficiently skew the behavior of the
code in a manner that leads to different behaviors in the program, with or without such
code in place.
Problem
Areas
Figure 2: The “Problem” Areas
The Arriba Debugger: A Holistic Approach to Debugging Linux
The Arriba Debugger is designed from the ground up to provide a holistic approach to
debugging embedded Linux and to be completely agnostic to the hardware platform
architecture or version of Linux under development. In place of GDBSERVER and
KGDB, VMON (a dynamically loadable, demand-based debug agent) runs on the
embedded Linux target. Communicating with the Arriba Debugger on the host, VMON
provides total visibility of the Linux target, from user-level threads to the static kernel.
The VMON module has a very small memory footprint and even when active, has an
almost immeasurable performance impact on the running system. At less than 250Kb
in size, VMON is able to provide end-to-end debugging of the target over a single
Ethernet connection.
5. Figure 3: The Arriba Solution
Arriba = “No Problem” Areas
“No Problem” 1 - Loadable Modules
Through the Arriba Debugger, VMON can be configured to signal the host when a
kernel module of a given property is loaded on the target. Upon the reception of this
signal, the Arriba Debugger will automatically and correctly load the symbol information
of the respective module, and place control at the entry point to the module initialization
function. The user can now have full debug control of the module in question over a
high-speed Ethernet link.
Traditionally, debugging of the Linux kernel or module (when it’s possible) is
accomplished with KGDB or JTAG, which completely halts the target under debug. In
contrast, an important feature of VMON is its ability to provide the same level of
debugging non-preemptively. In other words, the Linux kernel on the target continues to
handle inbound and outbound network traffic, multimedia data, and other time-critical
activities that are crucial in maintaining the appearance of normal execution to the
outside world. This ability is critical to many data and media-centric applications such
as set-top boxes, digital media appliances, and high-speed networking switches and
routers.
“No Problem” 2: Debugging of Multiple Processes; Parent/Child Processes
In many instances, Linux application programmers need to create applications that
involve multiple processes. Such processes are spawned from a single parent process
6. earlier in the application initialization sequence. A frequent challenge revolves around
the need to set breakpoint(s) in the child process and eventually hit such breakpoints
when the child process is created and running. Straightforward as it may sound; this is
an unsupported use-case with any debugging tools for Linux today, embedded or
otherwise. As a workaround, developers often find themselves manually inserting
instrumented code in the child process with an infinite loop that is gated by a variable
initially set to ‘true’. This enables debugging tools such as GDBSERVER to attach to
the child process in question, change the value of the gating variable to ‘false’ to
unblock to loop, and resume debugging.
Because VMON has ultimate visibility into the Linux target, events such as process
creations result in a notifying signal being sent to the Arriba Debugger on the host. The
Arriba Debugger, upon determining that a breakpoint is pending for the child process,
transmits the proper run-control sequence to ensure that such a breakpoint is set in the
child process code space.
“No Problem” 3: Debugging Kernel Drivers and Shared Libraries… Production
Released Kernel
Depending on the scope and breadth of the application, the list of Linux debug “problem
areas” can range anywhere from the inability of the programmer to use the debug tools
on his or her deployment platforms due to footprint and performance constraints
imposed by debugging techniques, to the tedious and error-prone workarounds that
result in much wasted time and increased frustrations. The Arriba Debugger provides
an in-depth solution to these problems, and beyond.
As a final example, consider the need for programmers and field application engineers
to diagnose and fix bugs manifested in deployment. Under such conditions, the target
platform is subject to severely limited debugging and communication access. VMON as
a dynamically loadable module can be configured to be launched on already-deployed
systems. Thus, VMON, with its ability to effectively debug and diagnose such systems
with minimal intrusion, has time and time again proven to be an indispensable tool
through all stages of the product lifecycle.
Eclipse Integrated Development Environment (IDE) Plug-in Support:
Viosoft Corporation recently announced an enhancement to the Arriba Debugger to
support the latest open source Eclipse environment. The powerful Eclipse based
Integrated Development Environment (IDE) is the cockpit for existing and future tools for
developing your Linux based design. This seamless integration with Eclipse provides
the developer with a complete Linux development and debug environment.
In addition to the Arriba Linux Debugger, there is also a new profiling tool called the
Arriba Linux Event Analyzer (LEA) that is also a plug in to an Eclipse IDE. This new tool
provides the ability to see all Linux events occurring on the target by capturing the
information and displaying them in a time domain format. The Arriba LEA collects and
provides a significant amount of information about the Linux system including context
switches among processes and threads, signals, and elapsed execution time.
Simultaneously, LEA incurs a minimal impact on the overall CPU cycles and memory
footprint. LEA light-weighted-ness, coupled with its ability to dynamically add and
7. remove instrumentation points on a production-ready running Linux system make LEA
an ideal performance analysis and debugging tool, both for in-house development and
for field deployment.
An example result of this format is shown in Figure 4 below. Within this view, the user
can zoom in and out to gain a detailed understanding of how their code behaves and the
tasks execute in both the kernel and user space areas. Providing the ability to measure
latencies, response times to external events and even the load each event represents
on the running system. This information is also available in a “raw” format that can
easily be imported to Microsoft Excel for additional post processing and analysis.
Because no two end-user applications are alike, each developer or team of developers
within organization is likely to be interested in collecting and visualizing different aspects
of the system with LEA. The needs for having an open-ended analysis tools leads to a
design of LEA that is highly customizable. By creating and deploying their own kernel
module plug-in to LEA, developers can easily and rapidly gain a level of visibility into
their applications and system that not possible with other close-ended tools.
LEA uses the same instrumentation technology employed by VMON in the Arriba Linux
Debugger, which means that no debug patches or special compilation of the Linux
kernel is required. This capability makes LEA an ideal choice for deployment on
production systems.
The combination of the Arriba Linux Debugger, Arriba LEA and the Eclipse IDE provides
our customers with a very comprehensive and powerful Linux development environment.
This solution was designed to shorten our customers’ time to market while providing
developers the ability to create a level of quality in their code that is unavailable from
any other solution.
Figure 4
The Linux Event Analyzer (LEA)
8. Eclipse View
Seeing is believing!
As with any new technology solution to a well known challenge, it is reasonable for
prudent readers to cast doubts and suspicions on the claims put forth in this article.
Viosoft Corporation welcomes you to contact us for a demonstration, discussion, and
even a test drive of our products. Regardless of the processor architecture you are
using or the version/source of the Linux under development, the Arriba Debugger is
your best solution. Whether you are using a uni-processor version of Linux or a SMP
version, you can take full advantage of Arriba.
So, put aside the “Hello World” examples that others demonstrate their tools on and
bring on your million-line plus applications and dynamically loadable driver code and put
us to the test. You will be glad that you did!