Plugin overview Functional Plugins (PMP)

Slides:



Advertisements
Similar presentations
BBS514 Structured Programming (Yapısal Programlama)1 Functions and Structured Programming.
Advertisements

Subprogram Control - Data sharing Mechanisms to exchange data Arguments - data objects sent to a subprogram to be processed. Obtained through  parameters.
Lecture 16 Subroutine Calls and Parameter Passing Semantics Dragon: Sec. 7.5 Fischer: Sec Procedure declaration procedure p( a, b : integer, f :
Lecture 2 Introduction to C Programming
Introduction to C Programming
JavaScript Part for Repetition Statement for statement Cpecifies each of the items needed for counter-controlled repetition with a control variable.
 2006 Pearson Education, Inc. All rights reserved Introduction to Classes and Objects.
Chapter 7 - Functions. Functions u Code group that performs single task u Specification refers to what goes into and out of function u Design refers to.
Lecture II-2: Probability Review
C++ Functions. 2 Agenda What is a function? What is a function? Types of C++ functions: Types of C++ functions: Standard functions Standard functions.
CH07: Writing the Programs Does not teach you how to program, but point out some software engineering practices that you should should keep in mind as.
CSM-Java Programming-I Spring,2005 Introduction to Objects and Classes Lesson - 1.
1 Web-Enabled Decision Support Systems Objects and Procedures Don McLaughlin IE 423 Design of Decision Support Systems (304)
1 CSC 221: Introduction to Programming Fall 2012 Functions & Modules  standard modules: math, random  Python documentation, help  user-defined functions,
Introduction to Java Applications Part II. In this chapter you will learn:  Different data types( Primitive data types).  How to declare variables?
C++ Programming: From Problem Analysis to Program Design, Fifth Edition, Fifth Edition Chapter 7: User-Defined Functions II.
Chapter 9: MuPAD Programming II Procedures MATLAB for Scientist and Engineers Using Symbolic Toolbox.
VHDL IE- CSE. What do you understand by VHDL??  VHDL stands for VHSIC (Very High Speed Integrated Circuits) Hardware Description Language.
1 CISC181 Introduction to Computer Science Dr. McCoy Lecture 7 Clicker Questions September 22, 2009.
Parameter Passing Mechanisms Reference Parameters § §
Recap Sum and Product Functions Matrix Size Function Variance and Standard Deviation Random Numbers Complex Numbers.
Chapter 7 Selection Dept of Computer Engineering Khon Kaen University.
C++ Programming Lecture 9 Functions – Part I By Ghada Al-Mashaqbeh The Hashemite University Computer Engineering Department.
IT108 Objects and Classes Part I George Mason University Revised 4/3/2012.
GE 211 Dr. Ahmed Telba. // compound assignment operators #include using namespace std; int main () { a =5 int a, b=3; a = b; a+=2; // equivalent to a=a+2.
 2008 Pearson Education, Inc. All rights reserved Introduction to Classes and Objects.
Functions  A Function is a self contained block of one or more statements or a sub program which is designed for a particular task is called functions.
Course Title Object Oriented Programming with C++ instructor ADEEL ANJUM Chapter No: 06 FUNCTIONS 1 BY ADEEL ANJUM (MSc-cs, CCNA,WEB DEVELOPER) 1.
Visual Basic CDA College Limassol Campus COM123 Visual Programming 1 Semester B Lecture:Pelekanou Olga Week 5: Useful Functions and Procedures.
Introduction to Java Applications Part II. In this chapter you will learn:  Different data types( Primitive data types).  How to declare variables?
Controlling Program Flow with Decision Structures.
Fusion Design Overview Object Interaction Graph Visibility Graph Class Descriptions Inheritance Graphs Fusion: Design The overall goal of Design is to.
Chapter 7 - Functions. Functions u Code group that performs single task u Specification refers to what goes into and out of function u Design refers to.
SEAMCAT’s propagation model plugin Karl Koch, BNetzA, CEPT SEAMCAT Workshop Copenhagen,
FUNCTIONS (C) KHAERONI, M.SI. OBJECTIVE After this topic, students will be able to understand basic concept of user defined function in C++ to declare.
Event Processing Plugin Interface - DEMO European Communications Office Jean-Philippe Kermoal - SEAMCAT Manager (ECO) 20 November 2013
SEAMCAT European Communications Office José Carrascosa - SEAMCAT Manager 5 April 2016.
World of Wokcraft The very best in Single pan cooking themed fantasy gaming!
CS0004: Introduction to Programming
Chapter 9: Value-Returning Functions
Workshop Terminology.
User-Written Functions
The Machine Model Memory
Topics Introduction to Functions Defining and Calling a Void Function
Chapter 7: User-Defined Functions II
Introduction to Programming
Oracle Subledger Accounting
Extensions, System Outline and Correlation Modes and
Simulation plugins: EPP
Post Processing Plugins: PPP
System Plugin (SP).
Principles of programming languages 4: Parameter passing, Scope rules
ICS103 Programming in C Lecture 3: Introduction to C (2)
The Selection Structure
Indexer AKEEL AHMED.
Exception Handling Chapter 9.
More Selections BIS1523 – Lecture 9.
WEB PROGRAMMING JavaScript.
MSIS 655 Advanced Business Applications Programming
Introduction to Classes and Objects
Introduction to Visual Programming
Introduction to Programming
A First Book of ANSI C Fourth Edition
METHODS, CLASSES, AND OBJECTS A FIRST LOOK
Topics Introduction to Value-returning Functions: Generating Random Numbers Writing Your Own Value-Returning Functions The math Module Storing Functions.
Java Programming Language
Functions Imran Rashid CTO at ManiWeber Technologies.
Introduction to Programming
EEL4712 Digital Design (VHDL Tutorial).
Presentation transcript:

Plugin overview Functional Plugins (PMP)

Functional Plugins: PMP & AGP Presentation Outline Plugin definitions Plugin clasification Input types Functional Plugins: PMP & AGP PMP: Implement its class Define its interface Implement its interface and methods Implement the consistency check method

Plugin definitions Propagation Model Plugin (PMP): A plugin that contains the implementation of a propagation model Antenna Gain Plugin (AGP): A plugin that contains the implementation of an antenna pattern Event Processing Plugin (EPP): A plugin that uses calculations done in the core of SEAMCAT and that processes them to produce alternative results Post Processing Plugin (PPP): A plugin that uses simulation result, i.e. after the simulation is complete to produce alternative results. System Plugin (SP): A plugin that contains the complete implementation of a radio system (transmitter, receiver and all their associated parameters)

Plugin Clasification Functional plugin: similar to a mathematical function. From a list of input parameters a functional plugin produces a list of results. These are PMP and AGP Simulation plugin: it takes account of results produced during a simulation, combined with its own defined inputs, in order to produce its own results. These are EPP and PPP System plugin (SP): allows the definiton of a radio system (e.g. 5G) defined by its transmitters, receivers and all parameters associated with them.

Input types Boolean: true/false Double: decimal value Integer: entire number Distribution: any of the built in distributions (constant, discrete uniform, uniform, gaussian, rayleigh, uniform polar angle, uniform polar distance, user defined, or stair). Function: x, y double values interpolated as a function MaskFunction: x,y double pairs with a corresponding mask value m Selection values: a set of possible selection values

Functional Plugins – PMP Define the corresponding class: PropagationModelPlugin.java Define its corresponding methods: Description: writes a title and describe what the plugin does Consistency Check: performs the verification among the input parameters to avoid any error. This method is executed before the simulation starts. Evaluate: performs the necessary calculations to obtain the desired result (propagation attenuation)

PMP: Implement the class PropagationModelPlugin.java Implement the corresponding class: PropagationModelPlugin.java

PMP: Define the pluigin interface The interface specifes the input types used in the plugin:

PMP: Define the pluigin interface Things to note: All inputs are defined as return values to methods taking no parameters To be considered a valid input the method must be annotated with 'Config' and config must specify the order (this is needed for SEAMCAT to properly order it) and display the name. Declaring a variable of the same type and same name will define a default value. This is optional and if not specified the default value will be as defined by SEAMCAT.

PMP: Define the pluigin interface Good practice: define the plugin input default values such that the plugin does not report errors when using its default configuration. In our definition of the Distribution input we didn't specify a default value, which means SEMACAT will assign the Constant Distribution of 0 to it. We can improve the plugin by at least assigning a Distribution that does not cause it to create an error message, to do this the Factory.distributionFactory() method can be helpful.:

PMP: Define the pluigin interface The plugin can be improved by assigning a distribution that does not result in an error message. To do this the Factory.distributionFactory() method can be helpful:

PMP: Implement the pluigin interface After having defined the interface, it can be implemented as follows:

PMP: Implement the pluigin interface Things to note: the Input is now part of the consistencyCheck and evaluate methods. In programming terms this allows for type safe programming, i.e. the interface Input declared above is called a type and that type is now passed as argument to the evaluate method. Inside the evaluate method it is possible to write code like input.distribution() to read the distribution value selected.

PMP: Implement the ConsistencyCheck method This method warns the user about a lack of consistency between input parameters. Example: suppose that the PMP can only have the distribution to be of type UniformDistribution and have a range of values between -78 and 80 Executing a consistency check will display a window providing information to the user.

PMP: Implement the ConsistencyCheck method

Questions?