Columns

Looks at IBM Rational XDE Developer .NET Edition v2003.06 and Compuware DriverStudio

IBM Rational XDE Developer .NET Edition v2003.06
Cost: $3,594 (w/1 yr. support/service)
IBM Corp.
Somers, N.Y.
www.ibm.com/rational
Rating: 4 out of 5

Visual Studio .NET is a complex and far-reaching design environment. But it focuses just on helping you build code effectively. Rational XDE Developer makes the development environment more complex by bringing modeling into the picture. With Rational XDE, you continue to develop software inside the Visual Studio .NET shell, but you can also design code with UML diagrams.

Key to making this work is forward- and reverse-engineering support, as well as model-to-code synchronization. You can make a change to your code, and XDE will update your model -- or vice versa. If you already have a project full of code, bringing it into the XDE world is as simple as loading your project and telling it to generate the model. Databases can also be engineered in both directions.

By tying in with other IBM Rational products, XDE is designed to be part of an overall software process running from requirements management to build and change management. And this version's support for your pattern repositories lets you create reusable software assets and share them across the enterprise. Repositories can be accessed locally or over the Web.

This version also supports trace sequence diagrams. You can tell it that you want it to graphically monitor what is going on, and XDE builds a sequence diagram as the classes in your app interact in real time. The sequence diagrams can be filtered to let you concentrate on the interactions you are interested in, making them a good debugging and documentation tool.

All this power comes at the cost of some complexity. You will really want to know UML before you dive into using XDE, and you should allow enough time to explore the XDE features. For small projects, this could be overkill. But once you cannot hold all the classes in your app and their interactions in your head at once, some sort of symbolic documentation tool is a necessity. XDE can easily fill that spot and grow with you into an overall development helper for complex projects.


Drive carefully: A review of DriverStudio 3.0

DriverStudio 3.0
Cost: $2,499
Compuware Corp.
Detroit, Mich.
www.compuware.com
Rating: 5 out of 5

It is refreshing to open a software box and find it filled with paper manuals. But then, device driver development is one of the more complex and specialized parts of writing Windows software, and DriverStudio offers a breadth of tools to help.

DriverStudio integrates Visual Studio with the DDK so you can use a modern IDE to develop device drivers instead of writing code in Notepad. You also get class libraries and wizards to generate the shell of your driver quickly. The manuals include documentation of the class library and the Windows Driver Module.

Then there is DriverWorkbench, a set of testing and debugging tools for device drivers. BoundsChecker catches a host of API errors. TrueTime is a performance analysis tool, and TrueCoverage is a code coverage analysis tool. Various other tools load, unload and install drivers, take a system snapshot and display debug output.

Finally, you get two high-end debuggers. SoftICE is a traditional single-machine debugger that seizes control of the entire machine when you activate it. Visual SoftICE, in contrast, is a dual-machine debugger. A small core of code runs on the machine with the driver you are debugging, and the Visual SoftICE user interface runs on a second computer. Each debugger has its own strength (SoftICE does not insert any code that might confound a network driver, while Visual SoftICE lets you see what is happening inside a failing display driver). Between them, you can debug on any system.

If you have enough hardware, you will want to install DriverStudio in a distributed setting, with the core monitoring components and drivers on a target machine and the IDE on a host machine. If you do not, you can put everything on one computer. If you are really rich, a single host can connect to multiple targets.

DriverStudio is not for everyone. But if you are trying to do device driver development, you need to invest in a solid debugger. You will find that here, along with plenty of other components to make your life easier.

About the Author

Mike Gunderloy has been developing software for a quarter-century now, and writing about it for nearly as long. He walked away from a .NET development career in 2006 and has been a happy Rails user ever since. Mike blogs at A Fresh Cup.