SSP Re-hosting System: CLBM and Semantic Representations
description
Transcript of SSP Re-hosting System: CLBM and Semantic Representations
![Page 1: SSP Re-hosting System: CLBM and Semantic Representations](https://reader036.fdocuments.us/reader036/viewer/2022070416/56815275550346895dc0a35d/html5/thumbnails/1.jpg)
SSP Re-hosting System: CLBM and Semantic Representations
SSP TeamDepartment of ECE
Stevens Institute of Technology
Presented by Hongbing Cheng and Jiadi Yu09/01/2010
1
![Page 2: SSP Re-hosting System: CLBM and Semantic Representations](https://reader036.fdocuments.us/reader036/viewer/2022070416/56815275550346895dc0a35d/html5/thumbnails/2.jpg)
Outline
• SSP Re-hosting and CLBM– Background: SSP Re-hosting for CR/SDR– Generic CLBM Rule in Signal Processing Domain– CLBM for various implementation Codes in Signal
Processing Domain• Semantic Representation and Analysis
– XML Representation – Tree Architecture Analysis– Tree-based Primitive Recognition
2
![Page 3: SSP Re-hosting System: CLBM and Semantic Representations](https://reader036.fdocuments.us/reader036/viewer/2022070416/56815275550346895dc0a35d/html5/thumbnails/3.jpg)
3
Part I. SSP Re-hosting and CLBM
![Page 4: SSP Re-hosting System: CLBM and Semantic Representations](https://reader036.fdocuments.us/reader036/viewer/2022070416/56815275550346895dc0a35d/html5/thumbnails/4.jpg)
Semantic Signal Processing Re-hosting for CR/SDR
• 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.
4
![Page 5: SSP Re-hosting System: CLBM and Semantic Representations](https://reader036.fdocuments.us/reader036/viewer/2022070416/56815275550346895dc0a35d/html5/thumbnails/5.jpg)
Semantic Signal Processing Re-hosting for CR/SDR
• ARI Architecture
5
![Page 6: SSP Re-hosting System: CLBM and Semantic Representations](https://reader036.fdocuments.us/reader036/viewer/2022070416/56815275550346895dc0a35d/html5/thumbnails/6.jpg)
Semantic Signal Processing Re-hosting for CR/SDR
6
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
![Page 7: SSP Re-hosting System: CLBM and Semantic Representations](https://reader036.fdocuments.us/reader036/viewer/2022070416/56815275550346895dc0a35d/html5/thumbnails/7.jpg)
Semantic Signal Processing Re-hosting for CR/SDR
• Prototype Demo– Illustrate the workflow of the proposed ARI re-hosting– Show some use cases to validate the idea
7
Abstraction of primitives and
Representation with XML
Inference and Code
Generation
![Page 8: SSP Re-hosting System: CLBM and Semantic Representations](https://reader036.fdocuments.us/reader036/viewer/2022070416/56815275550346895dc0a35d/html5/thumbnails/8.jpg)
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
8
![Page 9: SSP Re-hosting System: CLBM and Semantic Representations](https://reader036.fdocuments.us/reader036/viewer/2022070416/56815275550346895dc0a35d/html5/thumbnails/9.jpg)
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”) moving 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”
9
![Page 10: SSP Re-hosting System: CLBM and Semantic Representations](https://reader036.fdocuments.us/reader036/viewer/2022070416/56815275550346895dc0a35d/html5/thumbnails/10.jpg)
Generic CLBM Rule for Signal Processing Implementations
10
Graphical Notations:
![Page 11: SSP Re-hosting System: CLBM and Semantic Representations](https://reader036.fdocuments.us/reader036/viewer/2022070416/56815275550346895dc0a35d/html5/thumbnails/11.jpg)
Generic CLBM for Signal Processing Implementations
• Hierarchical and Dynamic Properties of CLBM– A “Thing” may have many “Places” to
interacte.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”
11
![Page 12: SSP Re-hosting System: CLBM and Semantic Representations](https://reader036.fdocuments.us/reader036/viewer/2022070416/56815275550346895dc0a35d/html5/thumbnails/12.jpg)
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,…
12
![Page 13: SSP Re-hosting System: CLBM and Semantic Representations](https://reader036.fdocuments.us/reader036/viewer/2022070416/56815275550346895dc0a35d/html5/thumbnails/13.jpg)
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
13
![Page 14: SSP Re-hosting System: CLBM and Semantic Representations](https://reader036.fdocuments.us/reader036/viewer/2022070416/56815275550346895dc0a35d/html5/thumbnails/14.jpg)
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 DefinitionMember function
Member variable
Object Declaration
….
New types of statements:
EntityArchitectureComponent
Std_logic_vector
….
Under investigationFunction Call
Basic Operators Value Assignment Variable Declaration Return If, else Switch case For, while Arrays/Vectors/Matrix Pointers……
More languages
More
statements/syntaxes
14
![Page 15: SSP Re-hosting System: CLBM and Semantic Representations](https://reader036.fdocuments.us/reader036/viewer/2022070416/56815275550346895dc0a35d/html5/thumbnails/15.jpg)
CLBM for loop statements• For loop
for(initiation; condition; loop control){statement 1;statement 2;}
15
Initiation place condition cause statements & Loop control path statement place loop control place
![Page 16: SSP Re-hosting System: CLBM and Semantic Representations](https://reader036.fdocuments.us/reader036/viewer/2022070416/56815275550346895dc0a35d/html5/thumbnails/16.jpg)
16
CLBM for loop statements• while loop
![Page 17: SSP Re-hosting System: CLBM and Semantic Representations](https://reader036.fdocuments.us/reader036/viewer/2022070416/56815275550346895dc0a35d/html5/thumbnails/17.jpg)
17
CLBM for “switch case” statement
switch ( statement ) { case condition1 is true: statement 1; case condition2 is true: statement 2; case condition is true: statement 3; ... default: statement N;}
![Page 18: SSP Re-hosting System: CLBM and Semantic Representations](https://reader036.fdocuments.us/reader036/viewer/2022070416/56815275550346895dc0a35d/html5/thumbnails/18.jpg)
CLBM for Arrays/Vectors/Matrices
• General modeling rule– An array is a “Thing”– Each element of the array is a “Place” of the “Thing”– The value of each element is the “Thing” contained in the “Place”– The size and type of the array are two “Places” of the array “Thing”
[3,2,3]int a[10]
This is a composited anonymous thing
containing 3 element places; The first place
contains 3, The second place contains 2, the
third place contains 3.
‘a’ is a composited thing containing
10 element places; Its type is int.
18
![Page 19: SSP Re-hosting System: CLBM and Semantic Representations](https://reader036.fdocuments.us/reader036/viewer/2022070416/56815275550346895dc0a35d/html5/thumbnails/19.jpg)
CLBM in Matlab: Arrays/Vectors/Matrices
• Multi-dimensional Arrays– Hierarchical property of the semantic model
765
323
19
![Page 20: SSP Re-hosting System: CLBM and Semantic Representations](https://reader036.fdocuments.us/reader036/viewer/2022070416/56815275550346895dc0a35d/html5/thumbnails/20.jpg)
CLBM for Arrays/Vectors/Matrices
• Special definition of vectors/matrices in Matlab
[1:N] ones(N,1) zeros(N,1)
20
![Page 21: SSP Re-hosting System: CLBM and Semantic Representations](https://reader036.fdocuments.us/reader036/viewer/2022070416/56815275550346895dc0a35d/html5/thumbnails/21.jpg)
CLBM for Arrays/Vectors/Matrices
• Elements in an array– One or several elements of an array may form a new “Thing”e.g., y=a(1); a(1) is the “Thing” in the input place
c(1:2)=1:2; c(1:2) is the “Thing” in the output place– The thing is got from the array’s some places, so we represent this thing
by
e.g.
a(1)
The thing is generated by getting the value of place ‘index number’
from thing ‘Array name’
21
![Page 22: SSP Re-hosting System: CLBM and Semantic Representations](https://reader036.fdocuments.us/reader036/viewer/2022070416/56815275550346895dc0a35d/html5/thumbnails/22.jpg)
CLBM in C++
• Basic Features of C++– C++ introduces object-oriented (OO) features to C.– Class: provides the abstraction and encapsulations
features; is an expanded concept of a data structure; can hold both data and functions.
– Object: Instances of class; contains member variables, constants, member functions, and overloaded operators defined by the programmer.
• Our preliminary modeling work considers the basic uses of classes and objects: Definition of class and declaration of objects
22
![Page 23: SSP Re-hosting System: CLBM and Semantic Representations](https://reader036.fdocuments.us/reader036/viewer/2022070416/56815275550346895dc0a35d/html5/thumbnails/23.jpg)
CLBM in C++
• CLBM of class definition– Class is a composite “Thing”, which contains many
“Places” to store the member variables and functions
Class A {var1;var 2;…varN;func1;func2;…funcN}
23
![Page 24: SSP Re-hosting System: CLBM and Semantic Representations](https://reader036.fdocuments.us/reader036/viewer/2022070416/56815275550346895dc0a35d/html5/thumbnails/24.jpg)
CLBM in C++
• CLBM of object declaration– This is similar to the variable declaration– The object is a “Thing” whose type is the Class
A a;
In this place, the variable a is
declared, whose type is set to be A.
24
![Page 25: SSP Re-hosting System: CLBM and Semantic Representations](https://reader036.fdocuments.us/reader036/viewer/2022070416/56815275550346895dc0a35d/html5/thumbnails/25.jpg)
CLBM in VHDL
• Basic Structure of VHDL code
VHDL Entity
Interface(Entity Declaration)
Body(Architecture)
Sequential, combinational
processes
subprogram
ports
entity NAME_OF_ENTITY isport (signal_names: mode type;
signal_names: mode type;:
signal_names: mode type);end [NAME_OF_ENTITY] ;
architecture architecture_name of NAME_OF_ENTITY is-- Declarations
-- components declarations-- signal declarations-- constant declarations-- function declarations-- procedure declarations-- type declarations
begin-- Statementsend architecture_name; 25
![Page 26: SSP Re-hosting System: CLBM and Semantic Representations](https://reader036.fdocuments.us/reader036/viewer/2022070416/56815275550346895dc0a35d/html5/thumbnails/26.jpg)
CLBM in VHDL
• General CL modeling rules
VHDL Entity
Interface(Entity Declaration)
Body(Architecture)
Sequential, combinational
processes
subprogram
ports
26
![Page 27: SSP Re-hosting System: CLBM and Semantic Representations](https://reader036.fdocuments.us/reader036/viewer/2022070416/56815275550346895dc0a35d/html5/thumbnails/27.jpg)
CLBM in VHDL
• Challenges– Unique structure
• Need to abstract input and output places from the entity and other places in the path from the architecture
• May have multiple architectures for one entity
– Special data types:• std_logic, std_logic_vector• bit, bit_vector
– Many unique keywords– Sequential programs and parallel programs
27
![Page 28: SSP Re-hosting System: CLBM and Semantic Representations](https://reader036.fdocuments.us/reader036/viewer/2022070416/56815275550346895dc0a35d/html5/thumbnails/28.jpg)
CLBM in VHDL
• Example: Adder
-- VHDL code for 3-bit adder------------------------------------- entity ADDER isport(A: in std_logic_vector(1 downto 0); B: in std_logic_vector(1 downto 0);carry: out std_logic; sum: out std_logic_vector(1 downto 0) ); end ADDER; architecture behv of ADDER issignal result: std_logic_vector(2 downto 0);begin -- the 3rd bit should be carry result <= ('0'&A)+('0'&B);sum <= result(1 downto 0);carry <= result(2); end behv;
size of A
type of A
28
![Page 29: SSP Re-hosting System: CLBM and Semantic Representations](https://reader036.fdocuments.us/reader036/viewer/2022070416/56815275550346895dc0a35d/html5/thumbnails/29.jpg)
29
Part II. Semantic Representation and Analysis
![Page 30: SSP Re-hosting System: CLBM and Semantic Representations](https://reader036.fdocuments.us/reader036/viewer/2022070416/56815275550346895dc0a35d/html5/thumbnails/30.jpg)
Semantic Representation based on CLBM
• XML is proposed as the carrier of cognitive linguistics to represent signal processing implementations.
• XML is designed to describe and carry data to exchange information between incompatible systems. Converting the data to XML can greatly reduce this complexity and create data that can be read by many different types of applications.
• The proposed XML representation is able to express knowledge of the signal processing implementation based on CLBM.
30
![Page 31: SSP Re-hosting System: CLBM and Semantic Representations](https://reader036.fdocuments.us/reader036/viewer/2022070416/56815275550346895dc0a35d/html5/thumbnails/31.jpg)
• XML representation framework for SSP
31
![Page 32: SSP Re-hosting System: CLBM and Semantic Representations](https://reader036.fdocuments.us/reader036/viewer/2022070416/56815275550346895dc0a35d/html5/thumbnails/32.jpg)
• XML representation for SSP control structures
32
Sequence structure<Path> <Place name=“place1”> </Place> <Place name=“place2”> </Place> ... <Place name=“placen”> </Place></Path>
Selection structure<Cause attribute=“selection structure”, condition=“conditional expression 1”> <Path> <Place name=“place1”> </Place> ... <Place name=“placen”> </Place> </Path></Cause><Cause attribute=“selection structure”, condition=“conditional expression 2”> <Path> <Place name=“place1”> </Place> ... <Place name=“placen”> </Place> </Path></Cause>
Repetition structure<Cause attribute=“repetition structure”, condition=“repetition condition”> <Path> <Place name=“place1”> </Place> ... <Place name=“placen”> </Place> </Path></Cause>
![Page 33: SSP Re-hosting System: CLBM and Semantic Representations](https://reader036.fdocuments.us/reader036/viewer/2022070416/56815275550346895dc0a35d/html5/thumbnails/33.jpg)
Generic CLBM for Signal Processing Implementations
• 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,…
33
<Path attribute=“a signal processing system”> ... <Place> <Path attribute=“a signal processing sub-system”> ... <Place> ... </Place> ... </Path> </Place> …</Path>
![Page 34: SSP Re-hosting System: CLBM and Semantic Representations](https://reader036.fdocuments.us/reader036/viewer/2022070416/56815275550346895dc0a35d/html5/thumbnails/34.jpg)
An Adaptive Modulator Example
34
ThingSignal_Bit
ActionInput
PlaceInput_16QAM
ThingSignal_Bit
ActionMod_16QAM
Place 16QAM
ThingSignal_mod
ActionOutput
PlaceOutput_16
QAM
Path16QAM
Causegamma
<causes event="gamma > gamma0"> <path name="16QAM"> <place name="Input_16QAM"> <thing> Signal_bit </thing> <action> input </action> </place> <place name="16QAM"> <thing> Signal_bit </thing> <action> Mod_16QAM </action> </place> <place name="Output_16QAM"> <thing> Signal_mod </thing> <action> output </action> </place> </path></causes>
QPSK
16QAM
Bit sequence Symbol sequence
![Page 35: SSP Re-hosting System: CLBM and Semantic Representations](https://reader036.fdocuments.us/reader036/viewer/2022070416/56815275550346895dc0a35d/html5/thumbnails/35.jpg)
Architecture Analysis• The representation architecture based on cognitive linguistics
of the signal processing implementation is a tree structure.
35
![Page 36: SSP Re-hosting System: CLBM and Semantic Representations](https://reader036.fdocuments.us/reader036/viewer/2022070416/56815275550346895dc0a35d/html5/thumbnails/36.jpg)
Architecture Analysis
• XML documents are a tree structure that starts at “the root” and branches to “the leaves”. Therefore, XML is able to represent correctly the architecture of the signal processing implementation.
• In the Semantic Signal Processing architecture, producing a XML document is a process to build a tree, and parsing a XML document is a process to query a tree. XML is able to represent correctly tree structure. Therefore, XML representation can guarantee a correct output order.
• The complexity for producing a XML document is O(n), and the complexity for parsing a XML document is O(n).
36
![Page 37: SSP Re-hosting System: CLBM and Semantic Representations](https://reader036.fdocuments.us/reader036/viewer/2022070416/56815275550346895dc0a35d/html5/thumbnails/37.jpg)
Tree Architecture Representation Based on CLBM
• Behavior Pattern of CLBM– Tree representation of behavior patterns
37
![Page 38: SSP Re-hosting System: CLBM and Semantic Representations](https://reader036.fdocuments.us/reader036/viewer/2022070416/56815275550346895dc0a35d/html5/thumbnails/38.jpg)
Tree representation for SSP control structures
38
![Page 39: SSP Re-hosting System: CLBM and Semantic Representations](https://reader036.fdocuments.us/reader036/viewer/2022070416/56815275550346895dc0a35d/html5/thumbnails/39.jpg)
An Adaptive Modulator Example
39
QPSK
16QAM
Bit sequence Symbol sequence
D0={PathAdaptiveModulator, D1, D2, D3, D4}
![Page 40: SSP Re-hosting System: CLBM and Semantic Representations](https://reader036.fdocuments.us/reader036/viewer/2022070416/56815275550346895dc0a35d/html5/thumbnails/40.jpg)
A Simple Filter Example
1
0
n
iiin xhy
40
void main(){ int i; int N; int k; int temp; int sum; sum = 0; for(i = 0; i < N ; i = i + 1){
k = N - i;temp = tap[i] * input[k];sum = sum + temp;
}}
http://sites.google.com/site/stevensxingzhong/home/clmb
![Page 41: SSP Re-hosting System: CLBM and Semantic Representations](https://reader036.fdocuments.us/reader036/viewer/2022070416/56815275550346895dc0a35d/html5/thumbnails/41.jpg)
SP/Radio Primitive Recognition based on Tree
• Objective– Automated recognition of functionality of a
SP/Radio primitive
– Automated recognition of functions from knowledge library to perform desired action
– Recognize the equivalence of two different implementations
41
![Page 42: SSP Re-hosting System: CLBM and Semantic Representations](https://reader036.fdocuments.us/reader036/viewer/2022070416/56815275550346895dc0a35d/html5/thumbnails/42.jpg)
Radio-Level Abstraction– Abstract primitives at Radio-level
• Analyze the Code-level primitives to recognize Radio-level primitives
42
Algebraic calculation: +, -, *, /Logic calculation: xor, nor, andType conversionsRelational Operator:
==,! =Conditional control: if… else…, while :
Code levelSignal SourcesSignal SinksFiltersSignal ModulationSignal DemodulationSource codingSynchronizationEqualizationAGCOFDM locks :
Radio level
Primitives of Semantic Radio
![Page 43: SSP Re-hosting System: CLBM and Semantic Representations](https://reader036.fdocuments.us/reader036/viewer/2022070416/56815275550346895dc0a35d/html5/thumbnails/43.jpg)
Radio-Level Abstraction (cont’)
43
SourcesCode
Radio levelXML
Presentation
Code level XML
Presentation
Inference EngineKnowledge
Base
RadioPrimitives
Radio LevelAbstraction
TargetCode
Code level
Abstraction
SP module recognition
![Page 44: SSP Re-hosting System: CLBM and Semantic Representations](https://reader036.fdocuments.us/reader036/viewer/2022070416/56815275550346895dc0a35d/html5/thumbnails/44.jpg)
Tree-based Pattern Recognition
─ Each signal processing module can be represented as a behavior pattern using lower-level primitives
─ Tree representation of behavior patterns. Each signal processing module can be represented as a tree architecture.
─ Pattern recognition: compare the tree representation of a primitive with the tree representation of each module in the knowledge base to identify the functionality of the primitive by analyzing the tree architecture of radio modules.
44
![Page 45: SSP Re-hosting System: CLBM and Semantic Representations](https://reader036.fdocuments.us/reader036/viewer/2022070416/56815275550346895dc0a35d/html5/thumbnails/45.jpg)
Tree-based Pattern Recognition
45
Primitive Recognition
Tree architecture
analyze
Knowledge base
Tree representation Source
Target
![Page 46: SSP Re-hosting System: CLBM and Semantic Representations](https://reader036.fdocuments.us/reader036/viewer/2022070416/56815275550346895dc0a35d/html5/thumbnails/46.jpg)
A Simple Filter Example- based on features
46
The basic elementfor the simplefilter include:
LOOPACCUMLATION MULTIPLYARRAY
void main(){for(i = 0; i < N ; i = i + 1){
k = N - i;temp = tap[i] * input[k];sum = sum + temp;
}}
![Page 47: SSP Re-hosting System: CLBM and Semantic Representations](https://reader036.fdocuments.us/reader036/viewer/2022070416/56815275550346895dc0a35d/html5/thumbnails/47.jpg)
• two QPSK implementations
47Tree
representation
Binary Tree representatio
n
An Example of QPSK- based on architecture
![Page 48: SSP Re-hosting System: CLBM and Semantic Representations](https://reader036.fdocuments.us/reader036/viewer/2022070416/56815275550346895dc0a35d/html5/thumbnails/48.jpg)
48
Thank You!
Question and Comments?