Abstract

Software Product Line Engineering (SPLE) promotes extensive reuse of common aspects in developing new software components. Supervisory Control Theory (SCT) is a methodology to automatically synthesise a controller enforcing given safety requirements. The interplay between SPLE and SCT has recently received attention in the research community. This paper formally tackles the problem of synthesising a most permissive controller (mpc) enforcing a given requirement for a software product line (SPL). Generally, the number of products of an SPL can be exponential in the number of features, and an mpc should be synthesised for every product. To overcome this problem, the product line structure is exploited to synthesise, in the best case, a number of controllers that are linear in the number of features of the SPL. The SPL is formalised as a (Priced) Featured Automaton ((P)FA), whilst the mpc synthesis is formalised by modelling both the plant and the requirement as Extended Finite-state Automata (EFA), where quantitative aspects can be seamlessly integrated. The contributions are: (i) a formal mapping from FA to EFA; (ii) a mapping of energy problems onto synthesis of EFA; (iii) three-valued logic and partial-order reduction are used to greatly reduce the number of mpcs required. Contribution (iii) holds for a wide range of other objectives, not only energy problems. Both EFA and PFA are endowed with tools implementing algorithms that have been studied for more than a decade and both are adopted in industry. These results pave the way to reuse algorithms and tools that have been separately developed in SPLE and SCT research areas.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call