TakaTuka

Last updated
TakaTuka
Developer(s) University of Freiburg, LUMS
Written in Java, C, nesC
Operating system Unix-like and TinyOS
Type Java Virtual Machine
License GNU General Public License
Website takatuka.sourceforge.net

TakaTuka is a Java virtual machine (JVM) mainly focused on wireless sensor network devices. [1] [2] [3] The VM focussed on supporting small devices with at least 4 KiB of RAM and greater than 48 KiB of flash memory. TakaTuka currently offers CLDC compatible library support.

Contents

TakaTuka was developed by University of Freiburg and first went public on SourceForge in 2009. [1] [2] [4] It was created to reduce the learning time of developing wireless sensor network applications by introducing a common Java language among all supported mote.

TakaTuka stores Java Class files into a highly compact format named Tuk. This format strips all unnecessary information, such as class names and retains only essential information for runtime. It also shares a similar Split VM architecture with Squawk virtual machine. [1] [2] Furthermore, TakaTuka also employs extensive bytecode compaction that results in smaller code size and faster bytecode execution. [1] [2]

Supported motes

See also

Related Research Articles

Java virtual machine Virtual machine

A Java virtual machine (JVM) is a virtual machine that enables a computer to run Java programs as well as programs written in other languages that are also compiled to Java bytecode. The JVM is detailed by a specification that formally describes what is required in a JVM implementation. Having a specification ensures interoperability of Java programs across different implementations so that program authors using the Java Development Kit (JDK) need not worry about idiosyncrasies of the underlying hardware platform.

In computing, a virtual machine (VM) is the virtualization/emulation of a computer system. Virtual machines are based on computer architectures and provide functionality of a physical computer. Their implementations may involve specialized hardware, software, or a combination.

Squeak

Squeak is an object-oriented, class-based, and reflective programming language. It was derived from Smalltalk-80 by a group that included some of Smalltalk-80's original developers, initially at Apple Computer, then at Walt Disney Imagineering, where it was intended for use in internal Disney projects. The group would later go on to be supported by HP labs, SAP, and most recently, Y Combinator.

Bytecode, also termed p-code, is a form of instruction set designed for efficient execution by a software interpreter. Unlike human-readable source code, bytecodes are compact numeric codes, constants, and references that encode the result of compiler parsing and performing semantic analysis of things like type, scope, and nesting depths of program objects.

In computing, just-in-time (JIT) compilation is a way of executing computer code that involves compilation during execution of a program rather than before execution. This may consist of source code translation but is more commonly bytecode translation to machine code, which is then executed directly. A system implementing a JIT compiler typically continuously analyses the code being executed and identifies parts of the code where the speedup gained from compilation or recompilation would outweigh the overhead of compiling that code.

SableVM was a clean room implementation of Java bytecode interpreter implementing the Java virtual machine (VM) specification, second edition. SableVM was designed to be a robust, extremely portable, efficient, and fully specifications-compliant Java Virtual Machine that would be easy to maintain and to extend. It is now no longer being maintained.

Contiki

Contiki is an operating system for networked, memory-constrained systems with a focus on low-power wireless Internet of Things devices. Extant uses for Contiki include systems for street lighting, sound monitoring for smart cities, radiation monitoring, and alarms. It is open-source software released under the BSD-3-Clause license.

Wireless sensor networks (WSNs) refer to networks of spatially dispersed and dedicated sensors that monitor and record the physical conditions of the environment and forward the collected data to a central location. WSNs can measure environmental conditions such as temperature, sound, pollution levels, humidity and wind.

Clock synchronization is a topic in computer science and engineering that aims to coordinate otherwise independent clocks. Even when initially set accurately, real clocks will differ after some amount of time due to clock drift, caused by clocks counting time at slightly different rates. There are several problems that occur as a result of clock rate differences and several solutions, some being more appropriate than others in certain contexts.

picoJava is a microprocessor specification dedicated to native execution of Java bytecode without the need for an interpreter or just-in-time compilation. The aim is to speed bytecode execution up by up to 20 times, compared to standard Intel CPU with a Java Virtual Machine.

