DPS-FPGA 2008-2009 Resource Guide

Page 33

Modeling C applications in UML with files and structures By MartinBakal

A

s DSP applications become more complex, the benefits of modeling the applica-

tions increase. While implementing models in an object-oriented language is easier, C developers can implement their models using either object-oriented or functional techniques. Code is intrinsically complex, and Digital Signal Processor (DSP) code is even more convoluted because of the environment its code is executed in. DSP code interacts directly with hardware, has real-time constraints coupled with size, and memory limits – which makes designing, reviewing, and reusing DSP code a challenge.

and

JeffreyCohen

Fortunately, modeling technologies such as the Unified Modeling Language (UML) help software engineers understand applications by clearly showing structure and behavior; unfortunately, many DSP developers believe that they cannot use UML to design their applications. The basis for this belief is that UML is designed for object-oriented applications, and C code does not support object-oriented approaches. In actuality, using a functional UML approach is natural to C programmers, and modeling C applications in UML with files and structures is consistent with the way many seasoned C programmers design their applications today.

Modeling’s advantages

DSP application developers give many reasons why they cannot model their applications, and managers and developers need to weigh them against development costs and concerns. Companies invest heavily in the Intellectual Property (IP) that makes up these complex applications. These investments include not only development time, but testing, maintaining, and enhancing the IP, which are all areas where the abstraction and organizational benefits of a modeling process can be beneficial. While DSP development has unique historical reasons as to why they have not embraced modeling, the increase in power and complexity necessitates a new paradigm in DSP application development. Specifically, new DSP development challenges require a solution that will enable reuse (to overcome the fact that each chipset has a unique interface) and one that leverages increased DSP power, too. The new paradigm that DSP developers are using is modeling the application using UML files, allowing them to work in the manner to which they are accustomed. Modeling reduces development time: it makes the design of the program’s structure easier to understand, facilitates collaboration among team members, simplifies reuse, and allows testing to take place earlier in the development process.

Improving design and development

UML formalizes the graphics that DSP application developers already use. Engineers are visual people, and communicate using pictures. Long before there was a UML, engineers used graphics to design applications. Even developers unfamiliar with UML use flow charts, state machines, and sequence diagrams to design their DSP applications. Many DSP-FPGA.com

y

2008-09 Annual Resource Guide

y

33


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.