Towards a robust solution in Building Automation ...

2 downloads 1866 Views 150KB Size Report
Email: [email protected]. Abstract—It is presently required agile and systematic solu- tions aiming at streamlining the development, maintenance and.
Towards a robust solution in Building Automation Systems: supporting rapid prototyping and analysis Vasco Amaral

Bruno Barroca

Paulo Carreira

CITI, Departamento de Inform´atica, Faculdade de Ciencias e Tecnologia Universidade Nova de Lisboa, Portugal Email: [email protected]

CITI, Departamento de Inform´atica, Faculdade de Ciencias e Tecnologia Universidade Nova de Lisboa, Portugal Email: [email protected]

IST and INESC-ID Lisboa Taguspark Campus Porto Salvo, Portugal Email: [email protected]

Abstract—It is presently required agile and systematic solutions aiming at streamlining the development, maintenance and configuration of complex Building Automation Systems (BASs) in an energy aware manner. We aim at defining usable Domain Specific Languages (DSLs) using a Software Language Engineering (SLE), as systematic approach for language development, and develop the right tools for specifying the behavior of BASs components along with their energy-related requirements. The goal is to not only assist the systems engineers while rapid-prototyping/developing affordable, high-quality, energyefficient(EE) BASs, but also to take advantage of high level abstractions, efficient special-purpose verification algorithms and analysis tools for early validation and verification, in order to promote Quality of the generated software products. We are watching to the rise of Model-Driven Development as the pragmatic approach to build them, since this approach is based on the notion of explicit abstractions/models. This is achieved thanks to model transformations that, besides automatically translating any specification of a given language into other execution specifications, also allow us to derive analysis specifications. The problem with the referred types of transformation purposes is that we cannot guarantee quality and coherence between the derived specifications into execution specifications and combine it with analysis specifications unless we can either make use of testing over the execution, with the problems already known, or have mechanisms to study the transformations. While this problem is motivated by the concrete need of developing BASs, we foresee that it can be of general application in SLE. In this position paper we will give a state of the art in Building Automation and we give an overview of a possible solution that uses MDD and model transformations, in the context of a BAS solution, in order to check their correctness in w.r.t. the formal semantics of the languages used in the target platforms (i.e either execution or analysis). Index Terms—Software Language Engineering, Model Transformations, Model Transformations Analysis, Model Checking, DSLTrans, Quality in MDD

I. I NTRODUCTION It is expected that in the coming years Smart Buildings (SBs) and Smart Homes (SHs) will play a key role in the low-carbon economy [1]. The heart of an SB (or an SH) is the BAS[2]: an automated control system that coordinates electric and mechanical devices in order to improve the comfort and safety of the occupants of the space. However, the development and adequate commissioning of BASs is expensive [5], preventing their widespread adoption

therefore hampering significant energy reductions. The main factors that contribute to the high costs of development and maintenance of BAS are (i) the lack of a sound/integrated tool support, to deal with the complexities of the design and implementation of an EE BAS, and (ii) the lack of tools that empower the non-technical users to configure the systems behavior according to their particular requirements. We vision to specify the behavior of BASs components using declarative Domain Specific Languages (DSLs), unlike existing languages for automation, which are imperative in nature. SLE is the systematic approach do develop languages, and the respective research community is promoting MDD techniques to be used in order to rapidly derive integrated development environments (IDEs), to support this DSL with edition, validation and simulation capabilities that are able to assist the systems engineers while rapid-prototyping/developing affordable, high-quality, EF BASs. Besides, thanks to the use of explicit specification models, these systems become certifiable and easier to analise and validate. Using the same principles, we envision to derive tools that empower end-users to commission, in run-time, their energy-aware BASs. Our proposal is disruptive in the sense that it aims at developing EE BASs through a sound and principled engineering practice. However, it is known that depending on the expressiveness of the used language, the size of the model’s analysis spaces can be unreasonable leading to what is called a combinatorial explosion of the symbolic state space during the analysis of a given specification. This is often the case while analysing source-code expressed in typical programming languages used nowadays in the software industry. Depending on the properties that we intend to check in our DSL’s specifications, we might have to answer to these two questions: i) what is the most effective analysis tool to analyse such kind of properties; and ii) our DSL should be perhaps less expressive, hence more restricted, in order to guarantee certain properties — either by construction, or at least ease the dynamic analysis of others. Within this context of research, we have been developing a method, depicted in Figure 1, where we are able to formally guarrantee that i) all specifications expressed in a given DSL are correctly translated automatically towards the execution platform; and ii) all specifications expressed in a given DSL

are correctly translated automatically towards the analysis platform. Of course, in this case, correctness also means that we should ensure that the analysis results from each specification is coherent and sound w.r.t. its execution in the execution platform.

