Climbing over the "No Silver Bullet" Brick Wall
IEEE Software
A tool to visualize behavior and design evolution
Ninth international workshop on Principles of software evolution: in conjunction with the 6th ESEC/FSE joint meeting
Journal of Visual Languages and Computing
Timed Behavior Trees for Failure Mode and Effects Analysis of time-critical systems
Journal of Systems and Software
Probabilistic timed behavior trees
IFM'07 Proceedings of the 6th international conference on Integrated formal methods
"integrare", a collaborative environment for behavior-oriented design
CDVE'07 Proceedings of the 4th international conference on Cooperative design, visualization, and engineering
Modelling behaviour requirements for automatic interpretation, simulation and deployment
SIMPAR'10 Proceedings of the Second international conference on Simulation, modeling, and programming for autonomous robots
Genetic design: amplifying our ability to deal with requirements complexity
SMTT'03 Proceedings of the 2003 international conference on Scenarios: models, Transformations and Tools
IFM'05 Proceedings of the 5th international conference on Integrated Formal Methods
SIMPAR'12 Proceedings of the Third international conference on Simulation, Modeling, and Programming for Autonomous Robots
Hi-index | 0.00 |
The ideal we seek when responding to a change in the functional requirements for a system is that we can quickly determine (1) where to make the change (2) how the change affects the architecture of the existing system (3) which components of the system are affected by the change (4) and, what behavioral changes will need to be made to the components (and their interfaces) that are affected by the change. The change problem is complicated because requirements changes are specified in the problem domain, whereas the design response and the implementation changes that need to be made are in the solution domain. Requirements and design representations vary significantly in the support they provide for accommodating requirements changes. An important way of cutting down the memory overload and difficulties associated with making changes is to use the same representation for requirements and the initial design response to the change. In this paper we use a formal component-state representation called behavior trees for this purpose. It allows individual functional requirements to be translated into their corresponding behavior trees; these trees are composed, one at a time, to create an integrated design behavior tree (DBT). The architecture, the component interfaces and the component behaviors of each component in the system are all emergent properties of the DBT. We extend this design approach, by proposing a formal method for mapping changes in a system's functional requirements, to changes in the architecture, the behavior of individual components and their interfaces. Such changes are shown visually on the work products of the design process that are affected. A tool is used to implement the change process.