Unicon Development

From Mindworks
Jump to navigation Jump to search
Team Unicon Development.
Team Name Unicon Development
Duration Fall 2014 - Spring 2015
Client Dr. Clinton Jeffery
Faculty Advisors
Students
  • Ian Westrope
  • Shea Newton
  • Serendel MacPhereson

The Unicon Development team's design project task is to contribute new functionality to the Unicon language including enhancements to its IDE and to Iconc, the language's optimizing compiler.




Project Description

The Unicon Development Team is developing a set of enhancements for the University of Idaho’s signature programming language, Unicon http://unicon.org. The goals of this project include:

  • Enhancement of the Unicon IDE to include jumping from a procedure of method call to its code body or its reference documentation.
GUI feature use case diagram
  • Enhancing Unicon’s C-based optimizing compiler Iconc, and its runtime system code to support concurrency features built using pthreads.
Unicon benchmark performance, standard and concurrent Unicon and Iconc. Bars omitted where no timing data is applicable.
Final results shown in purple. Bars omitted where no timing data is applicable.

The intended end result of this project will be open-source code that becomes part of Unicon’s public distribution.

Background

Unicon is a “modern dialect” descending from the Icon programming language that incorporates numerous new features and extensions to make the Icon language more suitable for a broad range of real-world applications.

Specifications

  • millisecond resolution determining % speedup that concurrent Iconc provides
  • improvement is > max(concurrent performance, Iconc performance)
  • functional = fulfills use cases
  • target speedup = (concurrent speedup * Iconc speedup) * .9

Deliverables

The intended end result of this project will be open-source code that becomes part of Unicon’s public distribution.

Results

The Unicon IDE has the ability to look up user defined functions as well as built in functions, done as a right click menu.

The Unicon optimizing compiler successfully compiled and ran threaded programs. The timing results are shown in the graph to the right.

Project Learning

Resources

  • Programming with POSIX Threads by David R. Butenhof

Design

Schedule

These are the steps followed for the IDE team and Uniconc team.

IDE

  • Source familiarity
  • Report if cursor is on a procedure
  • Generate table for builtin lookup
  • Merge Builtin table with user procedures table
  • Bring up documents on builtins
  • Jump to user defined procedures
  • Right-click functionality
  • Design Expo

Uniconc

  • Source familiarity
  • Compile with concurrency without error
  • Compile with concurrency and translated macros
  • Compiles & links standard Unicon program
  • Compiles & links threaded Unicon program
  • Executes threaded Unicon programs
  • Executes entire Unicon Benchmark Suite
  • New Unicon technical report written documenting concurrent Iconc
  • Design Expo

Team Information

Picture Discipline
2014 unicondevelopment west2737.jpg

Ian Westrope
Wiki-master

Senior, Computer Science
2014 unicondevelopment newt5502.jpg

Shea Newton
Documentation wizard

Senior, Computer Science
2014 unicondevelopment serendel.jpg

Serendel Macphereson
Client Emissary

Senior, Computer Science


Documentation Archive

Design Review Slideshow
Github Repo
File:2014 unicondevelopment poster.pdf
File:2014 unicondevelopment tech presentation.pdf