BUG Glossary

From BUG Wiki

Jump to: navigation, search


A

ARM

The CPU architecture in the BUG. Many PDAs and phones use ARM CPUs. The BUG uses the Freescale i.MX31 ARM-based processor.

B

Base LCD

The LCD on the BUGbase unit. This LCD is used to see status information such as battery status as well as any special information provided by modules and applications. Additionally, a menu system allows users to manager BUGmodules, web services, and applications.

Base Unit

Also known as BUGbase, this is the core building block of BUG.

BMI

BUG Module Interface: the four connectors on the BUGbase unit that connect to BUGmodules. The BMI connector acts as a hot-pluggable bus in Linux similar to USB. The pinouts from the BMI connector map to common generally available interfaces such as USB, GPIO, and I2C.

Bootloader

A bootloader is the first software that runs on a computer. On a desktop PC this is normally referred to as a BIOS. The BUG uses the Redboot bootloader to load the Linux operating system.

BUG Application

Application created in Dragonfly SDK. Application can be transferred for execution to BUG. It can also be transferred to BUGnet so it can be shared with the community.

BUGbase

The BUGbase is the foundation of your BUG device, you can think of it as the "brains" of your gadget. More info on our website.

BUGmodules

Each BUGmodule represents a functional component of a BUG device. A BUGmodule could be a digital camera, a GPS receiver, a keyboard, a bar code reader, etc. More info on our website.

BUGnet

BUGnet is our online community, including the repository for sharing applications.

Bundle

A bundle is an OSGi term for an application or component. It is a discreet software component. The BUG application layer is a set of OSGi bundles.

C

Concierge

An R3 OSGi implementation used in the BUG.

Configuration Admin

Upon unregistering a bundle from the OSGi Framework all configuration data that might have been set to define its state is gone. To relieve user of pains of reconfiguring the bundle once its active, Configuration Admin can be used to persist configuration data so that upon the bundle's being active again its states can be set to those when they were before bundle was unregistered.

Concierge Project

Concierge website.

D

E

Eclipse

Eclipse is an open-source software framework written primarily in Java. In its default form it is an Integrated Development Environment (IDE) for Java developers, consisting of the Java Development Tools (JDT) and the Eclipse Compiler for Java (ECJ). Users can extend its capabilities by installing plug-ins written for the Eclipse software framework, such as development toolkits for other programming languages, and can write and contribute their own plug-in modules.

Dragonfly SDK is a collection of plug-ins that contribute to Eclipse Platform.

More info about Eclipse Platform can be found here

F

G

GPIO

General Purpose Input Output: An embedded bus used on the BUG. The BMI connector exposes GPIO ports. More information is available at Wikipedia.

H

I

I2C

A serial bus. This is an interface that is exposed in the BMI connector. More information is available at Wikipedia.

IPU

Image Processing Unit: a component in the BUG that handles image processing.

J

Jar

A jar is essentially a compressed zip file that contains Java code. The Dragonfly SDK packages BUG applications in jar files.

jSLP

A SLP implementation used in the BUG and the SDK. SLP allows the SDK to discover BUGs on the local network. More info about jSLP can be found here

JVM

Java Virtual Machine: a program that executes Java programs. The BUG uses the PhoneME Advanced CDC JVM.

K

Kernel

Short for the Linux Kernel. The BUG runs Linux version 2.6.19.

L

LTIB

Short for Linux Target Image Builder. LTIB is a tool we use to generate our Linux kernel and root filesystem.

M

Manifest File

In an OSGi bundle, a manifest file is where metadata is stored. This file is in the /META-INF directory of the jar.

Modlet

A modlet is a piece of Java code that gets executed each time a module is inserted or removed from a BUGbase.

Mongrel

Mongrel is an application server for Ruby web applications. It is often used behind more general web servers such as Apache or nginx in a clustered manner. In this arrangement, the general web server typically serves static content and hands off requests for dynamic content to the mongrel cluster.

MMCcard

These are the memory cards that the BUG boots from. The BUG Linux root filesystem is stored on this card. User applications and data is also stored on this card.

N

Navigation Buttons

The navigation buttons are to the left of the BUGbase LCD display. Up, down, left, right allow users to navigate the menu.

nginx

A lightweight, fast web server that has become very popular for hosting Ruby on Rails. It is pronounced "engine X". Nginx wiki

O

OSGi

Open Services Gateway Initiative. A Java-based specification that describes a runtime and component model. BUG applications run on an OSGi implementation called Concierge.

OSGi Shell

A console interface to the OSGi runtime. This console lets a user inspect the current state of the runtime system, start and stop bundles, and see what services are available. In addition, developers can add their own commands.

R

Redboot

The bootloader used in the BUG. Redboot loads the Linux kernel into memory and starts it. Redboot can be used to upgrade the kernel in flash.

REST

Stands for Representational State Transfer. A style of web service architecture that uses HTTP verbs for CRUD (Create, Read, Update, Delete) actions on addressable resources. Resources are addressable via a uri. Typically these uri's are descriptive and easy to read. REST style resources are often called RESTful and they tend to be simpler than RPC-style web services, such as those that depend on SOAP.

Rootfs

Shorthand for Root Filesystem. This is the data structure where all files are stored on the BUG.

S

SDK

Software Development Kit. The BUG SDK, also known as Dragonfly, is what you use to write applications for the BUG.

SLP

Service Location Protocol. A discovery protocol that allows various networked services to know about each other.

SoC

Short for "System on a Chip". The BUG CPU, Freescale's i.MX31, is a SoC. It combines several devices and interfaces that are typically found on separate chips in traditional designs.

T

TCP/IP over USB

Linux allows a special USB kernel module (g_ether) to be loaded that causes a USB connection between the BUG and a computer to be used as a network connection.

U

USB

Universal Serial Bus. BUG has one USB OTG (on the go) port. This port can be used to connect external peripheral such as hard drives and web cams. Additionally when connected to a computer with the correct settings, the USB connection can be used as a network device.

V

Virtual BUG

Virtual representation of the BUG in SDK. When developing BUG applications, users can transfer created application unto Virtual BUG to see how it will behave on the real hardware. Details about Virtual BUG can be found here

W

X

Y

Z