behavior models of buildings, HVAC and Illumination subsystems are by now well understood [16], [6]. However, to the best of our knowledge, the inference/derivation of such models automatically from a BAS’ specification has never been addressed in literature. B. DEALING WITH SOFTWARE COMPLEXITY: MODELDRIVEN DEVELOPMENT

Formalism

DSL

T2 Formal Semantics T1

Programming Language

Fig. 1.

A

Formal Semantics

General overview of the robust engineering of a DSL.

During this research we devised a syntax-to-syntax model transformation language designed to define analyzable language translations called DSLTrans [9]. This language imposes, by construction in its semantics, that all translations are confluent and terminating [10]. As shown in Figure 1, T1 and T2 are transformations specifications (e.g can be expressed using DSLTrans’ Language) that drives the automated translation (the dark-grey arrows) of any specification of our DSL into both execution and analysis formalisms. Once we develop these translation specifications, we can then analyse them (depicted as the A light-grey arrows), and also validate them according to the formal semantics of both execution and target platforms. II. R ELATED W ORK Streamlining the development of Building Automation Systems is a complex and pervasive issue [11] that has been targeted by computer scientists as well as industry consortia through standards, languages and their supporting development tools. A. BUILDING INFORMATION AND ENERGY MODELS In AEC industry, well known Building Information Models [12] such as IFC [13] are used to model, among other aspects, building envelope and installed equipment characteristics. IFC MVDs are model transformations used to derive simpler models aiming at ulterior analysis and validation energy simulation. Specialized descriptions of building equipment have emerged such as AEX [14] and building control domain of IFCs (in addition to including HVAC, Lighting). Energy

In this project we propose to tackle the problems of designing a DSL (which is able to specify the structure and behavior of energy aware BASs), and building tool support for it (i.e., an IDE), by taking a MDD approach. In its essence, MDDs goal is to tackle software/information and hardware/physical systems complexity by modelling everything explicitly, at the most appropriate level(s) of abstraction using the most appropriate formalism(s) (DSLs) and simulating/deriving the target systems automatically. In order to translate these models into lower level abstraction languages, MDD provides Model Transformations, that can be either Model-to-Model or Model-to-Code. Currently, there exists a wide range of MDD tools for supporting Language implementation (also known as language workbenches) [17] that become specialized in the rapid prototyping of textual and graphical/diagrammatic editors for DSLs [18] (such as DSLTools, GMF, EMFText, among others), and in the specification and maintenance of the code generation and model transformation activities (such as QVT, Declarative QVT, VIATRA2, ATL, among others). Some transformation tools [10], [22], [23], [24] can even assure the quality of the transformations. For instance, some of them [10] assure that (i) every transformation will always terminates and give an unique result; and (ii) a given kind of properties is preserved in the transformation. An important evidence that the integration of these tools in a sound MDD methodology can actually deal with the increasing softwares complexity was realized with the BATICS project [25]. This project explored the MDD advantages in what concerns to usability and model verification (by means of model checking [26]),and DSLs extensibility (reusing platform independent model transformations). C. APPLICATION OF MDD IN BUILDING AND INDUSTRIAL AUTOMATION Currently, BAS are developed with platform- or vendorspecific tools like, ETS 3 or LonMaker, that do not place much effort in raising the level of abstraction. Many do not provide any type of concrete syntax, which is essential for the productivity in large projects, and when they do, their syntax is seldom intuitive and requires specialized training. In view of the current state-of-the-art in MDD, we say that BAS are still developed using low level abstraction languages and lack a principled development methodology (as enabled by MDD). However there is some evidence that the BA and other related domains are gradually putting some of these MDD techniques into practice. For instance, techniques such as generative programming for assisting the creation of building

