Department of Computer Science

Laboratory for Software Design

Eos: A Unified Aspect-oriented Extension of C#

Got a question?

Got a question or comment? Contact us at (515) 294-6168 or

What is Eos?

Eos is a unified aspect-oriented extension for C# on Microsoft® .NET Framework™. Eos unifies aspects and objects in three ways. First, it unifies aspects and classes as classpects. A classpect has all the capabilities of classes, all of essential capabilities of aspects in AspectJ--like languages, and the extensions to aspects needed to make them first class objects. Second, the unified model eliminates advice in favor of using methods only, with a separate and explicit join-point-method binding construct. Third, it supports a generalized advising model. To the usual object-oriented mechanisms of explicit or implicit method call and overriding based on inheritance the unified model adds implicit invocation using before and after binding, and overriding using around binding, respectively. Eos is simple and easy to understand because it has fewer new language concepts and constructs.

Status of the Eos Language and its Compiler.

The Eos language and its compiler are no longer actively maintained. It has been succeeded by the Ptolemy programming language. Ptolemy also provides all of the benefits of Eos such as a unified, simpler language model and a generalized advising model. In addition, Ptolemy also has benefits in terms of modular understanding and verification of separated concerns. For more information about Ptolemy see its web-page that also makes download for the Ptolemy compiler available.

Latest News and Developments.

Jun 06: Eos 0.3.4 is released and is available for download now. It contains fixed bugs and new examples.

Mar 06: If you are interested in Eos, you might also want to look at Nu

Nov 05: Eos implementation discussed at the Microsoft Research Workshop AOP Goes .NET..

Aug 05: Eos moved to the Department of Computer Science at the Iowa State University. Old Eos web-site is available from the Department of Computer Science at the University of Virginia link here.

July 05: Eos is featured in an article on CodeProject by Shivprasad koirala.

Jun 05: Eos 0.3.3 is available now, contains more bug fixes.

Jun 05: Eos 0.3.2 is available now, contains more bug fixes.

Apr 05: Eos 0.3.1 is available now, contains bug fixes to Eos-0.3.

Mar 05: A new VS.NET Add-In for EOS is available for download from here.

Mar 05: Eos 0.3 Beta is available now, contains new features.

Oct 04: A research variant of Eos, "Eos-T" and associated tool is available now from here.

Sept 04: Eos featured in an article by Igor Milovanovic here.

Aug 04: Eos featured on SharpToolBox here.

Jun 04: Eos 0.2.2 is available now, contains more bug fixes.

May 04: Eos 0.2.1 is available, this release contains bug fixes.

Feb 04: After much wait Eos 0.2 Beta version is available from the download page.

Jan 04: New discussion list for Eos. The List can be accessed from e-mail list or by sending an e-mail to

Sept 03: First and preliminary version of Eos (0.1) is available for free for research and teaching purposes and for evaluation for commercial purposes from the download page. Send us an e-mail [] for more details.