Upload
fliordache
View
522
Download
1
Tags:
Embed Size (px)
DESCRIPTION
Citation preview
TM
Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, ColdFire+, C-Ware, the Energy Efficient Solutions logo, Kinetis, mobileGT, PowerQUICC, Processor Expert, QorIQ, Qorivva, StarCore, Symphony and VortiQa are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. Airfast, BeeKit, BeeStack, CoreNet, Flexis, Layerscape, MagniV, MXC, Platform in a Package, QorIQ Qonverge, QUICC Engine, Ready Play, SafeAssure, the SafeAssure logo, SMARTMOS, TurboLink, Vybrid and Xtrinsic are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2012 Freescale Semiconductor, Inc.
Processor Expert technology
DPTFDataflow Programming Tools Framework
Florin IordacheSoftware Engineer
November 2012
2TM
Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, ColdFire+, C-Ware, the Energy Efficient Solutions logo, Kinetis, mobileGT, PowerQUICC, Processor Expert, QorIQ, Qorivva, StarCore, Symphony and VortiQa are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. Airfast, BeeKit, BeeStack, CoreNet, Flexis, Layerscape, MagniV, MXC, Platform in a Package, QorIQ Qonverge, QUICC Engine, Ready Play, SafeAssure, the SafeAssure logo, SMARTMOS, TurboLink, Vybrid and Xtrinsic are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2012 Freescale Semiconductor, Inc.
Usage:
Features:
Programming paradigm:
Dataflow programming overview
Design, simulation and offline analysis
Optimization and calibration
Intuitive and user friendly design and representation
Ability to easily exploit parallelism in designed software architecture
Suitable for applications focused on the flow of data
a.k.a. Flow-based programming or Diagrammatic programming
Programming paradigm based on graphical program elements manipulation as a directed graph
Based on usage of:• Symbols – programming language elements
• Shapes – visual programming statements• Links – relations between programming statements
Considers flow of data as the primary concern / Focused on how things connect
3TM
Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, ColdFire+, C-Ware, the Energy Efficient Solutions logo, Kinetis, mobileGT, PowerQUICC, Processor Expert, QorIQ, Qorivva, StarCore, Symphony and VortiQa are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. Airfast, BeeKit, BeeStack, CoreNet, Flexis, Layerscape, MagniV, MXC, Platform in a Package, QorIQ Qonverge, QUICC Engine, Ready Play, SafeAssure, the SafeAssure logo, SMARTMOS, TurboLink, Vybrid and Xtrinsic are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2012 Freescale Semiconductor, Inc.
Existing dataflow programming tools
LabVIEW (National Instruments)
Simulink (MathWorks)
Simatic S7 (Siemens)
Unified Application Designer (Cisco)
Visual development environment that facilitates easy and rapid creation of networking and telecommunication applications targeting voice, video and data communication.
Graphical programming environment for Programmable Logic Controllers (PLCs) used to build automation systems for the purpose of industrial equipments control and monitoring.
Graphical platform used for the purpose of modeling, analysis and simulation of dynamic systems.
Graphical development platform that enables engineers without advanced programming expertise to build, setup, test and simulate virtual representations of laboratory equipment.
Not Eclipse based
4TM
Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, ColdFire+, C-Ware, the Energy Efficient Solutions logo, Kinetis, mobileGT, PowerQUICC, Processor Expert, QorIQ, Qorivva, StarCore, Symphony and VortiQa are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. Airfast, BeeKit, BeeStack, CoreNet, Flexis, Layerscape, MagniV, MXC, Platform in a Package, QorIQ Qonverge, QUICC Engine, Ready Play, SafeAssure, the SafeAssure logo, SMARTMOS, TurboLink, Vybrid and Xtrinsic are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2012 Freescale Semiconductor, Inc.
DPTF Usage examplesOverview: PEx QCS is a powerful and easy to use
development platform intended to increase productivity in software development for QorIQ
DPAA (Data Path Acceleration Architecture) tool is an embedded component inside PEx QCS which is designed specifically to allow easy and rapid creation of complex DPAA scenarios.
Provides support for all DPAA features
PEx QCS DPAA configuration view
Processor Expert Software QCS DPAA (Freescale)
Features: Bareboard/Linux support On the fly validation Automatic error notification Instant configuration summary Automatic code generation Port to Portal configuration Import NetPDL definition format
QorIQ SoC supported: P1: P1017, P1023, SC1023 P2: P2040, P2041 P3: P3041, P3060, P308BSS P4: P4040, P4080, SC4080 P5: P5010, P5020, P5021, P5040 T4: T4160, T4161, T4240 QorIQ Qonverge: B4860
5TM
Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, ColdFire+, C-Ware, the Energy Efficient Solutions logo, Kinetis, mobileGT, PowerQUICC, Processor Expert, QorIQ, Qorivva, StarCore, Symphony and VortiQa are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. Airfast, BeeKit, BeeStack, CoreNet, Flexis, Layerscape, MagniV, MXC, Platform in a Package, QorIQ Qonverge, QUICC Engine, Ready Play, SafeAssure, the SafeAssure logo, SMARTMOS, TurboLink, Vybrid and Xtrinsic are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2012 Freescale Semiconductor, Inc.
DPTF Usage examples
Overview: CodeWarrior IDE for MCUs
integrates the development tools for a wide range of microcontrollers: ColdFire, Kinetis, Qorivva, PX, RS08 and S08.
Integrates Processor Expert with Clock Diagram visualization component
CW MCU Clock Diagrams (Freescale)
CW MCU Clock Diagrams view
Features: Interactive clock diagram Automatic error notification Instant configuration summary Interactive human readable
expressions with editable operands Multiple clock source selection Interactive ON/OFF switch Import clock diagram from XML
6TM
Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, ColdFire+, C-Ware, the Energy Efficient Solutions logo, Kinetis, mobileGT, PowerQUICC, Processor Expert, QorIQ, Qorivva, StarCore, Symphony and VortiQa are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. Airfast, BeeKit, BeeStack, CoreNet, Flexis, Layerscape, MagniV, MXC, Platform in a Package, QorIQ Qonverge, QUICC Engine, Ready Play, SafeAssure, the SafeAssure logo, SMARTMOS, TurboLink, Vybrid and Xtrinsic are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2012 Freescale Semiconductor, Inc.
DPTF Technical overview
Framework used for creation of dataflow programming tools
Provided as an Eclipse plug-in
Implementation based on SWT toolkit
Freescale proprietary technology
Overview:
Characteristics:
Reusability
Usability (low barrier to entry)
Flexibility
Extensibility
Maintainability
Modularity
Reliability
Application data agnostic
Robustness
Fault tolerance
7TM
Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, ColdFire+, C-Ware, the Energy Efficient Solutions logo, Kinetis, mobileGT, PowerQUICC, Processor Expert, QorIQ, Qorivva, StarCore, Symphony and VortiQa are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. Airfast, BeeKit, BeeStack, CoreNet, Flexis, Layerscape, MagniV, MXC, Platform in a Package, QorIQ Qonverge, QUICC Engine, Ready Play, SafeAssure, the SafeAssure logo, SMARTMOS, TurboLink, Vybrid and Xtrinsic are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2012 Freescale Semiconductor, Inc.
GUI design provided by DPTF
Example of tool created using DPTF
Mainframe view
Scrollable view
Design Area view
DPTF toolbar
Application toolbar
Horizontal ruler
Vertical ruler
Status bar
Application specific dataflow symbols
8TM
Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, ColdFire+, C-Ware, the Energy Efficient Solutions logo, Kinetis, mobileGT, PowerQUICC, Processor Expert, QorIQ, Qorivva, StarCore, Symphony and VortiQa are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. Airfast, BeeKit, BeeStack, CoreNet, Flexis, Layerscape, MagniV, MXC, Platform in a Package, QorIQ Qonverge, QUICC Engine, Ready Play, SafeAssure, the SafeAssure logo, SMARTMOS, TurboLink, Vybrid and Xtrinsic are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2012 Freescale Semiconductor, Inc.
High Level Architecture
API separation Customization Interaction
Inversion of Control Encapsulation of dataflow features and functionalities Broadcasting framework events to external entities External plugins notification and information extraction
system
MVC based architecture Clear separation of concerns
Layered architecture Internal multi layered design
Event driven architecture Different modules responsible for event:
• Production• Detection• Consumption • Reaction
event
Event detection
Event consumption
Event production
Event reaction
event
reaction
reaction
NotificationsInformation extraction
9TM
Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, ColdFire+, C-Ware, the Energy Efficient Solutions logo, Kinetis, mobileGT, PowerQUICC, Processor Expert, QorIQ, Qorivva, StarCore, Symphony and VortiQa are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. Airfast, BeeKit, BeeStack, CoreNet, Flexis, Layerscape, MagniV, MXC, Platform in a Package, QorIQ Qonverge, QUICC Engine, Ready Play, SafeAssure, the SafeAssure logo, SMARTMOS, TurboLink, Vybrid and Xtrinsic are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2012 Freescale Semiconductor, Inc.
Customization Features
Application customization DPTF specific settings
Custom symbols definition
Library of predefined symbols(e.g.: Switch)
Default configuration
Multiple configurations
10TM
Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, ColdFire+, C-Ware, the Energy Efficient Solutions logo, Kinetis, mobileGT, PowerQUICC, Processor Expert, QorIQ, Qorivva, StarCore, Symphony and VortiQa are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. Airfast, BeeKit, BeeStack, CoreNet, Flexis, Layerscape, MagniV, MXC, Platform in a Package, QorIQ Qonverge, QUICC Engine, Ready Play, SafeAssure, the SafeAssure logo, SMARTMOS, TurboLink, Vybrid and Xtrinsic are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2012 Freescale Semiconductor, Inc.
Runtime Features
Copy/Paste/Remove options Zooming capability Print diagram
Multiple objects selection and grouping
Contextual menusInformation display
Interactive Action hints
11TM
Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, ColdFire+, C-Ware, the Energy Efficient Solutions logo, Kinetis, mobileGT, PowerQUICC, Processor Expert, QorIQ, Qorivva, StarCore, Symphony and VortiQa are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. Airfast, BeeKit, BeeStack, CoreNet, Flexis, Layerscape, MagniV, MXC, Platform in a Package, QorIQ Qonverge, QUICC Engine, Ready Play, SafeAssure, the SafeAssure logo, SMARTMOS, TurboLink, Vybrid and Xtrinsic are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2012 Freescale Semiconductor, Inc.
Runtime Features (cont.)
Snap to grid Orthogonal links
On-the-fly validation
Symbol decoration
Shortcut keys
Interactive Expressions
12TM
Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, ColdFire+, C-Ware, the Energy Efficient Solutions logo, Kinetis, mobileGT, PowerQUICC, Processor Expert, QorIQ, Qorivva, StarCore, Symphony and VortiQa are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. Airfast, BeeKit, BeeStack, CoreNet, Flexis, Layerscape, MagniV, MXC, Platform in a Package, QorIQ Qonverge, QUICC Engine, Ready Play, SafeAssure, the SafeAssure logo, SMARTMOS, TurboLink, Vybrid and Xtrinsic are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2012 Freescale Semiconductor, Inc.
Internal Expressions model:
Expressions model as an operator and a list of operands with each operand being an inner expression
Interactive expressions with editable operands (const, edit, drop down list)
Visual expressions representation in standard mathematical format (e.g.: division as a fraction)
Internal State Machine:
Driven by Internal State Machine model:• Receive and process incoming event• Determine the new state• Perform current state actions• Enter idle state
Analytic Geometry usage:
Each symbol (shape or link) is described by a certain equation inside the Cartesian coordinates system
DPTF automatically performs operations like transformations and intersections as response to GUI actions
All operations are implemented as a set of formulas based on internal system of equations
Internal functionality at a glance
13TM
Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, ColdFire+, C-Ware, the Energy Efficient Solutions logo, Kinetis, mobileGT, PowerQUICC, Processor Expert, QorIQ, Qorivva, StarCore, Symphony and VortiQa are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. Airfast, BeeKit, BeeStack, CoreNet, Flexis, Layerscape, MagniV, MXC, Platform in a Package, QorIQ Qonverge, QUICC Engine, Ready Play, SafeAssure, the SafeAssure logo, SMARTMOS, TurboLink, Vybrid and Xtrinsic are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2012 Freescale Semiconductor, Inc.
Steps required to use DPTF for application development:
Usage steps
Create all required Eclipse plugins
Create all DPTF instances
Customize the overall DPTF look and feel
Create all custom symbols needed
Customize application specific toolbar
Create and install DPTF listeners and providers
Initialize DPTF
Use DPTF at runtime via interaction API
Dataflow programming tool complete.
DPTF framework available.
1
2
3
4
5
6
78
TM