automation software [28] are examples of similar approaches, as well as model driven engineering [29]. Languages based in IEC 61131 have become a standard, recently superseded by IEC 61499 [36] to which much research effort has been directed concerning the application of MDD techniques for synthesis, validation and verification [37]. We champion using similar techniques for BAS. III. C ONCLUSIONS We presently watch to a growing need for robust software products for the control of BAS with energy efficiency concerns. We propose to devise a framework that comprehends a DSL for restricting the design space while prototyping solutions. We also propose MDD as an enabler of such solutions. However, this solution alone is not enough since we still have the problem of not being sure about the quality of the obtained products because of the uncertainty about correspondence of what was modeled, analysed and generated for execution regarding specific properties (e.g. energy efficiency). In this paper we gave an overview vision of what could be a possible solution based on research previously undertaken by us. In the sequence of this dicussion we are undertaking a rrsearch plan where we i) build an appropriate DSL for Building Automation, that will lie on top of an existing Building Automation Platform; ii) choose and integrate the right formalism/tool to perform the analysis of this DSL’s specifications; iii) and provide a method (or a tool) to help us prove that the analysis over our DSL specification is sound w.r.t. the Building Automation Platform’s semantics. We expect that the results of the research in this Domain will provide us in the future with pragmatic means, formally grounded, to enforce robustness in MDD during SLE and therefore promote Quality in software products. ACKNOWLEDGMENT This work was developed in the context of the following research institutions: INESC-ID and CITI fund PEstOE/EEI/UI0527/2011 Centro de Informtica e Tecnologias da Informao (CITI/FCT/UNL) - 2011-2012 R EFERENCES [1] E. C. communication, Energy 2020 A strategy for competitive, sustainable and secure energy (COM (2010) 639 final of 10 November 2010) and a foreword by Commissioner Gnther Oettinger, 2010. [2] W. Kastner, G. Neugschwandtner, S. Soucek, and H. Newmann, “Communication systems for building automation and control,” Proceedings of the IEEE, vol. 93, no. 6, pp. 1178–1203, Jun. 2005. [3] M. Albadi and E. El-Saadany, “Demand response in electricity markets: An overview,” in IEEE Power Engineering Society General Meeting, 2007, Jun. 2007, pp. 1–5. [4] B. Bach, D. Wilhelmer, and P. Palensky, “Smart buildings, smart cities and governing innovation in the new millennium,” in Procs. of the 8th IEEE Int’l Conf. on Industrial Informatics, 2010. [5] H. Dibowski, J. Ploennigs, and K. Kabitzsch, “Automated Design of Building Automation Systems,” IEEE Transactions on Industrial Electronics, vol. 57, no. 11, pp. 3606–3613, 2010. [6] G. L. Levermore, Building energy management systems: applications to low-energy HVAC and natural ventilation control. Taylor and Francis, 2000. [7] F. 2012, http://www.facilitiesnet.com/buildingautomation/article/LookOut-for-AutomationPitfalls–3093, 2012.

[8] T. Salsbury and R. Diamond, “Performance validation and energy analysis of hvac systems using simulation,” in ICST 2010: Proceedings of the 3rd International Conference on Software Testing, Verification and Validation. Energy and Buildings, 2000, pp. 32(1):5–17. [9] B. Barroca, L. L´ucio, V. Amaral, R. Felix, and V. Sousa, “DSLTrans: A turing incomplete transformation language,” in SLE 2010. SpringerVerlag, 10 2010, uRL=http://planet-sl.org. [10] B. Barroca, L. S. L´ucio, and V. Amaral, “A technique for automatic validation of model transformations,” in ACM/IEEE MoDELS 2010. Springer-Verlag, 10 2010, uRL=http://models2010.ifi.uio.no/. [11] F. Praus, W. Granzer, and W. Kastner, “Enhanced Control Application Development in Building Automation,” in 7th IEEE International Conference on Industrial Informatics, Jun. 2009, pp. 390–395. [12] C. Eastman, P. Teicholz, R. Sacks, and K. Liston, BIM Handbook: A Guide to Building Information Modeling for Owners, Managers, Designers, Engineers and Contractors. John Wiley & Sons, 2008. [13] ISO, Industry Foundation Classes, Release 2x, Platform Specifications (IFC2x Platform), ISO/PAS 16739, 2005. [14] FIATECH, Automating Equipment Information Exchange (AEX) Project, 2009, online at: http://www.cfixml.org/documents/, 2009. [15] S. Chan, D. Conti, C. Kaler, T. Kuehnel, A. Regnier, B. Roe, D. Sather, J. Schlimmer, H. Sekine, J. Thelin, D. Walter, J. Weast, D. Whitehead, D. Wright, and Y. Yarmosh, Devices Profile for Web Services (DPWS) Specification, 2006. [16] A. C. d. P. Luis F. Roriz, Climatizao em Edifcios: Envolvente e Comportamento Trmico, 2006. [17] K. Ehrig, E. Guerra, J. de Lara, L. Lengyel, T. Levendovszky, U. Prange, G. Taentzer, D. Varr´o, and S. Varr´o-Gyapay, “Model transformation by graph transformation: A comparative study,” in MTiP 2005, International Workshop on Model Transformations in Practice (Satellite Event of MoDELS 2005), 2005. [18] S. Kelly and J.-P. Tolvanen, Domain-Specific Modeling. Wiley-IEEE Computer Society Press, March 2008. [19] Object Management Group, Queries Views Transformations http://www.omg.org/spec/QVT/1.1/, 2011. [20] G. V. D. Varro and A. Pataricza, “Designing the automatic transformation of visual languages.” in Science of Computer Programming, vol. 44(2), 2002, pp. 205–227. [21] F. Jouault and I. Kurtev, “Transforming models with atl,” in Proceedings of the Model Transformations in Practice Workshop at MoDELS 2005, Montego Bay, Jamaica, 2005. [22] M. Asztalos, L. Lengyel, and T. Levendovszky, “Towards automated, formal verification of model transformations,” in ICST 2010: Proceedings of the 3rd International Conference on Software Testing, Verification and Validation. IEEE Computer Society, 2010, pp. 15–24. [23] K. Anastasakis, B. Bordbar, and J. K¨uster, “Analysis of model transformations via alloy,” in Proceedings of the workshop on Model-Driven Engineering, Verification and Validation (MoDeVVA 2007), Nashville, TN (USA), B. Baudry, A. Faivre, S. Ghosh, and A. Pretschner, Eds. Berlin/Heidelberg: Springer, October 2007, pp. 47–56. [24] J.-R. Falleri, M. Huchard, M. Lafourcade, and C. Nebut, “Metamodel matching for automatic model transformation generation,” in Model Driven Engineering Languages and Systems, 11th International Conference, MoDELS 2008, Toulouse, France, September 28 - October 3, 2008. Proceedings, ser. Lecture Notes in Computer Science, K. Czarnecki, I. Ober, J.-M. Bruel, A. Uhl, and M. Volter, Eds., vol. 5301. Springer, 2008, pp. 326–340. [25] V. Amaral, B. Barroca, M. Risoldi, D. Buchs, and G. Falquet, A language and a methodology for prototyping user interfaces for control systems. Springer-Verlag, 2009, pp. 223–252. [26] S. Hostettler, A. Marechal, A. Linard, M. Risoldi, and D. Buchs, “Highlevel petri net model checking with alpina,” Fundam. Inform., vol. 113, no. 3-4, pp. 229–264, 2011. [27] S. Runde, H. Dibowski, A. Fay, and K. Kabitzsch, “A Semantic Requirement Ontology for the Engineering of Building Automation Systems by means of OWL,” in Procs. of the 14th IEEE Conf. on Emerging Technologies Factory Automation, Sep. 2009, pp. 1–8. [28] U. Ryssel, J. Ploennigs, and K. Kabitzsch, “Generative Function Block Design And Composition,” in IEEE International Workshop on Factory Communication Systems, 2006, pp. 253–262. [29] M. Jimenez, F. M. Rosique, P. Sanchez, B. Alvarez, and A. Iborra, “Habitation: A Domain-Specific Language for Home Automation,” IEEE Software, vol. 26, no. 4, pp. 30–38, 2009.

