Entries in Technology (45)

Monday
Dec202010

Copilot and the Arduino

Copilot is an embedded domain-specific language designed by Galois, that allows you to generate assured, embedded C code from programs written essentially as Haskell lists (using Atom as a backend for the C code generation).


 Lee Pike has written a tutorial on how to use Copilot to program an Arduino controller to play “Jingle Bells”. Read the full tutorial on Lee's Critical Systems Blog...

Tuesday
Nov302010

Galois releases the Haskell Lightweight Virtual Machine (HaLVM)

Galois, Inc. is pleased to announce the immediate release of the Haskell Lightweight Virtual Machine (or HaLVM), version 1.0. The HaLVM is a port of the GHC runtime system to the Xen hypervisor, allowing programmers to create Haskell programs that run directly on Xen’s “bare metal.” Internally, Galois has used this system in several projects with much success, and we hope y’all will have an equally great time with it.


What might you do with a HaLVM? Pretty much anything you want. :) Explore designs for operating system decomposition, examine new notions of mobile computation with the HaLVM and Xen migration, or find interesting network services and lock them inside small, cheap, single-purpose VMs.


The HaLVM is the result of many years of effort, by many people inside Galois.  Although it is not yet totally bug-free, we have decided that broad adoption wins over perfection and thus we are releasing it for general review. As such, there will be some rough edges, and we urge you to read the documentation to understand the platforms we test on.


We are releasing the HaLVM under a non-restrictive BSD3 license. You can find it here:


http://halvm.org


We welcome user feedback, feature requests, bug notices, patches, and feature additions; see the page above for guidelines on getting involved.


Finally, we’d like to give many things to the GHC and Xen communities, without which this work would not be possible.


If you have any questions or concerns, please don’t hesitate to contact the HaLVM’s maintainers at halvm-devel@community.galois.com.


Have a lovely day!

Monday
Nov222010

Tech Talk: The Rubinius Virtual Machine

Galois is pleased to host the following tech talk. These talks are open to the interested public. Please join us!

title:
The Rubinius Virtual Machine
speaker:
Brian Ford
time:
10:30am, Tuesday, 30 November 2010
location:
Galois Inc.421 SW 6th Ave. Suite 300, Portland, OR, USA(3rd floor of the Commonwealth building)
abstract:
Ruby is a highly dynamic, strongly-typed programming language created by Yukihiro Matsumoto in 1993 and first released in 1995. It borrows from Smalltalk, Lisp, and Perl. Ruby has single inheritance, mixins, and syntax features like omission of parentheses that make it well-suited for embedded domain-specific languages. Ruby was popularized by the Ruby on Rails web development framework.The Rubinius project began as an implementation of the Ruby programming language roughly following the design of the Smalltalk-80 virtual machine described in the Blue book ("Smalltalk-80: the language and its implementation" by Adele Goldberg and David Robson). We have extended the initial implementation based on modern research in virtual machines, garbage collectors, and just-in-time (JIT) compilers. Rubinius currently features a stack-oriented opcode virtual machine, generational garbage collector, and LLVM-based JIT compiler. Most of the Ruby core library and the bytecode compiler are written in Ruby.We will examine the main features of Rubinius and take a deeper dive into some aspects of the virtual machine and JIT compiler. We will also look at possible future work to address memory load, startup, and suitability for using Rubinius in Android phones. If there is time and interest, we will discuss implementing programming languages besides Ruby on Rubinius.
bio:
Brian Ford began contributing to the Rubinius project in December 2006 shortly after the creator, Evan Phoenix, announced the project. He is presently employed by Engine Yard, Inc to work full-time on Rubinius. Brian is keenly interested in languages of all kinds, from mathematics and various programming languages to Spanish and Japanese. He has primarily used C/C++, Tcl, Python, and Ruby in Geographic Information Systems, physical security systems monitoring and web application development. He has a B.Sc. in Mathematics from Portland State University.

Click to read more ...

Wednesday
Nov102010

Tech talk video: "Copilot: A Hard Real-Time Runtime Monitor”

We are pleased to announce the availability of a new Galois tech talk video: “Copilot: A Hard Real-Time Runtime Monitor”, presented by Lee Pike. More details about the talk are available on the announcement page.

Copilot: A Hard Real-Time Runtime Monitor from Galois Video on Vimeo.

For more videos, please visit http://vimeo.com/channels/galois.

Click to read more ...

Friday
Nov052010

Tech Talk Video: Databases are Categories 2: Refinements and Extensions

We are pleased to announce the availability of a new Galois tech talk video: “Databases are Categories 2: Refinements and Extensions”, presented by David Spivak. More details about the talk are available on the announcement page.

Databases are Categories 2: Refinements and Extensions from Galois Video on Vimeo.

For more videos, please visit http://vimeo.com/channels/galois.

Click to read more ...