Unicon Development
Team Unicon Development. | |
Team Name | Unicon Development |
Duration | Fall 2014 - Spring 2015 |
Client | Dr. Clinton Jeffery |
Faculty Advisors | |
Students |
|
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.
- Enhancing Unicon’s C-based optimizing compiler Iconc, and its runtime system code to support concurrency features built using pthreads.
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 |
---|---|
Ian Westrope
|
Senior, Computer Science |
Shea Newton
|
Senior, Computer Science |
Serendel Macphereson
|
Senior, Computer Science |
Documentation Archive
Design Review Slideshow
Github Repo
File:2014 unicondevelopment poster.pdf
File:2014 unicondevelopment tech presentation.pdf