[30] V. Miori, L. Tarrini, M. Manca, and G. Tolomei, “An Open Standard Solution for Domotic Interoperability,” IEEE Transactions on Consumer Electronics, vol. 52, no. 1, pp. 97–103, Feb. 2006. [31] C. D. Nugent, D. D. Finlay, R. J. Davies, H. Y. Wang, H. Zheng, J. Hallberg, K. Synnes, and M. D. Mulvenna, “homeML – An Open Standard for the Exchange of Data Within Smart Environments,” in Pervasive Computing for Quality of Life Enhancement, ser. LNCS, T. Okadome, T. Yamazaki, and M. Makhtari, Eds., vol. 4541. SpringerVerlag, 2008, pp. 121–129. [32] A. Rugnone, E. Vicario, C. Nugent, M. Donnelly, D. Craig, C. Paggetti, and E. Tamburini, “HomeTL: A visual formalism, based on temporal logic, for the design of home based care,” in IEEE International Conference on Automation Science and Engineering, 2007, pp. 747– 752. [33] P. J. Clemente, J. M. Conejero, J. Hern´andez, and L. S´anchez, “HAAISDSL: DSL to develop Home Automation and Ambient Intelligence Systems,” European Conference on Computer Systems, 2009. [34] B. D. Wachter, T. Massart, and C. Meuter, “dsl: An environment with automatic code distribution for industrial control systems,” in OPODIS, 2003, pp. 132–145. [35] H. Pr¨ahofer, D. Hurnaus, C. Wirth, and H. M¨ossenb¨ock, “Monaco: A DSL Approach for Programming Automation Systems,” in Procs. of the Software Engineering Conference (SE’2008), Feb. 2008, pp. 242–256. [36] I. E. Commission, “Iec 61499: Function blocks, parts 1-4, international standard/technical report, 1st edn. genev (2004/2005),” 2004. [37] T. Lukman, G. Godena, J. Gray, and S. Strmnik, “Model-driven engineering of industrial process control applications,” in IEEE Conference on Emerging Technologies and Factory Automation (ETFA), 2010.