|Research | Curriculum Vitae| Portfolio
I'm Mahdi Eslamimehr, PhD student 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 @:
Teaching Experiences
          • (Fall 2011) Teaching Assistant of Professor Palsberg for “ Compiler Construction ” Department of Computer Science, University of California Los Angeles
          • (Winter 2010) Teaching Assistant of Professor Smallberg for “Intro to Computer Science 2” Department of Computer Science, University of California Los Angeles
          • (Fall 2007) Teaching Assistant of Professor Sandahl for “Software Engineering” Department of Computer and Information Science, Linkoping University, Linkoping, Sweden
          • (Fall 2007) Teaching Assistant of Professor Nilsson for “Data Structures and Algorithms” Department of Computer and Information Science, Linkoping University, Linkoping, Sweden
          • (Fall 2007) Teaching Assistant of Professor Svensson for “Human Computer Interactions” Department of Computer and Information Science, Linkoping University, Linkoping, Sweden
          • (Fall 2005) Teaching Assistant of Professor Jamzad for “Data Structures and Algorithms” Department of Computer Engineering, Sharif University of Technology
          • (Fall 2005) Teaching Assistant of Professor Beygi for “Design and Analysis of Algorithms” Department of Computer Engineering, Sharif University of Technology
          • (Spring 2005) Teaching Assistant of Professor Beygi for “Data Structures and Algorithms” Department of Computer Engineering, Sharif University of Technology
          • (Spring 2005) Teaching Assistant of Professor Beygi for “Design and Analysis of Algorithms” Department of Computer Engineering, Sharif University of Technology
          • (Fall 2004-2005) Teaching Assistant of Professor Izadi for “Theory of Machines & Languages” Department of Computer Engineering, Sharif University of Technology
          • (Fall 2004-2005) Teaching Assistant of Professor Beygi for “Design and Analysis of Algorithms” Department of Computer Engineering, Sharif University of Technology
          • (Fall 2003-2004) Teaching Assistant of Professor Izadi for “Advanced programming in C++” Department of Computer Engineering, Sharif University of Technology
Publications
            (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
          • (2010) Scalable Topology Language for Many-Core Processors, Samsung US R&D, San Jose

          • (2010) Enhancing Components Configuration Language on SPARTA, Samsung US R&D, San Jose.
          • (2006) Model Based Testing: State of Art, held in Ericsson AB, Helsinki, Finland
Research
            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.

          • Aid retrofitting of concurrency through automated code transformation
          • Provide a development framework to ease the construction of concurrent codes for (soft real-time) stream processing.
          • Allow both system- and application-level modeling (and specification) of adaptive concurrency.
          • Automatically derive scheduling policies for given power and resource usage requirements.

The run-time environment will:

          • Dynamically manage resource mappings according to defined policies.
          • Eliminate cross-application QoS interference through resource partitioning and management
          • Allow extensions of chip multi-processing to distributed cloud-based processing (elastic computing)

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.