.NET Micro Framework Glossary
[This documentation is for preview only, and is subject to change in later releases. Blank topics are included as placeholders.]
ARM Developer Suite, ARM's previous generation of software development tools, predating the current ARM RealView Development Suite.
Application programming interface, or application program interface, consists of calling conventions defined at source-code level through which a program accesses operating system services.
ARM Limited, a technology company headquartered in England, best known for its processor designs, which it licenses to numerous semiconductor manufacturers.
To create references for data objects (for example, strings) such that all references to the same value point to the same object. Comparing references is then a shortcut to comparing the values for equality.
A computer starts by first loading a simple loader program, which then loads a more complicated program such as an operating system. Often shortened to "booting."
A WS-Discovery message used to announce the departure of a device or service from the network.
See cipher-block chaining.
cipher-block chaining (CBC)
A cryptographic mode of operation which allows block ciphers to provide confidentiality for messages of an arbitrary length, using feedback to combine previously-generated ciphertext with new plaintext. Each plaintext block is combined with the ciphertext of the previous block by a bitwise XOR so that even if the plaintext contains many identical blocks, each will encrypt to a different ciphertext block. CBC provides confidentiality, but does not ensure message integrity as do some encryption modes that were developed later.
An object-oriented collection of reusable types you can use to develop embedded applications. Its classes are tightly integrated with the CLR and provide you with types you can employ to build functionality into your own managed code.
See common language runtime.
See common language specification.
common language runtime (CLR)
The virtual machine that executes the intermediate language (IL) of compiled applications in the .NET Micro Framework.
common language specification (CLS)
A subset of language features supported by the .NET CLR common to several object-oriented programming languages. CLS-compliant components and tools are guaranteed to interoperate with other CLS-compliant components and tools.
See cyclic redundancy check.
cyclic redundancy check (CRC)
A procedure used to detect errors in data transmission in a manner similar to a checksum, though it is mathematically more robust than a simple checksum.
Devices Profile for Web Services (DPWS)
A Web services profile that enables plug-and-play for networked devices. DPWS is also sometimes called Web Services on Devices (WSD).
direct memory access
Allows hardware subsystems to access system memory for reading or writing without dependence upon the central processing unit
See direct memory access.
See Devices Profile for Web Services.
EEPROM (or E2PROM)
Electrically-erasable programmable read-only memory (pronounced "E-E-prom" or "E-2-prom"). A form of persistent memory that can be erased and reprogrammed using a high voltage.
See end of packet.
In the .NET Micro Framework, emulator refers to the extensible hardware emulator.
end of packet (EOP)
An indicator sometimes required before a subsequent process can begin.
See extended weak reference.
extended weak reference (EWR)
An extended weak reference stores an object in persistent memory so that it remains available across device restarts. Ordinary weak references are references to objects that may be discarded if memory becomes tight because they can be recreated when needed at some cost in time.
First in, first out.
Software that is stored in persistent memory (ROM, EEPROM, flash, etc.). The name reflects the fact that it is neither strictly hardware nor strictly software, but something in between. Typically contains the code that bootstraps a device, and may contain code for all of a device's functionality.
A type of persistent memory based on EEPROM; widely used in portable devices to store firmware.
The former name of the development bootstrap loader, now called PortBooter.
Describes the amount and location of memory used by software.
A WS-Transfer message used to request metadata. DPWS clients may send Get messages.
A WS-Transfer message used to respond to a request for metadata. Any DPWS application that sends Get messages will receive GetResponse messages.
See hardware abstraction layer.
hardware abstraction layer (HAL)
A component of the .NET Micro Framework. An abstraction layer between the physical hardware of a computer and the software that runs on the computer. It hides differences in hardware from most of the operating system kernel, so that most of the kernel-mode code does not need to be changed to run on systems with different hardware.
A computer or device with no display or keyboard; interaction with the unit is intended to be over the network. Also refers to software that can be operated in a text-only mode on such a device.
A section of memory in which space for new objects is allocated.
A WS-Discovery message used to announce the presence of a device or service on the network.
See hypertext transfer protocol.
See hypertext transfer protocol, encrypted/secured.
hypertext transfer protocol (HTTP)
A request/response protocol used by Web servers and browsers.
hypertext transfer protocol, encrypted/secured (HTTPS)
A secure, or encrypted, HTTP connection.
Inter-Integrated Circuit, pronounced "I-squared-C". A bus and interconnect format invented by Philips and widely used to attach low-speed peripherals to embedded systems.
See Internet Engineering Task Force
See independent hardware vendor.
See intermediate language.
independent hardware vendor (IHV)
A company specializing in manufacturing or selling computer hardware.
independent software vendor (ISV)
A company that produces software or provides a service for computers or networks.
The ability to reference data using a name, reference, or container instead of the value itself. The most common form of indirection is the act of manipulating a value through its memory address.
The ability to define new object classes from existing object classes. The new class has the same capabilities as the existing class, with potentially changed behavior and additional behavior.
In software, a set of related member functions and other values that define how a program can interact with a software component such as a class. In hardware, the standardized connector, electrical specification, and signals used to connect hardware together.
intermediate language (IL)
In the context of the .NET Micro Framework, IL is the language to which managed applications are compiled. This IL is similar to the IL in .NET Framework. The common language runtime (CLR) is a virtual machine that executes IL code.
Internet Engineering Task Force (IETF)
An open international community of network designers, operators, vendors, and researchers concerned with providing leadership in Internet related standards, education, and policy.
interrupt request (IRQ)
A signal sent by a device to get the attention of the processor when the device is ready to accept or send information. Each device sends its interrupt requests over a specific hardware line. Each device must be assigned a unique IRQ number.
interrupt service routine (ISR)
A routine that is executed in response to an interrupt request.
The protocol within Transmission Control Protocol/Internet Protocol (TCP/IP) that is used to send data between computers over the Internet. More specifically, this protocol governs the routing of data messages, which are transmitted in smaller components called packets.
See interrupt request.
See interrupt service routine.
See independent software vendor.
See joint test action group.
joint test action group (JTAG)
An IEEE standard used for testing and debugging printed circuit boards.
In the context of .NET, the CLR converts a program in IL representation to its native machine-language representation just before executing it.
An instruction that a connection that would ordinarily be closed should remain open (such as in HTTP), or a no-operation signal sent periodically to prevent a connection from timing out due to inactivity.
See liquid crystal display.
Last in, first out.
liquid crystal display (LCD)
A thin, flat display device consisting of light-reflecting elements of adjustable transparency arranged in a grid in front of a light source or reflector. LCDs are often used in battery-powered electronic devices because of their power-efficiency.
To copy software or data into memory. In the case of software, usally a synonym for "install." For example, firmware may be loaded onto a device over a USB port.
Code that executes under the management of a virtual machine such as the CLR for programmer convenience and enhanced security guarantees. This is in contrast to unmanaged code, which is executed directly by the computer's CPU.
memory management unit (MMU)
A hardware component responsible for handling memory access, vital for memory protection and virtual memory.
Message Transmission Optimization Mechanism (MTOM)
A W3C method of efficiently sending binary data to and from Web services.
A routine associated with a class. If the routine is associated with the class as a whole, it is a static or class method. If the routine is associated with a particular object, it is an instance method.
A tool provided with the .NET Micro Framework that can load firmware and application image files onto a device.
See memory management unit.
A build tool that compiles code for Visual Studio.
See Message Transmission Optimization Mechanism.
Not OR, a type of logic circuit. NOR flash memory is characterized by random-access addressability by byte.
Memory which stores its contents when power is removed, such as flash memory.
See original device manufacturer.
See original equipment manufacturer.
original device manufacturer (ODM)
A company that produces hardware which other companies sell under their own brands.
original equipment manufacturer (OEM)
A company that sells hardware produced by an ODM.
See platform abstraction layer.
platform abstraction layer (PAL)
A component of the .NET Micro Framework. Along with the HAL, PAL controls the underlying system hardware. Both the HAL and the PAL are groups of C++ functions called by the CLR. The PAL functions are independent of the hardware and are not ported, however, you must write your own version of the HAL for your hardware platform.
The .NET Micro Framework Porting Kit is a package that device makers can use to enable the .NET Micro Framework to support their hardware platforms, processors, and peripheral devices.
A WS-Discovery message used by a client to search for services on the network by service type.
A WS-Discovery message sent by a service in response to a client's Probe message.
See runtime component layer.
A WS-Discovery message sent in response to a client's Resolve message by a matching service.
A WS-Discovery message used by a client to search for services on the network by name.
A standard public-key encryption algorithm often used for digitally signing messages and data. The letters R, S, and A, do not stand for the technology, but instead are the initials of the creators of the algorithm. (See also XTEA.)
Often refers to the common language runtime (CLR). Also frequently used to indicate that code is executing ("at run time" or "run-time encryption") as opposed to being compiled.
runtime component layer (RCL)
A .NET Micro Framework architecture layer consisting of the HAL, PAL, CLR, and bootstrap code.
Synchronous dynamic random access memory, a type of solid-state computer memory synchronized with the computer's bus.
Serial Peripheral Interface (SPI)
A full-duplex master-slave synchronous serial bus, pronounced "S-P-I" or "spy". Named by Motorola, SPI is sometimes referred to as a "four wire" serial bus, in contrast to busses with less than four.
Simple Object Access Protocol (SOAP)
A W3C protocol for sending serialized objects and for exchanging XML-based Web services messages over computer networks using HTTP/HTTPS.
Smart Personal Object Technology (SPOT)
The Microsoft Corporation initiative from which the .NET Micro Framework emerged.
See Simple Object Access Protocol.
A protocol-independent abstraction of a network endpoint in the Berkeley sockets API, which is widely used for network programming.
See Serial Peripheral Interface.
See Smart Personal Object Technology.
Static random access memory, a type of volatile memory that does not need to be refreshed periodically.
S-records, an ASCII file format for transferring binary data developed by Motorola and widely used by embedded systems.
A last in, first out (LIFO) data structure in which the last item stored ("pushed") will be the first item retrieved ("popped"). A stack is used in some programming languages for storing function return addresses and local variables.
A routine or function that contains no code and thus performs no operation. Provides a place to define the behavior of the function layer.
- thread-safe code
Code that functions correctly during simultaneous execution by multiple threads, even when those threads are trying to access the same data or other resources at the same time.
See universal asynchonous receiver/transmitter.
See user datagram protocol.
universal asynchonous receiver/transmitter (UART)
An asynchronous serial communications interface circuit. (USART adds synchronous serial capability.) Typically connected using RS-232 connectors and cable.
universal synchronous/asynchronous receiver/transmitter (USART)
A serial communications interface circuit that can be run in either synchronous or asynchronous mode.
See universal synchronous/asynchronous receiver/transmitter.
user datagram protocol (UDP)
A connectionless transport protocol in the TCP/IP protocol suite that is used in cases where some packet loss is acceptable, such as with digital media streams.
- vertical integration
A situation in which all components of a solution are supplied by a single company as a way of ensuring interoperability. For example, an industrial automation system may have a sensor network, control units, and a back-end server all developed by a single company.
Web Services Dynamic Discovery (WS-Discovery)
A technical specification that defines a multicast discovery protocol to locate services on a local network. Communication between nodes primarily uses SOAP.
Web Services Eventing (WS-Eventing)
Defines a protocol for Web services for subscribing to, or accepting a subscription from, another Web service.
Web Services on Devices (WSD)
A Web services profile that enables plug-and-play for networked devices. Often called Devices Profile for Web Services (DPWS).
Windows Presentation Foundation (WPF)
A GUI framework used by the .NET Micro Framework 3.0 and later, Windows Vista, and Microsoft Silverlight. The .NET Micro Framework's GUI classes are loosely based on WPF.
See Windows Presentation Foundation.
See Web Services on Devices and DPWS.
See Web Services Dynamic Discovery.
See Web Services Eventing
An extended version of the Tiny Encryption Algorithm (TEA), XTEA performs simple symmetric encryption and decryption of data in a cipher-block chaining (CBC) mode with ciphertext stealing. (See also RSA.)