SSP Re-hosting System Development:

yakzephyrAI and Robotics

Nov 24, 2013 (3 years and 6 months ago)

50 views

SSP Re
-
hosting System Development:
CLBM Overview and Module Recognition

SSP Team

Department of ECE

Stevens Institute of Technology


Presented by Hongbing Cheng

Outline


Background


Generic CLBM Rule in Signal Processing
Domain


CLBM for various implementation Codes in
Signal Processing Domain (
progress overview
)


Module Recognition: Program Understanding

Semantic Signal Processing based
Radio Re
-
hosting


Objective:


Theoretical level: Information integration and knowledge sharing in
signal processing domain


Practical level: Re
-
hosting of radio implementations among
heterogeneous
platforms to facilitate the reconfiguration in CR/SDR
systems


Approach:


Abstraction, Representation and Inference (ARI)
: Information
exchange through three steps: abstraction of primitives, semantics
-
based representation, inference and code generation;


Cognitive linguistic behavior modeling (CLBM)
: Establish a semantic
modeling framework for signal processing domain based on cognitive
linguistics to guide the semantic ARI.


Semantic Signal Processing based
Radio Re
-
hosting

Abstract conceptual primitives
(“Thing, Place, Path, Action,
Cause”) from existing
implementations of signal
processing modules/systems in
source code

Represent the implementation
profile of signal processing
modules/systems based on
cognitive linguistics

Parse cognitive
-
linguistics
-
based
representation and generate
implementation code in the
target platform

4

Semantic Signal Processing based
Radio Re
-
hosting


Prototype Demo


Illustrate the workflow of the proposed ARI re
-
hosting


Show some use cases to validate the idea

5



Abstraction of
primitives and
Representation
with XML




Inference and
Code
Generation


Semantic Signal Processing based
Radio Re
-
hosting


Tasks in this period


Establish more complete and accurate CLBM rules
in signal processing domain


Develop CLBM for more languages based on the
rules


Develop ARI demo for various source and target
languages based on the CLBM


Investigate module recognition algorithm to build
more abstract CLBM for SP systems

Generic CLBM Rule in Signal
Processing Domain


Semantic Primitives in Cognitive linguistics


Thing: the fundamental neonatal gestalts


Place: interaction among things


Path: associate places in a sequence for a purpose


Action: Things move down paths


Cause: Thing that initiate or constraint action


CLBM:
Fit the knowledge of signal processing
implementation profiles into the above semantic
framework

Generic CLBM Rule in Signal
Processing Domain


Generic CLBM Rule for Signal Processing


A Signal is a “Thing”


A Signal processing system/block to be represented is a
“Path”


The signal (“Thing”) moves along the signal processing
system/block (“Path”) is an “Action”


Input/output ports and signal processing modules inside
the “Path” is “Places”, where different signals have
interactions; Attributes of a thing are also “Places”, which
could be interacted with other things


A control signals that controls a signal processing flow is
“Cause”



Generic CLBM Rule for Signal
Processing Implementations

Generic CLBM for Signal Processing
Implementations


Hierarchical and Dynamic Properties
of CLBM


A “Thing” may have many “Places” to
interact

e.g., The power and the size of a signal are
two “places” of the “thing” signal


A “Thing” could also be contained in
different “places” to take different
“actions”

e.g., A signal could be inside a module’s
input place or output place to take the
action “input” or “output”



Generic CLBM Rule in Signal
Processing Domain


Hierarchical and Dynamic
Properties of CLBM


A “Path” contains multiple
“Places”

e.g., A transmitter could be
composed of a channel coder
and a modulator


A “Place” at the upper level
could be a “Path” at the lower
level

e.g., A modulator is a ‘Place’ in a
transmitter, while itself could
be represented by a ‘Path’
composed of several places:
LUT, Up
-
converter,…



CLBM for Implementation Codes in
Signal Processing Domain


CLBM for different coding languages are required in radio
re
-
hosting


Heterogeneous hardware or software platform






Language Elements Considered in Modeling


Syntax


Data Structure


Control Structure


Core Library

12

CLBM for Implementation Codes in
Signal Processing Domain


Current work and Progress

Statements/Syntaxes

Matlab

C

C++

VHDL

CUDA

Function Definition







New types

of
statements:


Class

Definition

Member

function


Member
variable


Object
Declaration


….

New types of
statements:


Entity

Architecture

Component


Std_logic_vect
or


….

Under
investigati
on

Function Call







Basic Operators







Value Assignment







Variable Declaration







Return







If, else







Switch case







For, while







Arrays/Vectors/Matrix





Pointers……

More languages

More

statements/syntaxes

SP Module Recognition:

Program
U
nderstanding


Code Level Abstraction

Computational Level
Abstraction

Radio Level Abstraction

Semantic Representation

Radio Primitive

Computational
Primitive

Code Primitive

Multi
-
Level Abstraction

Cognitive Linguistics

Progra
mming
Code

Program Understanding

Program Understanding

SP Module Recognition:

Program Understanding


Background of Program Understanding


Static Analysis:
relies on
source
code and
documentation


Graph parsing approach
:
GRASPR system, Linda M. Wills, MIT,
Ph.D. Dissertation,1992.
It translates the program into a language
-
independent, graphical representation
.


Knowledge
-
based approach
:
The idea is to
keep programs as
plans
in knowledge base, and compare the target program
to these
plans
.


Program similarity evaluation
techniques:
Compare the
implementation
styles and structures of programs


Dynamic Analysis:
focuses on a system’s execution
(incompleteness, scalability)


Execution trace analysis

SP Module Recognition:

Program Understanding


Preliminary Consideration About Module Recognition



16

Recognition
based on
function name,
comments (text
understanding)

Recognition
based on
features
(Knowledge
-
based program
understanding)

Recognition
based on tree
matching
(Program
similarity
evaluation)

Validation
based on
Simulation

More and more accurate, more and more complex

The previous step could reduce the search space of the next step

Coarse classification

Some possible results

with different belief

probabilities

Accurate matching

Validation

SP Module Recognition:

Program Understanding


Feature
-
based recognition (knowledge based)


Based on the correlation between the radio behavior
pattern and some features


Features


Lower level primitives
:
The
radio level primitives (radio modules) are
composed of computational level and code level
primitives or other radio
primitives.
Therefore, those primitives are natural features.


Control structure
:
sequential structure; selection
structure;
repeat structure


Input/output variable type and range
:
For example, modulators have
binary input and real output; while demodulators have real input and binary
output.


Simulation results
:
The most intelligent way is to test the code and get some
simulation results. For example, we could get constellations to differentiate
different modulation types.



17

SP Module Recognition:

Program Understanding


Feature
-
based recognition (knowledge based)



18

Modules

Correlated features

Modulator

Lookup table; exponential function; selection
structure; binary input; real output;

FIR Filter

Convolution; multiplication; addition; repeat
structure (loop);
real input; real output

QPSK modulator

Lookup table; exponential function; selection
structure; two binary inputs; real output; four
-
point constellation

Block channel
coder

Matrix multiplication; binary input; binary
output

OFDM
transmitter

IFFT; Cyclic prefix

RAKE receiver

Correlator
; repeat structure; real input; real
output

Thank You