<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://aeminium.dei.uc.pt/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Alcides</id>
		<title>Aeminium - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://aeminium.dei.uc.pt/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Alcides"/>
		<link rel="alternate" type="text/html" href="http://aeminium.dei.uc.pt/index.php/Special:Contributions/Alcides"/>
		<updated>2026-08-04T00:31:49Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.25.1</generator>

	<entry>
		<id>http://aeminium.dei.uc.pt/index.php?title=Dissemination&amp;diff=1737</id>
		<title>Dissemination</title>
		<link rel="alternate" type="text/html" href="http://aeminium.dei.uc.pt/index.php?title=Dissemination&amp;diff=1737"/>
				<updated>2013-07-29T10:03:50Z</updated>
		
		<summary type="html">&lt;p&gt;Alcides: /* Publications in Journals */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Publications in Conferences==&lt;br /&gt;
&lt;br /&gt;
Néstor Cataño and Ijaz Ahmed and Jonathan Aldrich and Radu Siminiceanu, Lightweight Verification of a Multi-Task Threaded Server, in Science of Computer Programming, 2013. [http://www.sciencedirect.com/science/article/pii/S0167642313000178]&lt;br /&gt;
&lt;br /&gt;
Alcides Fonseca and Cabral, B. ,AeminiumGPU: An Intelligent Framework for GPU Programming, in Facing the Multicore-Challenge III, 2013 [http://aeminium.dei.uc.pt/images/e/e8/Mc12_aeminiumgpu_an_inteligent_framework_for_gpu_programming.pdf]&lt;br /&gt;
&lt;br /&gt;
Radu I. Siminiceanu Ijaz Ahmed and Néstor Catanõ, Automated Verification of Specifications with Typestates and Access Permissions, in Proceedings of the 12th International Workshop on Automated Verification of Critical Systems (AVoCS 2012), Electronic Communications of the EASST, September 2012.&lt;br /&gt;
&lt;br /&gt;
C. Olarte and E. Pimentel and N. Cataño and C. Rueda, A Linear Concurrent Constraint approach for the automatic verification of access permissions, in Proceedings of the 14th symposium on Principles and practice of declarative programming (PPDP), ACM Press, September 2012.&lt;br /&gt;
&lt;br /&gt;
Alcides Fonseca, Bruno Cabral, Handling Exceptions in Programs with Hidden Concurrency: New Challenges for &amp;quot;Old&amp;quot; Solutions, in ICSE'12 Workshop Proceedings, 5th International Workshop on Exception Handling (WEH.12), Zurich, Switzerland, June, 2012. [http://aeminium.dei.uc.pt/images/3/39/Weh12_exceptions_in_programs_with_hidden_concurrency.pdf]&lt;br /&gt;
&lt;br /&gt;
Néstor Cataño and Ijaz Ahmed, Lightweight Veriﬁcation of a Multi-Task Threaded Server: A Case Study With The Plural Tool, in Proceedings of 16th International Workshop on Formal Methods for Industrial Critical Systems (FMICS'11), Trento, Italy, August 29-30, 2011 [http://aeminium.dei.uc.pt/images/6/67/Mtts.pdf]&lt;br /&gt;
&lt;br /&gt;
Nels E. Beckman, Duri Kim, and Jonathan Aldrich, An Empirical Study of Object Protocols in the Wild, in Proceedings of the European Conference on Object-Oriented Programming (ECOOP '11), 2011. [http://www.cs.cmu.edu/~aldrich/papers/aldrich-empirical-ecoop11.pdf]&lt;br /&gt;
&lt;br /&gt;
Roger Wolff, Ronald Garcia, Éric Tanter, and Jonathan Aldrich, Gradual Typestate, in Proceedings of the European Conference on Object-Oriented Programming (ECOOP '11), 2011. [http://www.cs.cmu.edu/~aldrich/papers/aldrich-gradual-ecoop11.pdf]&lt;br /&gt;
&lt;br /&gt;
Ligia Nistor and Jonathan Aldrich, Verifying Object-Oriented Code Using Object Propositions, in International Workshop on Aliasing, Confinement and Ownership in object-oriented programming (IWACO), 2011.  [http://www.cs.cmu.edu/~aldrich/papers/nistor-iwaco11.pdf]&lt;br /&gt;
&lt;br /&gt;
Joshua Sunshine, Karl Naden, Sven Stork, Jonathan Aldrich, and Éric Tanter, First-Class State Change in Plaid, To appear in Proceedings of Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA '11), 2011, [http://www.cs.cmu.edu/~aldrich/papers/plaid-oopsla11.pdf]&lt;br /&gt;
&lt;br /&gt;
David Alves, Pedro Bizarro and Paulo Marques, Deadline Queries: Leveraging the Cloud to Produce On-Time Results, in Proceedings of the Fourth IEEE International Conference on Cloud Computing (CLOUD 2011), July 4-9, 2011, Washington Marriott, Washington DC, USA, [http://aeminium.dei.uc.pt/images/5/5a/Paper_cloud_2011_cr_final_v2.pdf]&lt;br /&gt;
&lt;br /&gt;
Jonathan Aldrich, Ronald Garcia, Mark Hahnenberg, Manuel Mohr, Karl Naden, Darpan Saini, Sven Stork, Joshua Sunshine, Éric Tanter, and Roger Wolff, &lt;br /&gt;
Permission-Based Programming Languages (NIER Track), in Proceedings of the International Conference on Software Engineering (ICSE '11), New Ideas and Emerging Results Track, 2011, [http://www.cs.cmu.edu/~aldrich/papers/plaid-NIER2010.pdf]&lt;br /&gt;
&lt;br /&gt;
Filipe Militão, Jonathan Aldrich, and Luís Caires, Aliasing Control with View-Based Typestate, in Proceedings of Formal Techniques for Java Like Programs (FTfJP), 2010. [http://www.cs.cmu.edu/~aldrich/papers/ftfjp2010-view.pdf]&lt;br /&gt;
&lt;br /&gt;
Sven Stork, Paulo Marques, Jonathan Aldrich. Concurrency by Default: Using Permissions to Express Dataflow in Stateful Programs. Onward! Conference, Orlando, Florida, USA, October, 2009, [http://www.cs.cmu.edu/~svens/papers/onward-2009.pdf].&lt;br /&gt;
&lt;br /&gt;
== PhD Thesis ==&lt;br /&gt;
&lt;br /&gt;
Sven Stork, ÆMINIUM - Freeing Programmers from the Shackles of Sequentiality, thesis submitted to the University of Coimbra and Carnegie Mellon University in fulfilment of the requirement for the degree of Doctor of Philosophy, March 2013. [http://www.cs.cmu.edu/~svens/papers/PhD_Thesis__Sven_Stork.pdf]&lt;br /&gt;
&lt;br /&gt;
Ijaz Ahmed, On the Formal Verification of Specifications based on Typestates with Access Permissions, thesis submitted to the University of Madeira in fulfilment of the requirement for the degree of Doctor of Philosophy, December 2012.&lt;br /&gt;
&lt;br /&gt;
Alcides Fonseca, Strategies for Optimization of Parallel Programs, PhD Thesis Proposal, Coimbra, Portugal, September 2012. [http://aeminium.dei.uc.pt/images/4/4e/Thesis_proposal.pdf]&lt;br /&gt;
&lt;br /&gt;
== Master Thesis ==&lt;br /&gt;
&lt;br /&gt;
João Rafael, A programming language for parallel event-driven development, thesis to be submitted to the University of Coimbra for obtaining the Masters’ Degree in Informatics Engineering, September 2013.&lt;br /&gt;
&lt;br /&gt;
Cristiano Gonçalves, Runtime Optimization of Programs for the Æminium Platform, thesis submitted to the University of Coimbra for obtaining the Masters’ Degree in Informatics Engineering, July 2013 [http://aeminium.dei.uc.pt/images/c/c2/Tese_cristiano.pdf]&lt;br /&gt;
&lt;br /&gt;
Alcides Fonseca, ÆminiumGPU: A CPU-GPU Hybrid Runtime for the Æminium Language, thesis submitted to the University of Coimbra for obtaining the Masters’ Degree in Informatics Engineering, September 2011 [http://aeminium.dei.uc.pt/images/7/73/Alcides_fonseca_msc_thesis.pdf]&lt;br /&gt;
&lt;br /&gt;
Manuel Mohr, AEminium Compilation Theory in the Context of the Plaid Language, Diploma thesis submitted to the Karlsruhe Institute of&lt;br /&gt;
Technology, February 2011 [http://pp.info.uni-karlsruhe.de/~mohr/DiplomaThesisMohr.pdf]&lt;br /&gt;
&lt;br /&gt;
== Technical Reports ==&lt;br /&gt;
&lt;br /&gt;
Sven Stork, Jonathan Aldrich, Paulo Marques, μÆminium Language Specification, Technical Report CMU-ISR-10-125R2, Carnegie Mellon University, Pittsburgh, USA, February, 2012. [http://www.cs.cmu.edu/~svens/papers/tr-uaeminium-2012.pdf]&lt;br /&gt;
&lt;br /&gt;
Néstor Cataño and Radu Siminiceanu. Automated Verification of Specifications with Typestates and Access Permissions. NASA Langley Research Center, NASA/CR-2011-217170, 2011. [http://aeminium.dei.uc.pt/images/4/48/20110014510_2011015139.pdf]&lt;br /&gt;
&lt;br /&gt;
== Public Presentations ==&lt;br /&gt;
&lt;br /&gt;
MultiCore 2013: [http://aeminium.dei.uc.pt/images/6/6b/%C3%86miniumGPU_decider.pdf AEminiumGPU_decider.pdf]&lt;br /&gt;
&lt;br /&gt;
Workshop in Exception Handling 2012: [http://aeminium.dei.uc.pt/images/f/f8/Handling_Faults_in_Programs_with_Hidden_Concurrency.pdf Handling_Faults_in_Programs_with_Hidden_Concurrency.pdf]&lt;br /&gt;
&lt;br /&gt;
Jonathan Aldrich, Ronald Garcia, Mark Hahnenberg, Manuel Mohr, Karl Naden, Darpan Saini, Sven Stork, Joshua Sunshine, Éric Tanter, and Roger Wolff.  Permission-Based Programming Languages (NIER Track). At the International Conference on Software Engineering (ICSE '11), New Ideas and Emerging Results Track, 2011 [http://aeminium.dei.uc.pt/images/9/91/Plaidpermissions-icsenier-may11.pdf Plaidpermissions-icsenier-may11.pdf]&lt;br /&gt;
&lt;br /&gt;
Concurrency-Workshop 2010: [http://aeminium.dei.uc.pt/images/a/ae/AEminium-in-a-Nutshell.pdf AEminium-in-a-Nutshell.pdf]&lt;br /&gt;
&lt;br /&gt;
UC/Seminar presentation January 2009: [http://aeminium.dei.uc.pt/images/1/1e/Designing-a-Concurrent-Programming-Language.pdf Designing-a-Concurrent-Programming-Language.pdf]&lt;br /&gt;
&lt;br /&gt;
SSSG talk 2009: [http://aeminium.dei.uc.pt/images/a/a6/SSSG-Conurrency-by-Default.pdf SSSG-Concurrency-by-Default.pdf]&lt;br /&gt;
&lt;br /&gt;
PhD-Proposal short presentation: [http://aeminium.dei.uc.pt/images/6/6c/Concurrent-Programming-via-Access-Permissions.pdf Concurrent-Programming-via-Access-Permissions.pdf]&lt;br /&gt;
&lt;br /&gt;
Phd-Proposal UC: [http://aeminium.dei.uc.pt/images/f/f6/PhD-Proposal-Defense-UC.pdf PhD-Proposal-Defense-UC.pdf]&lt;br /&gt;
&lt;br /&gt;
Onward 2009: [http://aeminium.dei.uc.pt/images/f/ff/Concurrency-By-Default.pdf Concurreny-By-Default.pdf]&lt;br /&gt;
&lt;br /&gt;
SSSG 2008: [http://aeminium.dei.uc.pt/images/e/e2/ParallelProgrammingModels.pdf Parallel-Programming-Models.pdf]&lt;br /&gt;
&lt;br /&gt;
SSSG 2008: [http://aeminium.dei.uc.pt/images/d/d5/SSSG-CurrentResearch.pdf SSSG-CurrentResearch.pdf]&lt;br /&gt;
&lt;br /&gt;
== Internal Presentations ==&lt;br /&gt;
&lt;br /&gt;
July 2011: [http://aeminium.dei.uc.pt/images/6/6a/Presentation.pdf Pulse: Plural To EVMDD-SMC - The Compiler and Model Generator]&lt;br /&gt;
&lt;br /&gt;
March 2011 at Novabase: [http://aeminium.dei.uc.pt/images/0/05/Novabase.pdf Lightweight Verification of a Multi-Task Threaded Server: A Case Study With The Plural Tool]&lt;/div&gt;</summary>
		<author><name>Alcides</name></author>	</entry>

	<entry>
		<id>http://aeminium.dei.uc.pt/index.php?title=Documentation&amp;diff=1736</id>
		<title>Documentation</title>
		<link rel="alternate" type="text/html" href="http://aeminium.dei.uc.pt/index.php?title=Documentation&amp;diff=1736"/>
				<updated>2013-07-29T00:39:48Z</updated>
		
		<summary type="html">&lt;p&gt;Alcides: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Documentation of Æminium is split in several components:&lt;br /&gt;
&lt;br /&gt;
* [https://code.google.com/p/plaid-lang/wiki/GettingStarted AeminiumCompiler Getting Started]&lt;br /&gt;
* [[DocumentationAeminiumRuntime|AeminiumRuntime Documentation]]&lt;br /&gt;
** [[DocumentationAeminiumRuntimeProfiler|Profiler Documentation]]&lt;br /&gt;
** [https://github.com/AEminium/AeminiumGPUCompiler/blob/master/Readme.txt AeminiumGPU Getting Started]&lt;/div&gt;</summary>
		<author><name>Alcides</name></author>	</entry>

	<entry>
		<id>http://aeminium.dei.uc.pt/index.php?title=ToolsAndDownloads&amp;diff=1735</id>
		<title>ToolsAndDownloads</title>
		<link rel="alternate" type="text/html" href="http://aeminium.dei.uc.pt/index.php?title=ToolsAndDownloads&amp;diff=1735"/>
				<updated>2013-07-29T00:36:42Z</updated>
		
		<summary type="html">&lt;p&gt;Alcides: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Aeminium Compiler (CMU) ==&lt;br /&gt;
&lt;br /&gt;
The Æminium Compiler translates the Æminium language to Java source code with calls to the Æminium Runtime. The Æminium Language uses the [https://code.google.com/p/plaid-lang/ Plaid Language] and the code lives in the same repository, specifically under the [https://code.google.com/p/plaid-lang/source/browse/#hg%2Faeminiumcodegen aeminiumcodegen] subproject.&lt;br /&gt;
&lt;br /&gt;
An example of a simple WebServer written in Æminium can be seen [https://code.google.com/p/plaid-lang/source/browse/AeminiumExamples/pld/plaid/examples/webserver/plaid/WebServer.plaid here].&lt;br /&gt;
&lt;br /&gt;
== Aeminium Runtime (U. Coimbra) ==&lt;br /&gt;
&lt;br /&gt;
[https://github.com/AEminium/AeminiumRuntime Aeminium Runtime] is a Java library that supports the runtime elements of Æminium programs. This includes a work-stealing scheduler, task management and dependency checker, runtime optimizations, locking, etc. It also features a Profiler that can be used to understand what is happening inside the runtime in Æminium programs.&lt;br /&gt;
&lt;br /&gt;
[https://github.com/AEminium/AeminiumBenchmarks Aeminium Benchmarks] is a collection of sequential java, fork-join java and aeminium programs from different benchmarks, such as Fibonacci, FFT, MergeSort, BFS, NBody, etc. These programs are used to evaluate the performance of the Runtime.&lt;br /&gt;
&lt;br /&gt;
[https://github.com/AEminium/AeminiumGPU AeminiumGPU] is a runtime that supports the execution of AeminiumPrograms on GPUs using a Map-Reduce approach. This is complemented by the [https://github.com/AEminium/AeminiumGPUCompiler AeminiumGPU Compiler] that translates Java into OpenCL, so the programmer only has to write Java to have programs running on both CPU or GPU.&lt;br /&gt;
&lt;br /&gt;
[https://github.com/AEminium/java2aeminium j2jpar] is a compiler that receives sequential Java and outputs the same program, parallelized using the Aeminium Runtime as support for concurrency management.&lt;br /&gt;
&lt;br /&gt;
[https://github.com/AEminium/ceco CECO] is a Scala library for writing parallel and concurrent programs with sane support for exceptions across concurrent actors.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Verification (U. Madeira) ==&lt;br /&gt;
&lt;br /&gt;
[http://193.136.232.100/~ncatano/Projects/aeminium/Pulse.html Pulse] is a model-checking tool of Plural specifications. It has been implemented as a plug-in of the Plural tool. It translates Plural specifications into an abstract model-checking model that is then used as an input of the EVMDD model-checker.&lt;/div&gt;</summary>
		<author><name>Alcides</name></author>	</entry>

	<entry>
		<id>http://aeminium.dei.uc.pt/index.php?title=Dissemination&amp;diff=1734</id>
		<title>Dissemination</title>
		<link rel="alternate" type="text/html" href="http://aeminium.dei.uc.pt/index.php?title=Dissemination&amp;diff=1734"/>
				<updated>2013-07-29T00:22:52Z</updated>
		
		<summary type="html">&lt;p&gt;Alcides: /* Public Presentations */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Publications in Journals==&lt;br /&gt;
&lt;br /&gt;
Sven Stork, Karl Naden, Joshua Sunshine, Manuel Mohr, Alcides Fonseca, Paulo Marques, and Jonathan Aldrich. Æminium: A Permission Based Concurrent-by-Default Programming Language Approach. (To appear in next TOPLAS).&lt;br /&gt;
&lt;br /&gt;
== Publications in Conferences==&lt;br /&gt;
&lt;br /&gt;
Néstor Cataño and Ijaz Ahmed and Jonathan Aldrich and Radu Siminiceanu, Lightweight Verification of a Multi-Task Threaded Server, in Science of Computer Programming, 2013. [http://www.sciencedirect.com/science/article/pii/S0167642313000178]&lt;br /&gt;
&lt;br /&gt;
Alcides Fonseca and Cabral, B. ,AeminiumGPU: An Intelligent Framework for GPU Programming, in Facing the Multicore-Challenge III, 2013 [http://aeminium.dei.uc.pt/images/e/e8/Mc12_aeminiumgpu_an_inteligent_framework_for_gpu_programming.pdf]&lt;br /&gt;
&lt;br /&gt;
Radu I. Siminiceanu Ijaz Ahmed and Néstor Catanõ, Automated Verification of Specifications with Typestates and Access Permissions, in Proceedings of the 12th International Workshop on Automated Verification of Critical Systems (AVoCS 2012), Electronic Communications of the EASST, September 2012.&lt;br /&gt;
&lt;br /&gt;
C. Olarte and E. Pimentel and N. Cataño and C. Rueda, A Linear Concurrent Constraint approach for the automatic verification of access permissions, in Proceedings of the 14th symposium on Principles and practice of declarative programming (PPDP), ACM Press, September 2012.&lt;br /&gt;
&lt;br /&gt;
Alcides Fonseca, Bruno Cabral, Handling Exceptions in Programs with Hidden Concurrency: New Challenges for &amp;quot;Old&amp;quot; Solutions, in ICSE'12 Workshop Proceedings, 5th International Workshop on Exception Handling (WEH.12), Zurich, Switzerland, June, 2012. [http://aeminium.dei.uc.pt/images/3/39/Weh12_exceptions_in_programs_with_hidden_concurrency.pdf]&lt;br /&gt;
&lt;br /&gt;
Néstor Cataño and Ijaz Ahmed, Lightweight Veriﬁcation of a Multi-Task Threaded Server: A Case Study With The Plural Tool, in Proceedings of 16th International Workshop on Formal Methods for Industrial Critical Systems (FMICS'11), Trento, Italy, August 29-30, 2011 [http://aeminium.dei.uc.pt/images/6/67/Mtts.pdf]&lt;br /&gt;
&lt;br /&gt;
Nels E. Beckman, Duri Kim, and Jonathan Aldrich, An Empirical Study of Object Protocols in the Wild, in Proceedings of the European Conference on Object-Oriented Programming (ECOOP '11), 2011. [http://www.cs.cmu.edu/~aldrich/papers/aldrich-empirical-ecoop11.pdf]&lt;br /&gt;
&lt;br /&gt;
Roger Wolff, Ronald Garcia, Éric Tanter, and Jonathan Aldrich, Gradual Typestate, in Proceedings of the European Conference on Object-Oriented Programming (ECOOP '11), 2011. [http://www.cs.cmu.edu/~aldrich/papers/aldrich-gradual-ecoop11.pdf]&lt;br /&gt;
&lt;br /&gt;
Ligia Nistor and Jonathan Aldrich, Verifying Object-Oriented Code Using Object Propositions, in International Workshop on Aliasing, Confinement and Ownership in object-oriented programming (IWACO), 2011.  [http://www.cs.cmu.edu/~aldrich/papers/nistor-iwaco11.pdf]&lt;br /&gt;
&lt;br /&gt;
Joshua Sunshine, Karl Naden, Sven Stork, Jonathan Aldrich, and Éric Tanter, First-Class State Change in Plaid, To appear in Proceedings of Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA '11), 2011, [http://www.cs.cmu.edu/~aldrich/papers/plaid-oopsla11.pdf]&lt;br /&gt;
&lt;br /&gt;
David Alves, Pedro Bizarro and Paulo Marques, Deadline Queries: Leveraging the Cloud to Produce On-Time Results, in Proceedings of the Fourth IEEE International Conference on Cloud Computing (CLOUD 2011), July 4-9, 2011, Washington Marriott, Washington DC, USA, [http://aeminium.dei.uc.pt/images/5/5a/Paper_cloud_2011_cr_final_v2.pdf]&lt;br /&gt;
&lt;br /&gt;
Jonathan Aldrich, Ronald Garcia, Mark Hahnenberg, Manuel Mohr, Karl Naden, Darpan Saini, Sven Stork, Joshua Sunshine, Éric Tanter, and Roger Wolff, &lt;br /&gt;
Permission-Based Programming Languages (NIER Track), in Proceedings of the International Conference on Software Engineering (ICSE '11), New Ideas and Emerging Results Track, 2011, [http://www.cs.cmu.edu/~aldrich/papers/plaid-NIER2010.pdf]&lt;br /&gt;
&lt;br /&gt;
Filipe Militão, Jonathan Aldrich, and Luís Caires, Aliasing Control with View-Based Typestate, in Proceedings of Formal Techniques for Java Like Programs (FTfJP), 2010. [http://www.cs.cmu.edu/~aldrich/papers/ftfjp2010-view.pdf]&lt;br /&gt;
&lt;br /&gt;
Sven Stork, Paulo Marques, Jonathan Aldrich. Concurrency by Default: Using Permissions to Express Dataflow in Stateful Programs. Onward! Conference, Orlando, Florida, USA, October, 2009, [http://www.cs.cmu.edu/~svens/papers/onward-2009.pdf].&lt;br /&gt;
&lt;br /&gt;
== PhD Thesis ==&lt;br /&gt;
&lt;br /&gt;
Sven Stork, ÆMINIUM - Freeing Programmers from the Shackles of Sequentiality, thesis submitted to the University of Coimbra and Carnegie Mellon University in fulfilment of the requirement for the degree of Doctor of Philosophy, March 2013. [http://www.cs.cmu.edu/~svens/papers/PhD_Thesis__Sven_Stork.pdf]&lt;br /&gt;
&lt;br /&gt;
Ijaz Ahmed, On the Formal Verification of Specifications based on Typestates with Access Permissions, thesis submitted to the University of Madeira in fulfilment of the requirement for the degree of Doctor of Philosophy, December 2012.&lt;br /&gt;
&lt;br /&gt;
Alcides Fonseca, Strategies for Optimization of Parallel Programs, PhD Thesis Proposal, Coimbra, Portugal, September 2012. [http://aeminium.dei.uc.pt/images/4/4e/Thesis_proposal.pdf]&lt;br /&gt;
&lt;br /&gt;
== Master Thesis ==&lt;br /&gt;
&lt;br /&gt;
João Rafael, A programming language for parallel event-driven development, thesis to be submitted to the University of Coimbra for obtaining the Masters’ Degree in Informatics Engineering, September 2013.&lt;br /&gt;
&lt;br /&gt;
Cristiano Gonçalves, Runtime Optimization of Programs for the Æminium Platform, thesis submitted to the University of Coimbra for obtaining the Masters’ Degree in Informatics Engineering, July 2013 [http://aeminium.dei.uc.pt/images/c/c2/Tese_cristiano.pdf]&lt;br /&gt;
&lt;br /&gt;
Alcides Fonseca, ÆminiumGPU: A CPU-GPU Hybrid Runtime for the Æminium Language, thesis submitted to the University of Coimbra for obtaining the Masters’ Degree in Informatics Engineering, September 2011 [http://aeminium.dei.uc.pt/images/7/73/Alcides_fonseca_msc_thesis.pdf]&lt;br /&gt;
&lt;br /&gt;
Manuel Mohr, AEminium Compilation Theory in the Context of the Plaid Language, Diploma thesis submitted to the Karlsruhe Institute of&lt;br /&gt;
Technology, February 2011 [http://pp.info.uni-karlsruhe.de/~mohr/DiplomaThesisMohr.pdf]&lt;br /&gt;
&lt;br /&gt;
== Technical Reports ==&lt;br /&gt;
&lt;br /&gt;
Sven Stork, Jonathan Aldrich, Paulo Marques, μÆminium Language Specification, Technical Report CMU-ISR-10-125R2, Carnegie Mellon University, Pittsburgh, USA, February, 2012. [http://www.cs.cmu.edu/~svens/papers/tr-uaeminium-2012.pdf]&lt;br /&gt;
&lt;br /&gt;
Néstor Cataño and Radu Siminiceanu. Automated Verification of Specifications with Typestates and Access Permissions. NASA Langley Research Center, NASA/CR-2011-217170, 2011. [http://aeminium.dei.uc.pt/images/4/48/20110014510_2011015139.pdf]&lt;br /&gt;
&lt;br /&gt;
== Public Presentations ==&lt;br /&gt;
&lt;br /&gt;
MultiCore 2013: [http://aeminium.dei.uc.pt/images/6/6b/%C3%86miniumGPU_decider.pdf AEminiumGPU_decider.pdf]&lt;br /&gt;
&lt;br /&gt;
Workshop in Exception Handling 2012: [http://aeminium.dei.uc.pt/images/f/f8/Handling_Faults_in_Programs_with_Hidden_Concurrency.pdf Handling_Faults_in_Programs_with_Hidden_Concurrency.pdf]&lt;br /&gt;
&lt;br /&gt;
Jonathan Aldrich, Ronald Garcia, Mark Hahnenberg, Manuel Mohr, Karl Naden, Darpan Saini, Sven Stork, Joshua Sunshine, Éric Tanter, and Roger Wolff.  Permission-Based Programming Languages (NIER Track). At the International Conference on Software Engineering (ICSE '11), New Ideas and Emerging Results Track, 2011 [http://aeminium.dei.uc.pt/images/9/91/Plaidpermissions-icsenier-may11.pdf Plaidpermissions-icsenier-may11.pdf]&lt;br /&gt;
&lt;br /&gt;
Concurrency-Workshop 2010: [http://aeminium.dei.uc.pt/images/a/ae/AEminium-in-a-Nutshell.pdf AEminium-in-a-Nutshell.pdf]&lt;br /&gt;
&lt;br /&gt;
UC/Seminar presentation January 2009: [http://aeminium.dei.uc.pt/images/1/1e/Designing-a-Concurrent-Programming-Language.pdf Designing-a-Concurrent-Programming-Language.pdf]&lt;br /&gt;
&lt;br /&gt;
SSSG talk 2009: [http://aeminium.dei.uc.pt/images/a/a6/SSSG-Conurrency-by-Default.pdf SSSG-Concurrency-by-Default.pdf]&lt;br /&gt;
&lt;br /&gt;
PhD-Proposal short presentation: [http://aeminium.dei.uc.pt/images/6/6c/Concurrent-Programming-via-Access-Permissions.pdf Concurrent-Programming-via-Access-Permissions.pdf]&lt;br /&gt;
&lt;br /&gt;
Phd-Proposal UC: [http://aeminium.dei.uc.pt/images/f/f6/PhD-Proposal-Defense-UC.pdf PhD-Proposal-Defense-UC.pdf]&lt;br /&gt;
&lt;br /&gt;
Onward 2009: [http://aeminium.dei.uc.pt/images/f/ff/Concurrency-By-Default.pdf Concurreny-By-Default.pdf]&lt;br /&gt;
&lt;br /&gt;
SSSG 2008: [http://aeminium.dei.uc.pt/images/e/e2/ParallelProgrammingModels.pdf Parallel-Programming-Models.pdf]&lt;br /&gt;
&lt;br /&gt;
SSSG 2008: [http://aeminium.dei.uc.pt/images/d/d5/SSSG-CurrentResearch.pdf SSSG-CurrentResearch.pdf]&lt;br /&gt;
&lt;br /&gt;
== Internal Presentations ==&lt;br /&gt;
&lt;br /&gt;
July 2011: [http://aeminium.dei.uc.pt/images/6/6a/Presentation.pdf Pulse: Plural To EVMDD-SMC - The Compiler and Model Generator]&lt;br /&gt;
&lt;br /&gt;
March 2011 at Novabase: [http://aeminium.dei.uc.pt/images/0/05/Novabase.pdf Lightweight Verification of a Multi-Task Threaded Server: A Case Study With The Plural Tool]&lt;/div&gt;</summary>
		<author><name>Alcides</name></author>	</entry>

	<entry>
		<id>http://aeminium.dei.uc.pt/index.php?title=Dissemination&amp;diff=1733</id>
		<title>Dissemination</title>
		<link rel="alternate" type="text/html" href="http://aeminium.dei.uc.pt/index.php?title=Dissemination&amp;diff=1733"/>
				<updated>2013-07-29T00:18:42Z</updated>
		
		<summary type="html">&lt;p&gt;Alcides: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Publications in Journals==&lt;br /&gt;
&lt;br /&gt;
Sven Stork, Karl Naden, Joshua Sunshine, Manuel Mohr, Alcides Fonseca, Paulo Marques, and Jonathan Aldrich. Æminium: A Permission Based Concurrent-by-Default Programming Language Approach. (To appear in next TOPLAS).&lt;br /&gt;
&lt;br /&gt;
== Publications in Conferences==&lt;br /&gt;
&lt;br /&gt;
Néstor Cataño and Ijaz Ahmed and Jonathan Aldrich and Radu Siminiceanu, Lightweight Verification of a Multi-Task Threaded Server, in Science of Computer Programming, 2013. [http://www.sciencedirect.com/science/article/pii/S0167642313000178]&lt;br /&gt;
&lt;br /&gt;
Alcides Fonseca and Cabral, B. ,AeminiumGPU: An Intelligent Framework for GPU Programming, in Facing the Multicore-Challenge III, 2013 [http://aeminium.dei.uc.pt/images/e/e8/Mc12_aeminiumgpu_an_inteligent_framework_for_gpu_programming.pdf]&lt;br /&gt;
&lt;br /&gt;
Radu I. Siminiceanu Ijaz Ahmed and Néstor Catanõ, Automated Verification of Specifications with Typestates and Access Permissions, in Proceedings of the 12th International Workshop on Automated Verification of Critical Systems (AVoCS 2012), Electronic Communications of the EASST, September 2012.&lt;br /&gt;
&lt;br /&gt;
C. Olarte and E. Pimentel and N. Cataño and C. Rueda, A Linear Concurrent Constraint approach for the automatic verification of access permissions, in Proceedings of the 14th symposium on Principles and practice of declarative programming (PPDP), ACM Press, September 2012.&lt;br /&gt;
&lt;br /&gt;
Alcides Fonseca, Bruno Cabral, Handling Exceptions in Programs with Hidden Concurrency: New Challenges for &amp;quot;Old&amp;quot; Solutions, in ICSE'12 Workshop Proceedings, 5th International Workshop on Exception Handling (WEH.12), Zurich, Switzerland, June, 2012. [http://aeminium.dei.uc.pt/images/3/39/Weh12_exceptions_in_programs_with_hidden_concurrency.pdf]&lt;br /&gt;
&lt;br /&gt;
Néstor Cataño and Ijaz Ahmed, Lightweight Veriﬁcation of a Multi-Task Threaded Server: A Case Study With The Plural Tool, in Proceedings of 16th International Workshop on Formal Methods for Industrial Critical Systems (FMICS'11), Trento, Italy, August 29-30, 2011 [http://aeminium.dei.uc.pt/images/6/67/Mtts.pdf]&lt;br /&gt;
&lt;br /&gt;
Nels E. Beckman, Duri Kim, and Jonathan Aldrich, An Empirical Study of Object Protocols in the Wild, in Proceedings of the European Conference on Object-Oriented Programming (ECOOP '11), 2011. [http://www.cs.cmu.edu/~aldrich/papers/aldrich-empirical-ecoop11.pdf]&lt;br /&gt;
&lt;br /&gt;
Roger Wolff, Ronald Garcia, Éric Tanter, and Jonathan Aldrich, Gradual Typestate, in Proceedings of the European Conference on Object-Oriented Programming (ECOOP '11), 2011. [http://www.cs.cmu.edu/~aldrich/papers/aldrich-gradual-ecoop11.pdf]&lt;br /&gt;
&lt;br /&gt;
Ligia Nistor and Jonathan Aldrich, Verifying Object-Oriented Code Using Object Propositions, in International Workshop on Aliasing, Confinement and Ownership in object-oriented programming (IWACO), 2011.  [http://www.cs.cmu.edu/~aldrich/papers/nistor-iwaco11.pdf]&lt;br /&gt;
&lt;br /&gt;
Joshua Sunshine, Karl Naden, Sven Stork, Jonathan Aldrich, and Éric Tanter, First-Class State Change in Plaid, To appear in Proceedings of Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA '11), 2011, [http://www.cs.cmu.edu/~aldrich/papers/plaid-oopsla11.pdf]&lt;br /&gt;
&lt;br /&gt;
David Alves, Pedro Bizarro and Paulo Marques, Deadline Queries: Leveraging the Cloud to Produce On-Time Results, in Proceedings of the Fourth IEEE International Conference on Cloud Computing (CLOUD 2011), July 4-9, 2011, Washington Marriott, Washington DC, USA, [http://aeminium.dei.uc.pt/images/5/5a/Paper_cloud_2011_cr_final_v2.pdf]&lt;br /&gt;
&lt;br /&gt;
Jonathan Aldrich, Ronald Garcia, Mark Hahnenberg, Manuel Mohr, Karl Naden, Darpan Saini, Sven Stork, Joshua Sunshine, Éric Tanter, and Roger Wolff, &lt;br /&gt;
Permission-Based Programming Languages (NIER Track), in Proceedings of the International Conference on Software Engineering (ICSE '11), New Ideas and Emerging Results Track, 2011, [http://www.cs.cmu.edu/~aldrich/papers/plaid-NIER2010.pdf]&lt;br /&gt;
&lt;br /&gt;
Filipe Militão, Jonathan Aldrich, and Luís Caires, Aliasing Control with View-Based Typestate, in Proceedings of Formal Techniques for Java Like Programs (FTfJP), 2010. [http://www.cs.cmu.edu/~aldrich/papers/ftfjp2010-view.pdf]&lt;br /&gt;
&lt;br /&gt;
Sven Stork, Paulo Marques, Jonathan Aldrich. Concurrency by Default: Using Permissions to Express Dataflow in Stateful Programs. Onward! Conference, Orlando, Florida, USA, October, 2009, [http://www.cs.cmu.edu/~svens/papers/onward-2009.pdf].&lt;br /&gt;
&lt;br /&gt;
== PhD Thesis ==&lt;br /&gt;
&lt;br /&gt;
Sven Stork, ÆMINIUM - Freeing Programmers from the Shackles of Sequentiality, thesis submitted to the University of Coimbra and Carnegie Mellon University in fulfilment of the requirement for the degree of Doctor of Philosophy, March 2013. [http://www.cs.cmu.edu/~svens/papers/PhD_Thesis__Sven_Stork.pdf]&lt;br /&gt;
&lt;br /&gt;
Ijaz Ahmed, On the Formal Verification of Specifications based on Typestates with Access Permissions, thesis submitted to the University of Madeira in fulfilment of the requirement for the degree of Doctor of Philosophy, December 2012.&lt;br /&gt;
&lt;br /&gt;
Alcides Fonseca, Strategies for Optimization of Parallel Programs, PhD Thesis Proposal, Coimbra, Portugal, September 2012. [http://aeminium.dei.uc.pt/images/4/4e/Thesis_proposal.pdf]&lt;br /&gt;
&lt;br /&gt;
== Master Thesis ==&lt;br /&gt;
&lt;br /&gt;
João Rafael, A programming language for parallel event-driven development, thesis to be submitted to the University of Coimbra for obtaining the Masters’ Degree in Informatics Engineering, September 2013.&lt;br /&gt;
&lt;br /&gt;
Cristiano Gonçalves, Runtime Optimization of Programs for the Æminium Platform, thesis submitted to the University of Coimbra for obtaining the Masters’ Degree in Informatics Engineering, July 2013 [http://aeminium.dei.uc.pt/images/c/c2/Tese_cristiano.pdf]&lt;br /&gt;
&lt;br /&gt;
Alcides Fonseca, ÆminiumGPU: A CPU-GPU Hybrid Runtime for the Æminium Language, thesis submitted to the University of Coimbra for obtaining the Masters’ Degree in Informatics Engineering, September 2011 [http://aeminium.dei.uc.pt/images/7/73/Alcides_fonseca_msc_thesis.pdf]&lt;br /&gt;
&lt;br /&gt;
Manuel Mohr, AEminium Compilation Theory in the Context of the Plaid Language, Diploma thesis submitted to the Karlsruhe Institute of&lt;br /&gt;
Technology, February 2011 [http://pp.info.uni-karlsruhe.de/~mohr/DiplomaThesisMohr.pdf]&lt;br /&gt;
&lt;br /&gt;
== Technical Reports ==&lt;br /&gt;
&lt;br /&gt;
Sven Stork, Jonathan Aldrich, Paulo Marques, μÆminium Language Specification, Technical Report CMU-ISR-10-125R2, Carnegie Mellon University, Pittsburgh, USA, February, 2012. [http://www.cs.cmu.edu/~svens/papers/tr-uaeminium-2012.pdf]&lt;br /&gt;
&lt;br /&gt;
Néstor Cataño and Radu Siminiceanu. Automated Verification of Specifications with Typestates and Access Permissions. NASA Langley Research Center, NASA/CR-2011-217170, 2011. [http://aeminium.dei.uc.pt/images/4/48/20110014510_2011015139.pdf]&lt;br /&gt;
&lt;br /&gt;
== Public Presentations ==&lt;br /&gt;
&lt;br /&gt;
MultiCore 2013: [http://aeminium.dei.uc.pt/images/6/6b/%C3%86miniumGPU_decider.pdf %C3%86miniumGPU_decider.pdf]&lt;br /&gt;
&lt;br /&gt;
Workshop in Exception Handling 2012: [http://aeminium.dei.uc.pt/images/f/f8/Handling_Faults_in_Programs_with_Hidden_Concurrency.pdf Handling_Faults_in_Programs_with_Hidden_Concurrency.pdf]&lt;br /&gt;
&lt;br /&gt;
Jonathan Aldrich, Ronald Garcia, Mark Hahnenberg, Manuel Mohr, Karl Naden, Darpan Saini, Sven Stork, Joshua Sunshine, Éric Tanter, and Roger Wolff.  Permission-Based Programming Languages (NIER Track). At the International Conference on Software Engineering (ICSE '11), New Ideas and Emerging Results Track, 2011 [http://aeminium.dei.uc.pt/images/9/91/Plaidpermissions-icsenier-may11.pdf Plaidpermissions-icsenier-may11.pdf]&lt;br /&gt;
&lt;br /&gt;
Concurrency-Workshop 2010: [http://aeminium.dei.uc.pt/images/a/ae/AEminium-in-a-Nutshell.pdf AEminium-in-a-Nutshell.pdf]&lt;br /&gt;
&lt;br /&gt;
UC/Seminar presentation January 2009: [http://aeminium.dei.uc.pt/images/1/1e/Designing-a-Concurrent-Programming-Language.pdf Designing-a-Concurrent-Programming-Language.pdf]&lt;br /&gt;
&lt;br /&gt;
SSSG talk 2009: [http://aeminium.dei.uc.pt/images/a/a6/SSSG-Conurrency-by-Default.pdf SSSG-Concurrency-by-Default.pdf]&lt;br /&gt;
&lt;br /&gt;
PhD-Proposal short presentation: [http://aeminium.dei.uc.pt/images/6/6c/Concurrent-Programming-via-Access-Permissions.pdf Concurrent-Programming-via-Access-Permissions.pdf]&lt;br /&gt;
&lt;br /&gt;
Phd-Proposal UC: [http://aeminium.dei.uc.pt/images/f/f6/PhD-Proposal-Defense-UC.pdf PhD-Proposal-Defense-UC.pdf]&lt;br /&gt;
&lt;br /&gt;
Onward 2009: [http://aeminium.dei.uc.pt/images/f/ff/Concurrency-By-Default.pdf Concurreny-By-Default.pdf]&lt;br /&gt;
&lt;br /&gt;
SSSG 2008: [http://aeminium.dei.uc.pt/images/e/e2/ParallelProgrammingModels.pdf Parallel-Programming-Models.pdf]&lt;br /&gt;
&lt;br /&gt;
SSSG 2008: [http://aeminium.dei.uc.pt/images/d/d5/SSSG-CurrentResearch.pdf SSSG-CurrentResearch.pdf]&lt;br /&gt;
&lt;br /&gt;
== Internal Presentations ==&lt;br /&gt;
&lt;br /&gt;
July 2011: [http://aeminium.dei.uc.pt/images/6/6a/Presentation.pdf Pulse: Plural To EVMDD-SMC - The Compiler and Model Generator]&lt;br /&gt;
&lt;br /&gt;
March 2011 at Novabase: [http://aeminium.dei.uc.pt/images/0/05/Novabase.pdf Lightweight Verification of a Multi-Task Threaded Server: A Case Study With The Plural Tool]&lt;/div&gt;</summary>
		<author><name>Alcides</name></author>	</entry>

	<entry>
		<id>http://aeminium.dei.uc.pt/index.php?title=Dissemination&amp;diff=1732</id>
		<title>Dissemination</title>
		<link rel="alternate" type="text/html" href="http://aeminium.dei.uc.pt/index.php?title=Dissemination&amp;diff=1732"/>
				<updated>2013-07-29T00:15:51Z</updated>
		
		<summary type="html">&lt;p&gt;Alcides: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Publications in Journals==&lt;br /&gt;
&lt;br /&gt;
Sven Stork, Karl Naden, Joshua Sunshine, Manuel Mohr, Alcides Fonseca, Paulo Marques, and Jonathan Aldrich. Æminium: A Permission Based Concurrent-by-Default Programming Language Approach. (To appear in next TOPLAS).&lt;br /&gt;
&lt;br /&gt;
== Publications in Conferences==&lt;br /&gt;
&lt;br /&gt;
Néstor Cataño and Ijaz Ahmed and Jonathan Aldrich and Radu Siminiceanu, Lightweight Verification of a Multi-Task Threaded Server, in Science of Computer Programming, 2013. [http://www.sciencedirect.com/science/article/pii/S0167642313000178]&lt;br /&gt;
&lt;br /&gt;
Alcides Fonseca and Cabral, B. ,AeminiumGPU: An Intelligent Framework for GPU Programming, in Facing the Multicore-Challenge III, 2013 [http://aeminium.dei.uc.pt/images/e/e8/Mc12_aeminiumgpu_an_inteligent_framework_for_gpu_programming.pdf]&lt;br /&gt;
&lt;br /&gt;
Radu I. Siminiceanu Ijaz Ahmed and Néstor Catanõ, Automated Verification of Specifications with Typestates and Access Permissions, in Proceedings of the 12th International Workshop on Automated Verification of Critical Systems (AVoCS 2012), Electronic Communications of the EASST, September 2012.&lt;br /&gt;
&lt;br /&gt;
C. Olarte and E. Pimentel and N. Cataño and C. Rueda, A Linear Concurrent Constraint approach for the automatic verification of access permissions, in Proceedings of the 14th symposium on Principles and practice of declarative programming (PPDP), ACM Press, September 2012.&lt;br /&gt;
&lt;br /&gt;
Alcides Fonseca, Bruno Cabral, Handling Exceptions in Programs with Hidden Concurrency: New Challenges for &amp;quot;Old&amp;quot; Solutions, in ICSE'12 Workshop Proceedings, 5th International Workshop on Exception Handling (WEH.12), Zurich, Switzerland, June, 2012. [http://aeminium.dei.uc.pt/images/3/39/Weh12_exceptions_in_programs_with_hidden_concurrency.pdf]&lt;br /&gt;
&lt;br /&gt;
Néstor Cataño and Ijaz Ahmed, Lightweight Veriﬁcation of a Multi-Task Threaded Server: A Case Study With The Plural Tool, in Proceedings of 16th International Workshop on Formal Methods for Industrial Critical Systems (FMICS'11), Trento, Italy, August 29-30, 2011 [http://aeminium.dei.uc.pt/images/6/67/Mtts.pdf]&lt;br /&gt;
&lt;br /&gt;
Nels E. Beckman, Duri Kim, and Jonathan Aldrich, An Empirical Study of Object Protocols in the Wild, in Proceedings of the European Conference on Object-Oriented Programming (ECOOP '11), 2011. [http://www.cs.cmu.edu/~aldrich/papers/aldrich-empirical-ecoop11.pdf]&lt;br /&gt;
&lt;br /&gt;
Roger Wolff, Ronald Garcia, Éric Tanter, and Jonathan Aldrich, Gradual Typestate, in Proceedings of the European Conference on Object-Oriented Programming (ECOOP '11), 2011. [http://www.cs.cmu.edu/~aldrich/papers/aldrich-gradual-ecoop11.pdf]&lt;br /&gt;
&lt;br /&gt;
Ligia Nistor and Jonathan Aldrich, Verifying Object-Oriented Code Using Object Propositions, in International Workshop on Aliasing, Confinement and Ownership in object-oriented programming (IWACO), 2011.  [http://www.cs.cmu.edu/~aldrich/papers/nistor-iwaco11.pdf]&lt;br /&gt;
&lt;br /&gt;
Joshua Sunshine, Karl Naden, Sven Stork, Jonathan Aldrich, and Éric Tanter, First-Class State Change in Plaid, To appear in Proceedings of Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA '11), 2011, [http://www.cs.cmu.edu/~aldrich/papers/plaid-oopsla11.pdf]&lt;br /&gt;
&lt;br /&gt;
David Alves, Pedro Bizarro and Paulo Marques, Deadline Queries: Leveraging the Cloud to Produce On-Time Results, in Proceedings of the Fourth IEEE International Conference on Cloud Computing (CLOUD 2011), July 4-9, 2011, Washington Marriott, Washington DC, USA, [http://aeminium.dei.uc.pt/images/5/5a/Paper_cloud_2011_cr_final_v2.pdf]&lt;br /&gt;
&lt;br /&gt;
Jonathan Aldrich, Ronald Garcia, Mark Hahnenberg, Manuel Mohr, Karl Naden, Darpan Saini, Sven Stork, Joshua Sunshine, Éric Tanter, and Roger Wolff, &lt;br /&gt;
Permission-Based Programming Languages (NIER Track), in Proceedings of the International Conference on Software Engineering (ICSE '11), New Ideas and Emerging Results Track, 2011, [http://www.cs.cmu.edu/~aldrich/papers/plaid-NIER2010.pdf]&lt;br /&gt;
&lt;br /&gt;
Filipe Militão, Jonathan Aldrich, and Luís Caires, Aliasing Control with View-Based Typestate, in Proceedings of Formal Techniques for Java Like Programs (FTfJP), 2010. [http://www.cs.cmu.edu/~aldrich/papers/ftfjp2010-view.pdf]&lt;br /&gt;
&lt;br /&gt;
Sven Stork, Paulo Marques, Jonathan Aldrich. Concurrency by Default: Using Permissions to Express Dataflow in Stateful Programs. Onward! Conference, Orlando, Florida, USA, October, 2009, [http://www.cs.cmu.edu/~svens/papers/onward-2009.pdf].&lt;br /&gt;
&lt;br /&gt;
== PhD Thesis ==&lt;br /&gt;
&lt;br /&gt;
Sven Stork, ÆMINIUM - Freeing Programmers from the Shackles of Sequentiality, thesis submitted to the University of Coimbra and Carnegie Mellon University in fulfilment of the requirement for the degree of Doctor of Philosophy, March 2013. [http://www.cs.cmu.edu/~svens/papers/PhD_Thesis__Sven_Stork.pdf]&lt;br /&gt;
&lt;br /&gt;
Ijaz Ahmed, On the Formal Verification of Specifications based on Typestates with Access Permissions, thesis submitted to the University of Madeira in fulfilment of the requirement for the degree of Doctor of Philosophy, December 2012.&lt;br /&gt;
&lt;br /&gt;
Alcides Fonseca, Strategies for Optimization of Parallel Programs, PhD Thesis Proposal, Coimbra, Portugal, September 2012. [http://aeminium.dei.uc.pt/images/4/4e/Thesis_proposal.pdf]&lt;br /&gt;
&lt;br /&gt;
== Master Thesis ==&lt;br /&gt;
&lt;br /&gt;
João Rafael, A programming language for parallel event-driven development, thesis to be submitted to the University of Coimbra for obtaining the Masters’ Degree in Informatics Engineering, September 2013.&lt;br /&gt;
&lt;br /&gt;
Cristiano Gonçalves, Runtime Optimization of Programs for the Æminium Platform, thesis submitted to the University of Coimbra for obtaining the Masters’ Degree in Informatics Engineering, July 2013 [http://aeminium.dei.uc.pt/images/c/c2/Tese_cristiano.pdf]&lt;br /&gt;
&lt;br /&gt;
Alcides Fonseca, ÆminiumGPU: A CPU-GPU Hybrid Runtime for the Æminium Language, thesis submitted to the University of Coimbra for obtaining the Masters’ Degree in Informatics Engineering, September 2011 [http://aeminium.dei.uc.pt/images/7/73/Alcides_fonseca_msc_thesis.pdf]&lt;br /&gt;
&lt;br /&gt;
Manuel Mohr, AEminium Compilation Theory in the Context of the Plaid Language, Diploma thesis submitted to the Karlsruhe Institute of&lt;br /&gt;
Technology, February 2011 [http://pp.info.uni-karlsruhe.de/~mohr/DiplomaThesisMohr.pdf]&lt;br /&gt;
&lt;br /&gt;
== Technical Reports ==&lt;br /&gt;
&lt;br /&gt;
Sven Stork, Jonathan Aldrich, Paulo Marques, μÆminium Language Specification, Technical Report CMU-ISR-10-125R2, Carnegie Mellon University, Pittsburgh, USA, February, 2012. [http://www.cs.cmu.edu/~svens/papers/tr-uaeminium-2012.pdf]&lt;br /&gt;
&lt;br /&gt;
Néstor Cataño and Radu Siminiceanu. Automated Verification of Specifications with Typestates and Access Permissions. NASA Langley Research Center, NASA/CR-2011-217170, 2011. [http://aeminium.dei.uc.pt/images/4/48/20110014510_2011015139.pdf]&lt;br /&gt;
&lt;br /&gt;
== Public Presentations ==&lt;br /&gt;
&lt;br /&gt;
MultiCore 2013: [http://aeminium.dei.uc.pt/images/6/6b/%C3%86miniumGPU_decider.pdf]&lt;br /&gt;
&lt;br /&gt;
Workshop in Exception Handling 2012: [http://aeminium.dei.uc.pt/images/f/f8/Handling_Faults_in_Programs_with_Hidden_Concurrency.pdf]&lt;br /&gt;
&lt;br /&gt;
Jonathan Aldrich, Ronald Garcia, Mark Hahnenberg, Manuel Mohr, Karl Naden, Darpan Saini, Sven Stork, Joshua Sunshine, Éric Tanter, and Roger Wolff.  Permission-Based Programming Languages (NIER Track). At the International Conference on Software Engineering (ICSE '11), New Ideas and Emerging Results Track, 2011 [http://aeminium.dei.uc.pt/images/9/91/Plaidpermissions-icsenier-may11.pdf Plaidpermissions-icsenier-may11.pdf]&lt;br /&gt;
&lt;br /&gt;
Concurrency-Workshop 2010: [http://aeminium.dei.uc.pt/images/a/ae/AEminium-in-a-Nutshell.pdf AEminium-in-a-Nutshell.pdf]&lt;br /&gt;
&lt;br /&gt;
UC/Seminar presentation January 2009: [http://aeminium.dei.uc.pt/images/1/1e/Designing-a-Concurrent-Programming-Language.pdf Designing-a-Concurrent-Programming-Language.pdf]&lt;br /&gt;
&lt;br /&gt;
SSSG talk 2009: [http://aeminium.dei.uc.pt/images/a/a6/SSSG-Conurrency-by-Default.pdf SSSG-Concurrency-by-Default.pdf]&lt;br /&gt;
&lt;br /&gt;
PhD-Proposal short presentation: [http://aeminium.dei.uc.pt/images/6/6c/Concurrent-Programming-via-Access-Permissions.pdf Concurrent-Programming-via-Access-Permissions.pdf]&lt;br /&gt;
&lt;br /&gt;
Phd-Proposal UC: [http://aeminium.dei.uc.pt/images/f/f6/PhD-Proposal-Defense-UC.pdf PhD-Proposal-Defense-UC.pdf]&lt;br /&gt;
&lt;br /&gt;
Onward 2009: [http://aeminium.dei.uc.pt/images/f/ff/Concurrency-By-Default.pdf Concurreny-By-Default.pdf]&lt;br /&gt;
&lt;br /&gt;
SSSG 2008: [http://aeminium.dei.uc.pt/images/e/e2/ParallelProgrammingModels.pdf Parallel-Programming-Models.pdf]&lt;br /&gt;
&lt;br /&gt;
SSSG 2008: [http://aeminium.dei.uc.pt/images/d/d5/SSSG-CurrentResearch.pdf SSSG-CurrentResearch.pdf]&lt;br /&gt;
&lt;br /&gt;
== Internal Presentations ==&lt;br /&gt;
&lt;br /&gt;
July 2011: [http://aeminium.dei.uc.pt/images/6/6a/Presentation.pdf Pulse: Plural To EVMDD-SMC - The Compiler and Model Generator]&lt;br /&gt;
&lt;br /&gt;
March 2011 at Novabase: [http://aeminium.dei.uc.pt/images/0/05/Novabase.pdf Lightweight Verification of a Multi-Task Threaded Server: A Case Study With The Plural Tool]&lt;/div&gt;</summary>
		<author><name>Alcides</name></author>	</entry>

	<entry>
		<id>http://aeminium.dei.uc.pt/index.php?title=File:Handling_Faults_in_Programs_with_Hidden_Concurrency.pdf&amp;diff=1731</id>
		<title>File:Handling Faults in Programs with Hidden Concurrency.pdf</title>
		<link rel="alternate" type="text/html" href="http://aeminium.dei.uc.pt/index.php?title=File:Handling_Faults_in_Programs_with_Hidden_Concurrency.pdf&amp;diff=1731"/>
				<updated>2013-07-29T00:15:43Z</updated>
		
		<summary type="html">&lt;p&gt;Alcides: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Alcides</name></author>	</entry>

	<entry>
		<id>http://aeminium.dei.uc.pt/index.php?title=File:%C3%86miniumGPU_decider.pdf&amp;diff=1730</id>
		<title>File:ÆminiumGPU decider.pdf</title>
		<link rel="alternate" type="text/html" href="http://aeminium.dei.uc.pt/index.php?title=File:%C3%86miniumGPU_decider.pdf&amp;diff=1730"/>
				<updated>2013-07-29T00:14:19Z</updated>
		
		<summary type="html">&lt;p&gt;Alcides: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Alcides</name></author>	</entry>

	<entry>
		<id>http://aeminium.dei.uc.pt/index.php?title=File:Tese_cristiano.pdf&amp;diff=1729</id>
		<title>File:Tese cristiano.pdf</title>
		<link rel="alternate" type="text/html" href="http://aeminium.dei.uc.pt/index.php?title=File:Tese_cristiano.pdf&amp;diff=1729"/>
				<updated>2013-07-29T00:11:59Z</updated>
		
		<summary type="html">&lt;p&gt;Alcides: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Alcides</name></author>	</entry>

	<entry>
		<id>http://aeminium.dei.uc.pt/index.php?title=File:Thesis_proposal.pdf&amp;diff=1728</id>
		<title>File:Thesis proposal.pdf</title>
		<link rel="alternate" type="text/html" href="http://aeminium.dei.uc.pt/index.php?title=File:Thesis_proposal.pdf&amp;diff=1728"/>
				<updated>2013-07-29T00:07:48Z</updated>
		
		<summary type="html">&lt;p&gt;Alcides: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Alcides</name></author>	</entry>

	<entry>
		<id>http://aeminium.dei.uc.pt/index.php?title=File:20110014510_2011015139.pdf&amp;diff=1727</id>
		<title>File:20110014510 2011015139.pdf</title>
		<link rel="alternate" type="text/html" href="http://aeminium.dei.uc.pt/index.php?title=File:20110014510_2011015139.pdf&amp;diff=1727"/>
				<updated>2013-07-29T00:06:28Z</updated>
		
		<summary type="html">&lt;p&gt;Alcides: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Alcides</name></author>	</entry>

	<entry>
		<id>http://aeminium.dei.uc.pt/index.php?title=File:Mc12_aeminiumgpu_an_inteligent_framework_for_gpu_programming.pdf&amp;diff=1726</id>
		<title>File:Mc12 aeminiumgpu an inteligent framework for gpu programming.pdf</title>
		<link rel="alternate" type="text/html" href="http://aeminium.dei.uc.pt/index.php?title=File:Mc12_aeminiumgpu_an_inteligent_framework_for_gpu_programming.pdf&amp;diff=1726"/>
				<updated>2013-07-29T00:05:20Z</updated>
		
		<summary type="html">&lt;p&gt;Alcides: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Alcides</name></author>	</entry>

	<entry>
		<id>http://aeminium.dei.uc.pt/index.php?title=File:Weh12_exceptions_in_programs_with_hidden_concurrency.pdf&amp;diff=1725</id>
		<title>File:Weh12 exceptions in programs with hidden concurrency.pdf</title>
		<link rel="alternate" type="text/html" href="http://aeminium.dei.uc.pt/index.php?title=File:Weh12_exceptions_in_programs_with_hidden_concurrency.pdf&amp;diff=1725"/>
				<updated>2013-07-29T00:04:32Z</updated>
		
		<summary type="html">&lt;p&gt;Alcides: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Alcides</name></author>	</entry>

	<entry>
		<id>http://aeminium.dei.uc.pt/index.php?title=Dissemination&amp;diff=1724</id>
		<title>Dissemination</title>
		<link rel="alternate" type="text/html" href="http://aeminium.dei.uc.pt/index.php?title=Dissemination&amp;diff=1724"/>
				<updated>2013-07-28T23:57:59Z</updated>
		
		<summary type="html">&lt;p&gt;Alcides: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Publications in Journals==&lt;br /&gt;
&lt;br /&gt;
Sven Stork, Karl Naden, Joshua Sunshine, Manuel Mohr, Alcides Fonseca, Paulo Marques, and Jonathan Aldrich. Æminium: A Permission Based Concurrent-by-Default Programming Language Approach. (To appear in next TOPLAS).&lt;br /&gt;
&lt;br /&gt;
== Publications in Conferences==&lt;br /&gt;
&lt;br /&gt;
Néstor Cataño and Ijaz Ahmed and Jonathan Aldrich and Radu Siminiceanu, Lightweight Verification of a Multi-Task Threaded Server, in Science of Computer Programming, 2013.&lt;br /&gt;
&lt;br /&gt;
Alcides Fonseca and Cabral, B. ,AeminiumGPU: An Intelligent Framework for GPU Programming, in Facing the Multicore-Challenge III, 2013 [http://www.researchgate.net/publication/231238601_AEminiumGPU_An_Intelligent_Framework_for_GPU_Programming/file/9fcfd5066bca093c32.pdf]&lt;br /&gt;
&lt;br /&gt;
Radu I. Siminiceanu Ijaz Ahmed and Néstor Catanõ, Automated Verification of Specifications with Typestates and Access Permissions, in Proceedings of the 12th International Workshop on Automated Verification of Critical Systems (AVoCS 2012), Electronic Communications of the EASST, September 2012.&lt;br /&gt;
&lt;br /&gt;
C. Olarte and E. Pimentel and N. Cataño and C. Rueda, A Linear Concurrent Constraint approach for the automatic verification of access permissions, in Proceedings of the 14th symposium on Principles and practice of declarative programming (PPDP), ACM Press, September 2012.&lt;br /&gt;
&lt;br /&gt;
Alcides Fonseca, Bruno Cabral, Handling Exceptions in Programs with Hidden Concurrency: New Challenges for &amp;quot;Old&amp;quot; Solutions, in ICSE'12 Workshop Proceedings, 5th International Workshop on Exception Handling (WEH.12), Zurich, Switzerland, June, 2012. [http://www.researchgate.net/publication/231239219_Handling_Exceptions_in_Programs_with_Hidden_Concurrency_New_Challenges_for_Old_Solutions/file/d912f5066bd5e21fe2.pdf]&lt;br /&gt;
&lt;br /&gt;
Néstor Cataño and Ijaz Ahmed, Lightweight Veriﬁcation of a Multi-Task Threaded Server: A Case Study With The Plural Tool, in Proceedings of 16th International Workshop on Formal Methods for Industrial Critical Systems (FMICS'11), Trento, Italy, August 29-30, 2011 [http://aeminium.dei.uc.pt/images/6/67/Mtts.pdf]&lt;br /&gt;
&lt;br /&gt;
Nels E. Beckman, Duri Kim, and Jonathan Aldrich, An Empirical Study of Object Protocols in the Wild, in Proceedings of the European Conference on Object-Oriented Programming (ECOOP '11), 2011. [http://www.cs.cmu.edu/~aldrich/papers/aldrich-empirical-ecoop11.pdf]&lt;br /&gt;
&lt;br /&gt;
Roger Wolff, Ronald Garcia, Éric Tanter, and Jonathan Aldrich, Gradual Typestate, in Proceedings of the European Conference on Object-Oriented Programming (ECOOP '11), 2011. [http://www.cs.cmu.edu/~aldrich/papers/aldrich-gradual-ecoop11.pdf]&lt;br /&gt;
&lt;br /&gt;
Ligia Nistor and Jonathan Aldrich, Verifying Object-Oriented Code Using Object Propositions, in International Workshop on Aliasing, Confinement and Ownership in object-oriented programming (IWACO), 2011.  [http://www.cs.cmu.edu/~aldrich/papers/nistor-iwaco11.pdf]&lt;br /&gt;
&lt;br /&gt;
Joshua Sunshine, Karl Naden, Sven Stork, Jonathan Aldrich, and Éric Tanter, First-Class State Change in Plaid, To appear in Proceedings of Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA '11), 2011, [http://www.cs.cmu.edu/~aldrich/papers/plaid-oopsla11.pdf]&lt;br /&gt;
&lt;br /&gt;
David Alves, Pedro Bizarro and Paulo Marques, Deadline Queries: Leveraging the Cloud to Produce On-Time Results, in Proceedings of the Fourth IEEE International Conference on Cloud Computing (CLOUD 2011), July 4-9, 2011, Washington Marriott, Washington DC, USA, [http://aeminium.dei.uc.pt/images/5/5a/Paper_cloud_2011_cr_final_v2.pdf]&lt;br /&gt;
&lt;br /&gt;
Jonathan Aldrich, Ronald Garcia, Mark Hahnenberg, Manuel Mohr, Karl Naden, Darpan Saini, Sven Stork, Joshua Sunshine, Éric Tanter, and Roger Wolff, &lt;br /&gt;
Permission-Based Programming Languages (NIER Track), in Proceedings of the International Conference on Software Engineering (ICSE '11), New Ideas and Emerging Results Track, 2011, [http://www.cs.cmu.edu/~aldrich/papers/plaid-NIER2010.pdf]&lt;br /&gt;
&lt;br /&gt;
Filipe Militão, Jonathan Aldrich, and Luís Caires, Aliasing Control with View-Based Typestate, in Proceedings of Formal Techniques for Java Like Programs (FTfJP), 2010. [http://www.cs.cmu.edu/~aldrich/papers/ftfjp2010-view.pdf]&lt;br /&gt;
&lt;br /&gt;
Sven Stork, Paulo Marques, Jonathan Aldrich. Concurrency by Default: Using Permissions to Express Dataflow in Stateful Programs. Onward! Conference, Orlando, Florida, USA, October, 2009, [http://www.cs.cmu.edu/~svens/papers/onward-2009.pdf].&lt;br /&gt;
&lt;br /&gt;
== PhD Thesis ==&lt;br /&gt;
&lt;br /&gt;
Sven Stork, ÆMINIUM - Freeing Programmers from the Shackles of Sequentiality, thesis submitted to the University of Coimbra and Carnegie Mellon University in fulfilment of the requirement for the degree of Doctor of Philosophy, March 2013. [http://www.cs.cmu.edu/~svens/papers/PhD_Thesis__Sven_Stork.pdf]&lt;br /&gt;
&lt;br /&gt;
Ijaz Ahmed, On the Formal Verification of Specifications based on Typestates with Access Permissions, thesis submitted to the University of Madeira in fulfilment of the requirement for the degree of Doctor of Philosophy, December 2012.&lt;br /&gt;
&lt;br /&gt;
Alcides Fonseca, Strategies for Optimization of Parallel Programs, PhD Thesis Proposal, Coimbra, Portugal, September 2012.&lt;br /&gt;
&lt;br /&gt;
== Master Thesis ==&lt;br /&gt;
&lt;br /&gt;
João Rafael, A programming language for parallel event-driven development, thesis to be submitted to the University of Coimbra for obtaining the Masters’ Degree in Informatics Engineering, September 2013.&lt;br /&gt;
&lt;br /&gt;
Cristiano Gonçalves, Runtime Optimization of Programs for the Æminium Platform, thesis submitted to the University of Coimbra for obtaining the Masters’ Degree in Informatics Engineering, July 2013&lt;br /&gt;
&lt;br /&gt;
Alcides Fonseca, ÆminiumGPU: A CPU-GPU Hybrid Runtime for the Æminium Language, thesis submitted to the University of Coimbra for obtaining the Masters’ Degree in Informatics Engineering, September 2011 [http://aeminium.dei.uc.pt/images/7/73/Alcides_fonseca_msc_thesis.pdf]&lt;br /&gt;
&lt;br /&gt;
Manuel Mohr, AEminium Compilation Theory in the Context of the Plaid Language, Diploma thesis submitted to the Karlsruhe Institute of&lt;br /&gt;
Technology, February 2011 [http://pp.info.uni-karlsruhe.de/~mohr/DiplomaThesisMohr.pdf]&lt;br /&gt;
&lt;br /&gt;
== Technical Reports ==&lt;br /&gt;
&lt;br /&gt;
Sven Stork, Jonathan Aldrich, Paulo Marques, μÆminium Language Specification, Technical Report CMU-ISR-10-125R2, Carnegie Mellon University, Pittsburgh, USA, February, 2012. [http://www.cs.cmu.edu/~svens/papers/tr-uaeminium-2012.pdf]&lt;br /&gt;
&lt;br /&gt;
Néstor Cataño and Radu Siminiceanu. Automated Verification of Specifications with Typestates and Access Permissions. NASA Langley Research Center, NASA/CR-2011-217170, 2011. [http://ntrs.nasa.gov/archive/nasa/casi.ntrs.nasa.gov/20110014510_2011015139.pdf]&lt;br /&gt;
&lt;br /&gt;
== Internal Presentations ==&lt;br /&gt;
&lt;br /&gt;
July 2011: [http://aeminium.dei.uc.pt/images/6/6a/Presentation.pdf Pulse: Plural To EVMDD-SMC - The Compiler and Model Generator]&lt;br /&gt;
&lt;br /&gt;
March 2011 at Novabase: [http://aeminium.dei.uc.pt/images/0/05/Novabase.pdf Lightweight Verification of a Multi-Task Threaded Server: A Case Study With The Plural Tool]&lt;br /&gt;
&lt;br /&gt;
== Public Presentations ==&lt;br /&gt;
&lt;br /&gt;
Jonathan Aldrich, Ronald Garcia, Mark Hahnenberg, Manuel Mohr, Karl Naden, Darpan Saini, Sven Stork, Joshua Sunshine, Éric Tanter, and Roger Wolff.  Permission-Based Programming Languages (NIER Track). At the International Conference on Software Engineering (ICSE '11), New Ideas and Emerging Results Track, 2011 [http://aeminium.dei.uc.pt/images/9/91/Plaidpermissions-icsenier-may11.pdf Plaidpermissions-icsenier-may11.pdf]&lt;br /&gt;
&lt;br /&gt;
Concurrency-Workshop 2010: [http://aeminium.dei.uc.pt/images/a/ae/AEminium-in-a-Nutshell.pdf AEminium-in-a-Nutshell.pdf]&lt;br /&gt;
&lt;br /&gt;
UC/Seminar presentation January 2009: [http://aeminium.dei.uc.pt/images/1/1e/Designing-a-Concurrent-Programming-Language.pdf Designing-a-Concurrent-Programming-Language.pdf]&lt;br /&gt;
&lt;br /&gt;
SSSG talk 2009: [http://aeminium.dei.uc.pt/images/a/a6/SSSG-Conurrency-by-Default.pdf SSSG-Concurrency-by-Default.pdf]&lt;br /&gt;
&lt;br /&gt;
PhD-Proposal short presentation: [http://aeminium.dei.uc.pt/images/6/6c/Concurrent-Programming-via-Access-Permissions.pdf Concurrent-Programming-via-Access-Permissions.pdf]&lt;br /&gt;
&lt;br /&gt;
Phd-Proposal UC: [http://aeminium.dei.uc.pt/images/f/f6/PhD-Proposal-Defense-UC.pdf PhD-Proposal-Defense-UC.pdf]&lt;br /&gt;
&lt;br /&gt;
Onward 2009: [http://aeminium.dei.uc.pt/images/f/ff/Concurrency-By-Default.pdf Concurreny-By-Default.pdf]&lt;br /&gt;
&lt;br /&gt;
SSSG 2008: [http://aeminium.dei.uc.pt/images/e/e2/ParallelProgrammingModels.pdf Parallel-Programming-Models.pdf]&lt;br /&gt;
&lt;br /&gt;
SSSG 2008: [http://aeminium.dei.uc.pt/images/d/d5/SSSG-CurrentResearch.pdf SSSG-CurrentResearch.pdf]&lt;/div&gt;</summary>
		<author><name>Alcides</name></author>	</entry>

	<entry>
		<id>http://aeminium.dei.uc.pt/index.php?title=Dissemination&amp;diff=1723</id>
		<title>Dissemination</title>
		<link rel="alternate" type="text/html" href="http://aeminium.dei.uc.pt/index.php?title=Dissemination&amp;diff=1723"/>
				<updated>2013-07-28T23:54:53Z</updated>
		
		<summary type="html">&lt;p&gt;Alcides: /* Thesis */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Publications in Journals==&lt;br /&gt;
&lt;br /&gt;
Sven Stork, Karl Naden, Joshua Sunshine, Manuel Mohr, Alcides Fonseca, Paulo Marques, and Jonathan Aldrich. Æminium: A Permission Based Concurrent-by-Default Programming Language Approach. (To appear in next TOPLAS).&lt;br /&gt;
&lt;br /&gt;
== Publications in Conferences==&lt;br /&gt;
&lt;br /&gt;
Néstor Cataño and Ijaz Ahmed and Jonathan Aldrich and Radu Siminiceanu, Lightweight Verification of a Multi-Task Threaded Server, in Science of Computer Programming, 2013.&lt;br /&gt;
&lt;br /&gt;
Alcides Fonseca and Cabral, B. ,AeminiumGPU: An Intelligent Framework for GPU Programming, in Facing the Multicore-Challenge III, 2013 [http://www.researchgate.net/publication/231238601_AEminiumGPU_An_Intelligent_Framework_for_GPU_Programming/file/9fcfd5066bca093c32.pdf]&lt;br /&gt;
&lt;br /&gt;
Radu I. Siminiceanu Ijaz Ahmed and Néstor Catanõ, Automated Verification of Specifications with Typestates and Access Permissions, in Proceedings of the 12th International Workshop on Automated Verification of Critical Systems (AVoCS 2012), Electronic Communications of the EASST, September 2012.&lt;br /&gt;
&lt;br /&gt;
C. Olarte and E. Pimentel and N. Cataño and C. Rueda, A Linear Concurrent Constraint approach for the automatic verification of access permissions, in Proceedings of the 14th symposium on Principles and practice of declarative programming (PPDP), ACM Press, September 2012.&lt;br /&gt;
&lt;br /&gt;
Alcides Fonseca, Bruno Cabral, Handling Exceptions in Programs with Hidden Concurrency: New Challenges for &amp;quot;Old&amp;quot; Solutions, in ICSE'12 Workshop Proceedings, 5th International Workshop on Exception Handling (WEH.12), Zurich, Switzerland, June, 2012. [http://www.researchgate.net/publication/231239219_Handling_Exceptions_in_Programs_with_Hidden_Concurrency_New_Challenges_for_Old_Solutions/file/d912f5066bd5e21fe2.pdf]&lt;br /&gt;
&lt;br /&gt;
Néstor Cataño and Ijaz Ahmed, Lightweight Veriﬁcation of a Multi-Task Threaded Server: A Case Study With The Plural Tool, in Proceedings of 16th International Workshop on Formal Methods for Industrial Critical Systems (FMICS'11), Trento, Italy, August 29-30, 2011 [http://aeminium.dei.uc.pt/images/6/67/Mtts.pdf]&lt;br /&gt;
&lt;br /&gt;
Nels E. Beckman, Duri Kim, and Jonathan Aldrich, An Empirical Study of Object Protocols in the Wild, in Proceedings of the European Conference on Object-Oriented Programming (ECOOP '11), 2011. [http://www.cs.cmu.edu/~aldrich/papers/aldrich-empirical-ecoop11.pdf]&lt;br /&gt;
&lt;br /&gt;
Roger Wolff, Ronald Garcia, Éric Tanter, and Jonathan Aldrich, Gradual Typestate, in Proceedings of the European Conference on Object-Oriented Programming (ECOOP '11), 2011. [http://www.cs.cmu.edu/~aldrich/papers/aldrich-gradual-ecoop11.pdf]&lt;br /&gt;
&lt;br /&gt;
Ligia Nistor and Jonathan Aldrich, Verifying Object-Oriented Code Using Object Propositions, in International Workshop on Aliasing, Confinement and Ownership in object-oriented programming (IWACO), 2011.  [http://www.cs.cmu.edu/~aldrich/papers/nistor-iwaco11.pdf]&lt;br /&gt;
&lt;br /&gt;
Joshua Sunshine, Karl Naden, Sven Stork, Jonathan Aldrich, and Éric Tanter, First-Class State Change in Plaid, To appear in Proceedings of Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA '11), 2011, [http://www.cs.cmu.edu/~aldrich/papers/plaid-oopsla11.pdf]&lt;br /&gt;
&lt;br /&gt;
David Alves, Pedro Bizarro and Paulo Marques, Deadline Queries: Leveraging the Cloud to Produce On-Time Results, in Proceedings of the Fourth IEEE International Conference on Cloud Computing (CLOUD 2011), July 4-9, 2011, Washington Marriott, Washington DC, USA, [http://aeminium.dei.uc.pt/images/5/5a/Paper_cloud_2011_cr_final_v2.pdf]&lt;br /&gt;
&lt;br /&gt;
Jonathan Aldrich, Ronald Garcia, Mark Hahnenberg, Manuel Mohr, Karl Naden, Darpan Saini, Sven Stork, Joshua Sunshine, Éric Tanter, and Roger Wolff, &lt;br /&gt;
Permission-Based Programming Languages (NIER Track), in Proceedings of the International Conference on Software Engineering (ICSE '11), New Ideas and Emerging Results Track, 2011, [http://www.cs.cmu.edu/~aldrich/papers/plaid-NIER2010.pdf]&lt;br /&gt;
&lt;br /&gt;
Filipe Militão, Jonathan Aldrich, and Luís Caires, Aliasing Control with View-Based Typestate, in Proceedings of Formal Techniques for Java Like Programs (FTfJP), 2010. [http://www.cs.cmu.edu/~aldrich/papers/ftfjp2010-view.pdf]&lt;br /&gt;
&lt;br /&gt;
Sven Stork, Paulo Marques, Jonathan Aldrich. Concurrency by Default: Using Permissions to Express Dataflow in Stateful Programs. Onward! Conference, Orlando, Florida, USA, October, 2009, [http://www.cs.cmu.edu/~svens/papers/onward-2009.pdf].&lt;br /&gt;
&lt;br /&gt;
== PhD Thesis ==&lt;br /&gt;
&lt;br /&gt;
Sven Stork, ÆMINIUM - Freeing Programmers from the Shackles of Sequentiality, thesis submitted to the University of Coimbra and Carnegie Mellon University in fulfilment of the requirement for the degree of Doctor of Philosophy, March 2013. [http://www.cs.cmu.edu/~svens/papers/PhD_Thesis__Sven_Stork.pdf]&lt;br /&gt;
&lt;br /&gt;
Ijaz Ahmed, On the Formal Verification of Specifications based on Typestates with Access Permissions, thesis submitted to the University of Madeira in fulfilment of the requirement for the degree of Doctor of Philosophy, December 2012.&lt;br /&gt;
&lt;br /&gt;
Alcides Fonseca, Strategies for Optimization of Parallel Programs, PhD Thesis Proposal, Coimbra, Portugal, September 2012.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Master Thesis ==&lt;br /&gt;
&lt;br /&gt;
João Rafael, A programming language for parallel event-driven development, thesis to be submitted to the University of Coimbra for obtaining the Masters’ Degree in Informatics Engineering, September 2013.&lt;br /&gt;
&lt;br /&gt;
Cristiano Gonçalves, Runtime Optimization of Programs for the Æminium Platform, thesis submitted to the University of Coimbra for obtaining the Masters’ Degree in Informatics Engineering, July 2013&lt;br /&gt;
&lt;br /&gt;
Alcides Fonseca, ÆminiumGPU: A CPU-GPU Hybrid Runtime for the Æminium Language, thesis submitted to the University of Coimbra for obtaining the Masters’ Degree in Informatics Engineering, September 2011 [http://aeminium.dei.uc.pt/images/7/73/Alcides_fonseca_msc_thesis.pdf]&lt;br /&gt;
&lt;br /&gt;
Manuel Mohr, AEminium Compilation Theory in the Context of the Plaid Language, Diploma thesis submitted to the Karlsruhe Institute of&lt;br /&gt;
Technology, February 2011 [http://pp.info.uni-karlsruhe.de/~mohr/DiplomaThesisMohr.pdf]&lt;br /&gt;
&lt;br /&gt;
== Internal Presentations ==&lt;br /&gt;
&lt;br /&gt;
July 2011: [http://aeminium.dei.uc.pt/images/6/6a/Presentation.pdf Pulse: Plural To EVMDD-SMC - The Compiler and Model Generator]&lt;br /&gt;
&lt;br /&gt;
March 2011 at Novabase: [http://aeminium.dei.uc.pt/images/0/05/Novabase.pdf Lightweight Verification of a Multi-Task Threaded Server: A Case Study With The Plural Tool]&lt;br /&gt;
&lt;br /&gt;
== Public Presentations ==&lt;br /&gt;
&lt;br /&gt;
Jonathan Aldrich, Ronald Garcia, Mark Hahnenberg, Manuel Mohr, Karl Naden, Darpan Saini, Sven Stork, Joshua Sunshine, Éric Tanter, and Roger Wolff.  Permission-Based Programming Languages (NIER Track). At the International Conference on Software Engineering (ICSE '11), New Ideas and Emerging Results Track, 2011 [http://aeminium.dei.uc.pt/images/9/91/Plaidpermissions-icsenier-may11.pdf Plaidpermissions-icsenier-may11.pdf]&lt;br /&gt;
&lt;br /&gt;
Concurrency-Workshop 2010: [http://aeminium.dei.uc.pt/images/a/ae/AEminium-in-a-Nutshell.pdf AEminium-in-a-Nutshell.pdf]&lt;br /&gt;
&lt;br /&gt;
UC/Seminar presentation January 2009: [http://aeminium.dei.uc.pt/images/1/1e/Designing-a-Concurrent-Programming-Language.pdf Designing-a-Concurrent-Programming-Language.pdf]&lt;br /&gt;
&lt;br /&gt;
SSSG talk 2009: [http://aeminium.dei.uc.pt/images/a/a6/SSSG-Conurrency-by-Default.pdf SSSG-Concurrency-by-Default.pdf]&lt;br /&gt;
&lt;br /&gt;
PhD-Proposal short presentation: [http://aeminium.dei.uc.pt/images/6/6c/Concurrent-Programming-via-Access-Permissions.pdf Concurrent-Programming-via-Access-Permissions.pdf]&lt;br /&gt;
&lt;br /&gt;
Phd-Proposal UC: [http://aeminium.dei.uc.pt/images/f/f6/PhD-Proposal-Defense-UC.pdf PhD-Proposal-Defense-UC.pdf]&lt;br /&gt;
&lt;br /&gt;
Onward 2009: [http://aeminium.dei.uc.pt/images/f/ff/Concurrency-By-Default.pdf Concurreny-By-Default.pdf]&lt;br /&gt;
&lt;br /&gt;
SSSG 2008: [http://aeminium.dei.uc.pt/images/e/e2/ParallelProgrammingModels.pdf Parallel-Programming-Models.pdf]&lt;br /&gt;
&lt;br /&gt;
SSSG 2008: [http://aeminium.dei.uc.pt/images/d/d5/SSSG-CurrentResearch.pdf SSSG-CurrentResearch.pdf]&lt;/div&gt;</summary>
		<author><name>Alcides</name></author>	</entry>

	<entry>
		<id>http://aeminium.dei.uc.pt/index.php?title=Dissemination&amp;diff=1722</id>
		<title>Dissemination</title>
		<link rel="alternate" type="text/html" href="http://aeminium.dei.uc.pt/index.php?title=Dissemination&amp;diff=1722"/>
				<updated>2013-07-28T23:51:33Z</updated>
		
		<summary type="html">&lt;p&gt;Alcides: /* Publications i */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Publications in Journals==&lt;br /&gt;
&lt;br /&gt;
Sven Stork, Karl Naden, Joshua Sunshine, Manuel Mohr, Alcides Fonseca, Paulo Marques, and Jonathan Aldrich. Æminium: A Permission Based Concurrent-by-Default Programming Language Approach. (To appear in next TOPLAS).&lt;br /&gt;
&lt;br /&gt;
== Publications in Conferences==&lt;br /&gt;
&lt;br /&gt;
Néstor Cataño and Ijaz Ahmed and Jonathan Aldrich and Radu Siminiceanu, Lightweight Verification of a Multi-Task Threaded Server, in Science of Computer Programming, 2013.&lt;br /&gt;
&lt;br /&gt;
Alcides Fonseca and Cabral, B. ,AeminiumGPU: An Intelligent Framework for GPU Programming, in Facing the Multicore-Challenge III, 2013 [http://www.researchgate.net/publication/231238601_AEminiumGPU_An_Intelligent_Framework_for_GPU_Programming/file/9fcfd5066bca093c32.pdf]&lt;br /&gt;
&lt;br /&gt;
Radu I. Siminiceanu Ijaz Ahmed and Néstor Catanõ, Automated Verification of Specifications with Typestates and Access Permissions, in Proceedings of the 12th International Workshop on Automated Verification of Critical Systems (AVoCS 2012), Electronic Communications of the EASST, September 2012.&lt;br /&gt;
&lt;br /&gt;
C. Olarte and E. Pimentel and N. Cataño and C. Rueda, A Linear Concurrent Constraint approach for the automatic verification of access permissions, in Proceedings of the 14th symposium on Principles and practice of declarative programming (PPDP), ACM Press, September 2012.&lt;br /&gt;
&lt;br /&gt;
Alcides Fonseca, Bruno Cabral, Handling Exceptions in Programs with Hidden Concurrency: New Challenges for &amp;quot;Old&amp;quot; Solutions, in ICSE'12 Workshop Proceedings, 5th International Workshop on Exception Handling (WEH.12), Zurich, Switzerland, June, 2012. [http://www.researchgate.net/publication/231239219_Handling_Exceptions_in_Programs_with_Hidden_Concurrency_New_Challenges_for_Old_Solutions/file/d912f5066bd5e21fe2.pdf]&lt;br /&gt;
&lt;br /&gt;
Néstor Cataño and Ijaz Ahmed, Lightweight Veriﬁcation of a Multi-Task Threaded Server: A Case Study With The Plural Tool, in Proceedings of 16th International Workshop on Formal Methods for Industrial Critical Systems (FMICS'11), Trento, Italy, August 29-30, 2011 [http://aeminium.dei.uc.pt/images/6/67/Mtts.pdf]&lt;br /&gt;
&lt;br /&gt;
Nels E. Beckman, Duri Kim, and Jonathan Aldrich, An Empirical Study of Object Protocols in the Wild, in Proceedings of the European Conference on Object-Oriented Programming (ECOOP '11), 2011. [http://www.cs.cmu.edu/~aldrich/papers/aldrich-empirical-ecoop11.pdf]&lt;br /&gt;
&lt;br /&gt;
Roger Wolff, Ronald Garcia, Éric Tanter, and Jonathan Aldrich, Gradual Typestate, in Proceedings of the European Conference on Object-Oriented Programming (ECOOP '11), 2011. [http://www.cs.cmu.edu/~aldrich/papers/aldrich-gradual-ecoop11.pdf]&lt;br /&gt;
&lt;br /&gt;
Ligia Nistor and Jonathan Aldrich, Verifying Object-Oriented Code Using Object Propositions, in International Workshop on Aliasing, Confinement and Ownership in object-oriented programming (IWACO), 2011.  [http://www.cs.cmu.edu/~aldrich/papers/nistor-iwaco11.pdf]&lt;br /&gt;
&lt;br /&gt;
Joshua Sunshine, Karl Naden, Sven Stork, Jonathan Aldrich, and Éric Tanter, First-Class State Change in Plaid, To appear in Proceedings of Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA '11), 2011, [http://www.cs.cmu.edu/~aldrich/papers/plaid-oopsla11.pdf]&lt;br /&gt;
&lt;br /&gt;
David Alves, Pedro Bizarro and Paulo Marques, Deadline Queries: Leveraging the Cloud to Produce On-Time Results, in Proceedings of the Fourth IEEE International Conference on Cloud Computing (CLOUD 2011), July 4-9, 2011, Washington Marriott, Washington DC, USA, [http://aeminium.dei.uc.pt/images/5/5a/Paper_cloud_2011_cr_final_v2.pdf]&lt;br /&gt;
&lt;br /&gt;
Jonathan Aldrich, Ronald Garcia, Mark Hahnenberg, Manuel Mohr, Karl Naden, Darpan Saini, Sven Stork, Joshua Sunshine, Éric Tanter, and Roger Wolff, &lt;br /&gt;
Permission-Based Programming Languages (NIER Track), in Proceedings of the International Conference on Software Engineering (ICSE '11), New Ideas and Emerging Results Track, 2011, [http://www.cs.cmu.edu/~aldrich/papers/plaid-NIER2010.pdf]&lt;br /&gt;
&lt;br /&gt;
Filipe Militão, Jonathan Aldrich, and Luís Caires, Aliasing Control with View-Based Typestate, in Proceedings of Formal Techniques for Java Like Programs (FTfJP), 2010. [http://www.cs.cmu.edu/~aldrich/papers/ftfjp2010-view.pdf]&lt;br /&gt;
&lt;br /&gt;
Sven Stork, Paulo Marques, Jonathan Aldrich. Concurrency by Default: Using Permissions to Express Dataflow in Stateful Programs. Onward! Conference, Orlando, Florida, USA, October, 2009, [http://www.cs.cmu.edu/~svens/papers/onward-2009.pdf].&lt;br /&gt;
&lt;br /&gt;
== Thesis ==&lt;br /&gt;
&lt;br /&gt;
Sven Stork, ÆMINIUM - Freeing Programmers from the Shackles of Sequentiality, thesis submitted to the University of Coimbra and Carnegie Mellon University in fulfilment of the requirement for the degree of Doctor of Philosophy, March 2013. [http://www.cs.cmu.edu/~svens/papers/PhD_Thesis__Sven_Stork.pdf]&lt;br /&gt;
&lt;br /&gt;
Ijaz Ahmed, On the Formal Verification of Specifications based on Typestates with Access Permissions, thesis submitted to the University of Madeira in fulfilment of the requirement for the degree of Doctor of Philosophy, December 2012.&lt;br /&gt;
&lt;br /&gt;
Alcides Fonseca, Strategies for Optimization of Parallel Programs, PhD Thesis Proposal, Coimbra, Portugal, September 2012.&lt;br /&gt;
&lt;br /&gt;
Alcides Fonseca, ÆminiumGPU: A CPU-GPU Hybrid Runtime for the Æminium Language, thesis submitted to the University of Coimbra for obtaining the Masters’ Degree in Informatics Engineering, September 2011 [http://aeminium.dei.uc.pt/images/7/73/Alcides_fonseca_msc_thesis.pdf]&lt;br /&gt;
&lt;br /&gt;
Manuel Mohr, AEminium Compilation Theory in the Context of the Plaid Language, Diploma thesis submitted to the Karlsruhe Institute of&lt;br /&gt;
Technology, February 2011 [http://pp.info.uni-karlsruhe.de/~mohr/DiplomaThesisMohr.pdf]&lt;br /&gt;
&lt;br /&gt;
Sven Stork, Concurrent Programming via Access Permissions, PhD Thesis Proposal, Coimbra, Portugal, September 2009, [http://www.cs.cmu.edu/~svens/papers/proposal-2009.pdf].&lt;br /&gt;
&lt;br /&gt;
== Internal Presentations ==&lt;br /&gt;
&lt;br /&gt;
July 2011: [http://aeminium.dei.uc.pt/images/6/6a/Presentation.pdf Pulse: Plural To EVMDD-SMC - The Compiler and Model Generator]&lt;br /&gt;
&lt;br /&gt;
March 2011 at Novabase: [http://aeminium.dei.uc.pt/images/0/05/Novabase.pdf Lightweight Verification of a Multi-Task Threaded Server: A Case Study With The Plural Tool]&lt;br /&gt;
&lt;br /&gt;
== Public Presentations ==&lt;br /&gt;
&lt;br /&gt;
Jonathan Aldrich, Ronald Garcia, Mark Hahnenberg, Manuel Mohr, Karl Naden, Darpan Saini, Sven Stork, Joshua Sunshine, Éric Tanter, and Roger Wolff.  Permission-Based Programming Languages (NIER Track). At the International Conference on Software Engineering (ICSE '11), New Ideas and Emerging Results Track, 2011 [http://aeminium.dei.uc.pt/images/9/91/Plaidpermissions-icsenier-may11.pdf Plaidpermissions-icsenier-may11.pdf]&lt;br /&gt;
&lt;br /&gt;
Concurrency-Workshop 2010: [http://aeminium.dei.uc.pt/images/a/ae/AEminium-in-a-Nutshell.pdf AEminium-in-a-Nutshell.pdf]&lt;br /&gt;
&lt;br /&gt;
UC/Seminar presentation January 2009: [http://aeminium.dei.uc.pt/images/1/1e/Designing-a-Concurrent-Programming-Language.pdf Designing-a-Concurrent-Programming-Language.pdf]&lt;br /&gt;
&lt;br /&gt;
SSSG talk 2009: [http://aeminium.dei.uc.pt/images/a/a6/SSSG-Conurrency-by-Default.pdf SSSG-Concurrency-by-Default.pdf]&lt;br /&gt;
&lt;br /&gt;
PhD-Proposal short presentation: [http://aeminium.dei.uc.pt/images/6/6c/Concurrent-Programming-via-Access-Permissions.pdf Concurrent-Programming-via-Access-Permissions.pdf]&lt;br /&gt;
&lt;br /&gt;
Phd-Proposal UC: [http://aeminium.dei.uc.pt/images/f/f6/PhD-Proposal-Defense-UC.pdf PhD-Proposal-Defense-UC.pdf]&lt;br /&gt;
&lt;br /&gt;
Onward 2009: [http://aeminium.dei.uc.pt/images/f/ff/Concurrency-By-Default.pdf Concurreny-By-Default.pdf]&lt;br /&gt;
&lt;br /&gt;
SSSG 2008: [http://aeminium.dei.uc.pt/images/e/e2/ParallelProgrammingModels.pdf Parallel-Programming-Models.pdf]&lt;br /&gt;
&lt;br /&gt;
SSSG 2008: [http://aeminium.dei.uc.pt/images/d/d5/SSSG-CurrentResearch.pdf SSSG-CurrentResearch.pdf]&lt;/div&gt;</summary>
		<author><name>Alcides</name></author>	</entry>

	<entry>
		<id>http://aeminium.dei.uc.pt/index.php?title=Dissemination&amp;diff=1721</id>
		<title>Dissemination</title>
		<link rel="alternate" type="text/html" href="http://aeminium.dei.uc.pt/index.php?title=Dissemination&amp;diff=1721"/>
				<updated>2013-07-28T23:47:43Z</updated>
		
		<summary type="html">&lt;p&gt;Alcides: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Publications i==&lt;br /&gt;
&lt;br /&gt;
Néstor Cataño and Ijaz Ahmed and Jonathan Aldrich and Radu Siminiceanu, Lightweight Verification of a Multi-Task Threaded Server, in Science of Computer Programming, 2013.&lt;br /&gt;
&lt;br /&gt;
Alcides Fonseca and Cabral, B. ,AeminiumGPU: An Intelligent Framework for GPU Programming, in Facing the Multicore-Challenge III, 2013 [http://www.researchgate.net/publication/231238601_AEminiumGPU_An_Intelligent_Framework_for_GPU_Programming/file/9fcfd5066bca093c32.pdf]&lt;br /&gt;
&lt;br /&gt;
Radu I. Siminiceanu Ijaz Ahmed and Néstor Catanõ, Automated Verification of Specifications with Typestates and Access Permissions, in Proceedings of the 12th International Workshop on Automated Verification of Critical Systems (AVoCS 2012), Electronic Communications of the EASST, September 2012.&lt;br /&gt;
&lt;br /&gt;
C. Olarte and E. Pimentel and N. Cataño and C. Rueda, A Linear Concurrent Constraint approach for the automatic verification of access permissions, in Proceedings of the 14th symposium on Principles and practice of declarative programming (PPDP), ACM Press, September 2012.&lt;br /&gt;
&lt;br /&gt;
Alcides Fonseca, Bruno Cabral, Handling Exceptions in Programs with Hidden Concurrency: New Challenges for &amp;quot;Old&amp;quot; Solutions, in ICSE'12 Workshop Proceedings, 5th International Workshop on Exception Handling (WEH.12), Zurich, Switzerland, June, 2012. [http://www.researchgate.net/publication/231239219_Handling_Exceptions_in_Programs_with_Hidden_Concurrency_New_Challenges_for_Old_Solutions/file/d912f5066bd5e21fe2.pdf]&lt;br /&gt;
&lt;br /&gt;
Néstor Cataño and Ijaz Ahmed, Lightweight Veriﬁcation of a Multi-Task Threaded Server: A Case Study With The Plural Tool, in Proceedings of 16th International Workshop on Formal Methods for Industrial Critical Systems (FMICS'11), Trento, Italy, August 29-30, 2011 [http://aeminium.dei.uc.pt/images/6/67/Mtts.pdf]&lt;br /&gt;
&lt;br /&gt;
Nels E. Beckman, Duri Kim, and Jonathan Aldrich, An Empirical Study of Object Protocols in the Wild, in Proceedings of the European Conference on Object-Oriented Programming (ECOOP '11), 2011. [http://www.cs.cmu.edu/~aldrich/papers/aldrich-empirical-ecoop11.pdf]&lt;br /&gt;
&lt;br /&gt;
Roger Wolff, Ronald Garcia, Éric Tanter, and Jonathan Aldrich, Gradual Typestate, in Proceedings of the European Conference on Object-Oriented Programming (ECOOP '11), 2011. [http://www.cs.cmu.edu/~aldrich/papers/aldrich-gradual-ecoop11.pdf]&lt;br /&gt;
&lt;br /&gt;
Ligia Nistor and Jonathan Aldrich, Verifying Object-Oriented Code Using Object Propositions, in International Workshop on Aliasing, Confinement and Ownership in object-oriented programming (IWACO), 2011.  [http://www.cs.cmu.edu/~aldrich/papers/nistor-iwaco11.pdf]&lt;br /&gt;
&lt;br /&gt;
Joshua Sunshine, Karl Naden, Sven Stork, Jonathan Aldrich, and Éric Tanter, First-Class State Change in Plaid, To appear in Proceedings of Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA '11), 2011, [http://www.cs.cmu.edu/~aldrich/papers/plaid-oopsla11.pdf]&lt;br /&gt;
&lt;br /&gt;
David Alves, Pedro Bizarro and Paulo Marques, Deadline Queries: Leveraging the Cloud to Produce On-Time Results, in Proceedings of the Fourth IEEE International Conference on Cloud Computing (CLOUD 2011), July 4-9, 2011, Washington Marriott, Washington DC, USA, [http://aeminium.dei.uc.pt/images/5/5a/Paper_cloud_2011_cr_final_v2.pdf]&lt;br /&gt;
&lt;br /&gt;
Jonathan Aldrich, Ronald Garcia, Mark Hahnenberg, Manuel Mohr, Karl Naden, Darpan Saini, Sven Stork, Joshua Sunshine, Éric Tanter, and Roger Wolff, &lt;br /&gt;
Permission-Based Programming Languages (NIER Track), in Proceedings of the International Conference on Software Engineering (ICSE '11), New Ideas and Emerging Results Track, 2011, [http://www.cs.cmu.edu/~aldrich/papers/plaid-NIER2010.pdf]&lt;br /&gt;
&lt;br /&gt;
Filipe Militão, Jonathan Aldrich, and Luís Caires, Aliasing Control with View-Based Typestate, in Proceedings of Formal Techniques for Java Like Programs (FTfJP), 2010. [http://www.cs.cmu.edu/~aldrich/papers/ftfjp2010-view.pdf]&lt;br /&gt;
&lt;br /&gt;
Sven Stork, Paulo Marques, Jonathan Aldrich. Concurrency by Default: Using Permissions to Express Dataflow in Stateful Programs. Onward! Conference, Orlando, Florida, USA, October, 2009, [http://www.cs.cmu.edu/~svens/papers/onward-2009.pdf].&lt;br /&gt;
&lt;br /&gt;
== Thesis ==&lt;br /&gt;
&lt;br /&gt;
Sven Stork, ÆMINIUM - Freeing Programmers from the Shackles of Sequentiality, thesis submitted to the University of Coimbra and Carnegie Mellon University in fulfilment of the requirement for the degree of Doctor of Philosophy, March 2013. [http://www.cs.cmu.edu/~svens/papers/PhD_Thesis__Sven_Stork.pdf]&lt;br /&gt;
&lt;br /&gt;
Ijaz Ahmed, On the Formal Verification of Specifications based on Typestates with Access Permissions, thesis submitted to the University of Madeira in fulfilment of the requirement for the degree of Doctor of Philosophy, December 2012.&lt;br /&gt;
&lt;br /&gt;
Alcides Fonseca, Strategies for Optimization of Parallel Programs, PhD Thesis Proposal, Coimbra, Portugal, September 2012.&lt;br /&gt;
&lt;br /&gt;
Alcides Fonseca, ÆminiumGPU: A CPU-GPU Hybrid Runtime for the Æminium Language, thesis submitted to the University of Coimbra for obtaining the Masters’ Degree in Informatics Engineering, September 2011 [http://aeminium.dei.uc.pt/images/7/73/Alcides_fonseca_msc_thesis.pdf]&lt;br /&gt;
&lt;br /&gt;
Manuel Mohr, AEminium Compilation Theory in the Context of the Plaid Language, Diploma thesis submitted to the Karlsruhe Institute of&lt;br /&gt;
Technology, February 2011 [http://pp.info.uni-karlsruhe.de/~mohr/DiplomaThesisMohr.pdf]&lt;br /&gt;
&lt;br /&gt;
Sven Stork, Concurrent Programming via Access Permissions, PhD Thesis Proposal, Coimbra, Portugal, September 2009, [http://www.cs.cmu.edu/~svens/papers/proposal-2009.pdf].&lt;br /&gt;
&lt;br /&gt;
== Internal Presentations ==&lt;br /&gt;
&lt;br /&gt;
July 2011: [http://aeminium.dei.uc.pt/images/6/6a/Presentation.pdf Pulse: Plural To EVMDD-SMC - The Compiler and Model Generator]&lt;br /&gt;
&lt;br /&gt;
March 2011 at Novabase: [http://aeminium.dei.uc.pt/images/0/05/Novabase.pdf Lightweight Verification of a Multi-Task Threaded Server: A Case Study With The Plural Tool]&lt;br /&gt;
&lt;br /&gt;
== Public Presentations ==&lt;br /&gt;
&lt;br /&gt;
Jonathan Aldrich, Ronald Garcia, Mark Hahnenberg, Manuel Mohr, Karl Naden, Darpan Saini, Sven Stork, Joshua Sunshine, Éric Tanter, and Roger Wolff.  Permission-Based Programming Languages (NIER Track). At the International Conference on Software Engineering (ICSE '11), New Ideas and Emerging Results Track, 2011 [http://aeminium.dei.uc.pt/images/9/91/Plaidpermissions-icsenier-may11.pdf Plaidpermissions-icsenier-may11.pdf]&lt;br /&gt;
&lt;br /&gt;
Concurrency-Workshop 2010: [http://aeminium.dei.uc.pt/images/a/ae/AEminium-in-a-Nutshell.pdf AEminium-in-a-Nutshell.pdf]&lt;br /&gt;
&lt;br /&gt;
UC/Seminar presentation January 2009: [http://aeminium.dei.uc.pt/images/1/1e/Designing-a-Concurrent-Programming-Language.pdf Designing-a-Concurrent-Programming-Language.pdf]&lt;br /&gt;
&lt;br /&gt;
SSSG talk 2009: [http://aeminium.dei.uc.pt/images/a/a6/SSSG-Conurrency-by-Default.pdf SSSG-Concurrency-by-Default.pdf]&lt;br /&gt;
&lt;br /&gt;
PhD-Proposal short presentation: [http://aeminium.dei.uc.pt/images/6/6c/Concurrent-Programming-via-Access-Permissions.pdf Concurrent-Programming-via-Access-Permissions.pdf]&lt;br /&gt;
&lt;br /&gt;
Phd-Proposal UC: [http://aeminium.dei.uc.pt/images/f/f6/PhD-Proposal-Defense-UC.pdf PhD-Proposal-Defense-UC.pdf]&lt;br /&gt;
&lt;br /&gt;
Onward 2009: [http://aeminium.dei.uc.pt/images/f/ff/Concurrency-By-Default.pdf Concurreny-By-Default.pdf]&lt;br /&gt;
&lt;br /&gt;
SSSG 2008: [http://aeminium.dei.uc.pt/images/e/e2/ParallelProgrammingModels.pdf Parallel-Programming-Models.pdf]&lt;br /&gt;
&lt;br /&gt;
SSSG 2008: [http://aeminium.dei.uc.pt/images/d/d5/SSSG-CurrentResearch.pdf SSSG-CurrentResearch.pdf]&lt;/div&gt;</summary>
		<author><name>Alcides</name></author>	</entry>

	<entry>
		<id>http://aeminium.dei.uc.pt/index.php?title=AEminium&amp;diff=1720</id>
		<title>AEminium</title>
		<link rel="alternate" type="text/html" href="http://aeminium.dei.uc.pt/index.php?title=AEminium&amp;diff=1720"/>
				<updated>2013-07-28T22:59:46Z</updated>
		
		<summary type="html">&lt;p&gt;Alcides: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;big&amp;gt;'''Freeing Programmers from the Shackles of Sequentiality.'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Current programming systems shackle developers to a sequential coding paradigm.&lt;br /&gt;
This paradigm hampers developers from taking advantage of emerging large‐scale multicore hardware. We propose a platform which builds in concurrency by default: instead of sequencing code, programmers express dependency information, which is used by a compile‐time checker to verify correctness conditions, and by the libraries and runtime system to enable concurrent execution. As a result, developers can write parallel code in a natural style and have confidence in its correctness and performance.&lt;br /&gt;
&lt;br /&gt;
Consult the [http://aeminium.dei.uc.pt/images/1/13/Aeminium_ExecutiveSummary.pdf Executive Summary] for information on the project.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== AEminium at the University of Coimbra ==&lt;br /&gt;
&lt;br /&gt;
The AEminium Runtime is being optimized in terms of scheduling algorithms, merging policies and other improvements. There is also parallel work towards executing AEminium programs on the GPU automatically, using OpenCL technology under the hood. There is yet some work being developed on using access permissions on a event-oriented language.&lt;br /&gt;
&lt;br /&gt;
== AEminium at the University of Madeira ==&lt;br /&gt;
&lt;br /&gt;
The organizers of FMICS'11 selected the article &amp;quot;Multi-Task Threaded Server: A Case Study With The Plural Tool&amp;quot; by Néstor Cataño and Ijaz Ahmed for submission to Science of Computer Programming (SCP). FMICS invited 7 papers in total and will select 5 of them for final publication to SCP. This article discusses the business case provided by AEMinium's industrial partner Novabase.&lt;br /&gt;
&lt;br /&gt;
Follow this [http://www3.uma.pt/ncatano/aeminium/Home.html link] for more information on what the University of Madeira is doing on the AEminium project.&lt;br /&gt;
&lt;br /&gt;
== AEminium at the Carnegie Mellon University ==&lt;br /&gt;
Contact Jonathan Aldrich at CMU for more information. http://www.cs.cmu.edu/~aldrich/&lt;/div&gt;</summary>
		<author><name>Alcides</name></author>	</entry>

	<entry>
		<id>http://aeminium.dei.uc.pt/index.php?title=Dissemination&amp;diff=1719</id>
		<title>Dissemination</title>
		<link rel="alternate" type="text/html" href="http://aeminium.dei.uc.pt/index.php?title=Dissemination&amp;diff=1719"/>
				<updated>2013-07-01T15:09:15Z</updated>
		
		<summary type="html">&lt;p&gt;Alcides: /* Thesis */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Publications ==&lt;br /&gt;
&lt;br /&gt;
Néstor Cataño and Ijaz Ahmed and Jonathan Aldrich and Radu Siminiceanu, Lightweight Verification of a Multi-Task Threaded Server, in Science of Computer Programming, 2013.&lt;br /&gt;
&lt;br /&gt;
Alcides Fonseca and Cabral, B. ,AeminiumGPU: An Intelligent Framework for GPU Programming, in Facing the Multicore-Challenge III, 2012&lt;br /&gt;
&lt;br /&gt;
Radu I. Siminiceanu Ijaz Ahmed and Néstor Catanõ, Automated Verification of Specifications with Typestates and Access Permissions, in Proceedings of the 12th International Workshop on Automated Verification of Critical Systems (AVoCS 2012), Electronic Communications of the EASST, September 2012.&lt;br /&gt;
&lt;br /&gt;
C. Olarte and E. Pimentel and N. Cataño and C. Rueda, A Linear Concurrent Constraint approach for the automatic verification of access permissions, in Proceedings of the 14th symposium on Principles and practice of declarative programming (PPDP), ACM Press, September 2012.&lt;br /&gt;
&lt;br /&gt;
Alcides Fonseca, Bruno Cabral, Handling Exceptions in Programs with Hidden Concurrency: New Challenges for &amp;quot;Old&amp;quot; Solutions, in ICSE'12 Workshop Proceedings, 5th International Workshop on Exception Handling (WEH.12), Zurich, Switzerland, June, 2012.&lt;br /&gt;
&lt;br /&gt;
Néstor Cataño and Ijaz Ahmed, Lightweight Veriﬁcation of a Multi-Task Threaded Server: A Case Study With The Plural Tool, in Proceedings of 16th International Workshop on Formal Methods for Industrial Critical Systems (FMICS'11), Trento, Italy, August 29-30, 2011 [http://aeminium.dei.uc.pt/images/6/67/Mtts.pdf]&lt;br /&gt;
&lt;br /&gt;
Nels E. Beckman, Duri Kim, and Jonathan Aldrich, An Empirical Study of Object Protocols in the Wild, in Proceedings of the European Conference on Object-Oriented Programming (ECOOP '11), 2011. [http://www.cs.cmu.edu/~aldrich/papers/aldrich-empirical-ecoop11.pdf]&lt;br /&gt;
&lt;br /&gt;
Roger Wolff, Ronald Garcia, Éric Tanter, and Jonathan Aldrich, Gradual Typestate, in Proceedings of the European Conference on Object-Oriented Programming (ECOOP '11), 2011. [http://www.cs.cmu.edu/~aldrich/papers/aldrich-gradual-ecoop11.pdf]&lt;br /&gt;
&lt;br /&gt;
Ligia Nistor and Jonathan Aldrich, Verifying Object-Oriented Code Using Object Propositions, in International Workshop on Aliasing, Confinement and Ownership in object-oriented programming (IWACO), 2011.  [http://www.cs.cmu.edu/~aldrich/papers/nistor-iwaco11.pdf]&lt;br /&gt;
&lt;br /&gt;
Joshua Sunshine, Karl Naden, Sven Stork, Jonathan Aldrich, and Éric Tanter, First-Class State Change in Plaid, To appear in Proceedings of Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA '11), 2011, [http://www.cs.cmu.edu/~aldrich/papers/plaid-oopsla11.pdf]&lt;br /&gt;
&lt;br /&gt;
David Alves, Pedro Bizarro and Paulo Marques, Deadline Queries: Leveraging the Cloud to Produce On-Time Results, in Proceedings of the Fourth IEEE International Conference on Cloud Computing (CLOUD 2011), July 4-9, 2011, Washington Marriott, Washington DC, USA, [http://aeminium.dei.uc.pt/images/5/5a/Paper_cloud_2011_cr_final_v2.pdf]&lt;br /&gt;
&lt;br /&gt;
Jonathan Aldrich, Ronald Garcia, Mark Hahnenberg, Manuel Mohr, Karl Naden, Darpan Saini, Sven Stork, Joshua Sunshine, Éric Tanter, and Roger Wolff, &lt;br /&gt;
Permission-Based Programming Languages (NIER Track), in Proceedings of the International Conference on Software Engineering (ICSE '11), New Ideas and Emerging Results Track, 2011, [http://www.cs.cmu.edu/~aldrich/papers/plaid-NIER2010.pdf]&lt;br /&gt;
&lt;br /&gt;
Filipe Militão, Jonathan Aldrich, and Luís Caires, Aliasing Control with View-Based Typestate, in Proceedings of Formal Techniques for Java Like Programs (FTfJP), 2010. [http://www.cs.cmu.edu/~aldrich/papers/ftfjp2010-view.pdf]&lt;br /&gt;
&lt;br /&gt;
Sven Stork, Paulo Marques, Jonathan Aldrich. Concurrency by Default: Using Permissions to Express Dataflow in Stateful Programs. Onward! Conference, Orlando, Florida, USA, October, 2009, [http://www.cs.cmu.edu/~svens/papers/onward-2009.pdf].&lt;br /&gt;
&lt;br /&gt;
== Thesis ==&lt;br /&gt;
&lt;br /&gt;
Sven Stork, ÆMINIUM - Freeing Programmers from the Shackles of Sequentiality, thesis submitted to the University of Coimbra and Carnegie Mellon University in fulfilment of the requirement for the degree of Doctor of Philosophy, March 2013. [http://www.cs.cmu.edu/~svens/papers/PhD_Thesis__Sven_Stork.pdf]&lt;br /&gt;
&lt;br /&gt;
Ijaz Ahmed, On the Formal Verification of Specifications based on Typestates with Access Permissions, thesis submitted to the University of Madeira in fulfilment of the requirement for the degree of Doctor of Philosophy, December 2012.&lt;br /&gt;
&lt;br /&gt;
Alcides Fonseca, Strategies for Optimization of Parallel Programs, PhD Thesis Proposal, Coimbra, Portugal, September 2012.&lt;br /&gt;
&lt;br /&gt;
Alcides Fonseca, ÆminiumGPU: A CPU-GPU Hybrid Runtime for the Æminium Language, thesis submitted to the University of Coimbra for obtaining the Masters’ Degree in Informatics Engineering, September 2011 [http://aeminium.dei.uc.pt/images/7/73/Alcides_fonseca_msc_thesis.pdf]&lt;br /&gt;
&lt;br /&gt;
Manuel Mohr, AEminium Compilation Theory in the Context of the Plaid Language, Diploma thesis submitted to the Karlsruhe Institute of&lt;br /&gt;
Technology, February 2011 [http://pp.info.uni-karlsruhe.de/~mohr/DiplomaThesisMohr.pdf]&lt;br /&gt;
&lt;br /&gt;
Sven Stork, Concurrent Programming via Access Permissions, PhD Thesis Proposal, Coimbra, Portugal, September 2009, [http://www.cs.cmu.edu/~svens/papers/proposal-2009.pdf].&lt;br /&gt;
&lt;br /&gt;
== Internal Presentations ==&lt;br /&gt;
&lt;br /&gt;
July 2011: [http://aeminium.dei.uc.pt/images/6/6a/Presentation.pdf Pulse: Plural To EVMDD-SMC - The Compiler and Model Generator]&lt;br /&gt;
&lt;br /&gt;
March 2011 at Novabase: [http://aeminium.dei.uc.pt/images/0/05/Novabase.pdf Lightweight Verification of a Multi-Task Threaded Server: A Case Study With The Plural Tool]&lt;br /&gt;
&lt;br /&gt;
== Public Presentations ==&lt;br /&gt;
&lt;br /&gt;
Jonathan Aldrich, Ronald Garcia, Mark Hahnenberg, Manuel Mohr, Karl Naden, Darpan Saini, Sven Stork, Joshua Sunshine, Éric Tanter, and Roger Wolff.  Permission-Based Programming Languages (NIER Track). At the International Conference on Software Engineering (ICSE '11), New Ideas and Emerging Results Track, 2011 [http://aeminium.dei.uc.pt/images/9/91/Plaidpermissions-icsenier-may11.pdf Plaidpermissions-icsenier-may11.pdf]&lt;br /&gt;
&lt;br /&gt;
Concurrency-Workshop 2010: [http://aeminium.dei.uc.pt/images/a/ae/AEminium-in-a-Nutshell.pdf AEminium-in-a-Nutshell.pdf]&lt;br /&gt;
&lt;br /&gt;
UC/Seminar presentation January 2009: [http://aeminium.dei.uc.pt/images/1/1e/Designing-a-Concurrent-Programming-Language.pdf Designing-a-Concurrent-Programming-Language.pdf]&lt;br /&gt;
&lt;br /&gt;
SSSG talk 2009: [http://aeminium.dei.uc.pt/images/a/a6/SSSG-Conurrency-by-Default.pdf SSSG-Concurrency-by-Default.pdf]&lt;br /&gt;
&lt;br /&gt;
PhD-Proposal short presentation: [http://aeminium.dei.uc.pt/images/6/6c/Concurrent-Programming-via-Access-Permissions.pdf Concurrent-Programming-via-Access-Permissions.pdf]&lt;br /&gt;
&lt;br /&gt;
Phd-Proposal UC: [http://aeminium.dei.uc.pt/images/f/f6/PhD-Proposal-Defense-UC.pdf PhD-Proposal-Defense-UC.pdf]&lt;br /&gt;
&lt;br /&gt;
Onward 2009: [http://aeminium.dei.uc.pt/images/f/ff/Concurrency-By-Default.pdf Concurreny-By-Default.pdf]&lt;br /&gt;
&lt;br /&gt;
SSSG 2008: [http://aeminium.dei.uc.pt/images/e/e2/ParallelProgrammingModels.pdf Parallel-Programming-Models.pdf]&lt;br /&gt;
&lt;br /&gt;
SSSG 2008: [http://aeminium.dei.uc.pt/images/d/d5/SSSG-CurrentResearch.pdf SSSG-CurrentResearch.pdf]&lt;/div&gt;</summary>
		<author><name>Alcides</name></author>	</entry>

	<entry>
		<id>http://aeminium.dei.uc.pt/index.php?title=Dissemination&amp;diff=1705</id>
		<title>Dissemination</title>
		<link rel="alternate" type="text/html" href="http://aeminium.dei.uc.pt/index.php?title=Dissemination&amp;diff=1705"/>
				<updated>2012-10-07T23:13:34Z</updated>
		
		<summary type="html">&lt;p&gt;Alcides: /* Publications */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Publications ==&lt;br /&gt;
&lt;br /&gt;
Alcides Fonseca and Cabral, B. ,&amp;quot;AeminiumGPU: An Intelligent Framework for GPU Programming&amp;quot;, in Facing the Multicore-Challenge III, 2012&lt;br /&gt;
&lt;br /&gt;
Alcides Fonseca, Bruno Cabral, &amp;quot;Handling Exceptions in Programs with Hidden Concurrency: New Challenges for &amp;quot;Old&amp;quot; Solutions&amp;quot;, in ICSE'12 Workshop Proceedings, 5th International Workshop on Exception Handling (WEH.12), Zurich, Switzerland, June, 2012.&lt;br /&gt;
&lt;br /&gt;
Néstor Cataño and Ijaz Ahmed, Lightweight Veriﬁcation of a Multi-Task Threaded Server: A Case Study With The Plural Tool, in Proceedings of 16th International Workshop on Formal Methods for Industrial Critical Systems (FMICS'11), Trento, Italy, August 29-30, 2011 [http://aeminium.dei.uc.pt/images/6/67/Mtts.pdf]&lt;br /&gt;
&lt;br /&gt;
Nels E. Beckman, Duri Kim, and Jonathan Aldrich, An Empirical Study of Object Protocols in the Wild, in Proceedings of the European Conference on Object-Oriented Programming (ECOOP '11), 2011. [http://www.cs.cmu.edu/~aldrich/papers/aldrich-empirical-ecoop11.pdf]&lt;br /&gt;
&lt;br /&gt;
Roger Wolff, Ronald Garcia, Éric Tanter, and Jonathan Aldrich, Gradual Typestate, in Proceedings of the European Conference on Object-Oriented Programming (ECOOP '11), 2011. [http://www.cs.cmu.edu/~aldrich/papers/aldrich-gradual-ecoop11.pdf]&lt;br /&gt;
&lt;br /&gt;
Ligia Nistor and Jonathan Aldrich, Verifying Object-Oriented Code Using Object Propositions, in International Workshop on Aliasing, Confinement and Ownership in object-oriented programming (IWACO), 2011.  [http://www.cs.cmu.edu/~aldrich/papers/nistor-iwaco11.pdf]&lt;br /&gt;
&lt;br /&gt;
Joshua Sunshine, Karl Naden, Sven Stork, Jonathan Aldrich, and Éric Tanter, First-Class State Change in Plaid, To appear in Proceedings of Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA '11), 2011, [http://www.cs.cmu.edu/~aldrich/papers/plaid-oopsla11.pdf]&lt;br /&gt;
&lt;br /&gt;
David Alves, Pedro Bizarro and Paulo Marques, Deadline Queries: Leveraging the Cloud to Produce On-Time Results, in Proceedings of the Fourth IEEE International Conference on Cloud Computing (CLOUD 2011), July 4-9, 2011, Washington Marriott, Washington DC, USA, [http://aeminium.dei.uc.pt/images/5/5a/Paper_cloud_2011_cr_final_v2.pdf]&lt;br /&gt;
&lt;br /&gt;
Jonathan Aldrich, Ronald Garcia, Mark Hahnenberg, Manuel Mohr, Karl Naden, Darpan Saini, Sven Stork, Joshua Sunshine, Éric Tanter, and Roger Wolff, &lt;br /&gt;
Permission-Based Programming Languages (NIER Track), in Proceedings of the International Conference on Software Engineering (ICSE '11), New Ideas and Emerging Results Track, 2011, [http://www.cs.cmu.edu/~aldrich/papers/plaid-NIER2010.pdf]&lt;br /&gt;
&lt;br /&gt;
Filipe Militão, Jonathan Aldrich, and Luís Caires, Aliasing Control with View-Based Typestate, in Proceedings of Formal Techniques for Java Like Programs (FTfJP), 2010. [http://www.cs.cmu.edu/~aldrich/papers/ftfjp2010-view.pdf]&lt;br /&gt;
&lt;br /&gt;
Sven Stork, Paulo Marques, Jonathan Aldrich. Concurrency by Default: Using Permissions to Express Dataflow in Stateful Programs. Onward! Conference, Orlando, Florida, USA, October, 2009, [http://www.cs.cmu.edu/~svens/papers/onward-2009.pdf].&lt;br /&gt;
&lt;br /&gt;
== Thesis ==&lt;br /&gt;
&lt;br /&gt;
Alcides Fonseca, ÆminiumGPU: A CPU-GPU Hybrid Runtime for the Æminium Language, thesis submitted to the University of Coimbra for obtaining the Masters’ Degree in Informatics Engineering, September 2011 [http://aeminium.dei.uc.pt/images/7/73/Alcides_fonseca_msc_thesis.pdf]&lt;br /&gt;
&lt;br /&gt;
Manuel Mohr, AEminium Compilation Theory in the Context of the Plaid Language, Diploma thesis submitted to the Karlsruhe Institute of&lt;br /&gt;
Technology, February 2011 [http://pp.info.uni-karlsruhe.de/~mohr/DiplomaThesisMohr.pdf]&lt;br /&gt;
&lt;br /&gt;
Sven Stork, Concurrent Programming via Access Permissions, PhD Thesis Proposal, Coimbra, Portugal, September 2009, [http://www.cs.cmu.edu/~svens/papers/proposal-2009.pdf].&lt;br /&gt;
&lt;br /&gt;
== Internal Presentations ==&lt;br /&gt;
&lt;br /&gt;
July 2011: [http://aeminium.dei.uc.pt/images/6/6a/Presentation.pdf Pulse: Plural To EVMDD-SMC - The Compiler and Model Generator]&lt;br /&gt;
&lt;br /&gt;
March 2011 at Novabase: [http://aeminium.dei.uc.pt/images/0/05/Novabase.pdf Lightweight Verification of a Multi-Task Threaded Server: A Case Study With The Plural Tool]&lt;br /&gt;
&lt;br /&gt;
== Public Presentations ==&lt;br /&gt;
&lt;br /&gt;
Jonathan Aldrich, Ronald Garcia, Mark Hahnenberg, Manuel Mohr, Karl Naden, Darpan Saini, Sven Stork, Joshua Sunshine, Éric Tanter, and Roger Wolff.  Permission-Based Programming Languages (NIER Track). At the International Conference on Software Engineering (ICSE '11), New Ideas and Emerging Results Track, 2011 [http://aeminium.dei.uc.pt/images/9/91/Plaidpermissions-icsenier-may11.pdf Plaidpermissions-icsenier-may11.pdf]&lt;br /&gt;
&lt;br /&gt;
Concurrency-Workshop 2010: [http://aeminium.dei.uc.pt/images/a/ae/AEminium-in-a-Nutshell.pdf AEminium-in-a-Nutshell.pdf]&lt;br /&gt;
&lt;br /&gt;
UC/Seminar presentation January 2009: [http://aeminium.dei.uc.pt/images/1/1e/Designing-a-Concurrent-Programming-Language.pdf Designing-a-Concurrent-Programming-Language.pdf]&lt;br /&gt;
&lt;br /&gt;
SSSG talk 2009: [http://aeminium.dei.uc.pt/images/a/a6/SSSG-Conurrency-by-Default.pdf SSSG-Concurrency-by-Default.pdf]&lt;br /&gt;
&lt;br /&gt;
PhD-Proposal short presentation: [http://aeminium.dei.uc.pt/images/6/6c/Concurrent-Programming-via-Access-Permissions.pdf Concurrent-Programming-via-Access-Permissions.pdf]&lt;br /&gt;
&lt;br /&gt;
Phd-Proposal UC: [http://aeminium.dei.uc.pt/images/f/f6/PhD-Proposal-Defense-UC.pdf PhD-Proposal-Defense-UC.pdf]&lt;br /&gt;
&lt;br /&gt;
Onward 2009: [http://aeminium.dei.uc.pt/images/f/ff/Concurrency-By-Default.pdf Concurreny-By-Default.pdf]&lt;br /&gt;
&lt;br /&gt;
SSSG 2008: [http://aeminium.dei.uc.pt/images/e/e2/ParallelProgrammingModels.pdf Parallel-Programming-Models.pdf]&lt;br /&gt;
&lt;br /&gt;
SSSG 2008: [http://aeminium.dei.uc.pt/images/d/d5/SSSG-CurrentResearch.pdf SSSG-CurrentResearch.pdf]&lt;/div&gt;</summary>
		<author><name>Alcides</name></author>	</entry>

	<entry>
		<id>http://aeminium.dei.uc.pt/index.php?title=Documentation&amp;diff=1640</id>
		<title>Documentation</title>
		<link rel="alternate" type="text/html" href="http://aeminium.dei.uc.pt/index.php?title=Documentation&amp;diff=1640"/>
				<updated>2012-02-11T14:47:24Z</updated>
		
		<summary type="html">&lt;p&gt;Alcides: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Documentation of Æminium is split in several components:&lt;br /&gt;
&lt;br /&gt;
* [[DocumentationAeminiumCompiler|AeminiumCompiler Documentation]]&lt;br /&gt;
* [[DocumentationAeminiumRuntime|AeminiumRuntime Documentation]]&lt;br /&gt;
** [[DocumentationAeminiumRuntimeProfiler|Profiler Documentation]]&lt;/div&gt;</summary>
		<author><name>Alcides</name></author>	</entry>

	<entry>
		<id>http://aeminium.dei.uc.pt/index.php?title=DocumentationAeminiumRuntime&amp;diff=1638</id>
		<title>DocumentationAeminiumRuntime</title>
		<link rel="alternate" type="text/html" href="http://aeminium.dei.uc.pt/index.php?title=DocumentationAeminiumRuntime&amp;diff=1638"/>
				<updated>2012-02-11T14:42:50Z</updated>
		
		<summary type="html">&lt;p&gt;Alcides: moved Documentation to DocumentationAeminiumRuntime&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The main goal of the Æminium Runtime is to paralyze as much as possible a given code.&lt;br /&gt;
&lt;br /&gt;
== Preparing the ground ==&lt;br /&gt;
&lt;br /&gt;
=== Downloads ===&lt;br /&gt;
If you are looking for the source code of the Æminium Runtime, all of it may be found [https://github.com/alcides/Aeminium/tree/master/AeminiumRuntime here], at a ''GitHub'' repository with a read-only version.&lt;br /&gt;
&lt;br /&gt;
Once you have downloaded the files, you may import it into the [http://www.eclipse.org/ Eclipse], as a project. In case you are using a different IDE other than this one, you may export its source file and run it under the [http://ant.apache.org/ Apache Ant] compiler.&lt;br /&gt;
&lt;br /&gt;
We will soon enough make available all the ''.jar'' files so you may include the Æminium Runtime in your own project.&lt;br /&gt;
&lt;br /&gt;
=== Configuration File ===&lt;br /&gt;
To be updated...&lt;br /&gt;
&lt;br /&gt;
== A Simple Program == &lt;br /&gt;
&lt;br /&gt;
=== Creating the tasks ===&lt;br /&gt;
&lt;br /&gt;
Every Æminium program should begin by creating an instance of the Runtime class using the proper [[#Factory|''Factory'']], starting the scheduler by invoking the method ''init()''. It should also be terminated with the ''shutdown()'' invocation, but we will remind you about it at the end of the section.&lt;br /&gt;
&lt;br /&gt;
 1  public static void main(String[] args)&lt;br /&gt;
 2  {&lt;br /&gt;
 3    final Runtime rt = Factory.getRuntime();&lt;br /&gt;
 4    rt.init();&lt;br /&gt;
 5  &lt;br /&gt;
 6    ''//Your code goes here!''&lt;br /&gt;
 7      &lt;br /&gt;
 8    rt.shutdown();&lt;br /&gt;
 9  }&lt;br /&gt;
&lt;br /&gt;
Once you have started the [[#Scheduler|scheduler]], it’s time to declare all the [[#Task|tasks]] and [[#Body|bodies]] that will turn your program into reality. Every task receives as an argument a body, which it will execute, as well as a ''short'' constant  from the class [[#Hints|''Hints'']], which will provide useful information to the Runtime, so optimization decisions may occur. It should be also noted the existence of the [[#DataGroup|''DataGroup'']], which allows mutual exclusion between two [[#Task|''AtomicTasks'']]. It works like a lock, making sure that two ''AtomicTasks'' with the same ''DataGroup'' won’t be executing simultaneously.&lt;br /&gt;
&lt;br /&gt;
 1  /* First, create a body. */&lt;br /&gt;
 2  Body b1 = new Body() {&lt;br /&gt;
 3    public void execute(Runtime rt, Task parent) {&lt;br /&gt;
 4      int sum = 0;&lt;br /&gt;
 5      for (int i = 0; i &amp;lt; MAX_CALC; i++) {&lt;br /&gt;
 6        sum += i;&lt;br /&gt;
 7      }&lt;br /&gt;
 8&lt;br /&gt;
 9      System.out.println(&amp;quot;Sum: &amp;quot; + sum);&lt;br /&gt;
 10   }&lt;br /&gt;
 11 };&lt;br /&gt;
 12&lt;br /&gt;
 13 /* Then, create the task. */&lt;br /&gt;
 14 Task t1 = rt.createNonBlockingTask(b1, Runtime.NO_HINTS);&lt;br /&gt;
 15 &lt;br /&gt;
 16 /* Create a data group for an atomic task. */&lt;br /&gt;
 17 DataGroup dg = rt.createDataGroup();&lt;br /&gt;
 18 Task t2 = rt.createAtomicTask(b1, dg, Runtime.NO_HINTS);&lt;br /&gt;
&lt;br /&gt;
Although a [[#Task|task]] and a [[#Body|body]] are closely related (as you can’t build a task without assigning it a body), you should bear in mind that they don’t necessarily have an exclusive relation. The reason why you keep them separated is because two different tasks may be initialized with the same body. This possibility turns out to be really useful, especially when you want to paralyze a common cycle and divide it through several tasks, for example.&lt;br /&gt;
With the object that represents the task, you may wish to assign dependencies to it. You only need to give its direct dependencies, although you are free to do as you prefer. Giving a small example, you may have three tasks. The third task depends on the second, while this one depends of the first. This means that the third will depend of the second and the first. At the assignment of the dependencies, you can declare both dependencies, but it is sufficient if you only declare its dependency to the second, assuming that you will say that the second depends on the third. When you start a task, the [[#Scheduler|scheduler]] takes control of it and it’s to it to decide whether give it work right away or leave it waiting. Therefore, the starting method of a task (''Runtime.schedule()'') is non-blocking and the rest of the code will be executed immediately.&lt;br /&gt;
&lt;br /&gt;
 1  /* There are two ways for building the dependencies.&lt;br /&gt;
 2   * t1, t2 and t3 are tasks created previously.&lt;br /&gt;
 3   * Also, deps2 is the collection of dependencies of t2.&lt;br /&gt;
 4   */ &lt;br /&gt;
 5   &lt;br /&gt;
 6  Collection&amp;lt;Task&amp;gt; deps2 = new ArrayList&amp;lt;Task&amp;gt;();&lt;br /&gt;
 7  Collection&amp;lt;Task&amp;gt; deps3 = new ArrayList&amp;lt;Task&amp;gt;();&lt;br /&gt;
 8  &lt;br /&gt;
 9  /* First option: add all dependencies. */&lt;br /&gt;
 10 deps2.add(t1); &lt;br /&gt;
 11 deps3.add(t1); &lt;br /&gt;
 12 deps3.add(t2); &lt;br /&gt;
 13  &lt;br /&gt;
 14 /* Second option: add only direct dependencies. */ &lt;br /&gt;
 15 deps2.add(t1);&lt;br /&gt;
 16 deps3.add(t2);&lt;br /&gt;
&lt;br /&gt;
=== Life cycle of a task ===&lt;br /&gt;
&lt;br /&gt;
As has been mentioned in the previous section, a [[#Task|task]] is allowed to start when you pass it to the [[#Scheduler|scheduler]]. Then, the scheduler will be responsible for putting the task into work (or better saying, placing it at one of the [[#Queues|working queues]]). One could think that a task would be terminated once it executed all the code present on its body. However, this would mean that the task could be over before all its children were over too, what would bring many problems to the scheduling. Consequently, a task will be considered finished only when it has executed the body and all its children tasks are over too.&lt;br /&gt;
&lt;br /&gt;
 1  /* When a thread is create out of the context of another thread,&lt;br /&gt;
 2   * we mark it has having no parents.&lt;br /&gt;
 3   * In this example, the second task has a list of dependencies,&lt;br /&gt;
 4   * while the first has no dependencies.&lt;br /&gt;
 5   */&lt;br /&gt;
 6  rt.schedule(t1, Runtime.NO_PARENT, Runtime.NO_DEPS);&lt;br /&gt;
 7  rt.schedule(t2, Runtime.NO_PARENT, deps2);&lt;br /&gt;
&lt;br /&gt;
As shown in the previous example, the task were launched with the second argument being ''Runtime.NO_PARENT''. This is because these tasks were created out of the context of any other tasks.&lt;br /&gt;
&lt;br /&gt;
An example where this doesn't happen are the following lines, taken from code which doesn't belong to our simple program.&lt;br /&gt;
&lt;br /&gt;
 1  private Task createAtomicTask(final Runtime rt, final DataGroup dg1, final DataGroup dg2) {&lt;br /&gt;
 2    return rt.createAtomicTask(new Body() {&lt;br /&gt;
 3&lt;br /&gt;
 4      @Override&lt;br /&gt;
 5      public void execute(Runtime rt, Task current) {&lt;br /&gt;
 6        getLogger().info(&amp;quot;Atomic Task for data group : &amp;quot; + dg1);&lt;br /&gt;
 7        try {&lt;br /&gt;
 8          Thread.sleep(500);&lt;br /&gt;
 9        } catch (InterruptedException e) {&lt;br /&gt;
 10         e.printStackTrace();&lt;br /&gt;
 11       }&lt;br /&gt;
 12       rt.schedule(createAtomicTask(rt, dg2), current, Runtime.NO_DEPS);&lt;br /&gt;
 13     }&lt;br /&gt;
 14   }, dg1, Runtime.NO_HINTS);  &lt;br /&gt;
 15 }&lt;br /&gt;
&lt;br /&gt;
As you can see on line 12, the task ''current'' defines the parent of the task that is created by ''createAtomicTask(rt, dg2)''.&lt;br /&gt;
&lt;br /&gt;
=== Looking inside the machinery ===&lt;br /&gt;
&lt;br /&gt;
Now that we have looked into the aspect of a simple program, it’s now time to see how everything really works. As the code is executed, every [[#Task|task]] that is considered ready to be scheduled is placed into the [[#Graph|graph]], where all its dependencies are present. As this graph is being built by the [[#Scheduler|scheduler]], the same entity will have the job of detecting the tasks that have no dependencies and therefore, may start running. When the scheduler finds a task in these conditions, it is placed in one of the available [[#Queues|waiting queues]]. Basically, every processor that can be used by the AEminium program has a corresponding waiting queue, where all the tasks reserved for that processor are pushed into. It’s a job of the scheduler to make a balanced distribution between all the waiting queues, making sure one of the processors isn’t over burden with work while the others are sleeping. Each waiting queue will have a corresponding thread that is looking to the front of the queue and dispatches tasks as they go. If it finds no waiting tasks at its queue, it can pick one of the options. The first, it follows the technique named ‘work stealing’, where it looks in the other queues for tasks that aren’t being processed. If this time saving procedure can’t be taken, the thread falls asleep, till a task is scheduled into its queue. &lt;br /&gt;
&lt;br /&gt;
It should also be noted the existence of a special queue. While these previous queues receive all the non-blocking and atomic tasks, this single queue will accept all the blocking tasks (i.e. the ones which require I/O interaction). This works like a virtual queue, because it has no CPU permanently assigned to it. Instead, it jumps from processor to processor, as they are free from the non-blocking queues' work.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;CENTER&amp;gt;[[File:RuntimeDocumentationOverview.png]]&amp;lt;/CENTER&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With this, we may define six different [[#Task State|states]] for a [[#Task|task]]:&lt;br /&gt;
&lt;br /&gt;
* UNSCHEDULED&lt;br /&gt;
* WAITING_FOR_DEPENDENCIES&lt;br /&gt;
* WAITING_IN_QUEUE&lt;br /&gt;
* RUNNING&lt;br /&gt;
* WAITING_FOR_CHILDREN&lt;br /&gt;
* COMPLETED&lt;br /&gt;
&lt;br /&gt;
Unscheduled is a state that you won’t find very often. A task will be unscheduled if it’s ready to run, but the scheduler hasn’t analyzed it yet. Then, you have the waiting for dependencies state, where a task is blocked due to other task, of which it depends, but haven’t been completed yet. Once all its dependencies are cleaned from the graph (or if the task had no dependencies at the first place) and placed at the [[#Queues|waiting queues]], a task is marked as waiting in queue. It will hold this state while it stays on a queue, passing to running as soon as one of the threads picks it to execute its body.&lt;br /&gt;
&lt;br /&gt;
If a task terminates before all its children are over too, it passes to the waiting for children state. As soon as all this conditions are fulfilled and this task has nothing else to do, the task is marked down as completed. Note however, that even if a task is completed, it isn’t removed from the graph, having instead only all its dependencies vanished. This happens due to consistency problems, as a task that hasn’t been scheduled yet may depend on this very task and if it was cleaned, it would cause a hole in the dependencies list of the new task. When a task reaches this very completed state, it’s its job to remove all the dependencies that point towards it. &lt;br /&gt;
&lt;br /&gt;
Also, if by any chance this is a child of another task, it’s also its responsibility to take out itself from its parent’s list where references to all the working children are kept. Finally, if the graph happens to be completely empty (meaning there are no dependencies, with the whole set of nodes being marked as completed) and there are no more tasks to schedule, it means the program has terminated and it now time for the scheduler to call the ''shutdown()''. As promised, we remind you the importance of placing the calling of this method at the end of your program, which will be blocked till the graph is cleaned up.&lt;br /&gt;
&lt;br /&gt;
=== The Code for the Simple Program ===&lt;br /&gt;
&lt;br /&gt;
 1 /**&lt;br /&gt;
 2  * Copyright (c) 2010-11 The AEminium Project (see AUTHORS file)&lt;br /&gt;
 3  * &lt;br /&gt;
 4  * This file is part of Plaid Programming Language.&lt;br /&gt;
 5  *&lt;br /&gt;
 6  * Plaid Programming Language is free software: you can redistribute it and/or modify&lt;br /&gt;
 7  * it under the terms of the GNU General Public License as published by&lt;br /&gt;
 8  * the Free Software Foundation, either version 3 of the License, or&lt;br /&gt;
 9  * (at your option) any later version.&lt;br /&gt;
 10 * &lt;br /&gt;
 11 *  Plaid Programming Language is distributed in the hope that it will be useful,&lt;br /&gt;
 12 *  but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt;
 13 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the&lt;br /&gt;
 14 *  GNU General Public License for more details.&lt;br /&gt;
 15 *&lt;br /&gt;
 16 *  You should have received a copy of the GNU General Public License&lt;br /&gt;
 17 *  along with Plaid Programming Language.  If not, see &amp;lt;http://www.gnu.org/licenses/&amp;gt;.&lt;br /&gt;
 18 */&lt;br /&gt;
 19&lt;br /&gt;
 20 package aeminium.runtime.examples;&lt;br /&gt;
 21&lt;br /&gt;
 22 import java.util.ArrayList;&lt;br /&gt;
 23 import java.util.Collection;&lt;br /&gt;
 24 &lt;br /&gt;
 25 import aeminium.runtime.Body;&lt;br /&gt;
 26 import aeminium.runtime.Runtime;&lt;br /&gt;
 27 import aeminium.runtime.Task;&lt;br /&gt;
 28 import aeminium.runtime.implementations.Factory;&lt;br /&gt;
 29 &lt;br /&gt;
 30 public class SimpleTest {&lt;br /&gt;
 31 	private static int MAX_CALC = 30;&lt;br /&gt;
 32 &lt;br /&gt;
 33 	public static void main(String[] args) {&lt;br /&gt;
 34         final Runtime rt = Factory.getRuntime();&lt;br /&gt;
 35 		rt.init();&lt;br /&gt;
 36 &lt;br /&gt;
 37 		Body b1 = new Body() {&lt;br /&gt;
 38 			public void execute(Runtime rt, Task parent) {&lt;br /&gt;
 39 				int sum = 0;&lt;br /&gt;
 40 				for (int i = 0; i &amp;lt; MAX_CALC; i++) {&lt;br /&gt;
 41 					sum += i;&lt;br /&gt;
 42 				}&lt;br /&gt;
 43 				System.out.println(&amp;quot;Sum: &amp;quot; + sum);&lt;br /&gt;
 44 			}&lt;br /&gt;
 45 		};&lt;br /&gt;
 46 &lt;br /&gt;
 47 		Body b2 = new Body() {&lt;br /&gt;
 48 			public void execute(Runtime rt, Task parent) {&lt;br /&gt;
 49 				for (int i = 0; i &amp;lt; MAX_CALC / 5; i++) {&lt;br /&gt;
 50 					System.out.println(&amp;quot;Processing...&amp;quot;);&lt;br /&gt;
 51 				}&lt;br /&gt;
 52 			}&lt;br /&gt;
 53 		};&lt;br /&gt;
 54 &lt;br /&gt;
 55 		Body b3 = new Body() {&lt;br /&gt;
 56 			public void execute(Runtime rt, Task parent) {&lt;br /&gt;
 57 				int max = 0;&lt;br /&gt;
 58 				for (int i = 0; i &amp;lt; MAX_CALC; i++) {&lt;br /&gt;
 59 					if (i &amp;gt; max)&lt;br /&gt;
 60 						max = i;&lt;br /&gt;
 61 					System.out.println(&amp;quot;Calculating Maximum...&amp;quot;);&lt;br /&gt;
 62 &lt;br /&gt;
 63 				}&lt;br /&gt;
 64 				System.out.println(&amp;quot;Maximum: &amp;quot; + max);&lt;br /&gt;
 65 			}&lt;br /&gt;
 66 		};&lt;br /&gt;
 67 &lt;br /&gt;
 68 		Body b4 = new Body() {&lt;br /&gt;
 69 			public void execute(Runtime rt, Task parent) {&lt;br /&gt;
 70 				Tests.power(2, 20);&lt;br /&gt;
 71 			}&lt;br /&gt;
 72 		};&lt;br /&gt;
 73 &lt;br /&gt;
 74 		Body b5 = new Body() {&lt;br /&gt;
 75 			public void execute(Runtime rt, Task parent) {&lt;br /&gt;
 76 				Tests.matrixMultiplication();&lt;br /&gt;
 77 			}&lt;br /&gt;
 78 		};&lt;br /&gt;
 79 &lt;br /&gt;
 80 		Task t1 = rt.createNonBlockingTask(b1, Runtime.NO_HINTS);&lt;br /&gt;
 81 		Task t2 = rt.createNonBlockingTask(b2, Runtime.NO_HINTS);&lt;br /&gt;
 82 		Task t3 = rt.createNonBlockingTask(b3, Runtime.NO_HINTS);&lt;br /&gt;
 83 		Task t4 = rt.createNonBlockingTask(b4, Runtime.NO_HINTS);&lt;br /&gt;
 84 		Task t5 = rt.createNonBlockingTask(b5, Runtime.NO_HINTS);&lt;br /&gt;
 86 &lt;br /&gt;
 87 		// ex: deps2 == task2 dependencies&lt;br /&gt;
 88 		Collection&amp;lt;Task&amp;gt; deps2 = new ArrayList&amp;lt;Task&amp;gt;();&lt;br /&gt;
 89 		Collection&amp;lt;Task&amp;gt; deps4 = new ArrayList&amp;lt;Task&amp;gt;();&lt;br /&gt;
 90 		Collection&amp;lt;Task&amp;gt; deps5 = new ArrayList&amp;lt;Task&amp;gt;();&lt;br /&gt;
 91 &lt;br /&gt;
 92 		deps2.add(t1);&lt;br /&gt;
 93 		deps4.add(t1);&lt;br /&gt;
 94 		deps4.add(t3);&lt;br /&gt;
 95 		deps5.add(t2);&lt;br /&gt;
 96 		deps5.add(t4);&lt;br /&gt;
 97 &lt;br /&gt;
 98 		rt.schedule(t3, Runtime.NO_PARENT, Runtime.NO_DEPS); // both null and&lt;br /&gt;
 99 		rt.schedule(t1, Runtime.NO_PARENT, Runtime.NO_DEPS);&lt;br /&gt;
 100		rt.schedule(t5, Runtime.NO_PARENT, deps5);&lt;br /&gt;
 101		rt.schedule(t4, Runtime.NO_PARENT, deps4);&lt;br /&gt;
 102		rt.schedule(t2, Runtime.NO_PARENT, deps2);&lt;br /&gt;
 103		rt.shutdown();&lt;br /&gt;
 104	}&lt;br /&gt;
 105}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Most Important Entities ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color:#8B0000&amp;quot;&amp;gt; Runtime &amp;lt;/span&amp;gt;====&lt;br /&gt;
'''Interface Location:''' ''aeminium.runtime.Runtime''&lt;br /&gt;
&lt;br /&gt;
'''Class Location:''' ''aeminium.runtime.implementations.implicitworkstealing''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color:#228B22&amp;quot;&amp;gt; Factory &amp;lt;/span&amp;gt;====&lt;br /&gt;
'''Class Location:''' ''aeminium.runtime.implementations.Factory''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color:#FF4500&amp;quot;&amp;gt; Task &amp;lt;/span&amp;gt;====&lt;br /&gt;
'''Task Interface Location:''' ''aeminium.runtime.Task''&lt;br /&gt;
&lt;br /&gt;
'''AtomicTask Interface Location:''' ''aeminium.runtime.AtomicTask ''&lt;br /&gt;
&lt;br /&gt;
'''BlockingTask Interface Location:''' ''aeminium.runtime.BlockingTask ''&lt;br /&gt;
&lt;br /&gt;
'''NonBlockingTask Interface Location:''' ''aeminium.runtime.NonBlockingTask ''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Classes Location:''' ''aeminium.runtime.implementations.implicitworkstealing.task''&lt;br /&gt;
&lt;br /&gt;
'''Notes:''' Both ''AtomicTask'' and ''BlockingTask'' extends the main interface ''Task''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color:#0000FF&amp;quot;&amp;gt; Body &amp;lt;/span&amp;gt;====&lt;br /&gt;
'''Interface Location:''' ''aeminium.runtime.Body''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color:#FFD700&amp;quot;&amp;gt; DataGroup &amp;lt;/span&amp;gt;====&lt;br /&gt;
'''Interface Location:''' ''aeminium.runtime.DataGroup''&lt;br /&gt;
&lt;br /&gt;
'''Classes Location:''' ''aeminium.runtime.implementations.implicitworkstealing.datagroup''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color:#800000&amp;quot;&amp;gt; Hints &amp;lt;/span&amp;gt;====&lt;br /&gt;
'''Class Location:''' ''aeminium.runtime.Hints''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color:#5F9EA0&amp;quot;&amp;gt; Task State &amp;lt;/span&amp;gt;====&lt;br /&gt;
'''Enumeration Location:''' ''aeminium.runtime.implementations.implicitworkstealing.ImplicitTaskState''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color:#191970&amp;quot;&amp;gt; Graph &amp;lt;/span&amp;gt;====&lt;br /&gt;
'''Classes Location:''' ''aeminium.runtime.implementations.implicitworkstealing.graph''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color:#B8860B&amp;quot;&amp;gt; Scheduler &amp;lt;/span&amp;gt;====&lt;br /&gt;
'''Classes Location:''' ''aeminium.runtime.implementations.implicitworkstealing.scheduler''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color:#6B8E23&amp;quot;&amp;gt; Queues &amp;lt;/span&amp;gt;====&lt;br /&gt;
'''Class Location:''' ''aeminium.runtime.implementations.implicitworkstealing.scheduler.WorkStealingQueue''&lt;br /&gt;
&lt;br /&gt;
'''Note''': As the previous path states, the queues are located inside the Scheduler package.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color:#BDB76B&amp;quot;&amp;gt; Error Handler &amp;lt;/span&amp;gt;====&lt;br /&gt;
'''Interface Location:''' ''aeminium.runtime.ErrorHandler''&lt;br /&gt;
&lt;br /&gt;
'''Classes Location:''' ''aeminium.runtime.implementations.implicitworkstealing.error''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color:#4B0082&amp;quot;&amp;gt; Events &amp;lt;/span&amp;gt;====&lt;br /&gt;
'''Classes Location:''' ''aeminium.runtime.implementations.implicitworkstealing.events''&lt;/div&gt;</summary>
		<author><name>Alcides</name></author>	</entry>

	<entry>
		<id>http://aeminium.dei.uc.pt/index.php?title=Documentation&amp;diff=1639</id>
		<title>Documentation</title>
		<link rel="alternate" type="text/html" href="http://aeminium.dei.uc.pt/index.php?title=Documentation&amp;diff=1639"/>
				<updated>2012-02-11T14:42:50Z</updated>
		
		<summary type="html">&lt;p&gt;Alcides: moved Documentation to DocumentationAeminiumRuntime&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[DocumentationAeminiumRuntime]]&lt;/div&gt;</summary>
		<author><name>Alcides</name></author>	</entry>

	</feed>