982
edits
(small edit removing incomplete sentance) |
|||
| Line 97: | Line 97: | ||
Part of understanding any body of code is to be able to identify how data flows through the application. Dataflows are usually represented as arrows of various widths. The arrows are messages flowing between parts of an application. The larger the arrow, the more data items in that data flow. Knowing what is in each of those flows is important to understanding how the application works. | Part of understanding any body of code is to be able to identify how data flows through the application. Dataflows are usually represented as arrows of various widths. The arrows are messages flowing between parts of an application. The larger the arrow, the more data items in that data flow. Knowing what is in each of those flows is important to understanding how the application works. | ||
In FlightGear's C++ code, there are, of course, classes and objects that represent some dataflows. There's a problem, though. Many of the classes are about processing data into ad-hoc structures within the property tree. How can we define a data flow for these ad-hoc structures? (Note: need a way to describe two dataflows. The one that creates the infrastructure as properties in the tree, and a second one implied by the existence of | In FlightGear's C++ code, there are, of course, classes and objects that represent some dataflows. There's a problem, though. Many of the classes are about processing data into ad-hoc structures within the property tree. How can we define a data flow for these ad-hoc structures? (Note: need a way to describe two dataflows. The one that creates the infrastructure as properties in the tree, and a second one implied by the existence of a set of properties.) | ||
There is no C++ class for an Altimeter or a Heading Indicator. Instead, these are represented by a set of properties and data loaded via XML and other formats. The numerical data, stored in the property tree has a path indicating that the properties underneath a node are for the altimeter or the heading indicator. The actual paths in this case are /instrumentation/altimeter and /instrumentation/heading-indicator. Each node in the tree can have properties as child nodes, as well as child nodes that contain additional properties, such as /instrumentation/heading-indicator/gyro. | There is no C++ class for an Altimeter or a Heading Indicator. Instead, these are represented by a set of properties and data loaded via XML and other formats. The numerical data, stored in the property tree has a path indicating that the properties underneath a node are for the altimeter or the heading indicator. The actual paths in this case are /instrumentation/altimeter and /instrumentation/heading-indicator. Each node in the tree can have properties as child nodes, as well as child nodes that contain additional properties, such as /instrumentation/heading-indicator/gyro. | ||
edits