PLUG is a presentation layer universal generator that provides automatic code generation from specifications. It uses object-oriented design and handles heterogeneous programming languages and hardware. PLUG can generate stubs for API usage and message coders for object message passing between distributed applications.
The document discusses writing C code for the 8051 microcontroller using the Keil compiler. It describes the Keil compiler's limitations in the evaluation version, modifications made to the C language to support microcontrollers, and provides examples of writing C code that interfaces with hardware registers and uses interrupts. The purpose is to explain how to develop software for the 8051 microcontroller using the Keil compiler and its C extensions.
This document contains details of 11 practical experiments conducted using an AT90S8535 microcontroller. Each experiment is summarized in 3 sentences or less:
1. Toggle the state of LEDs connected to two ports by alternately setting the ports high and low with a 0.5 second delay.
2. Simulate an 8-bit binary counter by incrementing the port value and lighting LEDs one by one with a 0.2 second delay.
3. Generate a 1 second delay by toggling an LED connected to one port using a timer overflow interrupt that increments a counter.
7.1 Data types and time delay in 8051 C
7.2 I/O programming in 8051 C
7.3 Logic operations in 8051 C
7.4 Data conversion programs in 8051 C
7.5 Accessing code ROM space in 8051 C
7.6 Data serialization using 8051 C
8051 programming skills using EMBEDDED CAman Sharma
It contains basic programming tips for embedded c for those who are just into it and don't know much about it....have a look in it and u will surely find it easy.
The document discusses hardware description languages (HDLs) and Verilog programming. It states that two widely used HDLs are Verilog and VHDL. Verilog is more popular than VHDL for FPGA programming. The document then provides details on the history, functions, and usage of Verilog. It explains that Verilog can be used to model circuits at different levels of abstraction, from transistor level to behavioral level. Register transfer level modeling combines behavioral and dataflow modeling, which is suitable for FPGA design. Several examples of Verilog code for gate level and dataflow modeling are also presented.
The document discusses the Tomasulo algorithm, which enables out-of-order execution of instructions in computer processors. It does this through three key mechanisms: common data busing, register tagging, and reservation stations. This allows independent instructions to execute out of order while preserving dependencies. The algorithm tracks dependencies through register tags rather than physical registers, allowing overlapping of dependent instructions by forwarding values via the common data bus. This decouples dependency tracking from instruction decoding and dispatch, improving parallelism.
The document contains several 8051 microcontroller C programs that demonstrate different applications including:
1) Sending ASCII character values to a port, generating square waves, and step waveforms.
2) Generating a 100ms time delay using a timer, toggling an LED using a timer, and implementing a down counter on a 7-segment display.
3) Controlling a stepper motor, displaying "HELLO" on an LCD, and generating a triangular wave.
This document discusses event tracing using VampirTrace and Vampir. It provides an overview of event tracing, including instrumentation, run-time measurement, and visualization. Event tracing involves instrumenting code to record events, running the instrumented code to generate trace files, and using tools like Vampir to analyze and visualize the trace files.
The document discusses writing C code for the 8051 microcontroller using the Keil compiler. It describes the Keil compiler's limitations in the evaluation version, modifications made to the C language to support microcontrollers, and provides examples of writing C code that interfaces with hardware registers and uses interrupts. The purpose is to explain how to develop software for the 8051 microcontroller using the Keil compiler and its C extensions.
This document contains details of 11 practical experiments conducted using an AT90S8535 microcontroller. Each experiment is summarized in 3 sentences or less:
1. Toggle the state of LEDs connected to two ports by alternately setting the ports high and low with a 0.5 second delay.
2. Simulate an 8-bit binary counter by incrementing the port value and lighting LEDs one by one with a 0.2 second delay.
3. Generate a 1 second delay by toggling an LED connected to one port using a timer overflow interrupt that increments a counter.
7.1 Data types and time delay in 8051 C
7.2 I/O programming in 8051 C
7.3 Logic operations in 8051 C
7.4 Data conversion programs in 8051 C
7.5 Accessing code ROM space in 8051 C
7.6 Data serialization using 8051 C
8051 programming skills using EMBEDDED CAman Sharma
It contains basic programming tips for embedded c for those who are just into it and don't know much about it....have a look in it and u will surely find it easy.
The document discusses hardware description languages (HDLs) and Verilog programming. It states that two widely used HDLs are Verilog and VHDL. Verilog is more popular than VHDL for FPGA programming. The document then provides details on the history, functions, and usage of Verilog. It explains that Verilog can be used to model circuits at different levels of abstraction, from transistor level to behavioral level. Register transfer level modeling combines behavioral and dataflow modeling, which is suitable for FPGA design. Several examples of Verilog code for gate level and dataflow modeling are also presented.
The document discusses the Tomasulo algorithm, which enables out-of-order execution of instructions in computer processors. It does this through three key mechanisms: common data busing, register tagging, and reservation stations. This allows independent instructions to execute out of order while preserving dependencies. The algorithm tracks dependencies through register tags rather than physical registers, allowing overlapping of dependent instructions by forwarding values via the common data bus. This decouples dependency tracking from instruction decoding and dispatch, improving parallelism.
The document contains several 8051 microcontroller C programs that demonstrate different applications including:
1) Sending ASCII character values to a port, generating square waves, and step waveforms.
2) Generating a 100ms time delay using a timer, toggling an LED using a timer, and implementing a down counter on a 7-segment display.
3) Controlling a stepper motor, displaying "HELLO" on an LCD, and generating a triangular wave.
This document discusses event tracing using VampirTrace and Vampir. It provides an overview of event tracing, including instrumentation, run-time measurement, and visualization. Event tracing involves instrumenting code to record events, running the instrumented code to generate trace files, and using tools like Vampir to analyze and visualize the trace files.
This slide deck focuses on eBPF JIT compilation infrastructure and how it plays an important role in the entire eBPF life cycle inside the Linux kernel. First, it does quite a number of control flow checks to reject vulnerable programs and then JIT compiles the eBPF program to either host or offloading target instructions which boost performance. However, there is little documentation about this topic which this slide deck will dive into.
This document provides an introduction to Verilog HDL including:
- An overview of Verilog keywords, data types, abstraction levels, and design methodology.
- Details on the history of Verilog including its development over time and transitions to newer standards.
- Explanations of key Verilog concepts like modules, ports, instantiation, stimuli, and lexical conventions.
Modules are the basic building blocks, ports define module interfaces, and instantiation replicates modules. Stimuli provide test inputs and lexical conventions cover syntax rules.
The document discusses modules and ports in Verilog. It describes that a module defines distinct parts including module name, port list, port declarations, and optional parameters. Ports provide the interface for a module to communicate with its environment. There are two methods for connecting ports to external signals - by ordered list where signals must appear in the same order as ports, and by name where the order does not matter as long as port names match. Hierarchical names provide unique names for every identifier by denoting the design hierarchy with identifiers separated by periods.
The document discusses C programming and embedded C programming concepts. It covers the differences between C and embedded C, embedded C constraints, how to make code more readable through commenting and documenting memory mapped devices. It also discusses data structures, stacks, queues, and provides code examples for stack implementation and operations using arrays.
Ei502microprocessorsmicrtocontrollerspart4 8051 MicrocontrollerDebasis Das
The document discusses the applications and features of microcontrollers. It provides examples of using microcontrollers for interfacing seven segment displays, temperature control, and other applications. It also discusses where microcontrollers can commonly be found, such as in cell phones, laptops, appliances, toys and more. The document outlines reasons for learning about microprocessors/controllers and provides an overview of the 8051 microcontroller, including its architecture, pins, registers and memory mapping.
This document is a lab manual for a digital system design course. It contains documentation and code for various digital logic components including half adders, full adders, 4-bit and 16-bit magnitude comparators, up/down counters, decoders, and other basic building blocks. For each component, it provides entity diagrams, architecture diagrams, device utilization summaries from synthesis, and simulation waveforms. The manual was prepared by an instructor to provide materials and guidance for students in learning digital logic design.
The document summarizes a technical workshop on wireless sensor networks. It provides an overview of the hardware and software used, including the Tmote Sky and EE sensor nodes, the iNode embedded PCs, and the TinyOS software platform. It also describes the Job scheduling system and iPlatform that are used to define and run experiments on the testbed.
The document discusses several types of programmable logic devices (PLDs) including PLAs, PALs, ROMs, CPLDs, and FPGAs. It provides details on how PLAs and PALs are structured, including their AND planes and OR planes. PALs are simpler than PLAs but less flexible. The document also describes how PALs can be used for multi-level logic design using macrocells and feedback to the AND plane. ROMs have a fixed AND plane and programmable OR plane to map logic functions. SPLDs refer to simpler PLDs like PLAs, PALs, and ROMs.
The document discusses structural modeling in VHDL. It provides examples of structurally modeling full adders, SR flip-flops, D flip-flops, and JK flip-flops by using components like XOR gates, AND gates, OR gates, and NAND gates. The structural modeling breaks down a design into its constituent components, allows each component to be simulated separately, and connects them using signals.
07 140430-ipp-languages used in llvm during compilationAdam Husár
The document describes the languages and representations used at each stage of compilation in LLVM. It discusses how the C/C++ frontend transforms source code into an AST then LLVM IR. The optimizer performs optimizations on the LLVM IR. The backend lowers the LLVM IR into a selection DAG with machine instructions and finally emits assembly code. The compilation process translates from the original high-level language into target-specific assembly.
The Microcontroller 8051 Family
Features of 8051 Microcontroller
Pin Configuration of 8051 Microcontroller
Ports of 8051 Microcontroller
Architecture of 8051 Microcontroller
Registers of 8051
Special Function Registers (SFR's)
Bit addressable RAM
Register Bank and Stack of 8051
Programmable Peripheral Interface (PPI) 8255
Features of 8255
Block Diagram of 8255 PPI
3 Modes of operation of 8255 PPI
BSR Mode of 8255 PPI
Parallel IO of 8255 PPI
IC 8155/8156
Features of 8155/8156
Block Diagram of 8155/8156
Chip Enable Logic & Port Addresses (Peripheral I/O Addressing
Scheme
Control Word Register of 8155
Timers of 8155/8156
Modes of Timers of 8155
IC 8355/8755
Block Diagram of 8155/8156
VHDL is a hardware description language used to model electronic systems. The document outlines the key structural elements of VHDL including entities, architectures, signals, and data types. It describes different design methodologies in VHDL like behavioral, dataflow, and structural. Behavioral models use boolean equations, dataflow uses concurrent assignments, and structural connects known components. The document provides examples of modeling half adders, full adders, and multiplexers in VHDL using the different methodologies.
The document discusses stacks and procedures in assembly language programming. It covers stack implementation using registers and instructions, parameter passing methods using registers or stack, and establishing stack frames using ENTER and LEAVE instructions. Procedures can be called using CALL and control returned using RET. The stack is used for temporary data storage, parameter passing, and storing return addresses for procedures.
The document discusses the architecture and assembly language programming of PIC18 microcontrollers. It covers topics such as:
- PIC18 microcontrollers use a Harvard architecture with separate memory for instructions and data. They have a program memory, data memory, I/O ports, and support devices like timers.
- The PIC18 architecture is based on an advanced RISC design. Key components include registers like WREG for temporary data storage. Special function registers and general purpose registers are used to access I/O ports and timers.
- Assembly language instructions like MOVLW, ADDLW, and MOVWF are used to move data between program memory, registers and I/O ports. The
Spatial Data Infrastructure (SDI), communities and social media are three different terms. What do they have in common? At first all these terms are very modern and trendy
now. They are very often used not only in technical publications but these words and collocations are also used by the public. It is possible to say that primarily social media could
be described as buzzword (fashion word and vogue word).
14 Lavori di presentazione realizzati nel laboratorio di informatica avanzata condotto dal prof. Alessandro Gemo nell' a.s. 2008-09 con sis. op. e software Open Source nella S.M.S. “G. Carducci”
This slide deck focuses on eBPF JIT compilation infrastructure and how it plays an important role in the entire eBPF life cycle inside the Linux kernel. First, it does quite a number of control flow checks to reject vulnerable programs and then JIT compiles the eBPF program to either host or offloading target instructions which boost performance. However, there is little documentation about this topic which this slide deck will dive into.
This document provides an introduction to Verilog HDL including:
- An overview of Verilog keywords, data types, abstraction levels, and design methodology.
- Details on the history of Verilog including its development over time and transitions to newer standards.
- Explanations of key Verilog concepts like modules, ports, instantiation, stimuli, and lexical conventions.
Modules are the basic building blocks, ports define module interfaces, and instantiation replicates modules. Stimuli provide test inputs and lexical conventions cover syntax rules.
The document discusses modules and ports in Verilog. It describes that a module defines distinct parts including module name, port list, port declarations, and optional parameters. Ports provide the interface for a module to communicate with its environment. There are two methods for connecting ports to external signals - by ordered list where signals must appear in the same order as ports, and by name where the order does not matter as long as port names match. Hierarchical names provide unique names for every identifier by denoting the design hierarchy with identifiers separated by periods.
The document discusses C programming and embedded C programming concepts. It covers the differences between C and embedded C, embedded C constraints, how to make code more readable through commenting and documenting memory mapped devices. It also discusses data structures, stacks, queues, and provides code examples for stack implementation and operations using arrays.
Ei502microprocessorsmicrtocontrollerspart4 8051 MicrocontrollerDebasis Das
The document discusses the applications and features of microcontrollers. It provides examples of using microcontrollers for interfacing seven segment displays, temperature control, and other applications. It also discusses where microcontrollers can commonly be found, such as in cell phones, laptops, appliances, toys and more. The document outlines reasons for learning about microprocessors/controllers and provides an overview of the 8051 microcontroller, including its architecture, pins, registers and memory mapping.
This document is a lab manual for a digital system design course. It contains documentation and code for various digital logic components including half adders, full adders, 4-bit and 16-bit magnitude comparators, up/down counters, decoders, and other basic building blocks. For each component, it provides entity diagrams, architecture diagrams, device utilization summaries from synthesis, and simulation waveforms. The manual was prepared by an instructor to provide materials and guidance for students in learning digital logic design.
The document summarizes a technical workshop on wireless sensor networks. It provides an overview of the hardware and software used, including the Tmote Sky and EE sensor nodes, the iNode embedded PCs, and the TinyOS software platform. It also describes the Job scheduling system and iPlatform that are used to define and run experiments on the testbed.
The document discusses several types of programmable logic devices (PLDs) including PLAs, PALs, ROMs, CPLDs, and FPGAs. It provides details on how PLAs and PALs are structured, including their AND planes and OR planes. PALs are simpler than PLAs but less flexible. The document also describes how PALs can be used for multi-level logic design using macrocells and feedback to the AND plane. ROMs have a fixed AND plane and programmable OR plane to map logic functions. SPLDs refer to simpler PLDs like PLAs, PALs, and ROMs.
The document discusses structural modeling in VHDL. It provides examples of structurally modeling full adders, SR flip-flops, D flip-flops, and JK flip-flops by using components like XOR gates, AND gates, OR gates, and NAND gates. The structural modeling breaks down a design into its constituent components, allows each component to be simulated separately, and connects them using signals.
07 140430-ipp-languages used in llvm during compilationAdam Husár
The document describes the languages and representations used at each stage of compilation in LLVM. It discusses how the C/C++ frontend transforms source code into an AST then LLVM IR. The optimizer performs optimizations on the LLVM IR. The backend lowers the LLVM IR into a selection DAG with machine instructions and finally emits assembly code. The compilation process translates from the original high-level language into target-specific assembly.
The Microcontroller 8051 Family
Features of 8051 Microcontroller
Pin Configuration of 8051 Microcontroller
Ports of 8051 Microcontroller
Architecture of 8051 Microcontroller
Registers of 8051
Special Function Registers (SFR's)
Bit addressable RAM
Register Bank and Stack of 8051
Programmable Peripheral Interface (PPI) 8255
Features of 8255
Block Diagram of 8255 PPI
3 Modes of operation of 8255 PPI
BSR Mode of 8255 PPI
Parallel IO of 8255 PPI
IC 8155/8156
Features of 8155/8156
Block Diagram of 8155/8156
Chip Enable Logic & Port Addresses (Peripheral I/O Addressing
Scheme
Control Word Register of 8155
Timers of 8155/8156
Modes of Timers of 8155
IC 8355/8755
Block Diagram of 8155/8156
VHDL is a hardware description language used to model electronic systems. The document outlines the key structural elements of VHDL including entities, architectures, signals, and data types. It describes different design methodologies in VHDL like behavioral, dataflow, and structural. Behavioral models use boolean equations, dataflow uses concurrent assignments, and structural connects known components. The document provides examples of modeling half adders, full adders, and multiplexers in VHDL using the different methodologies.
The document discusses stacks and procedures in assembly language programming. It covers stack implementation using registers and instructions, parameter passing methods using registers or stack, and establishing stack frames using ENTER and LEAVE instructions. Procedures can be called using CALL and control returned using RET. The stack is used for temporary data storage, parameter passing, and storing return addresses for procedures.
The document discusses the architecture and assembly language programming of PIC18 microcontrollers. It covers topics such as:
- PIC18 microcontrollers use a Harvard architecture with separate memory for instructions and data. They have a program memory, data memory, I/O ports, and support devices like timers.
- The PIC18 architecture is based on an advanced RISC design. Key components include registers like WREG for temporary data storage. Special function registers and general purpose registers are used to access I/O ports and timers.
- Assembly language instructions like MOVLW, ADDLW, and MOVWF are used to move data between program memory, registers and I/O ports. The
Spatial Data Infrastructure (SDI), communities and social media are three different terms. What do they have in common? At first all these terms are very modern and trendy
now. They are very often used not only in technical publications but these words and collocations are also used by the public. It is possible to say that primarily social media could
be described as buzzword (fashion word and vogue word).
14 Lavori di presentazione realizzati nel laboratorio di informatica avanzata condotto dal prof. Alessandro Gemo nell' a.s. 2008-09 con sis. op. e software Open Source nella S.M.S. “G. Carducci”
El documento habla sobre el tema de la informática y su evolución. Explica que la informática se refiere al tratamiento automático de la información por medio de ordenadores, el cual se divide en tres fases: entrada, proceso y salida de datos. También describe la historia de la informática desde los primeros instrumentos de cálculo hasta la aparición de los ordenadores personales, y los diferentes tipos de hardware y software.
O documento discute a importância da criatividade e inovação para as empresas. Afirma que as empresas tradicionais não sobreviverão por mais de 25 anos sem inovação. Explora como a criatividade envolve a síntese entre pensamento racional e emocional, consciente e inconsciente. Aponta exemplos de empresas inovadoras e discute como entender melhor os desejos ocultos dos clientes para criar soluções que atendam suas necessidades.
A Prefeitura de Guarujá oferece 400 vagas para o Projovem Urbano, programa que permite que jovens concluam o Ensino Fundamental e recebam qualificação profissional. O Camp Guarujá, centro de formação profissional, inaugurará nova unidade em janeiro com capacidade para atender 3.600 jovens, oferecendo cursos técnicos. A instituição busca parcerias com empresas e sociedade civil para ampliar a qualificação dos munícipes.
This document summarizes a project aimed at improving conditions in the peripheries of cities. It discusses how the project will work to promote social inclusion, access to services, and community development in underserved areas. It outlines the goals of empowering local communities and improving lives through initiatives focused on education, culture, professional training and public spaces.
The document discusses the reunification of Germany, including the key events that led to it and its impact today. It provides background on the division of Germany during the Cold War and the policies of Mikhail Gorbachev that helped enable reforms. Major events covered include the fall of the Berlin Wall in 1989 and the Two-Plus-Four Treaty in 1990 that finalized reunification plans. The document also examines Germany 25 years after reunification and discusses whether Germans feel a sense of national unity today.
El documento describe los conceptos clave relacionados con los conflictos, incluyendo las definiciones de conflicto, los tipos de conflictos, las posibles formas de abordarlos y los objetivos. Explica que los conflictos pueden resolverse a través de la competición, la cooperación, la evasión o la sumisión. Además, detalla los pasos para la resolución de conflictos de manera efectiva.
This 3-sentence summary provides the high-level information about the document:
The document is the June 2009 issue of CompendiumVet.com, a peer-reviewed veterinary continuing education publication that contains articles on feline obesity management, retrovirus guidelines, laparoscopic cryptorchidectomy surgery, understanding animal behavior, and promoting calicivirus vaccination. It includes information on editorial staff, subscription details, and copyright information.
Este documento describe varios tipos de documentos comúnmente utilizados en el ámbito laboral y académico, como solicitudes, cartas de renuncia, cartas de presentación y recomendación, memorandos, actas e informes. Explica el propósito, estructura y elementos de cada uno de estos documentos para ayudar al lector a redactarlos correctamente.
PROCESSO SELETIVO SIMPLIFICADO – EDITAL 004/2013Secom Ilhéus
Este documento descreve os requisitos e vagas para diversos cargos em processos seletivos simplificados na prefeitura de Ilhéus, Bahia, incluindo cargos no SAMU, Atenção Básica, Vigilância Epidemiológica, entre outros. São listados os requisitos mínimos, carga horária, remuneração e número de vagas para cada cargo.
O documento descreve os principais tipos de instrumentos elétricos usados para medir grandezas elétricas, especificamente galvanômetros de bobina móvel e de ferro móvel. Os galvanômetros de bobina móvel usam uma bobina móvel colocada entre os pólos de um ímã permanente, enquanto os de ferro móvel usam a atração ou repulsão de uma placa de ferro móvel pela corrente em uma bobina fixa.
A influenza A é uma doença respiratória aguda causada pelo vírus A (H1N1), transmitido principalmente por tosse e espirro. Os sintomas incluem febre alta, dor de cabeça e tosse seca. A maioria dos casos é leve e se cura com repouso, mas idosos e pessoas com problemas de saúde precisam atenção médica.
El documento analiza el comportamiento colectivo y sectas apocalípticas a través del caso de David Koresh y los Davidianos. Explica los factores que contribuyen al desarrollo y fortalecimiento de las creencias colectivas, como la conveniencia estructural, tensión estructural y desarrollo de creencias generalizadas. También describe cómo un incidente precipitador puede confirmar las sospechas del grupo y llevar a su movilización, aunque no necesariamente al rompimiento del orden social establecido.
O documento fornece orientações sobre diferentes tipos de apresentações, incluindo trabalhos acadêmicos, teses, aulas, congressos, apresentações empresariais e coletivas. Resume os principais pontos sobre organização, estilo e conteúdo para cada tipo de apresentação.
Este documento describe varios métodos de investigación como el empírico analítico, experimental, deductivo, inductivo, cualitativo y cuantitativo. Explica las fases del método experimental y las características de los métodos deductivo e inductivo. También compara la investigación cualitativa y cuantitativa, y describe el proceso de investigación cualitativa y diferentes diseños de investigación como experimentales y no experimentales.
O documento discute objetivos e diretrizes da Política Nacional de Saúde da Mulher no Brasil, incluindo a promoção da saúde feminina, redução da morbidade e mortalidade e ampliação do acesso à saúde. Também descreve vários métodos de planejamento familiar como anticoncepcionais hormonais, barreira, comportamentais e definitivos.
Top 50 B2B Marketing Case Studies of 2012BtoB Online
BtoB Online's Top 50 Marketing Case Studies of 2012 is a collection of 50 in-depth case studies from diverse companies. The result is comprehensive insight into the issues facing today's b2b marketer. By showcasing the experience of others, we hope to help readers arm readers with the crucial information they need to plan their own successful campaigns.
Top 50 Marketing Case Studies 2012 includes email case studies that explain how to stand out in a saturated marketing; lead generation stories that detail how to use video to increase leads, and social media stories that describe how to better connect with customers. In addition to the 19 email, lead gen and social media marketing case studies, Top 50 Marketing Case Studies 2012 contains over 30 case studies on direct marketing, event marketing, integrated marketing, video, and great b2b websites.
Packed with great info drawn straight from the experience of b2b marketers in the trenches, Top 50 Marketing Case Studies 2012 features case studies from companies such as Teradata, Hewlett Packard, AT&T, Canon, Amex, IBM, Pitney Bowes and Motorola Solutions.
Ronald Reagan was elected president in 1981. The first space shuttle, Columbia, launched in April 1981. The 1980s saw events like the Iran-Contra Affair, the Challenger explosion in 1986 that killed 7 crew members, and Mikhail Gorbachev becoming the Soviet Union leader in 1985 and introducing policies of Perestroika and Glasnost to move to a market economy and increase transparency.
PLUG is a presentation layer universal generator that provides plug and play capabilities through automatic code generation from object-oriented designs. It manages heterogeneous programming languages and hardware. PLUG includes compilers that generate stubs from interface definition languages like IDL and coders that handle encoding of messages for transport based on abstract syntax specifications. The generated code hides technical details to simplify programming of distributed applications across networks.
Template driven code generation tool, fore real time and safety critical systems.
API message formating and serialisation.
Template driven source code generator for any language : Ada, C, C#, Java, ...
Template driven code generation tool, fore real time and safety critical systems.
API message formating and serialisation.
Template driven source code generator for any language : Ada, C, C#, Java, ...
Slides presented at the FlexTiles Workshop at FPL'2014.
Presentation #7: FlexTiles Emulation platform
FlexTiles is a heterogeneous many-core platform reconfigurable at run-time developed within an FP7 project.
This document discusses building a virtual platform for the OpenRISC architecture using SystemC and transaction-level modeling. It covers setting up the toolchain, writing test programs, and simulating the platform using event-driven or cycle-accurate simulation with Icarus Verilog or the Vorpsoc simulator. The virtual platform allows fast development and debugging of OpenRISC code without requiring physical hardware.
The document describes Scl, a Simple Component Language for component-oriented programming in Smalltalk. Scl aims to be simple, uniform, and operational. It defines components as black boxes with ports, and allows their composition through connectors. Connectors reify connections and enable adaptation. Scl also supports aspect-oriented programming through special connectors. Properties allow publish-subscribe communication between components by notifying of state changes. The language has been prototyped in Smalltalk to experiment with its concepts.
Preparing to program Aurora at Exascale - Early experiences and future direct...inside-BigData.com
In this deck from IWOCL / SYCLcon 2020, Hal Finkel from Argonne National Laboratory presents: Preparing to program Aurora at Exascale - Early experiences and future directions.
"Argonne National Laboratory’s Leadership Computing Facility will be home to Aurora, our first exascale supercomputer. Aurora promises to take scientific computing to a whole new level, and scientists and engineers from many different fields will take advantage of Aurora’s unprecedented computational capabilities to push the boundaries of human knowledge. In addition, Aurora’s support for advanced machine-learning and big-data computations will enable scientific workflows incorporating these techniques along with traditional HPC algorithms. Programming the state-of-the-art hardware in Aurora will be accomplished using state-of-the-art programming models. Some of these models, such as OpenMP, are long-established in the HPC ecosystem. Other models, such as Intel’s oneAPI, based on SYCL, are relatively-new models constructed with the benefit of significant experience. Many applications will not use these models directly, but rather, will use C++ abstraction libraries such as Kokkos or RAJA. Python will also be a common entry point to high-performance capabilities. As we look toward the future, features in the C++ standard itself will become increasingly relevant for accessing the extreme parallelism of exascale platforms.
This presentation will summarize the experiences of our team as we prepare for Aurora, exploring how to port applications to Aurora’s architecture and programming models, and distilling the challenges and best practices we’ve developed to date. oneAPI/SYCL and OpenMP are both critical models in these efforts, and while the ecosystem for Aurora has yet to mature, we’ve already had a great deal of success. Importantly, we are not passive recipients of programming models developed by others. Our team works not only with vendor-provided compilers and tools, but also develops improved open-source LLVM-based technologies that feed both open-source and vendor-provided capabilities. In addition, we actively participate in the standardization of OpenMP, SYCL, and C++. To conclude, I’ll share our thoughts on how these models can best develop in the future to support exascale-class systems."
Watch the video: https://wp.me/p3RLHQ-lPT
Learn more: https://www.iwocl.org/iwocl-2020/conference-program/
and
https://www.anl.gov/topic/aurora
Sign up for our insideHPC Newsletter: http://insidehpc.com/newsletter
DotDotPwn is an intelligent fuzzer for discovering directory traversal vulnerabilities. It generates fuzz patterns according to the detected operating system and encodes slashes for correct semantics. It has modules for HTTP, FTP, TFTP and a PAYLOAD module. It is open source and has found vulnerabilities in over 100 software programs. The latest version is included in the Black Hat USA 2011 conference CD.
DotDotPwn is an intelligent fuzzer for discovering directory traversal vulnerabilities. It generates fuzz patterns according to the detected operating system and encodes slashes for correct semantics. It has modules for HTTP, FTP, TFTP and a PAYLOAD module. It is open source and has found vulnerabilities in over 100 software programs. The latest version is included in the Black Hat USA 2011 conference CD.
PLNOG 13: P. Kupisiewicz, O. Pelerin: Make IOS-XE Troubleshooting Easy – Pack...PROIDEA
Piotr Kupisiewicz – Technical Expert in Krakow’s TAC VPN team. In IT for more than 10 years, out of which 5 years is mostly software engineering experience. Last 5 years spent mostly in networking area interested mostly in Network Security. His hobby are drums and very heavy music. CCIE Security 39762.
Olivier Pelerin – as a key member of the escalation team at Cisco’s Technical Assistance Center, he handles world-wide escalations on VPN technologies pertaining to IPSEC, DMVPN, EzVPN, GetVPN, FlexVPN, PKI. Olivier has spent years troubleshooting and diagnosing issues on some of largest, and most complex VPN deployments Olivier have a CCIE in security #20306
Topic of Presentation: Make IOS-XE Troubleshooting Easy – Packet-Tracer
Language: English
Abstract: “IOS-XE is operating system running on Service Provider devices like ASR series and ISR-4451. Aim of this session is to show how very complicated Service Provider’s configurations can be easily troubleshoted using packet-tracer tool.”
In Network Computing Prototype Using P4 at KSC/KREONET 2019Kentaro Ebisawa
Case Study of P4 applying to CAN (Control Area Network) data pre-processing using FPGA + Netcope P4 compiler.
Presented at KSC / KREONET WORKSHOP 2019 | DAY 1 Session 1: SDN/NFV/P4
http://www.ksc2019.re.kr/
The document discusses the hardware and software components of the IOG20 platform for the AXE O&M system. It includes diagrams of the hardware architecture showing components like the control processor, support processors, input/output devices, and buses. It also describes the software structure, file types supported in the file management system, and commands to view volume and file attributes.
eProsima RPC over DDS - Connext Conf London October 2015 Jaime Martin Losa
This document summarizes eProsima's RPC over DDS solution for building remote procedure calls between applications using the Real-Time Innovation's Connext DDS middleware. It presents the architecture of RPC over DDS, which uses request and reply topics to enable communication between client and service applications. It also provides an example demonstrating how to define a Calculator interface using OMG IDL, generate interface support code, and implement a client and server to make remote calls for multiplication and division.
This document describes a software project for an automated help care center with message storage capabilities. The software allows users to call an emergency number and provide location information via speech recognition, then sends their call to the appropriate emergency services. It also includes a database to store service provider and location information, DTMF decoding circuits to receive calls, and a message storage system to save voice messages when users are unavailable.
This document discusses using the IP-XACT standard to address challenges in verification automation. IP-XACT allows generating verification platforms, register tests, and other elements from a single IP description. It standardizes IP information exchange and reduces duplication. Using IP-XACT, a verification flow is proposed where the testbench, models, and register tests are automatically generated from an IP-XACT file, improving consistency and reducing turnaround times. IP-XACT is now an IEEE standard developed by the SPIRIT consortium to describe IPs in a vendor-neutral way and enable maximum automation.
This document discusses computer architecture and pipelining. It begins with defining the differences between computer organization and architecture. It then outlines the components needed for a MIPS processor implementation including registers, ALU, register file, memory units, and control signals. The document analyzes pipeline hazards such as data, structural, and control hazards. It also evaluates pipeline performance based on clock period, cycles per instruction, and interrupt frequency.
ApacheCon @Home 2020
StreamPipes is an open source self-service IoT toolbox to enable non-technical users to connect, analyze and explore IoT data streams.
https://streampipes.apache.org/
Similar to PLUG : Presentation Layer Universal Generator (20)
1) The document discusses using CORBA for large, distributed control systems like air traffic control centers. It describes challenges like integration and managing changes.
2) CORBA is proposed as a solution because it provides an object software bus and allows for distributed polymorphism, enabling seamless integration and flexible handling of changes.
3) Examples are given of how CORBA supports integration of new printers and color printers in a polymorphic, object-oriented way that simplifies change management.
This document provides a tutorial for using CARDAMOM, a product for building distributed applications. It contains 192 pages describing CARDAMOM concepts like software components and the CORBA Component Model. It includes examples of how to set up a development directory, compile and run sample programs, and defines key terms. The purpose is to help newcomers learn how to effectively use CARDAMOM.
This document provides book recommendations and references related to information system architecture. It lists seminal books on software engineering by Fred Brooks, Grady Booch, and Christopher Alexander. It also references books on design patterns by the "Gang of Four" and multiple editions of Pattern-Oriented Software Architecture (POSA). Several influential authors are mentioned including Douglas Schmidt, Martin Fowler, Robert Martin, Craig Larman, and Alistair Cockburn. The document provides links to works by Andrew Tanenbaum, C.J. Date, and others relevant to information system architecture.
Template driven code generation tool, fore real time and safety critical systems.
API message formating and serialisation.
Template driven source code generator for any language : Ada, C, C#, Java, ...
UBSS is middleware software that provides high-performance real-time services to applications, hiding underlying hardware and operating system complexity. It was designed for air traffic control and command systems. UBSS improves correctness, simplicity, portability, flexibility and reuse for distributed applications. It provides encapsulation of UNIX APIs and adds functionality for time management, communication, supervision, and operator support. UBSS has a modular design and consists of 10 configuration items that can be customized for different applications and systems.
The document describes an air traffic control system. It includes descriptions of various components like flight plan processing, supervisory control, simulator, radar data processing, and intranet connections. Diagrams show how these components interact and interface. The document also discusses concepts like system complexity, code size, abstraction levels, and how changes can impact complexity over time. Design patterns for modeling points in multiple dimensions are presented, with interfaces to support additional types. State diagrams demonstrate modeling state machines with states, transitions, and tasks.
This document describes hash maps and hash tables. It provides examples of using a hash function to map keys to indexes in an array, which can store key-value pairs. It discusses concepts like collisions, load factor, and different strategies for handling collisions like open addressing and closed addressing.
The document discusses the history and architecture of air traffic control systems. It describes:
1) Early ATC systems used centralized servers and proprietary hardware/software from Thomson CSF.
2) Later systems like Eurocat used distributed UNIX servers, TCP/IP, and open standards.
3) These systems comprised workstations, front processors for radar/flight data, and LAN/WAN networks to share data between ATC centers and other facilities.
The document discusses middleware concepts, principles, paradigms and frameworks. Middleware aims to connect distributed systems in a transparent way by abstracting the underlying network and providing common services. It discusses key middleware concepts like distributed transparency, high-level abstraction models, and service-oriented architectures. Middleware paradigms include data-oriented messaging, client-server architectures, and distributed component-based systems. The document also covers THALES' experience with middleware and frameworks.
EUROCAT is an air traffic management system developed by Thomson-CSF Airsys and Siemens that provides capabilities for en route, approach, terminal, and tower air traffic control. It uses a distributed, client-server architecture and has redundant systems to ensure high availability. EUROCAT has been implemented in over 25 systems worldwide since 1992 and can support advanced functions like automatic dependent surveillance.
The document is the executive summary of the second edition of the ITEA Technology Roadmap for Software-Intensive Systems from May 2004. It outlines the process used to update the roadmap, which involved developing scenarios of potential application evolutions, clustering results to outline software system evolutions, and structuring the analysis around application domains and technology clusters. It summarizes the findings in terms of the four technology clusters: content, infrastructure and basic services, human-system interaction, and engineering. For each cluster it provides a brief description and table outlining the major challenges.
This document provides an agenda and descriptions for an Architecture-Driven Modernization workshop taking place from March 22-24, 2004 in Chicago. The workshop includes several tutorials and sessions on topics related to modernizing existing software systems through architecture-driven approaches and leveraging existing assets. Tutorials will cover application modernization strategies, managing existing software through architectural models, and harvesting reusable components from legacy code. Sessions will present methodologies for model-driven legacy migration, domain-driven modernization, addressing scale in analysis tools, mining software architecture from databases, and extending the life of software through componentization.
This document provides an introduction to complex system engineering. It defines what a system is, discusses system engineering and the system engineering process. It covers topics such as requirements, design, architecture, integration, verification and validation. The goal of system engineering is to design the right system to satisfy customer needs using an interdisciplinary approach.
This document discusses using distributed object technologies to coordinate military and civilian air traffic control systems. It proposes a high-level object syntax to define interfaces for object exchanges between a military air command and control system and civilian air traffic control system. This would involve generating code from models to implement interfaces for the different systems using standards like CORBA.
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsPeter Muessig
The UI5 tooling is the development and build tooling of UI5. It is built in a modular and extensible way so that it can be easily extended by your needs. This session will showcase various tooling extensions which can boost your development experience by far so that you can really work offline, transpile your code in your project to use even newer versions of EcmaScript (than 2022 which is supported right now by the UI5 tooling), consume any npm package of your choice in your project, using different kind of proxies, and even stitching UI5 projects during development together to mimic your target environment.
How Can Hiring A Mobile App Development Company Help Your Business Grow?ToXSL Technologies
ToXSL Technologies is an award-winning Mobile App Development Company in Dubai that helps businesses reshape their digital possibilities with custom app services. As a top app development company in Dubai, we offer highly engaging iOS & Android app solutions. https://rb.gy/necdnt
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdfVALiNTRY360
Salesforce Healthcare CRM, implemented by VALiNTRY360, revolutionizes patient management by enhancing patient engagement, streamlining administrative processes, and improving care coordination. Its advanced analytics, robust security, and seamless integration with telehealth services ensure that healthcare providers can deliver personalized, efficient, and secure patient care. By automating routine tasks and providing actionable insights, Salesforce Healthcare CRM enables healthcare providers to focus on delivering high-quality care, leading to better patient outcomes and higher satisfaction. VALiNTRY360's expertise ensures a tailored solution that meets the unique needs of any healthcare practice, from small clinics to large hospital systems.
For more info visit us https://valintry360.com/solutions/health-life-sciences
WWDC 2024 Keynote Review: For CocoaCoders AustinPatrick Weigel
Overview of WWDC 2024 Keynote Address.
Covers: Apple Intelligence, iOS18, macOS Sequoia, iPadOS, watchOS, visionOS, and Apple TV+.
Understandable dialogue on Apple TV+
On-device app controlling AI.
Access to ChatGPT with a guest appearance by Chief Data Thief Sam Altman!
App Locking! iPhone Mirroring! And a Calculator!!
Mobile App Development Company In Noida | Drona InfotechDrona Infotech
Drona Infotech is a premier mobile app development company in Noida, providing cutting-edge solutions for businesses.
Visit Us For : https://www.dronainfotech.com/mobile-application-development/
Enhanced Screen Flows UI/UX using SLDS with Tom KittPeter Caitens
Join us for an engaging session led by Flow Champion, Tom Kitt. This session will dive into a technique of enhancing the user interfaces and user experiences within Screen Flows using the Salesforce Lightning Design System (SLDS). This technique uses Native functionality, with No Apex Code, No Custom Components and No Managed Packages required.
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemPeter Muessig
Learn about the latest innovations in and around OpenUI5/SAPUI5: UI5 Tooling, UI5 linter, UI5 Web Components, Web Components Integration, UI5 2.x, UI5 GenAI.
Recording:
https://www.youtube.com/live/MSdGLG2zLy8?si=INxBHTqkwHhxV5Ta&t=0
8 Best Automated Android App Testing Tool and Framework in 2024.pdfkalichargn70th171
Regarding mobile operating systems, two major players dominate our thoughts: Android and iPhone. With Android leading the market, software development companies are focused on delivering apps compatible with this OS. Ensuring an app's functionality across various Android devices, OS versions, and hardware specifications is critical, making Android app testing essential.
Measures in SQL (SIGMOD 2024, Santiago, Chile)Julian Hyde
SQL has attained widespread adoption, but Business Intelligence tools still use their own higher level languages based upon a multidimensional paradigm. Composable calculations are what is missing from SQL, and we propose a new kind of column, called a measure, that attaches a calculation to a table. Like regular tables, tables with measures are composable and closed when used in queries.
SQL-with-measures has the power, conciseness and reusability of multidimensional languages but retains SQL semantics. Measure invocations can be expanded in place to simple, clear SQL.
To define the evaluation semantics for measures, we introduce context-sensitive expressions (a way to evaluate multidimensional expressions that is consistent with existing SQL semantics), a concept called evaluation context, and several operations for setting and modifying the evaluation context.
A talk at SIGMOD, June 9–15, 2024, Santiago, Chile
Authors: Julian Hyde (Google) and John Fremlin (Google)
https://doi.org/10.1145/3626246.3653374
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdfBaha Majid
IBM watsonx Code Assistant for Z, our latest Generative AI-assisted mainframe application modernization solution. Mainframe (IBM Z) application modernization is a topic that every mainframe client is addressing to various degrees today, driven largely from digital transformation. With generative AI comes the opportunity to reimagine the mainframe application modernization experience. Infusing generative AI will enable speed and trust, help de-risk, and lower total costs associated with heavy-lifting application modernization initiatives. This document provides an overview of the IBM watsonx Code Assistant for Z which uses the power of generative AI to make it easier for developers to selectively modernize COBOL business services while maintaining mainframe qualities of service.
The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...kalichargn70th171
In today's business landscape, digital integration is ubiquitous, demanding swift innovation as a necessity rather than a luxury. In a fiercely competitive market with heightened customer expectations, the timely launch of flawless digital products is crucial for both acquisition and retention—any delay risks ceding market share to competitors.
UI5con 2024 - Bring Your Own Design SystemPeter Muessig
How do you combine the OpenUI5/SAPUI5 programming model with a design system that makes its controls available as Web Components? Since OpenUI5/SAPUI5 1.120, the framework supports the integration of any Web Components. This makes it possible, for example, to natively embed own Web Components of your design system which are created with Stencil. The integration embeds the Web Components in a way that they can be used naturally in XMLViews, like with standard UI5 controls, and can be bound with data binding. Learn how you can also make use of the Web Components base class in OpenUI5/SAPUI5 to also integrate your Web Components and get inspired by the solution to generate a custom UI5 library providing the Web Components control wrappers for the native ones.
Preparing Non - Technical Founders for Engaging a Tech AgencyISH Technologies
Preparing non-technical founders before engaging a tech agency is crucial for the success of their projects. It starts with clearly defining their vision and goals, conducting thorough market research, and gaining a basic understanding of relevant technologies. Setting realistic expectations and preparing a detailed project brief are essential steps. Founders should select a tech agency with a proven track record and establish clear communication channels. Additionally, addressing legal and contractual considerations and planning for post-launch support are vital to ensure a smooth and successful collaboration. This preparation empowers non-technical founders to effectively communicate their needs and work seamlessly with their chosen tech agency.Visit our site to get more details about this. Contact us today www.ishtechnologies.com.au
Most important New features of Oracle 23c for DBAs and Developers. You can get more idea from my youtube channel video from https://youtu.be/XvL5WtaC20A
All you need to know about Spring Boot and GraalVM
PLUG : Presentation Layer Universal Generator
1. PLUGPLUG
Presentation Layer Universal GeneratorPresentation Layer Universal Generator
P&D/SSD/TCE/TFP/ASTP&D/SSD/TCE/TFP/AST-- 28/09/9828/09/98
A joint company of Thomson-CSF Airsys and Siemens
2. E.FUCHS
plug.ppt
P&D/SSD/TCE/TFP/AST - 3/28/20042
OVERVIEW
ATC requirements : Plug & Play (flexibility)
Object Oriented Design to automatic code generation
Compiler & Parser
PLUG (Presentation Layer Universal Generator) through
applications :
Stub generation : PATIO API
Coder generation : Object Message Passing
Future
* PATIO : Platform for ATM Tools Integration to Pre-operation
3. E.FUCHS
plug.ppt
P&D/SSD/TCE/TFP/AST - 3/28/20043
ATC processus
Adjacent
Air Traffic Control
Center
Adjacent
Air Traffic Control
Center
AirportsAirports Flight Data
Processing
Flight Data
Processing
METEO DataMETEO Data
Radar Data
Processing
Radar Data
Processing
transmetter
Receiver
HF/VHF
transmetter
Receiver
HF/VHF
Flight Plan
Radar
Data
Radar
Data
Tracks
Primary
and secondary RADAR
WAN
LAN
+
-
4. E.FUCHS
plug.ppt
P&D/SSD/TCE/TFP/AST - 3/28/20044
ATC centre Architecture
Radar Data
ProcessingRadar Data
Processing
Flight Plan
ProcessingFlight Plan
Processing
Supervisory
ControlSupervisory
Control
Simulator
Simulator
Recording
ReplayRecording
Replay
Controler
Working
Position
Controler
Working
Position
Voice control
and
communications
Voice control
and
communications
Radar Front
ProcessingRadar Front
Processing
Dual LAN
FDDI
AFTN/CIDIN
ATFM
ADJACENT
FIR'S/TWR'S
MET Centres
RADAR
• Intercom
• Priority
• Public
• RADIO A/G
Controler
Working
Position
Controler
Working
Position
5. E.FUCHS
plug.ppt
P&D/SSD/TCE/TFP/AST - 3/28/20045
PLUG : Presentation Layer Universal Generator
OSI layer 6 & 7 services
Manages heterogeneous programming
languages and hardware
Provides Plug & Play (flexibility)
=> Automatic code generation
=> Object Oriented Design
Application
Presentation
Session
ASN.1*
7
6
5
ASE* ASE ASE ASE
7. E.FUCHS
plug.ppt
P&D/SSD/TCE/TFP/AST - 3/28/20047
Specification Language
Network
Node A Node B
IRS (IDL)
Struct message1
Item1 : short;
Item2 : long;
Item3 : char;
Item4 : Boolean;
Item4 : Struct data
Item1 : :char;
Item2 : long;
Item3 : char;
Item4 : Boolean
Item4 : char;
end struct data;
end struct message1
Communication Language
Programming
Language (C++)
Programming
Language (Ada)
Communication Object Design
8. E.FUCHS
plug.ppt
P&D/SSD/TCE/TFP/AST - 3/28/20048
Syntax and Language
Abstract Syntax : specification language :
ASN.1, IDL, (ADA)
Working Syntax : programming language :
ADA, C, C++
Transfert (concrete) Syntax : communication
language :
BER/PER, XDR, CDR,
ASTERIX, ADEXP, ICAO
10. E.FUCHS
plug.ppt
P&D/SSD/TCE/TFP/AST - 3/28/200410
PLUG Compilers
ABSTRACT SYNTAX
PLUG Ada RPC : API
PLUG ASN.1 : ATN
PLUG IDL : CORBA
Front End (FE)
TRANSFERT SYNTAX
PLUG XDR : API
PLUG BER/PER : ATN
PLUG CDR : CORBA, ESIOP
Back End (BE)
11. E.FUCHS
plug.ppt
P&D/SSD/TCE/TFP/AST - 3/28/200411
PLUG Parsers
PLUG ASTERIX :
Radar, Meteo, Categorie XX
PLUG ADEXP :
Flight Plan, ATS, AIS, CFMU, IFPS,
OLDI
PLUG ICAO :
Flight Plan, Meteo, Notam, ATS, OLDI
Tracks
Primary
and secondary RADAR
12. E.FUCHS
plug.ppt
P&D/SSD/TCE/TFP/AST - 3/28/200412
PLUG Compilers through applications
Distributed Object Design : API (IDL) PATIO
UBSS based Ada RPC
Stub generator
Message passing object design
XDR
Coder generator
Miscellanous
Symbolic trace and debug functions
Programming Language translator
13. E.FUCHS
plug.ppt
P&D/SSD/TCE/TFP/AST - 3/28/200413
PATIO API paradigm
Software components Plug & Play
Vertical services, Frame work, Design Patterns
Business Middleware = OSI layers 7,5,6 = ORB Core services
Business APIs = OSI layer 7 ASEs = CORBA objects
Business Middleware is also called API layer because it exhibits
only application APIs.
An API (as an ASE) is :
A protocol and
A logical interface (API = abstract syntax) : IRS
* IRS : Interface Requirements Specification.
15. E.FUCHS
plug.ppt
P&D/SSD/TCE/TFP/AST - 3/28/200415
API : How it works
API protocol is equivalent to Sun RPC (Remote Procedure Call)
with asynchronous events
Servers Publish service interface and clients subscribe to services
Client invokes remote procedures executed by the server or
receives asynchronous event
Each server exports interfaces.
RPC encapsulates network access :
Send/Receive are hidden by Application functions call
RPC protocol manages parameters passing between client to
server.
XDR (External Data Representation) manages heterogeneous
programming language and hardware : Ada, C, C++.
16. E.FUCHS
plug.ppt
P&D/SSD/TCE/TFP/AST - 3/28/200416
RPC principle
Library
Main
Push
Pop
Unix process
Library
Main
Send
Receive
Unix process
Client Server
Marshalling
Unmarshalling
=>
XDR
XDR
Unix process
S = A+ B
A, B, +
S
17. E.FUCHS
plug.ppt
P&D/SSD/TCE/TFP/AST - 3/28/200417
API : Ada distributed Package
Ada Package
specificationc
Ada Package
Implementation
OperationsOperations
DATA
and
Operations
Implementation
DATA
and
Operations
Implementation
OperationsOperations
Empty
Implementation
Comms
Empty
Implementation
Comms
OperationsOperations
DATA
and
Operations
Implementation
DATA
and
Operations
Implementation
Client side Server side
=>
18. E.FUCHS
plug.ppt
P&D/SSD/TCE/TFP/AST - 3/28/200418
Heterogeneous Distributed System : Language or Hardware
Operations
DATA
and
Operations
Implementation
Operations
DATA
and
Operations
Implementation
Operations
DATA
and
Operations
Implementation
Operations
DATA
and
Operations
Implementation
Main API interface Operations
DATA
and
Operations
Implementation
Operations
DATA
and
Operations
Implementation
Operations
DATA
and
Operations
Implementation
Operations
DATA
and
Operations
Implementation
Ada Server
Unix Process
C Server
Unix Process
C++ Server
Unix Process
Ada or C or C++
Client
Unix Process
19. E.FUCHS
plug.ppt
P&D/SSD/TCE/TFP/AST - 3/28/200419
API Programming model : ClientRegister;
Start Supervision API
Register with supervisor; Subscribe to supervision events
Program Main Loop
Wait next event
Case API
Supervision :
peek event from supervision :
process supervision events : Initialise, start, stop, kill
API1 :
peek event from API 1 :
process AP1 events : ............
API2 :
peek event from API 2 :
process AP2 events : ............
End loop
Stop event processing
Stop API1, API2
Stop supervision API
Unregister
Underlying code is the stub
automatically generated
by PLUG.
Itallic code is written by application
programmer.
20. E.FUCHS
plug.ppt
P&D/SSD/TCE/TFP/AST - 3/28/200420
S u p e r v is e d
I n it ia lis e d
R u n n in g
I n it ia lis e / S t a r t S e r v ic e s & S u b s c r ib e
S t a r t / P r o c e s s E v e n t s
K ill / U n r e g is t e r
U n s u p e r v is e d
/ S t a r t s u p e r v is io n , R e g is t e r & S u b s c r ib e
U n r e g is t e r e d
/ R e g is t e r
E v e n t / A c t io n
F r o z e n
U n f r e e z e / P r o c e s s E v e n t s
S t o p / S t o p s e r v ic e s
K ill / S t o p S e r v ic e s & U n r e g is t e r
F r e e z e / D o n 't p r o c e s s E v e n t s
Client state diagram
22. E.FUCHS
plug.ppt
P&D/SSD/TCE/TFP/AST - 3/28/200422
PLUG
Stub Generator
Register; Start Supervion API
Register with supervisor; Subscribe to supervision events
Program Main Loop
Wait next event
Case API
Supervision :
peek event from supervision :
process supervision events : Initialise, start, stop, kill
API1 :
peek event from API 1 :
process AP1 events : .
API2 :
peek event from API 2 :
process AP2 events : ............
API3 :
peek event from API 2 :
process AP2 events : ............
End loop
Stop event processing
Stop API1, API2
Stop supervision API
Unregister
• Program skeltons are automatically
generated by PLUG.
• Stub generation is template driven.
• Templates are written with PLUG
Template Description Language (TDL).
Template
All Technical Middelware details are
hidden to the programmer :
Registry, Supervision, Subscription.
23. E.FUCHS
plug.ppt
P&D/SSD/TCE/TFP/AST - 3/28/200423
PLUG Coder generator
IFF
XDR/C generated
encoding source files
Front End
(lex/yacc)
Back End
XDR/ADA generated
encoding source files
Ada
Grammar
(BNF)
grammar analyzegrammar analyze
XDR Templates
expansion
XDR Templates
expansion
XDR
Templates
(TDL)
Ada
API
Independant
Format File
Independant
Format File
Abstract Syntax Tree
24. E.FUCHS
plug.ppt
P&D/SSD/TCE/TFP/AST - 3/28/200424
Object message passing with PLUG
UBSS manages pipes not the semantic of
transported messages
PLUG Coder are used to manage FIFO and CDC
messages.
Ada type specification is used as Specification
input file (AS)
IRS documents are replaced by Ada specification
25. E.FUCHS
plug.ppt
P&D/SSD/TCE/TFP/AST - 3/28/200425
Plug coder use : FIFO encode/decode
FIFO
Enqueue Dequeue
Type A
Type B
Type Simple 1
Type Simple 2
End Type B
Type C
Type Simple 1
Type Simple 3
Type D
Type Simple 3
Type Simple 2
End Type D
End Type C
End Type A
Type A
Type B
Type Simple 1
Type Simple 2
End Type B
Type C
Type Simple 1
Type Simple 3
Type D
Type Simple 3
Type Simple 2
End Type D
End Type C
End Type A
Type Ada Type C
Ada
XDR
XDR
C
Call Back encoding routing
XDR buffer
ToolsUser Tools User
26. E.FUCHS
plug.ppt
P&D/SSD/TCE/TFP/AST - 3/28/200426
Plug coder use : CDC encode/decode
Ada
XDR
XDR
C
Type A
Type B
Type Simple 1
Type Simple 2
End Type B
Type C
Type Simple 1
Type Simple 3
Type D
Type Simple 3
Type Simple 2
End Type D
End Type C
End Type A
Type A
Type B
Type Simple 1
Type Simple 2
End Type B
Type C
Type Simple 1
Type Simple 3
Type D
Type Simple 3
Type Simple 2
End Type D
End Type C
End Type A
Type Ada Type C
Call Back encoding routing
CDC
CDC_write() CDC_read()
28. E.FUCHS
plug.ppt
P&D/SSD/TCE/TFP/AST - 3/28/200428
Coder : Structure Serialization
Struct Message Type 1
Field A
Field B
Field C
Field D
Field E
Field F
Field G
End struct Message type1
Ada or C structure
XDR Stream
XDR Convertor
Elementary types are : Int, Char, float, Boolean Field 1Field 2Field 3Field 4Field 5 Header
Type 1
A B
C D
E
F G
29. E.FUCHS
plug.ppt
P&D/SSD/TCE/TFP/AST - 3/28/200429
C/XDR
Coder
(C)
Struct Message Type 1
Field A
Field B
Field C
Field D
Field E
Field F
Field G
Field H
Field I
End struct Message
Type1
C structure
Field 1Field 2Field 3Field 4Field 5Field 6Field 7Field 8Field 9
XDR StreamAda/XDR
Coder
(Ada)
Struct Message Type 1
Field A
Field B
Field C
Field D
Field E
Field F
Field G
Field H
Field I
End struct Message
Type1
Ada structure
Interface
Specification
Abstract Syntax
Transfert Syntax
Programming SyntaxProgramming Syntax
Object Message Passing Syntax
30. E.FUCHS
plug.ppt
P&D/SSD/TCE/TFP/AST - 3/28/200430
C/XDR
Coder
Struct Message Type 1
Field A
Field B
Field C
Field D
Field E
Field F
Field G
Field H
Field I
End struct Message
Type1
C structure
Field 1Field 2Field 3Field 4Field 5Field 6Field 7Field 8Field 9
XDR Stream
Ada/XDR
Coder
Struct Message Type 1
Field A
Field B
Field C
Field D
Field E
Field F
Field G
Field H
Field I
End struct Message
Type1
Ada structure
Interface
Specification
C/XDR
Coder
Generator
Ada to C
Translator
Ada/XDR
Coder
Generator
Ada Package
Specification
(With)
Code generation output
31. E.FUCHS
plug.ppt
P&D/SSD/TCE/TFP/AST - 3/28/200431
C/XDR
Coder
Struct Message Type 1
Field A
Field B
Field C
Field D
Field E
Field F
Field G
Field H
Field I
End struct Message
Type1
C structure
Field 1Field 2Field 3Field 4Field 5Field 6Field 7Field 8Field 9
XDR Stream
C/XDR
Coder
Struct Message Type 1
Field A
Field B
Field C
Field D
Field E
Field F
Field G
Field H
Field I
End struct Message
Type1
C structure
C/XDR
Coder
Struct Message Type 1
Field A
Field B
Field C
Field D
Field E
Field F
Field G
Field H
Field I
End struct Message
Type1
C structure
Field 1Field 2Field 3Field 4Field 5Field 6Field 7Field 8Field 9
XDR Stream
Ada/XDR
Coder
Struct Message Type 1
Field A
Field B
Field C
Field D
Field E
Field F
Field G
Field H
Field I
End struct Message
Type1
Ada structure
Ada/XDR
Coder
Struct Message Type 1
Field A
Field B
Field C
Field D
Field E
Field F
Field G
Field H
Field I
End struct Message
Type1
Ada structure
Field 1Field 2Field 3Field 4Field 5Field 6Field 7Field 8Field 9
XDR Stream
Ada/XDR
Coder
Struct Message Type 1
Field A
Field B
Field C
Field D
Field E
Field F
Field G
Field H
Field I
End struct Message
Type1
Ada structure
Coder context
32. E.FUCHS
plug.ppt
P&D/SSD/TCE/TFP/AST - 3/28/200432
Plug other possible applications
Symbolic trace and debug functions
Complex structure symbolic dump
Programming Language Translator
Ada to C, Ada to C++
Off line and recording files management
XDR standard file format
33. E.FUCHS
plug.ppt
P&D/SSD/TCE/TFP/AST - 3/28/200433
Sum Up
Object Oriented Design is mandatory to manage
heterogeneous programming language and
hardware to provide P&P.
Three kinds of services
UBSS based Object Middleware : API
Ada abstract syntax for Object Message Passing
Handcrafted Parser for ATC specific Transfer
Syntax