Diagnostics Management Eclipse based IDE
来源:互联网 发布:javascript hmacsha1 编辑:程序博客网 时间:2024/06/06 01:35
Introduction
Objective
This article is about to document the design decision in my DMIDE development experience.
Background
My previous work in Wind River System was to develop an Eclipse based IDE to perform the following tasks:
1. Build a downloadable agent which could,
a) be installed manually into an embedded OS, including generic Linux(kernel 2.6.14 - 3.0), Wind River Linux, VxWorks, and OSE.
b) monitor all jump/call commands in CPU of certain application/kernel module, then collect logs about function in/out, function/block level coverage, and apply hot patch, without stub code in the objective(unlike coverity/gcov).
c) communicate with IDE or other client through TCP/IP to get commands, upload log, and etc.
2. Build Sensorpoint/Patchpoint which is used to tell the agent what module we want to monitor, or replace with.
3. install Sp/Pp compilation unit to certain board through TCP/IP.
Main Challenge
Like Wind River Workbench (Product Notes), DMIDE needs to manage a massive bunch of tool chains. To make it worse, DMIDE itself is an independent product, not sold with Wind River Platform like Workbench. If a Workbench sold with VxWorks needs to take care ofN toolchains, then DMIDE should takeM*N into consideration,Mrepresents the number of platforms.
Design Decisions in 5.1 release
Project Creation Wizard
DMIDE create a Project Hierarchy which separates "Build Agent" from "Build Sp/Pp".
Project --> Diagnostics Project --> Diagnostics Agent Project
--> Diagnostics Sp/Pp Project
New Project Wizard should collecting the following decisions in the process:
1. Target Operating System. Workbench's installation has already made the choice of Target OS statically. DMIDE would ask user to input the installtion directory of the platform and calculate the platform selection set by install.properties file and host.
2. Build Type. Choice between Diagnostics Agent Project and Diagnostics Sp/Pp Project. Note, some platforms do not support "Agent Build" functionality.
3. Project. The name and location of that project.
Further more, like most workbench project, after the selection of"Target Operating System" and "Build Type", Wizard can append other pages for further configuration. This topic can be further discussed in Build Properties section. Here is a basic workflow of the project creation wizard on task of "create a diagnostics agent project for Wind River Linux 4.3 Platform". The final "Project Setup" page can be separated into pages when dealing with more information for other tasks.
Build Properties ( Property Page)
After the creation stage through wizard, the resulted Diagnostics Project should have a reasonable property set suitable for specific Build Action and Platform.
The original Wind River Diagnostics Property page should be replaced by Build Properties page.
Properties for Diagnostics Agent Project
A VxWorks Example:
Properties for Diagnostics Sp/Pp Project
This is a imitation for Workbench Project 'Build Properties' page.
1. The first 'Build Spec' tab specifies the 'Active build spec' representing the toolchian selection.
2. 'Tool' tab further specifies 'Tool Flags' for Sensorpoint Compiler, Patchpoint Compiler.
3. 'Path', ‘Defines', 'Variables' indicates other parameters which are part of the final command.
Build Actions
After the separation, the two new kinds of Diagnostics Project will have their own Build Actions. Ideally, Build Action for Diagnostics Project should extend existing 'Build Project' and 'Clean Project' by adding new builder into our extension.
- Diagnostics Management Eclipse based IDE
- ColdFusion-based Content Management Systems
- -diagnostics
- Spring 3 MVC Framework Based Hello World Web Application Example Using Maven, Eclipse IDE And Tomcat
- How To Convert Maven Based Java Project To Support Eclipse IDE
- Eclipse IDE
- Web-Based Enterprise Management (WBEM) Initiative
- Windows 2000 Page Based Memory Management
- Windows 2000 Page Based Memory Management
- Agent-based Supply Network Event Management
- About SQL and SQL-Based Management Tools
- About SQL and SQL-Based Management Tools
- About SQL and SQL-Based Management Tools
- Creating a PHP-Based Content Management System
- ITIL Rules Based Configuration Management Database
- ganeti:Cluster-based virtualization management software
- Power Management in Linux-Based Systems
- CMS - Configuration management service based on MongoDb
- 一段位操作代码
- 监测移动设备的HTTP请求
- MapInfo常见数据格式
- ReleaseDC和DeleteDC的区别
- 实验四 四位加法器实验adder4_2
- Diagnostics Management Eclipse based IDE
- Juniper SRX防火墙简明配置手册
- android开发中如何设置eclispe实现自动感知。
- build.prop生成及参数解析
- hibernate 执行sql
- 编程基础知识梳理
- HTML 学习笔记(一)<h1>、<hr />、<p>、<ol><li>、<ul><li>、<dl><dt><dd>、 、<a name="abc">、href="#abc"、mailto
- 实验五 码制转换器实验
- 新入职记录网站优化问题若干