omniomni/omni-engineering huggingface dataset:
Java processor. A Java processor is the implementation of the Java virtual machine (JVM) in hardware. In other words, the Java bytecode that makes up the instruction set of the abstract machine becomes the instruction set of a concrete machine. These were the most popular form of a high-level language computer architecture, and were "an attractive choice for building embedded and real-time systems that are programmed in Java". However, as of 2017, embedded Java is no longer common and no realtime Java chip vendors exist.

Implementations 
There are several research Java processors tested on FPGA, including:

picoJava was the first attempt to build a Java processor, by Sun Microsystems. Its successor picoJava-II was freely available under the Sun Community Source License, and is still available from some archives.
 provides hardware support for object-oriented functions
Java Optimized Processor for FPGAs. A PhD thesis is available, and it has been used in several commercial applications. In 2019 it was extended to be energy aware (EAJOP).

Some commercial implementations included:
 The aJile processor was the most successful ASIC Java processor.
 Cjip from Imsys Technologies. Available on boards and with wireless radios from AVIDwireless
 ARM926EJ-S was an ARM processor able to run Java bytecode, this technology being named Jazelle.

See also
 Java Card

References

Java virtual machine
High-level language computer architecture
Java Optimized Processor. Java Optimized Processor (JOP)
is a Java processor, an implementation of Java virtual machine (JVM) in hardware.

JOP is free hardware under the GNU General Public License, version 3.

The intention of JOP is to provide a small hardware JVM for embedded real-time systems.  The main feature is the predictability of the execution time of Java bytecodes.  JOP is implemented over an FPGA.

See also

 List of Java virtual machines
 SimpCon

References

External links
 JOP website
 JOP Github repository 
 A Video of a talk given at an embedded Java workshop introduces JOP.

Java virtual machine
BeebEm. BeebEm is a BBC Micro emulator, first developed by David Gilbert in 1994 and since improved by a number of people, most notably Mike Wyatt who currently maintains the emulator and its website. Although BeebEm's first incarnations were for UNIX-based systems, the version for Windows (98 or later) is now the most popular. BeebEm is also available for Mac OS X, Agenda VR3 and Pocket PC.

BeebEm is copyrighted freeware, and its source code is distributed with the emulator under the GPL licence.

As of version 4.13 (January 2011), BeebEm for Windows emulates the following hardware:

BBC Micro Models B, B+ and Master 128
Integra B expansion board
Cassette, DFS and ADFS filing systems
Econet networking
65C02 and Z80 second processors
AMX Mouse

The TMS5220 Speech Generator emulator was removed from version 4.1 onwards due to licensing issues.

BeebEm can read images from files representing tape (in UEF format), DFS or ADFS discs, ROM cartridges and SCSI or SASI hard disks.  It is capable of running the vast majority of BBC Micro software, including classics such as Elite, Exile and Firetrack.

Jon Welch, who maintains the Mac port of BeebEm, has shown a preview of BeebEm (the Windows version) emulating the Master 512 computer, including the GEM windowing system.

External links
BeebEm website
BeebEm for UNIX website
BeebEm for Mac website
Master 512 preview
GP2X Version

References

GP2X emulation software
MacOS emulation software
Gear shaper. A gear shaper is a machine tool for cutting the teeth of internal or external gears, it is a specialised application of the more general shaper machine. The name shaper relates to the fact that the cutter engages the part on the forward stroke and pulls away from the part on the return stroke, just like the clapper box on a planer shaper.

The cutting tool is also gear shaped having the same pitch as the gear to be cut. However number of cutting teeth must be less than that of the gear to be cut for internal gears.  For external gears the number of teeth on the cutter is limited only by the size of the shaping machine.

