I'm Mahdi Eslamimehr, PhD candidate at UCLA , Department of Computer Science, working at the Compiler Group under the direction of Professor Jens Palsberg.
My research interest lies in the intersection of Software Verification and Qualification, Compiler Construction and Programming languages.
I received my master degree from Department of Computer and Information Science at Linkoping University, Sweden. I was working at the Programming Environment Lab (PELAB) under the supervision of Professor Kristian Sandahl, and Professor Mariam Kamkar. You can find my master thesis HERE. Beside my academic life, I have had a variety of great professional experiences @:
(2008) M. Eslamimehr, Kristian Sandahl, The Survey on Model Based Testing and Industrial Tools, Department of Computer and Information Science, Linkoping University.
Conference, presentations, and Posters
Finding Lower bound on the Maximum Stack Usage in Embedded Systems
Estimating the maximum stack memory usage in embedded systems, particularly in micro controller has received much attention lately . Applying static analysis techniques for calculating approximate maximum stack usage has already been successfully tried. However, finding the maximum stack size at run time is still a topic of ongoing research. In this project we plan to find a lower bound on the maximum stack usage of a micro controller which is programmed using the Virgil Programming Language. Virgil is a new, light-weight object-oriented programming language that is designed for building software for resource-constrained embedded systems at the lowest level, and it was designed by Professor Palsberg and Ben Titzer in compiler group at UCLA. Our idea was to apply the concept of Directed Testing on Virgil programs to estimate the time and memory usage for each interrupt. Furthermore, we guarantee our solution by showing every possible path in the program has been covered.
Scalable Topology Language for Many-Core Processors
SPARTA: Samsung PArallel Real Time Architecture
A Set of tools and a run-time framework that enable superior performance of CE device software through dynamic (adaptive) parallelization and system-wide co-ordination of processing, memory and I/O resources
The tools will:University.
The run-time environment will:
CCL: Components Configuration Language :
SPARTA streaming applications are structured as a graph of components that are "bound" together through connecting ports. SPARTA's CCL is a domain specific programming language that is used to rapidly generated component "glue" code for a component based application. The language provides constructs for specifying intra-component composition (e.g., ports and functoids) as well as inter-component composition (e.g., application graphs). Ultimately CCL may become a placeholder for QoS specifications on the application.
|Designed by Mohammad hossein Eslamimehr. ©All rights reserved-2010.