موتور قاعده کارآمد برای سیستم ساختمان هوشمند Efficient Rule Engine for Smart Building System
- نوع فایل : کتاب
- زبان : فارسی
- ناشر : آی تریپل ای IEEE
- چاپ و سال / کشور: 2013
توضیحات
چاپ شده در مجله یافته ها در حوزه کامپیوترها – Transactions on Computers
رشته های مرتبط مهندسی کامپیوتر و فناوری اطلاعات، سامانه های شبکه ای، هوش مصنوعی، شبکه های کامپیوتری و اینترنت و شبکه های گسترده
۱- مقدمه با توسعه شبکه های حسگر و عملگر بی سیم(WSAN)، سیستم های ساختمانی هوشمند در سال های اخیر به طور گسترده ای مطالعه شده اند(۱-۲). هدف اصلی این سستم ها، کنترل هوشمند وسایل و لوازم الکتریکی بر طبق اطلاعات محیطی جمع آوری شده توسط حسگر ها برای حفاظت از انرژی در ساختمان ها می باشد. فرایند کنترل هوشمند معمولا بر طبق قواعد خاص انجام می شود. قواعد تحریک شده توسط رویداد ها را می توان به صورت قوانین شرط- عمل بیان کرد. برای مثال، یک قاعده را می توان به صورت ” زمانی که فردی در دفتر با نور کم کار می کنند، لامپ مربوطه به طور خودکار روشن می شود” تعریف کرد. در یک سیستم ساختمان هوشمند، موتور قاعده یک مولفه مهمی است که می تواند کنترل انعطاف پذیری را در اختیار بگذارد. اهمیت یک زیر سیستم موتور قاعده، تفکیک منطق ها و داده ها می باشد به طوری که منطق ها به عنوان اجزای مستقل و قابل نگهداری تفکیک می شوند. در یک سیستم ساختمان هوشمند، داده های شناسایی شده محیطی شامل صدا، تصویر ، دما، غلظت داد و گاز، رطوبت می باشند. حسگر های اطراف یک منطقه پایشی خاص داده های محیطی را جمع اوری کرده و آن ها را به سرور در یک دوره نمونه گیری منظم گزارش می کنند. سپس سرور اقدام به تحلیل و پردازش داده ها برای شناسایی رویداد ها، تطبیق قواعد و اجرای عملیات مربوطه می کند. رویداد ها اغلب تغییرات محیطی ناگهانی نظیر صدا، نور، اتش ( دما، تراکم دود) و نیز ارتعاش سطحی می باشند. به طور کلی، فراوانی گزارش داده ها بیش از فراوانی تولید رویداد ها می باشد. به منظور فیلتر حجم زیادی از داده های اضافی و بهبود کارایی و صحت تولید رویداد، ما یک مکانیسم پیش پردازش رویداد موثر را بر طبق ویژگی های استاتیک خود داده ها( برای مثال یک موقعیت جغرافیایی، نوع گره و غیره) طراحی می کنیم. برای مثال با در نظر گرفتن این قاعده که- اگر دما به بالای ۶۰ درجه برسد، زنگ هشدار به صدا در می اید- آنگاه می توان داده ها را از دو بعد فیلتر کرد ۱- فیلتر داده های گزارش شده توسط همه حسگر ها و سنسور ها به جز سنسور های دمایی بر طبق نوع گره ۲- فیلتر داده های جمع اوری شده فراتر از منطقه پایش بر اساس موقعتی جغرافیایی. به این ترتیب، عملکرد زمان واقعی تولید رویداد بهبود می یابد. با توسعه سیستم های ساختمان هوشمند، توسعه سریع رویداد ها و قواعد موجب می شوند تا موتور قاعده با دو مسئله اصلی مواجه شود: شیوه فیلتر حجم زیادی از رویداد های بی معنی و شیوه بهبود کارایی تطبیق قاعده. در این مقاله ما عوامل پویا( برای مثال، زمان و شرایط ترکیبی) را برای بهبود کارایی عملیاتی قواعد در نظر می گیریم. با در نظر گرفتن این که بسیاری از قواعد توسط شرایطی که متشکل از چندین رویداد به جای یک رویداد هستند تحریک می شوندف طراحی یک مکانیسم تطبیق قاعده کارامد برای بهبود عملکرد زمان واقعی موتور قاعده، از اهمیت زیادی برخوردار است(۳). بسیاری از موتور های قوانین کسب و کار فعلی(CLIPS [4], JESS[5], DROOLS [6], BizTalk [7] برای ایجاد انعطاف پذیری بهتر و کاهش هزینه طراحی، توسعه و تحویل نرم افزار استفاده می شوند. الگوریتم های سنتی از جمله RETE برای موتور قاعده(۸-۹-۱۰)، عمدتا بر مکانیسم پردازش پیچیده موتور قاعده با یک مجموعه قاعده بزرگ و توان عملیاتی پایین متمرکز هستند. با این حال، در سیستم های ساختمان هوشمند مبتنی بر WSAN، هزاران عملگر و حسگر تولید داده های فراوانی می کنند. همان طور که در شکل ۱ نشان داده شده است، در سیستم های ساختمان هوشمند مبتنی بر WSAN، بسیاری از انواع حسگر ها برای جمع اوری اطلاعات محیطی استقرار می یابند و هر دستگاه الکتریکی مجهز به یک عملگر برای دریافت دستورات کنترل می باشد و هر کاربر از قواعد چندگانه برای ارایه خدمات مورد نیاز استفاده می کند. در نتیجه، رویداد های فراوانی دارد که موجب افزایش مقیاس مجموعه قواعد می شود. به علاوه، بسیاری از رویداد های فوری تولید شده در سیستم های ساختمانی هوشمند اغلب دارای ملزومات پاسخ زمان واقعی می باشند. موتور های قاعده موجود عمدتا بر حوزه کسب و کار سنتی متمرکز بوده و مسئله بار داده ها را حذف می کند. به علاوه، این موتور ها به طور کلی بسیار سنگین هستند و قادر به مدیریت طیف وسیعی از رویداد ها و وقایع نمی باشند و به این ترتیب نمی توان آن ها را مستقمیا در سیستم ساختمان هوشمند مورد استفاده قرار داد. از سوی دیگر، الگوریتم های سنتی از جمله RETE نمی تواند متضمن انطباق سریع بین طیف وسیعی از رویداد ها و قواعد باشد و از این روی برای سیستم با طیف وسیعی از قواعد و رویداد های تولید شده، مناسب نیست. در این مقاله که هدف آن بررسی سیستم های ساختمان هوشمند بزرگ مقیاس می باشد، ما یک موتور قاعده کارامد را با بار داده ها و مجموعه قواعد بزرگ پیشنهاد می کنیم که قادر به تطبیق رویداد ها بوده و قواعد را درزمان واقعی اجرا می کند. اول، با تحلیل ویژگی های داده ها در یک سیستم ساختمان هوشمند، نتایج نشان داد که اگرچه داده های گزارش شده فراوان می باشند، فراوانی اجرای قواعد تحریک شده نسبتا پایین است. با فیلتر کردن داده هایی که پردازش ناموفقی داشته اند، می تواند به یک موتور قاعده کارامد دست یافت. به علاوهف با افزایش مقیاس مجموعه قاعده، شرایط قاعده پیچیده تر شده و اجرای قواعد به طور مکرر تحریک می شود. از این روی، عملکرد موتور قاعده را می توان با تعدیل طرحهای اجرای قاعده بر طبق حالت های سیستم فعلی بهبود بخشید. • برای سیستم ساختمان هوشمند بزرگ مقیاس حاوی رویداد ها و قواعد فراوان، ما یک موتور قاعده کارامد را برای انطباق سریع بین رویداد ها و قواعد و اجرای قاعده طراحی می کنیم. • ما یک جدول درهم سازی کامل کمینه را بر اساس MPHF ایجاد می کنیم که در آن مجموعه کلیدی متشکل از همه رویداد های تحریک کننده است. به عنوان یک جدول فیلترینگ موثر، جدول در هم سازی کامل کمینه، اکثریت داده های با پردازش غیر ضروری را تنها با سر بار زمان O(1) حذف می کند. طرح انطباق موتور پیشنهادی ما بر اساس بازخورد انطباق قاعده به طور معنی داری موجب کاهش سربار انطباق قواعد به طور تطبیقی می شود. • ما موتور قاعده پیشنهادی را پیاده سازی کرده و در عین حال آن را با یک سیستم ساختمانی هوشمند واقعی تایید می کنیم. نتایج ازمایش نشان می دهد که راه حل ما موجب بهبود عملکرد اجرای قاعده حتی با داده های عظیم و مجموعه قاعده بزرگ می شود. ادامه این مقاله به صورت زیر سازمان دهی شده است: ما در بخش دوم در مورد مرور منابع و کار های مرتبط صحبت می کنیم. بخش سوم به توصیف مقدمات می پردازد. موتور قاعده کارامد پیشنهادی در بخش ۴ توضیح داده شده است. بخش ۵ به تحلیل پیچیدگی عملیاتی راه حل ما می پردازد. در بخش ۶، ما یک مطالعه ازمایشی و شبیه سازی ها را مطرح می کنیم. بخش ۷ نیز شامل نتیجه گیری است.
رشته های مرتبط مهندسی کامپیوتر و فناوری اطلاعات، سامانه های شبکه ای، هوش مصنوعی، شبکه های کامپیوتری و اینترنت و شبکه های گسترده
۱- مقدمه با توسعه شبکه های حسگر و عملگر بی سیم(WSAN)، سیستم های ساختمانی هوشمند در سال های اخیر به طور گسترده ای مطالعه شده اند(۱-۲). هدف اصلی این سستم ها، کنترل هوشمند وسایل و لوازم الکتریکی بر طبق اطلاعات محیطی جمع آوری شده توسط حسگر ها برای حفاظت از انرژی در ساختمان ها می باشد. فرایند کنترل هوشمند معمولا بر طبق قواعد خاص انجام می شود. قواعد تحریک شده توسط رویداد ها را می توان به صورت قوانین شرط- عمل بیان کرد. برای مثال، یک قاعده را می توان به صورت ” زمانی که فردی در دفتر با نور کم کار می کنند، لامپ مربوطه به طور خودکار روشن می شود” تعریف کرد. در یک سیستم ساختمان هوشمند، موتور قاعده یک مولفه مهمی است که می تواند کنترل انعطاف پذیری را در اختیار بگذارد. اهمیت یک زیر سیستم موتور قاعده، تفکیک منطق ها و داده ها می باشد به طوری که منطق ها به عنوان اجزای مستقل و قابل نگهداری تفکیک می شوند. در یک سیستم ساختمان هوشمند، داده های شناسایی شده محیطی شامل صدا، تصویر ، دما، غلظت داد و گاز، رطوبت می باشند. حسگر های اطراف یک منطقه پایشی خاص داده های محیطی را جمع اوری کرده و آن ها را به سرور در یک دوره نمونه گیری منظم گزارش می کنند. سپس سرور اقدام به تحلیل و پردازش داده ها برای شناسایی رویداد ها، تطبیق قواعد و اجرای عملیات مربوطه می کند. رویداد ها اغلب تغییرات محیطی ناگهانی نظیر صدا، نور، اتش ( دما، تراکم دود) و نیز ارتعاش سطحی می باشند. به طور کلی، فراوانی گزارش داده ها بیش از فراوانی تولید رویداد ها می باشد. به منظور فیلتر حجم زیادی از داده های اضافی و بهبود کارایی و صحت تولید رویداد، ما یک مکانیسم پیش پردازش رویداد موثر را بر طبق ویژگی های استاتیک خود داده ها( برای مثال یک موقعیت جغرافیایی، نوع گره و غیره) طراحی می کنیم. برای مثال با در نظر گرفتن این قاعده که- اگر دما به بالای ۶۰ درجه برسد، زنگ هشدار به صدا در می اید- آنگاه می توان داده ها را از دو بعد فیلتر کرد ۱- فیلتر داده های گزارش شده توسط همه حسگر ها و سنسور ها به جز سنسور های دمایی بر طبق نوع گره ۲- فیلتر داده های جمع اوری شده فراتر از منطقه پایش بر اساس موقعتی جغرافیایی. به این ترتیب، عملکرد زمان واقعی تولید رویداد بهبود می یابد. با توسعه سیستم های ساختمان هوشمند، توسعه سریع رویداد ها و قواعد موجب می شوند تا موتور قاعده با دو مسئله اصلی مواجه شود: شیوه فیلتر حجم زیادی از رویداد های بی معنی و شیوه بهبود کارایی تطبیق قاعده. در این مقاله ما عوامل پویا( برای مثال، زمان و شرایط ترکیبی) را برای بهبود کارایی عملیاتی قواعد در نظر می گیریم. با در نظر گرفتن این که بسیاری از قواعد توسط شرایطی که متشکل از چندین رویداد به جای یک رویداد هستند تحریک می شوندف طراحی یک مکانیسم تطبیق قاعده کارامد برای بهبود عملکرد زمان واقعی موتور قاعده، از اهمیت زیادی برخوردار است(۳). بسیاری از موتور های قوانین کسب و کار فعلی(CLIPS [4], JESS[5], DROOLS [6], BizTalk [7] برای ایجاد انعطاف پذیری بهتر و کاهش هزینه طراحی، توسعه و تحویل نرم افزار استفاده می شوند. الگوریتم های سنتی از جمله RETE برای موتور قاعده(۸-۹-۱۰)، عمدتا بر مکانیسم پردازش پیچیده موتور قاعده با یک مجموعه قاعده بزرگ و توان عملیاتی پایین متمرکز هستند. با این حال، در سیستم های ساختمان هوشمند مبتنی بر WSAN، هزاران عملگر و حسگر تولید داده های فراوانی می کنند. همان طور که در شکل ۱ نشان داده شده است، در سیستم های ساختمان هوشمند مبتنی بر WSAN، بسیاری از انواع حسگر ها برای جمع اوری اطلاعات محیطی استقرار می یابند و هر دستگاه الکتریکی مجهز به یک عملگر برای دریافت دستورات کنترل می باشد و هر کاربر از قواعد چندگانه برای ارایه خدمات مورد نیاز استفاده می کند. در نتیجه، رویداد های فراوانی دارد که موجب افزایش مقیاس مجموعه قواعد می شود. به علاوه، بسیاری از رویداد های فوری تولید شده در سیستم های ساختمانی هوشمند اغلب دارای ملزومات پاسخ زمان واقعی می باشند. موتور های قاعده موجود عمدتا بر حوزه کسب و کار سنتی متمرکز بوده و مسئله بار داده ها را حذف می کند. به علاوه، این موتور ها به طور کلی بسیار سنگین هستند و قادر به مدیریت طیف وسیعی از رویداد ها و وقایع نمی باشند و به این ترتیب نمی توان آن ها را مستقمیا در سیستم ساختمان هوشمند مورد استفاده قرار داد. از سوی دیگر، الگوریتم های سنتی از جمله RETE نمی تواند متضمن انطباق سریع بین طیف وسیعی از رویداد ها و قواعد باشد و از این روی برای سیستم با طیف وسیعی از قواعد و رویداد های تولید شده، مناسب نیست. در این مقاله که هدف آن بررسی سیستم های ساختمان هوشمند بزرگ مقیاس می باشد، ما یک موتور قاعده کارامد را با بار داده ها و مجموعه قواعد بزرگ پیشنهاد می کنیم که قادر به تطبیق رویداد ها بوده و قواعد را درزمان واقعی اجرا می کند. اول، با تحلیل ویژگی های داده ها در یک سیستم ساختمان هوشمند، نتایج نشان داد که اگرچه داده های گزارش شده فراوان می باشند، فراوانی اجرای قواعد تحریک شده نسبتا پایین است. با فیلتر کردن داده هایی که پردازش ناموفقی داشته اند، می تواند به یک موتور قاعده کارامد دست یافت. به علاوهف با افزایش مقیاس مجموعه قاعده، شرایط قاعده پیچیده تر شده و اجرای قواعد به طور مکرر تحریک می شود. از این روی، عملکرد موتور قاعده را می توان با تعدیل طرحهای اجرای قاعده بر طبق حالت های سیستم فعلی بهبود بخشید. • برای سیستم ساختمان هوشمند بزرگ مقیاس حاوی رویداد ها و قواعد فراوان، ما یک موتور قاعده کارامد را برای انطباق سریع بین رویداد ها و قواعد و اجرای قاعده طراحی می کنیم. • ما یک جدول درهم سازی کامل کمینه را بر اساس MPHF ایجاد می کنیم که در آن مجموعه کلیدی متشکل از همه رویداد های تحریک کننده است. به عنوان یک جدول فیلترینگ موثر، جدول در هم سازی کامل کمینه، اکثریت داده های با پردازش غیر ضروری را تنها با سر بار زمان O(1) حذف می کند. طرح انطباق موتور پیشنهادی ما بر اساس بازخورد انطباق قاعده به طور معنی داری موجب کاهش سربار انطباق قواعد به طور تطبیقی می شود. • ما موتور قاعده پیشنهادی را پیاده سازی کرده و در عین حال آن را با یک سیستم ساختمانی هوشمند واقعی تایید می کنیم. نتایج ازمایش نشان می دهد که راه حل ما موجب بهبود عملکرد اجرای قاعده حتی با داده های عظیم و مجموعه قاعده بزرگ می شود. ادامه این مقاله به صورت زیر سازمان دهی شده است: ما در بخش دوم در مورد مرور منابع و کار های مرتبط صحبت می کنیم. بخش سوم به توصیف مقدمات می پردازد. موتور قاعده کارامد پیشنهادی در بخش ۴ توضیح داده شده است. بخش ۵ به تحلیل پیچیدگی عملیاتی راه حل ما می پردازد. در بخش ۶، ما یک مطالعه ازمایشی و شبیه سازی ها را مطرح می کنیم. بخش ۷ نیز شامل نتیجه گیری است.
Description
۱ INTRODUCTION WITH the development of the Wireless Sensor and Actuator Networks (WSANs), smart building systems have been extensively studied in recent years [1], [2]. The primary objective of such system is to control electric appliances intelligently according to the environmental information collected by sensors for energy conservation in buildings. The smart control process is usually performed according to certain rules. The rules triggered by events can be expressed as the form of condition-action. For example, a rule can be described as “when someone works in the office with dim light, the corresponding lamp is turned on automatically”. In a smart building system, rule engine is an important component that can provide flexible control. The essence of a rule engine subsystem is to separate logics and data, so as to make logics as independent and maintainable parts. In a smart building system, detected environment data may be sound, image, temperature, smoke/gas concentration, humidity, etc. Sensors around a certain monitoring region collect environmental data and report them to the server within a regular sampling period. The server analyzes and processes the data for identifying events, matching the rules, and executing the corresponding actions. The events are often sudden environmental changes such as sound, light, fire (temperature, smoke concentration) and surface vibration. Generally, the frequency of reporting data is far greater than that of generating events. In order to filter a great deal of redundant data and improve the efficiency and accuracy of event generation, we design an effective event preprocessing mechanism according to static properties of the data itself (e.g., a geographical position, type of node, etc.). Take the rule – if Temperature > 60◦C, then an alarm sound – for example, we can filter the data from two aspects: 1) we filter the data reported by all the sensors except temperature sensors according to the type of node; 2) we filter the data that is collected beyond related monitoring region by the geographical position. In this way, the real-time performance of event generation is improved. With the development of smart building systems, the rapid expansion of events and rules cause the rule engine encounter two main problems: how to filter plenty of meaningless events and how to improve rule matching efficiency. In this paper, we consider dynamic factors (e.g., time and combinational conditions) to further promote the operation efficiency of rules. Considering that many rules are triggered by conditions which are composed of several events instead of a single one, it is crucial to design an efficient rule matching mechanism to promote the real-time performance of rule engine [3]. Many current business rule engines (CLIPS [4], JESS [5], DROOLS [6], BizTalk [7], etc.) are employed to provide better flexibility and reduce the cost of designing, developing and delivering software. The traditional algorithms, including the RETE for rule engine [8], [9], [10], mainly focus on the complex processing mechanism of rule engine with a large rule set and limited event throughput. However, in WSANs based smart building systems, thousands of deployed sensors and actuators produce abundant data. As shown in Fig. 1, in a WASNs based smart building system, many kinds of sensors are deployed for collecting environment information, each electric device is equipped with an actuator for receiving control commands, and each user subscribes multiple rules to customize required services. As a result, there are lots of events contributing to a large scale of rule set. In addition, many urgent events generated in smart building systems often have real-time response requirements. Existing rule engines mainly focus on traditional business scope and omit the problem of data load. Moreover, these engines are generally too heavy and complex to handle plenty of events, thus cannot be applied to a smart building system directly. On the other hand, traditional algorithms including the RETE cannot guarantee the quick matching between plenty of events and rules, and thus are not suitable for the system with lots of subscribed rules and produced events. In this paper, aiming at large-scale smart building systems, we propose an efficient rule engine with high data load and large rule set, which can match events and execute rules in real time. First, by analyzing the features of data in a smart building system, we find that although the reported data is abundant, the execution frequency of triggered rules is relative low. By filtering the unnecessarily processed data in time, we realize an efficient rule engine. In addition, with the increase of the scale of rule set, the rule conditions become more complex and rule executions are more frequently triggered. Hence, the performance of the rule engine can be further promoted by adjusting rule execution schemes dynamically according to the current system states. Our main contributions can be summarized as follows. • For the large scale smart building system containing abundant events and rules, we design a highefficient rule engine for quick matching between events and rules and rule execution. • We construct a minimal perfect hash table based on MPHF, in which the key set is composed of all the atomic trigger events. As an effective filtering table, the minimal perfect hash table discards the majority of unnecessarily processed data with only O(1) time overhead. Our proposed engine adaption scheme, based on the rule matching feedback, can significantly reduce the rule matching overhead adaptively. • We implement the proposed rule engine, and further verify it by a real smart building system. The experiment results show that our solution improve the performance of rule execution even with overwhelming data and large rule set. The remainder of this paper is organized as follows. We discuss the related work in Section 2. Section 3 describes the preliminaries. The proposed efficient rule engine is detailed in Section 4. Section 5 analyzes the operational complexity of our solution. In Section 6, we give our experimental study and simulations. We conclude the paper in Section 7.