The principal motions involved in rotary gear shaper cutting are of the following :
 Cutting Stroke: The downward linear motion of the cutter spindle together with the cutter .
 Return Stroke: The upward linear travel of the spindle and cutter to withdraw the cutter to its starting position.
 Indexing Motion: Slow speed continuous rotation of the cutter spindle and work spindle to provide circular feed, the two speeds being regulated through the change gears such that against each rotation of the cutter the gear blank revolves through n/N revolution, where "n" is the number of teeth of the cutter, and "N" is the number of teeth to be cut on the blank.
 Completion of Cutting Operation: The indexing and reciprocating motions continue until the required number of teeth to the required depth are cut all along the periphery of the gear blank.

References

See also
 Hobbing 
 Milling (machining)

Gears
Machining
Rocket garden. A rocket garden or rocket park is a display of missiles, sounding rockets, or space launch vehicles, usually in an outdoor setting. The proper form of the term usually refers to the Rocket Garden at the Kennedy Space Center Visitor Complex.

All rockets that have flown so far are at least partially expendable (in some rockets, certain stages or boosters get reused), so rockets in displays have not been flown. As in the case of the Saturn V, later planned missions were cancelled, leaving unneeded rockets for the museums. For displays of early American space hardware, such as Project Mercury and Project Gemini, surplus missiles have been painted to look like crewed space launch vehicles. Engineering test articles (such as the Space Shuttle Pathfinder stack in Huntsville) or purpose-built full-scale replicas are also displayed in rocket gardens.

Examples
 Woomera, South Australia
 , Le Bourget, France
 Historical Technical Museum, Peenemünde, Germany
 U.S. Space & Rocket Center, Huntsville, Alabama
 Air Force Space and Missile Museum, Cape Canaveral Space Force Station, Cape Canaveral, Florida
 Kennedy Space Center, Merritt Island, Florida
 Goddard Space Flight Center, Greenbelt, Maryland
 New Mexico Museum of Space History, Alamogordo, New Mexico
 National Museum of Nuclear Science & History, Albuquerque, New Mexico
 White Sands Missile Range, near Las Cruces, New Mexico
 1964 New York World's Fairgrounds, Flushing Meadows Park, New York; now the New York Hall of Science
 National Museum of the United States Air Force, Wright-Patterson Air Force Base, Dayton, Ohio
 Fort Sill, Lawton, Oklahoma
 SpaceX Starbase, Boca Chica, Texas
 Space Center Houston, Johnson Space Center, Houston, Texas
 Thiokol, near Promontory, Utah
 Air Power Park, Hampton, Virginia
 Wallops Flight Facility Visitor Center, Wallops Island, Virginia
 National Air and Space Museum, Washington, D.C. (indoors)
 Francis E. Warren Air Force Base, Cheyenne, Wyoming

Photos

See also
 
 Rock garden, likely the inspiration of the term "rocket garden"
 Sculpture garden, another example of a "garden" displaying nonliving, humanmade objects

References

External links

 Kennedy Space Center Rocket Garden
 United States manned space boosters on display from A Field Guide to American Spacecraft

Rocket sculptures
Military and war museums
Open-air museums
Space-related tourist attractions
Garden
Cold War museums
History of spaceflight
Fire air. In the history of chemistry, fire air was postulated to be one of two fluids of common air.  This theory was positioned in 1775 by Swedish chemist Carl Wilhelm Scheele.  In Scheele's Chemical Treatise on Air and Fire he states: "air is composed of two fluids, differing from each other, the one of which does not manifest in the least the property of attracting phlogiston, whilst the other, which composes between the third and fourth part of the whole mass of the air, is peculiarly disposed to such attraction." These two constituents of common air Scheele called Foul Air ("verdorbene Luft") and Fire Air ("Feuerluft"); afterwards these components came to be known as nitrogen and oxygen, respectively.

See also 
Heat

References

History of chemistry
Carl Wilhelm Scheele
Ricart–Agrawala algorithm. The Ricart–Agrawala algorithm is an algorithm for mutual exclusion on a distributed system. This algorithm is an extension and optimization of Lamport's Distributed Mutual Exclusion Algorithm, by removing the need for release messages. It was developed by computer scientists Glenn Ricart and Ashok Agrawala.