Sun SPOT

Sun SPOT was a sensor node for a wireless sensor network developed by Sun Microsystems announced in 2007. The device used the IEEE 802.15.4 standard for its networking, and unlike other available sensor nodes, used the Squawk Java virtual machine.

In computer science, ahead-of-time compilation is the act of compiling an (often) higher-level programming language into an (often) lower-level language before execution of a program, usually at build-time, to reduce the amount of work needed to be performed at run time.

Dalvik is a discontinued process virtual machine (VM) in Android operating system that executes applications written for Android. Dalvik was an integral part of the Android software stack in the Android versions 4.4 "KitKat" and earlier, which were commonly used on mobile devices such as mobile phones and tablet computers, and more in some devices such as smart TVs and wearables. Dalvik is open-source software, originally written by Dan Bornstein, who named it after the fishing village of Dalvík in Eyjafjörður, Iceland.

Hari Balakrishnan is the Fujitsu Professor of Computer Science and Artificial Intelligence in the Department of Electrical Engineering and Computer Science at MIT, and the Co-founder and CTO at Cambridge Mobile Telematics.

The Maxine virtual machine is an open source virtual machine that is developed at the University of Manchester. It was formerly developed by Sun Microsystems Laboratories, since renamed Oracle Labs. The emphasis in Maxine's software architecture is on modular design and code reuse for flexibility, configurability, and productivity for industrial and academic virtual machine researchers. It is one of a growing number of Java virtual machines written entirely in Java in a meta-circular style. Examples include Squawk and Jikes RVM.

Tracing just-in-time compilation is a technique used by virtual machines to optimize the execution of a program at runtime. This is done by recording a linear sequence of frequently executed operations, compiling them to native machine code and executing them. This is opposed to traditional just-in-time (JIT) compilers that work on a per-method basis.

Ambient backscatter, also known as RF backscatter, uses existing radio frequency signals, such as radio, television and mobile telephony, to transmit data without a battery or power grid connection. Each such device uses an antenna to pick up an existing signal and convert it into tens to hundreds of microwatts of electricity. It uses that power to modify and reflect the signal with encoded data. Antennas on other devices, in turn, detect that signal and can respond accordingly.

Ramesh Govindan is an Indian-American professor of computer science. He is the Northrop Grumman Chair in Engineering and Professor of Computer Science and Electrical Engineering at the University of Southern California.

Moustafa Youssef Egyptian computer scientist

Moustafa Youssef is an Egyptian computer scientist who was named Fellow of the Institute of Electrical and Electronics Engineers (IEEE) in 2019 for contributions to wireless location tracking technologies and a Fellow of the Association of Computing Machinery (ACM) in 2019 for contributions to location tracking algorithms. He is the first and only ACM Fellow in the Middle East and Africa.

References

  1. 1 2 3 4 Aslam; et al. (5 November 2008). Introducing TakaTuka: a Java virtual machine for motes. ACM SenSys 2008. pp. 399–400. doi:10.1145/1460412.1460472. ISBN   9781595939906. S2CID   10211172 . Retrieved 2010-06-21.
  2. 1 2 3 4 Aslam; et al. "Optimized Java Binary and Virtual Machine for Tiny Motes". DCOSS 2010. Archived from the original on 2010-06-25. Retrieved 2010-06-21.
  3. Brouwers; et al. (2009). "Darjeeling, a feature-rich VM for the resource poor". Proceedings of the 7th ACM Conference on Embedded Networked Sensor Systems - Sen Sys '09. ACM SenSys 2009. p. 169. doi:10.1145/1644038.1644056. ISBN   9781605585192. S2CID   13090987 . Retrieved 2010-06-22.
  4. O'Grady; et al. (2010). "Towards evolutionary ambient assisted living systems". Journal of Ambient Intelligence and Humanized Computing. Journal of Ambient Intelligence and Humanized Computing. 1: 15–29. doi:10.1007/s12652-009-0003-5. hdl: 10197/1915 . S2CID   13299294.