According to (Rathmair et al., 2016), a verifica-
tion run against the collision property using the model
checking tool NuSMV takes a fraction of a second
on a usual PC. We measured the execution times
needed for verification by our planner, and they are
also within a fraction of a second.
Hence, for this minimalist model, the execu-
tion times for verification are negligible for both ap-
proaches. As our planner is not really optimized for
speed, it is conceivable that model checking will run
faster for larger search spaces than our planner. Still,
such a comparison for scaling is left for future work.
Anyway, in theory the complexity is the same for both
approaches (without bounds).
We use the Fluent Calculus as a means for veri-
fication in this paper, but such a model may be used
for other purposes as well. Since the model primar-
ily specifies actions, these specifications may also be
used for planning or plan execution. After all, re-
lated approaches have been proposed long time ago in
the context of robot planning and execution, see, e.g.,
(Nilsson, 1982). This is in contrast to model check-
ing, where only verification is possible.
6 CONCLUSION
In this paper, we propose a new approach to formal
and automated verification based on the Fluent Cal-
culus. While previously only the specification of a
software feature coordinator was published in (Bo-
covich and Atlee, 2014), our approach can formally
verify it. This requires additional models of the en-
vironment (an autonomous agent and some simple
physics), which facilitate verifying safety of software
more generally.
This approach is fully implemented for the model
in (Rathmair et al., 2016), from which our represen-
tation in the Fluent Calculus is systematically trans-
formed from. We also propose this transformation
here, which could be more generally used for deriving
representations in the Fluent Calculus. This calculus
(much as the Situation Calculus) is usually employed
for planning and plan execution, where re-planning is
more flexible at run-time than using FSMs.
It is hard to judge, in general, which formal veri-
fication approach is easier to use. For someone hav-
ing specified a feature coordinator according to (Bo-
covich and Atlee, 2014) through such a calculus, us-
ing it for verification purposes as well seems more
appropriate than using FSMs and model checking.
ACKNOWLEDGMENT
The FeatureOpt project (No. 849928), is funded
by the Austrian Federal Ministry of Transport, In-
novation and Technology (BMVIT) under the pro-
gram “ICT of the Future” between June 2015 and
May 2018. More information can be found at
https://iktderzukunft.at/en/.
REFERENCES
Apel, S., Batory, D., K
¨
astner, C., and Saake, G. (2013).
Feature-Oriented Software Product Lines: Concepts
and Implementation. Springer.
Baier, C. and Katoen, J.-P. (2008). Principles of Model
Checking. MIT Press, Cambridge, MA, USA.
Bensalem, S., Havelund, K., and Orlandini, A. (2014). Ver-
ification and validation meet planning and scheduling.
International Journal on Software Tools for Technol-
ogy Transfer, 16(1):1–12.
Bocovich, C. and Atlee, J. M. (2014). Variable-specific
resolutions for feature interactions. In Proceedings
of the 22Nd ACM SIGSOFT International Symposium
on Foundations of Software Engineering, FSE 2014,
pages 553–563, New York, NY, USA. ACM.
Hoch, R., Kaindl, H., Popp, R., Ertl, D., and Horacek,
H. (2015). Semantic Service Specification for V&V
of Service Composition and Business Processes. In
Proceedings of the 48nd Annual Hawaii International
Conference on System Sciences (HICSS-48), Piscat-
away, NJ, USA. IEEE Computer Society Press.
Jackson, M. and Zave, P. (1998). Distributed feature com-
position: A virtual architecture for telecommunica-
tions services. IEEE Transactions on Software En-
gineering (TSE), 24(10):831–847.
Juarez-Dominguez, A. L., Day, N. A., and Joyce, J. J.
(2008). Modelling feature interactions in the automo-
tive domain. In Proceedings of the 2008 International
Workshop on Models in Software Engineering, MiSE
’08, pages 45–50, New York, NY, USA. ACM.
Levesque, H. J., Reiter, R., Lesp
´
erance, Y., Lin, F., and
Scherl, R. B. (1997). Golog: A logic programming
language for dynamic domains. The Journal of Logic
Programming, 31(1):59 – 83.
McCarthy, J. and Hayes, P. J. (1969). Some philosophi-
cal problems from the standpoint of artificial intelli-
gence. In Meltzer, B. and Michie, D., editors, Machine
Intelligence 4, pages 463–502. Edinburgh University
Press, Edinburgh.
Nilsson, N. J. (1982). Principles of Artificial Intelligence.
Springer, Berlin, Heidelberg, Germany.
NuSMV (2014). NuSMV: a new symbolic model checker.
Rathmair, M., Luckeneder, C., and Kaindl, H. (2016). Min-
imalist qualitative models for model checking cyber-
physical feature coordination. In Proceedings of the
23rd Asia-Pacific Software Engineering Conference
(APSEC), USA. IEEE.
Reiter, R. (1991). The frame problem in situation the cal-
culus: A simple solution (sometimes) and a complete-
ENASE 2018 - 13th International Conference on Evaluation of Novel Approaches to Software Engineering
178