Algorithm

Terminology 
 A site is any computing device which runs the Ricart-Agrawala Algorithm
 The requesting site is the site which is requesting to enter the critical section.
 The receiving site is every other site which is receiving a request from the requesting site.

Algorithm
 Requesting Site 
 Sends a message to all sites. This message includes the site's name, and the current timestamp of the system according to its logical clock (which is assumed to be synchronized with the other sites)

 Receiving Site 
 Upon reception of a request message, immediately sending a timestamped reply message if and only if:
 the receiving process is not currently interested in the critical section OR
 the receiving process has a lower priority (''usually this means having a later timestamp)
 Otherwise, the receiving process will defer the reply message. This means that a reply will be sent only after the receiving process has finished using the critical section itself.

 Critical Section: 
 Requesting site enters its critical section only after receiving all reply messages.
 Upon exiting the critical section, the site sends all deferred reply messages.

Performance
 Max number of network messages: 
 Synchronization Delays: One message propagation delay

Common optimizations
Once site  has received a  message from site , site  may enter the critical section multiple times without receiving permission from  on subsequent attempts up to the moment when  has sent a  message to . This is called Roucairol-Carvalho optimization or Roucairol-Carvalho algorithm.

Problems
One of the problems in this algorithm is failure of a node. In such a situation a process may starve forever.
This problem can be solved by detecting failure of nodes after some timeout.

See also
 Lamport's bakery algorithm
 Lamport's distributed mutual exclusion algorithm
 Maekawa's algorithm
 Suzuki–Kasami algorithm
 Raymond's algorithm
 Naimi–Trehel's algorithm

References

Maekawa, M., Oldehoeft, A., Oldehoeft, R.(1987). Operating Systems: Advanced Concept.Benjamin/Cummings Publishing Company, Inc.

Distributed algorithms
TASSL. The Application Software Systems Laboratory (TASSL) is a research lab, as a part of Center for Advanced Information Processing (CAIP), and Department of Electrical and Computing Engineering at Rutgers University . It is under the direction of Dr. Manish Parashar and the current research fields include Autonomic Computing, Parallel Computing and Distributed Computing, Grid Computing, Peer-to-peer Computing, Adaptive Computing Systems, and Scientific Computation..

It is one of the leading research groups in the field of Autonomic Computing and adaptive computation systems.

External links

 CAIP

Artificial intelligence laboratories
Research institutes in New Jersey
Computer science institutes in the United States
Laboratories in the United States
Dubai Aerospace Enterprise. Dubai Aerospace Enterprise Ltd (DAE) () is a globally recognized aviation services corporation with two divisions: DAE Capital and DAE Engineering. Headquartered in Dubai, DAE serves over 170 airline customers in over 65 countries from its seven office locations in Dubai, Dublin, Amman, Singapore, Miami, New York, and Seattle.

DAE Engineering
Located at the Queen Alia International Airport in Amman-Jordan, DAE Engineering provides regional MRO services to customers in Europe, Middle East, Africa, and South Asia from its state-of-the-art facility in Amman, Jordan, Joramco accommodating up to 17 wide and narrow body aircraft. It is authorized to work on 15 aircraft types and has regulatory approval from over 25 regulators globally.

DAE Capital
DAE Capital is the largest aircraft leasing firm in the Middle East. DAE Capital is an aircraft lessor with an owned, managed, and committed fleet of approximately 500 Airbus, ATR, and Boeing aircraft with a fleet value of US$18 billion, which
are leased to various airlines around the world.

In August 2017, DAE completed the acquisition of Dublin-based AWAS, propelling DAE into the top tier of global aircraft lessors.

References

Companies based in Dubai
Aerospace companies of the United Arab Emirates
2006 establishments in the United Arab Emirates
Aircraft leasing companies
Maekawa's algorithm. Maekawa's algorithm is an algorithm for mutual exclusion on a distributed system. The basis of this algorithm is a quorum-like approach where any one site needs only to seek permissions from a subset of other sites.

