6-16-2010-SSP_Hongbing

Download Report

Transcript 6-16-2010-SSP_Hongbing

Semantic Signal Processing:
Semantic Modeling and Prototype
Demo Development
SSP Team
Background
Semantic Model Required !
Existing Work
• A general semantic model for signal processing
implementations
– The procedure of signal processing in the system is
described as a "Path“
– Each “path” is composed of a series of “places", i.e.,
signal processing modules/blocks and input/output
ports.
– Signals are “things" that go through the “path" and
take different “actions" in different “places".
– "Cause" is some external parameters or conditions
that initiate or constraint "actions".
– The structure is hierarchical. When we need to
represent the lower-level implementation profile of a
‘place’, it will be abstracted as a ‘path’
Existing Work
• Preliminary semantic models for several popular
programming languages
– Matlab
–C
Matlab
C
‘if’ statement
‘else’ statement
‘for’ statement
if….end
else…end
for… end
if {….}
else{…}
for {… }
Function definition
Function…end
Function Call, Value
Assignment, Basic
operators
‘y=f(x)’
‘y=x’
‘y=x+z’
int f(int x){…}
(function definition)
‘y=f(x)’
‘y=x’
‘y=x+z’
Semantic Primitives
Cause -> Action [Path]
‘loop’ Cause -> Action
[Path]
Path
“Input” Place, Thing ‘x’,
“Input” Place, Thing ‘z’
Functional Place, Action
‘f’/Equal/’+’ (to be
recognized, or explained
by Path)
Variable declaration
int x;
‘return’
return y;
‘Output’ Place, Thing ‘y’
‘Declaration’ Place,
Action ‘int’, Thing ‘x’
‘return’ Place, Action
‘return’, Thing ‘y’
Existing Work
• A prototype demo
Source Code
XML
Target Code
Next Step
• Extension of the current semantic model and
demo for different languages
• Investigation of existing techniques that we can
collaborate with
• Exploration of new module recognition
techniques
– Based on Comments/Function name
– Based on behavior pattern
– Based on context
• Exploration of new reasoning methods
Next Step
(Student Assignments)
• Extension of the current semantic model and demo for
different languages
– VHDL
• Sequential architecture: Yulong Zhou
– Bit-based input/output
• Parallel architecture: Jie Li
– Matlab: Ning Han
• Vector
– C: Fangming He
• While loop
• Switch and Case
– C++: Hongbo Liu
• Class definition
– Python: Xingzong Xu
Next Step
(Student Assignments)
• Investigation of some concepts/tools
– CUDA and GPU: Yafeng Ying, Yanzi Ren, Lei Zhou
– Antlr and Eclipse: Qiao Cai
– SSE: Yuhua Zheng