Algorithm

Terminology 
 A site is any computing device which runs the Maekawa's algorithm
 For any one request of entering the critical section:
 The requesting site is the site which is requesting to enter the critical section.
 The receiving site is every other site which is receiving the request from the requesting site.
 ts refers to the local time stamp of the system according to its logical clock

Algorithm
Requesting site:
 A requesting site  sends a message  to all sites in its quorum set .

Receiving site:
 Upon reception of a  message, the receiving site  will:
 If site  does not have an outstanding  message (that is, a  message that has not been released), then site  sends a  message to site .
 If site  has an outstanding  message with a process with higher priority than the request, then site  sends a  message to site  and site  queues the request from site .
 If site  has an outstanding  message with a process with lower priority than the request, then site  sends an  message to the process which has currently been granted access to the critical section by site . (That is, the site with the outstanding  message.)
 Upon reception of a  message, the site  will:
 Send a  message to site  if and only if site  has received a  message from some other site or if  has sent a yield to some other site but have not received a new .
 Upon reception of a  message, site  will:
 Send a  message to the request on the top of its own request queue. Note that the requests at the top are the highest priority.
 Place  into its request queue.
 Upon reception of a  message, site  will:
 Delete  from its request queue.
 Send a  message to the request on the top of its request queue.

Critical section:
 Site  enters the critical section on receiving a  message from all sites in .
 Upon exiting the critical section,  sends a  message to all sites in .

Quorum set ():
A quorum set must abide by the following properties:
 
 
 
 Site  is contained in exactly  request sets

Therefore:

Performance
 Number of network messages;  to 
 Synchronization delay: 2 message propagation delays
 The algorithm can deadlock without protections in place.

See also
 Lamport's bakery algorithm
 Lamport's Distributed Mutual Exclusion Algorithm
 Ricart–Agrawala algorithm
 Raymond's algorithm

References

 M. Maekawa, "A √N algorithm for mutual exclusion in decentralized systems”, ACM 
Transactions in Computer Systems, vol. 3., no. 2., pp. 145–159, 1985.
 Mamoru Maekawa, Arthur E. Oldehoeft, Rodney R. Oldehoeft (1987). Operating Systems: Advanced Concept. Benjamin/Cummings Publishing Company, Inc.
 B. Sanders (1987). The Information Structure of Distributed Mutual Exclusion Algorithms. ACM Transactions on Computer Systems, Vol. 3, No. 2, pp. 145–59.

Concurrency control algorithms
Downend air crash. The Downend air crash occurred on 6 November 1957 when a prototype Bristol Britannia aircraft crashed in woods near Overndale Road in Downend, a suburb of Bristol, England, on its landing approach at Filton airport during a test flight. All fifteen on board, four crew and 11 technicians, died in the crash.

Cause
The exact cause of the crash was never determined, but was suspected to be a malfunction of the autopilot, possibly due to faulty wiring. The company which manufactured the autopilot system issued a statement claiming it was not due to the autopilot system, but still altered the system in newer aircraft; the official report states unknown cause but "the autopilot system cannot be ruled out as the likely cause".

Another source cites the cause as "...an instrument failure which ultimately led to a loss of control."

Casualties
All 15 aboard died in the crash. Despite the aircraft coming down in a residential area, nobody on the ground was killed. One woman, a resident of Overndale Road, was taken to hospital after being hurt by the impact blast when one of the engines and part of the wing landed next to her house while she was hanging washing on the line in the garden. 
Another man, who at the time was tiling the roof of a nearby house, broke his arm after falling having been shocked by the aircraft's low flight path.

Memorials

A memorial service was held at Bristol Cathedral on 19 November 1957.

Commemorative events were held on 25th and 34th anniversaries, when the first memorial plaque listing the names of the dead was erected at Downend Folk House. Downend Local History Society holds its meetings in the building, which have one of its rooms named Britannia Room.

A memorial plaque at the crash site, now called Britannia Wood, was unveiled on 3 November 2007 by Beryl Statham, the pilot's widow.

References

External links
 British Pathé - Air News - The Britannia Air Crash - 15 Dead
Picture of crashed aircraft

Aviation accidents and incidents in 1957
1957 disasters in the United Kingdom
1957 in England
Aviation accidents and incidents in England
1950s in Bristol
Accidents and incidents involving the Bristol Britannia
November 1957 in the United Kingdom
Qfix robot kit. Qfix robot kits are an education tool for teaching robotics. They are used in schools, high schools and mechatronics training in companies. The robot kits are also used by hobby robot builders.
The qfix kits are often found in the RoboCup Junior competition where soccer robots are built of the kit's components.

Mechanics 

Like Lego mindstorms, it is a robot kit consisting of mechanical parts, a controller,
different sensors and actuators, and a software environment to program the constructed robot.

Unlike Lego, in qfix the mechanical parts are made of aluminium. Mechanical elements include bars and plates, mounts for motors and sensors, axes and wheels.

Electronics 
The qfix controller boards consist of an Atmel AVR controller plus motor drivers, analog and digital input ports, LEDs, buttons, and an I²C bus. The bus is used to connect further PCBs like LCD display, stronger motor drivers or special sensors.

Software 
The qfix kits come with the free C++ environment WinAVR for Atmel AVR controllers. Additionally, there is a C++ class library handling all qfix controller board functionalities. Programs can be downloaded to the controller boards via parallel or USB link using the avrdude tool.

Graphical programming is also supported by using qfix GRAPE (graphical programming environment). With this software, first a flowchart is designed and then the behavior of all flowchart elements is defined.

External links
 RoboCup Junior
 qfix robotics homepage
 qfix Grape

Educational toys
Robot kits
Electronic toys
Soccer robots
Code reviewing software. Code reviewing software is computer software that helps humans find flaws in program source code and therefore assure the quality of the source code. It can be divided into two categories:
 Automated code review software checks source code against a predefined set of rules and produces reports.
 Different types of browsers visualise software structure and help humans better understand its structure. Such systems are geared more to analysis because they typically do not contain a predefined set of rules to check software against.
 Manual code review tools allow people to collaboratively inspect and discuss changes, storing the history of the process for future reference.

See also
List of tools for code review

References

Software review
Automated code review. Automated code review software checks source code for compliance with a predefined set of rules or best practices.

Overview
The use of analytical methods to inspect and review source code to detect bugs or security issues has been a standard development practice in both open source and commercial software domains. This process can be accomplished both manually and in an automated fashion. With automation, software tools provide assistance with the code review and inspection process. The review program or tool typically displays a list of warnings (violations of programming standards). A review program can also provide an automated or a programmer-assisted way to correct the issues found. This is a component for mastering easily software. This is contributing to the Software Intelligence practice. This process is usually called "linting" since one of the first tools for static code analysis was called Lint.

Some static code analysis tools can be used to help with automated code review. They do not compare favorably to manual reviews, however they can be done faster and more efficiently. These tools also encapsulate deep knowledge of underlying rules and semantics required to perform this type analysis such that it does not require the human code reviewer to have the same level of expertise as an expert human auditor. Many Integrated Development Environments also provide basic automated code review functionality. For example the Eclipse and Microsoft Visual Studio IDEs support a variety of plugins that facilitate code review.

Next to static code analysis tools, there are also tools that analyze and visualize software structures and help humans to better understand these. Such systems are geared more to analysis because they typically do not contain a predefined set of rules to check software against. Some of these tools (e.g. Imagix 4D, Resharper, SonarJ, Sotoarc, Structure101, ACTool) allow one to define target architectures and enforce that target architecture constraints are not violated by the actual software implementation.

Automated code review tools

See also
 Program analysis (computer science)

References

Static program analysis tools
Software review