Skip to main content
PLOS One logoLink to PLOS One
. 2024 Mar 22;19(3):e0296655. doi: 10.1371/journal.pone.0296655

A fuzzy description logic based IoT framework: Formal verification and end user programming

Miguel Pérez-Gaspar 1,#, Javier Gomez 1,#, Everardo Bárcenas 2,*,#, Francisco Garcia 1,#
Editor: Nadeem Sarwar3
PMCID: PMC10959344  PMID: 38517840

Abstract

The Internet of Things (IoT) has become one of the most popular technologies in recent years. Advances in computing capabilities, hardware accessibility, and wireless connectivity make possible communication between people, processes, and devices for all kinds of applications and industries. However, the deployment of this technology is confined almost entirely to tech companies, leaving end users with only access to specific functionalities. This paper presents a framework that allows users with no technical knowledge to build their own IoT applications according to their needs. To this end, a framework consisting of two building blocks is presented. A friendly interface block lets users tell the system what to do using simple operating rules such as “if the temperature is cold, turn on the heater.” On the other hand, a fuzzy logic reasoner block built by experts translates the ambiguity of human language to specific actions to the actuators, such as “call the police.” The proposed system can also detect and inform the user if the inserted rules have inconsistencies in real time. Moreover, a formal model is introduced, based on fuzzy description logic, for the consistency of IoT systems. Finally, this paper presents various experiments using a fuzzy logic reasoner to show the viability of the proposed framework using a smart-home IoT security system as an example.

Introduction

The Internet of Things (IoT) makes possible communications between people and objects by taking advantage of computing capabilities and hardware accessibility for all types of applications. As a general definition, IoT can be described as an interconnection of many objects through a network that continuously generates information about the physical world. These objects can communicate and be controlled by various agents (other systems or people) to interact and take control of the physical world to manage many services of daily use [1].

IoT devices can generally be classified into controller boards with microprocessors or micro-controllers, sensors that sense data from the physical world, and actuators that connect to controllers and communication modules. However, the development and deployment of IoT applications are confined almost entirely to tech companies, leaving end users with only access to specific functionalities. This approach presents a fundamental problem since it is only possible for the IoT provider to anticipate some of the user’s needs. Unfortunately, it will take a long time before changes are made to an IoT system to fulfill a user’s specific needs. In this work, we argue that for IoT systems to close the gap between users and IoT technology, a different approach is needed where end users have the means to build their IoT systems according to their specific needs. However, for this end, the interface should be user-friendly, using day-to-day instructions as input, such as “If these conditions happened, then do this or that.” Nevertheless, the system should allow users to express complex system behaviors while at the same time verifying that no inconsistencies appear when additional rules are added.

This work proposes that Fuzzy logic (FL) [2] is ideally suited to become the interface between people and objects in IoT systems, modeling logical reasoning with vague or ambiguous statements such as “The temperature is hot (cold or mild).” This logic refers to a family of many-valued logic in which truth values are interpreted as degrees of truth. The truth value of a logically complex proposition such as “Carl is tall, and Chris is rich” is determined by the truth values of its constituents. In other words, truth functions impose on classical logic. This type of logic arises from the need to use daily life statements whose natural language adjectives are used to qualify.

Fuzzy logic has been applied in various ways in sensor networks and IoT, such as energy savings, packet routing, location, and human-sensor interface, among other applications [36]. An advantage of fuzzy logic over traditional logic is that the former can reach precise conclusions based on vague, imprecise, noisy, or non-existent arguments common in IoT systems since messages are often lost, collected information is imprecise, or the instructions are vague [7]. Moreover, many IoT applications require human intervention where the user might provide ambiguous inputs to the system, such as higher, smaller, or bigger, that an actuator cannot read directly.

Inconsistent information is recurrent in IoT systems due to many factors, including errors produced by data entry operators, data arriving from multiple sensors, and instructions contradicting each other [8, 9]. Since Fuzzy-IoT systems can only make an action based on the collected information at a given time, it is relevant to verify the consistency of the entire system as soon as new instructions are added to the system; otherwise, the system might present errors when applying these actions. For instance, Let us consider two rules for the activation of warning alarms: “Activate a medium warning alarm when low motion, light, and sound are detected” and “Activate a low warning alarm when high motion, low light, and low sound are detected.” These rules exhibit inconsistency since the second rule implies that a low warning alarm should be triggered by high motion, which contradicts the expectation that a medium or high warning alarm should be activated given the potential presence of a stranger inside the house. Thus, even when some smart IoT systems can enhance daily life, their proper operation could be compromised if the rules inserted into the system are inconsistent. To solve this problem, this paper proposes a novel framework that allows users to interact with the IoT systems using simple instructions and vague language while verifying the system’s overall consistency. For example, a simple rule can be:

Ifitisreallyhot,thenturnontheairconditioninghigh. (1)

While a second rule can be:

Nomatterwhat,neverturnontheairconditioning. (2)

Fig 1 illustrates the flow diagram of the proposed framework. First, a technician (or even the user) needs to place and connect various sensors and actuators that compose the IoT hardware on which the IoT system operates. Some important contextual concepts may be pre-programmed onto the system, such as really hot and air conditioning set to high. Nevertheless, users may modify these concepts later on. The input is given by simple everyday rules such as instructions 1 and 2, then a fuzzy reasoner will process the user’s input. If the last instruction contradicts another previous rule, the system will alert the user accordingly. Once the system is programmed with non-contradictory (consistent) instructions, it routinely performs its corresponding tasks (e.g., turn on the heater, set the alarm, etc).

Fig 1. The architecture of fuzzyDL reasoner.

Fig 1

The structure of this work is organized as follows: In the first section, we discuss previous research to provide context for our study. Then, in the IoT Systems section, we define the system and introduce the concept of consistency. Next, in the Fuzzy Description Logic Verification section, we explain the basics of fuzzy logic and present a result that shows how consistency relates to both the IoT system and fuzzy description logic. Ultimately, in the Fuzzy Control for an IoT Security System section, we outline the following steps: providing context, setting system rules, and putting the system into action. Finally, we present the program’s syntax and share the experiments we conducted to support and illustrate the concepts we have discussed.

Related work

Fuzzy logic has been used in a wide variety of systems such as the automatic focus of digital cameras [10], control and optimization of industrial processes and systems [11], improving the efficiency of fuel-running engines [12], environmental improvement [13], expert systems [14], robotics [15], vehicles and autonomous driving [16], computer technology [17], Fuzzy databases [18], artificial intelligence, control systems for air conditioners [19], family appliances [3, 20], wireless sensor networks [36], and cellular automata [2123].

Concerning formal verification of IoT systems, the authors in survey [24] present various works focused on verifying security properties [2527]. Some other IoT works studied the settings of formal verification, including communication protocols [28], healthcare and environmental monitoring systems [29, 30]. Even when all these approaches focus on verifying data, protocols, and security consistency, these proposals work over static variables. On the contrary, the proposal presented in this paper can modify the system’s behavior by adding new rules on running time while the system verifies consistency. Furthermore, none of the above proposals interact with end users.

Input data in IoT systems is usually collected from heterogeneous sensor devices that need more interoperability since data values are based on proprietary formats. Similarly, IoT systems can accumulate poor-quality data since events such as offset data, missing data, wrong time stamps, and wrong attribute values can occur. Verifying the consistency of collected data has traditionally used machine learning and point-based calibration algorithms. For instance, authors in [31] proposed a data consistency method based on neural networks to reduce data errors by approximately 4%. However, this approach cannot interact in real-time with end users since it verifies consistency before the system starts.

Logical data inconsistencies have also been studied in the description logic (DLs) setting comprising a family of knowledge representation languages [32]. The balance between computational complexity and the expressiveness of DLs has allowed efficient reasoning tools to be constructed. These tools have enabled the application of DLs in several domains successfully [33]. Notably, the Web Ontology Language (OWL), a standard for Web Semantics technologies, is based on DLs [34]. Fuzzy extensions of DLs have also been developed [35]. These extensions have found application in human activity modeling for ambient intelligence systems [36], diabetes diagnosis systems [37], and database systems [38], to mention a few. Authors in [9] proposed a consistency data representation for IoT healthcare systems, transforming health data obtained from heterogeneous IoT devices into a semantic data model that supports logical reasoning using OWL. Even when the authors used a logic reasoner, they only focused on creating a unified static data model in which new rules cannot be introduced on running time. In [8], the authors proposed a reasoning framework to guarantee the consistency of the data stream produced by physical sensors in smart spaces. However, this framework does not interact with end users.

In summary, the proposed framework sets apart from previous works in the literature in two directions, mainly in the context of IoT applications. Firstly, it separates which tasks in the IoT system belong to an expert and which ones are the end user’s responsibility, thus freeing end users from dealing with the most complex part of building and operating an IoT system. Most related works do not make this task distinction, providing little freedom to users wanting to implement their own IoT applications. However, the interaction of expert and user-related tasks will likely generate inconsistencies in the instructions introduced by end users and the data being collected and processed by sensors and actuators. Secondly, this framework verifies the dynamic properties of these task interactions and detects inconsistencies resulting from end-user instructions and wrong data that can be detected in real-time. This may allow end users to identify contradictory instructions so they can be modified to guarantee the IoT system’s correctness. About this point, most related works dealing with consistency focus on verifying static properties defined for the design of the IoT system only, but they do not consider the dynamic aspect once the system is running.

IoT systems

Fuzzy logic is a multi-valued logic whose statements can take truth values associated with the interval [0, 1] [39]. In deductive logic, inferences have the following structure:

IfP1,P2,,Pn,thenR.

From the premises P1, P2, …, Pn, the conclusion R is reached. Consider, for example, the following inferences in classical logic:

P1:AllmenaremortalP1:AllcatslikefishP2:Aristotleisaman_P2:Mishiisacat_R:AristotleismortalR:Mishilikesfish.

Notice that in these examples, the degrees of membership are Boolean: Aristotle is a man, and Mishi is a cat. However, in many contexts, the degrees of membership are not Boolean. For example, the route to the airport meets with much traffic, and the wind chill is hot. In fuzzy logic, the structure of the inferences is conserved concerning classical reasoning. The degrees of membership are those that are considered fuzzy. Consider the following example:

P1:ThetemperatureistoohighP2:Thehumidityisnotlow_R:Turnontheairconditioningatmediumspeed.

Let us assume a set of sensors S and a set of actuators A in an IoT security system. For example, sensors might detect movement, light, and sound, while actuators make an action, such as set the alarm, phone_call, and call_the_police. Domains of sensors and actuators are considered to be fuzzy. This occurs because data obtained from sensors and actuators could be more accurate in practice due to many factors. A fuzzy domain D is a finite set of closed intervals d1, d2, …, dn, such that di ⊆ [0, 1] and i=1ndi=[0,1]. For instance, a domain for an alarm actuator can be defined by the intervals [0, 0.35] (low), [0.35, 0.7] (medium), and [0.7, 1] (high). Note that human language often uses adjectives instead of particular intervals.

To associate fuzzy domains with sensors and actuators, we consider fuzzy interpretation functions, that is, fz:SAD, for a fuzzy domain D. Consider the example of an alarm actuator; if the alarm is set high, we formally write fz(alarm) ∈ [0.7, 1]. It also can be written fz(alarm) ∈ high.

The following grammar defines a system expression:

SystExpf(e)df(e)dSystExpSystExpSystExpSystExp,

where eSA. The system expression fz(alarm) ∈ high stands when the alarm is set to high. We may also write fz(alarm) ∉ high to show that the alarm is not high. Other Boolean combinations of these atomic expressions may also form a system expression: fz(alarm) ∈ high ∧ fz(lamp) ∈ on.

Definition 1 (IoT System). Consider a set of fuzzy interpretation functions. We then define an IoT System as a finite set of rules of the following form:

IfSystExpthenfz(a)d,

where SystExp are system expressions and fz are fuzzy interpretation functions of actuators a.

Example. Consider three sensors: movement, light, and sound. Domains for these sensors are composed of three intervals: few, some, and much. As for actuators, the system comprises alarm and phone_call. Alarm domain is defined by low, medium, and high. The domain for phone_call is Boolean; it can be set on or off. Now, the IoT system can be programmed to call the police if the sensor perceives much sound, light, and movement. The following expression can express this behavior:

Iffz(movement)muchfz(light)muchfz(sound)muchthenfz(phone_call)on. (3)

If the system perceives some movement but low sound and some light, instead of calling the police, turn the alarm on to medium. This behavior can be written as follows:

Iffz(movement)somefz(light)fewfz(sound)fewthenfz(alarm)medium. (4)

Before providing semantics for IoT System expression, we must precisely define when a sensor or actuator is set to a particular interval domain. This is not immediate since intervals may intersect; for instance, this might be the case for medium and low intervals for a sound sensor. We then introduce the fuzzy membership function mf : D ↦ [0, 1], provided a fuzzy domain D. Fuzzy membership functions may be defined according to the application context of the IoT System. Some standard Fuzzy membership functions are (a) trapezoidal, (b) triangle, (c) rectangular, (d) right-shoulder, and (e) left-shoulder as depicted in Fig 2.

Fig 2. Fuzzy membership functions.

Fig 2

The membership of a sensor or actuator to a particular domain is then defined as the maximum of the fuzzy membership functions. This is formalized by a Boolean structure, which is defined as a function from expressions f(e) ∈ d to {0,1} as follows:

B(f(e)d)=1,ifandonlyif,max{mf(d)dD}.

Recall the example of the sound sensor intervals intersecting: if the sensed value falls within this intersection, our system employs a special structure to determine which interval is closer to the sensed value.

We are now ready to provide precise semantics of an IoT System. The interpretation of an IoT system rule concerning a Boolean structure B is then defined as follows:

  • fz(e) ∈ dB = 1, if and only if, B(fz(e) ∈ d) = 1;

  • fz(e) ∉ dB = 1, if and only if, B(fz(e) ∈ d) = 0;

  • ⟦SystExp1 ∨ SystExp2B = 1, if and only if, ⟦SystExpiB = 1 for some i ∈ {1, 2};

  • ⟦SystExp1 ∧ SystExp2B = 1, if and only if, ⟦SystExpiB = 1 for all i ∈ {1, 2};

  • ⟦If SystExp then fz(a) ∈ dB = 1, if and only if, ⟦SystExp⟧B = 0 or ⟦fz(a) ∈ dB = 1.

The intuition of interpreting a system rule is that Boolean structures provide a particular context for sensors and actuators.

Definition 2 (IoT System Consistency). We say an IoT System is consistent, if and only if, for all rules of the system R and any Boolean structure B, have that ⟦RB = 1.

For instance, consider a system comprised of expressions 3 and 4. It is evident that this configuration is consistent, as both rules are interpreted as 1 under any Boolean structure (within the context of sensors and actuators). Additionally, if we include the following rule:

Iffz(movement)muchfz(light)fewfz(sound)fewthenfz(alarm)low. (5)

Then the system is inconsistent, as there is a Boolean structure considering sensors detecting some movement, low light, and sound, and setting the alarm to medium, such that the interpretation of rule 5 is 0. Note that there is another structure considering the alarm set to low, which causes rule 5 to hold. However, under this structure, rule 4 does not.

Fuzzy description logic verification

In this Section, we describe a fuzzy description logic. Description logics form a family of Knowledge Representation languages, vastly and successfully known among several other domains in the Semantic Web community. The description logic language described in this work allows us to model IoT expert systems in the form of Knowledge Bases (KB). The fuzzy part of language allows us to model ambiguous notions such as “much movement”. We will first describe the syntax and semantics of the logic. Then, the notion of KB consistency is introduced. We next show that the consistency of IoT systems can be tested in terms of KB consistency.

Zadeh [39] proposed fuzzy set theory and logic to manage fuzzy and ambiguous knowledge. In classical set theory, either one of the elements belongs to the set, or it does not. In fuzzy set theory, the elements belong to a certain degree. Let X be a set of elements called the reference set. A fuzzy subset A of X is defined by a membership function μA(x) (or simply A(x)), which assigns any xX to a value in the real interval between 0 and 1. In the classical case, 0 is no membership, and 1 is full membership. It should be noted that the fuzzy interpretation functions defined in the previous section and the membership functions exhibit similar behavior. The distinction lies in the domain that each considers. To avoid confusion, the former functions pertain to the IoT system, while the latter pertains to fuzzy description logic. A value between 0 and 1 indicates how x is considered an element of X. The crisp set operation is extended to fuzzy sets. The intersection, union, complement operation, and implication set are interpreted as a t-norm ⊗, a t-conorm ⊕, a negation ⊖, and an implication ⇒. Let α, β ∈ [0, 1], we define the fuzzy operators’ negation, t-norm, t-conorm, and implication; moreover, the fuzzy implications are used to describe the Zadeh logic: αβ = min{α, β}, αβ = max{α, β}, ⊖α = 1 − α, and αβ = max{1 − α, β}. It is possible to define more operators to define Łukasiewicz logic, Kleene-Dienes logic, and Classical logic (for more details see [35]). The Mamdani model is a particular and usual case of reasoning in the literature. This is a fuzzy If-Then system that includes the basic rule, that is, a set of rules of the form:

IfX1isA1andXnisAnThenYisB, (6)

where for each i = 1, …, n, Ai, and B are linguistic values defined by language-wide fuzzy sets. Xi and Y, respectively. The inference rule (Generalized Modus Ponens). Note that the Mamdani model is a particular case of Definition 1.

We introduce the fuzzy description logic behind fuzzyDL inference engine. fuzzyDL is defined on a discrete set [0,1]D={0,1n,,n-1n,1} for nN such that there is a machine representable 0<ϵ<1n.

Definition 3. Fuzzy Description Logic’s main elements are concepts, denoting unary predicates, and roles, denoting binary predicates. Finally, connectives allow the construction of complex concepts. The syntax of fuzzyDL is as follows:

C,D||¬C|CD|CD|CD|R.C|R.C|T.d|T.d|dL(a,b)|R(a,b)|crisp(a,b)|trapezoidal(a,b,c,d)mlinear(a)|triangular(a,b,c),

where C, D denote concepts, R denotes abstract roles names, T denotes concrete roles names, d denotes membership functions, m denotes modifiers, and ∘ = {L, G}.

Example. Consider again the IoT system rule 4

Iffz(movement)somefz(light)fewfz(sound)fewthenfz(alarm)medium.

In terms of a fuzzy description logic expression, this rule is written as follows:

(move.SomeMovelight.LowLightsound.FewSound)alarm.MediumAlarm

Definition 4. A fuzzy knowledge base (KB) consists of: A is a fuzzy ABox, T is a fuzzy TBox, and R is a fuzzy RBox denoted by K=A,T,R, where:

  • A fuzzy ABox A consists of a finite set of fuzzy concepts and fuzzy role assertion axioms of the form 〈x : C, α〉 and 〈(x, y):R, α〉, where α ∈ (0, 1]D.

  • A fuzzy TBox T is a finite set of fuzzy General Concept Inclusion axioms (GCIs) 〈CD, α〉, where C, D are concepts and α ∈ (0, 1]D. Informally, it states that all instances of concept C are instances of concept D to degree α; that is, the subsumption degree between C and D is at least α. We write C = D as a shorthand of the two axioms 〈CD, 1〉 and 〈DC, 1〉.

  • A fuzzy RBox R is a finite set of role axioms of the form: (funR) a role R is functional, (transR) a role R is transitive, R1R2 role R2 subsumes role R1.

In the setting of an IoT system, the information commonly provided by an expert, such as fuzzy interval for sensor and actuator (much movement, low light, etc.) is described as an ABox. Whereas the information corresponding to rules (instructions) provided by the end user are codified in terms of TBox expressions.

We now introduce the semantic notions of the fuzzy description logic.

A fuzzy data type D = 〈ΔD, ⋅D〉 is such that ⋅D assigns to every n-ary fuzzy relation over ΔD. For instance, the predicate ≥0 may be a crisp unary predicate over R, denoting the set of reals smaller or equal to 0.

Definition 5. A fuzzy interpretation I=(ΔI,·I) relative to a fuzzy data type theory D = (ΔD, ⋅)D consists of a nonempty set ΔI disjoint from ΔD and of a fuzzy interpretation function ·I that coincides with ·I on every data value, data type, and fuzzy data type predicate, and it assigns:

  • To each abstract concept C a function CI:ΔI[0,1]D.

  • To each abstract role R a function RI:ΔI×ΔI[0,1]D.

  • To each abstract feature r a partial function rI:ΔI×ΔI[0,1]D such that for all xΔI there is a unique yΔI on which rI(x,y) is defined.

  • To each concrete role T a function RI:ΔI×ΔD[0,1]D

  • To each concrete feature t a partial function tI:ΔI×ΔD[0,1]D such that for all xΔI there is a unique v ∈ ΔD on which tI(x,v) is defined.

  • To each modifier m the modifier function fm : [0, 1]D → [0, 1]D.

  • To each abstract individual x an element in ΔI.

  • To each concrete individual v an element in ΔD.

Definition 6. The mapping ·I is extended to roles and complex concepts as follows:

  • I(x)=0 , I(x)=1

  • (¬C)I(x)=CI(x)

  • (CD)I(x)=CI(x)DI(x) where ∘ = {C, G, L}

  • (CD)I(x)=CI(x)DI(x) where ∘ = {C, G, L}

  • (C*D)I(x)=CI(x)*DI(x) where * = {C, G, KD, L}

  • (R.C)I(x)=supyΔIRI(x,y)CI(y) .

Definition 7. The satisfaction of a fuzzy axiom E by a fuzzy interpretation I, denoted IE, is defined as:

  • Iτα if and only if τIα.

  • ItransR if and only if x,yΔI, RI(x,y)supzΔIRI(x,z)RI(z,y).

  • IR1R2 if and only if x,yΔI, R1I(x,y)R2I(x,y).

  • I(invR1R2) if and only if x,yΔI, R1I(x,y)=R2I(y,x).

The concept C is satisfiable if and only if there is an interpretation I and an individual xΔI such that CI(x)>0.

Let F be a set of axioms and E be a fuzzy axiom. We will say that I satisfies F if and only if I satisfies each axiom in F. I is a model of E, if and only if, IE and I is a model of F, if and only if, IF. I is a model of KB, if and only if I is a model of each component A,T and R, denoted by IK. An axiom E is a logical consequence of a knowledge base K, if and only if every model of K satisfies E, denoted by KE. Finally, a fuzzy knowledge base K is consistent iff a model of K satisfies each axiom. This notion of consistency for fuzzy description logic knowledge base is equivalent to the notion of consistency of IoT systems. In order to formally prove this equivalence, we first define a translation function (⋅)* from IoT systems to knowledge bases.

Definition 8. Let (⋅)* : SystExp → FDL be a star-interpretation from SystExp(system expressions) to FDL (fuzzy description logic) defined as:

  • (fz(a) ∈ d)* = ∃ A.D

  • (fz(a) ∉ d)* = ¬(∃ A.D)

  • (SystExp1 ∧ SystExp2)* = (SystExp1)* ⊓ (SystExp2)*

  • (SystExp1 ∨ SystExp2)* = (SystExp1)* ⊔ (SystExp2)*

  • (If SystExp then fz(a) ∈ d)* = (SystExp)* → (∃ A.D)

Example. Note that IoT system rules 4 and 5 are translated as follows:

(move.SomeMovelight.LowLightsound.FewSound)alarm.MediumAlarm(move.¬MuchMovelight.LowLightsound.FewSound)alarm.LowAlarm

This Knowledge Base is inconsistent since no model satisfies both axioms.

We now state the main formal result of the article: IoT system consistency can be tested in terms of Knowledge Base consistency. In practice, consistency is tested before the execution of the IoT system. The following Theorem provides a mathematical guarantee that the system is free of inconsistencies under any real-time scenario (any sensor inputs).

Theorem 1. An IoT System R1, R2, …, Rn is consistent, if and only if there is a Knowledge Base K, such that KR1*R2*Rn*.

Proof.

“Only if” part. Suppose that the IoT system R1 is consistent. Note that R1=i=1n(SystExpi), then by applying the star-interpretation, we obtain

R1*=(i=1n(SystExpi))*=i=1n(SystExpi)*

Claim: There is an interpretation I and xΔI such that (R1*)I(x)>0. Indeed, otherwise for each interpretation I and xΔI such that (R1*)I(x)0. Without loss of generality suppose that for each j ∈ [1, n − 1], (SystExpj*)I(x)0 and (SystExpn*)I(x)=0, consequently SystExpn = fz(a) ∉ d. Then, given a Boolean structure B, we have that R1B=[[j=1n(SystExpj)SystExpn]]B=0, thus the IoT system is not consistent, which is a contradiction. We conclude that there is a knowledge base K that satisfies KR1*.

Suppose that the IoT system R1, R2 is consistent, where R1 is as in the previous step and R2 = If R1 then A.

Claim: KA*. Indeed, otherwise for each interpretation I and xΔI such that (A*)I(x)0 consequently, A = (fz(a) ∉ d). Given a Boolean structure B, we have that ⟦R2B = ⟦If R1 then AB = 0, which is a contradiction. Therefore, the knowledge base K that satisfies KR1*R2*. Following the previous construction, it is concluded that if R1, …, Rn, Rn+1 is consistent, then KR1* ⊓ ⋯ ⊓ Rn* ⊓ Rn+1*.

“If” part. Suppose there is a knowledge base K that satisfies KR1* ⊓ R2* ⊓ ⋯ ⊓ Rn* and that the IoT system R1, R2, …, Rn is not consistent. Since KR1* ⊓ R2* ⊓ ⋯ ⊓ Rn* then every model I and each xΔI verify that: (R1*R2*Rn*)I(x)>0.

(R1*R2*Rn*)I(x)=(R1*)I(x)(R2*)I(x)(Rn*)I(x)=min{(Ri*)I(x)|i[1,n]}=1

So for each i ∈ [1, n], (Ri*)I(x)=1 and when considering the inverse interpretation, we have that for each (Ri*)-1=Ri such that ⟦RiB = 1, where B is any Boolean structure. Therefore, the IoT system R1, R2, …, Rn is consistent, which is a contradiction.

Once the IoT system consistency is verified in terms of Knowledge Base consistency, the system can be executed with the guarantee that no errors can be computed, no matter the inputs from sensors. Values for actuators can be computed from the instructions in the Knowledge Base by means of a defuzzification process. Defuzzification is the output value for the membership function m on the values of the variables in x using the specified defuzzification method. Some examples of defuzzification methods can be seen in the following definition.

Definition 9. Let B be a fuzzy set to be defuzzified, and let x be an arbitrary element of the universe. Then for all x:

  • xLOM is the largest of maxima (LOM), if and only if, μβ(xLOM) ≥ μβ(x), and if μβ(xLOM) = μβ(x) then xLOM > x.

  • xSOM is the smallest of maxima (SOM), if and only if, μβ(xSOM) ≥ μβ(x), and if μβ(xSOM) = μβ(x) then xSOM < x.

  • xMOM is the middle of maxima (MOM), if and only if, xMOM=(xLOM+xSOM)2.

Consider for instance, in the following axiom: (∃move.SomeMove⊓∃light.LowLight⊓∃sound.FewSound) → ∃alarm.MediumAlarm. If input sensors for movement, light, and sound correspond to some, low, and few, respectively, then the alarm should be set to medium. The numerical value corresponding to medium is computed by the defuzzification process.

Fuzzy control for an IoT security system

Smart-home systems are challenging when implementing security systems since wireless sensor devices used in IoT can be heterogeneous and use various communication protocols having different coverage areas when detecting intruders or risk situations. Moreover, even when intelligent IoT devices can monitor their sensors to notify users about potential issues or risks in smart homes, most applications operate without knowledge-based consistency, provoking the system to take wrong actions or presenting failures since more than one rule can contradict each other. For instance, suppose a smart-security home application with sensors that measure light, movement, and sound, and a user is looking for security against an intruder. This system, guided by (a) blueprint, strategically places sensors in the (b) hall, (c) dining room, (d) library, and (e) living room (see small black sensors placed on the walls in Fig 3). The goal is to create a secure and comfortable (f) Home (refer to its configuration). A fuzzyDL reasoner is a system in which a user establishes the rules to take actions, for example, calling the police, sending a notification message, or turning on the alarm.

Fig 3. Smart home (black dots are wall sensors).

Fig 3

Let us assume that an expert in security systems has pre-programmed the IoT System with certain restrictions on the RBox, TBox, and Datatypes (Step 1). Since the user can define the TBox with basic rules according to their preferences (Step 2), the objective of the fuzzyDL tool is to verify that the TBox rules are consistent. At the same time, the actuators operate according to the rules established by the user (Step 3). This process involves checking the program syntax and conducting experiments (Program syntax, Experiments) to ensure the smooth running of the system.

Step 1. Contextual information

An expert plays a crucial role by providing specifications regarding the specific context in which IoT systems are implemented. For instance, in the case of a smart home security system, this step meticulously defines what constitutes “high movement” in terms of the numerical data obtained from sensors. Notably, certain information of this nature can be influenced by user preferences, enabling users to modify pre-programmed contextual details. For instance, the interpretation of “hot temperature” might vary between Nordic users and their tropical counterparts. Additionally, finer details, such as the characteristics of fuzzy membership functions (triangular, left shoulder, etc.), are also meticulously delineated in this phase. These precise definitions correspond to the ABox in the corresponding Fuzzy Description Logic Knowledge Base.

The heart of the system lies in its user-friendly interface, designed to gather contextual information effortlessly. This interface adeptly processes natural language instructions through voice or text. To enrich the user experience further, the interface portrays information about sensor types, actuators, and domain values.

Simultaneously, the role of the expert encompasses determining the behavior of sensors and actuators alongside furnishing initial programming for the system. An inherent assumption in this context is the consistency of rules established by the expert. As for system sensors, this illustrative example features three input systems meticulously defined by the expert: light, movement, and sound. These inputs collaboratively contribute to the computation of an output value, which subsequently triggers alert mechanisms.

System sensors. The system, in this instance, encompasses three input systems meticulously outlined by the expert: light, movement, and sound. These inputs harmoniously collaborate to calculate an output value that triggers alert mechanisms.

  • Light is associated with three labels: low, medium, and high. For example, LowLight, the label of low light, can be defined as a triangular membership function (q1,q2,q3).

  • Movement has five labels: low, middle, high, and very high. For example, LowMovement, the label representing low movement, can be defined as a triangular membership function (q1,q2,q3).

  • sound has five labels: low, middle, high, and very high. For example, LowSound, the label of low sound, can be defined as a triangular membership function (q1,q2,q3).

Actuator system. Four actuators were designated with different colors: Green, Yellow, Orange, and Red. For instance, each color corresponds to a specific action, making it a clearer and more precise description of the color-to-action assignment.

  • Green: everything is in order.

  • Yellow: sending an alert to a cell phone.

  • Orange: sending an alert to the police.

  • Red: taking further action.

Step 2. System rules

The system’s rules may be pre-programmed, but ideally, non-expert users are expected to define particular rules for the system. Considering the smart home security system, examples are: if movement, light, and sound are low, then do nothing; or if movement, light, and sound are high, then call the police. These instructions correspond to the TBox of the corresponding Fuzzy Description Logic Knowledge Base. A user-friendly interface is also considered for this step: voice or text instructions directly from the users, and information about the system (sensors, actuators, etc.) are depicted to help users define these instructions. At this step, a logic reasoner analyzes the instructions to detect inconsistencies: if the user provides an instruction contradicting an already loaded instruction, the interface provides a warning. In other words, the logic reasoner guarantees that the rules the user introduces are consistent under any system setting. On the other hand, the user’s role is to indicate the rules (the TBox) that satisfy an ideal security system. Furthermore, the consideration of system rules. The number of permutations determined by the labels of each sensor corresponds to the following arithmetic operation 3 × 4 × 4 (for the previous example). Therefore, the system rule-set is 48 rules. Let us assume that the user determined the following four rules:

  • R1. IF light IS low AND movement IS low AND sound IS low, THEN code AlertGreen.

  • R2. IF light IS low AND movement IS low AND sound IS middle, THEN code AlertYellow.

  • R3. IF light IS low AND movement IS low AND sound IS high, THEN code AlertOrange.

  • R4. IF light IS low AND movement IS low AND sound IS very-high, THEN code AlertRed.

The interfaces for step 1 (Contextual information) and step 2 (System rule) can be seen in Fig 4, with (a) representing the expert interface and (b) representing the user interface.

Fig 4. Interfaces.

Fig 4

Step 3. Running the system

Once the contextual information and consistent system rules are defined, then the system is executed. The logical reasoner fuzzyDL consists of three steps: (a) Fuzzification: The numeric inputs (light, movement, sound, light change, movement change, sound change) will be translated into linguistic values (fuzzy sets). (b) Fuzzy inference: Fuzzy rules will be applied to determine how much adjustment is necessary for the security system. (c) Defuzzification: This converts fuzzy outputs obtained from the inference step (Step 2) into a crisp or numerical value. In other words, it transforms the fuzzy sets and their degrees of membership into a single numerical result that represents the system’s output or action. The fuzzy results obtained from the inference step are translated into a numerical action to adjust the security system. One common approach for defuzzification is the MOM method. Finally, when the sensors’ current light, motion, and sound are input into the system, the fuzzy rules will be applied, and the defuzzification will provide a numerical value indicating the action the actuator will follow for the optimum security system.

Program syntax

The internal architecture of the code of our security system programmed in fuzzyDL reasoner is the following:

  • System sensors. For each system variable (sensor), we define some specific characteristics that represent it. We also specify its range as a closed subset of the real ones [k1,k2], for example:

    (functional sensor-1)

    (functional sensor-2)

    (functional code)

    (range sensor-1 *real* k1 k2)

    (range sensor-2 *real* k3 k4)

    (range code *real* k5 k6)

    We define the linguistic labels to describe the value of these variables (using the triangular membership function, see Fig 5), such as:

    For sensor-1:

    (define-fuzzy-concept label1 triangular(k1 k2 q1 q2 q3))

    (define-fuzzy-concept label2 triangular(k1 k2 q4 q5 q6))

    For sensor-2:

    (define-fuzzy-concept label1 triangular(k3 k4 q1 q2 q3))

    (define-fuzzy-concept label2 triangular(k3 k4 q4 q5 q6))

  • Actuator system. We define linguistic labels to describe the value of actuators.

    For actuator-1:

    (define-fuzzy-concept label1 triangular(k1 k2 q1 q2 q3))

    For example, AlertGreen, the label representing that the actuator green is in order, can be defined as triangular (q1,q2,q3).

    We represent the system input as fuzzy statements involving a single digest.

    (instance individual (= sensor-1 q′) α), where q′ ∈ [k1, k2]

    (instance individual (= sensor-2 q″) β) where q″ ∈ [k1, k2]

  • System rules. The system defines each concept from the rules given by the user, for example:

    R1. (define-concept Rule1(g-and(some sensor-1 label1)(some sensor-2 label2)))

    R2. (define-concept Rule2(g-and(some sensor-1 label1)(some sensor-2 label2)))

    RuleMamd. (define-concept Mamd (g-or Rule1 Rule2))

  • Defuzzification. The output of the system is resolved through the use of queries.

    (defuzzify-mom? Mamd individual sensor-3)

    (sat RuleMamd)

Fig 5. Partitioning a domain using fuzzy membership functions.

Fig 5

The complete internal algorithm of the security system is depicted in Fig 6.

Fig 6. The internal architecture of a security system code programmed in fuzzyDL.

Fig 6

Experiments

We conducted a comprehensive analysis of defuzzification and consistency within our security system. In Experiment one (see Table 1), we carried out the following tasks:

Table 1. Defuzzification and consistency: Experiment one.

Input Output
Light Movement Sound Query Output-System Description
20 15 50 MOM Middle of the maxima defuzzification of feature code for instance run1 = 2.0 If the system values are given as the peaks of the triangular function that correspond to the label low, then the defuzzification’s MOM is equal to 2.
I.T. 13:58:48:79 F.T. 13:58:50:91
Means: everything is in order.
Sat sat subsumes RuleMamd? < = 1.0 The rules are consistent.
30 22 60 MOM Middle of the maxima defuzzification of feature code for instance run1 = 3.0 If the system values are given as the peaks of the triangular function that correspond to the label medium, then the MOM is equal to 3.
I.T. 14:05:02:79 F.T. 14:05:04:55
Means: send an alert to the user’s cell phone.
Sat sat subsumes RuleMamd? < = 1.0 The rules are consistent.
59 51 88 MOM Middle of the maxima defuzzification of feature code for instance run1 = 5.0 If the input values are to the right of the peak of triangular function, then the MOM is equal to 5.0
14:10:02:80 F.T. 14:10:04:75
Means: send an alert to the police.
Sat sat subsumes RuleMamd? < = 1.0 The rules are consistent.
101 101 101 Sat KnowledgeBase inconsistent: Answer is 1.0. The input values exceed the range, then the system is inconsistent.
14:13:29:61 F.T. 14:13:30:36
Now if we add a new (contradictory) rule, namely,
(define-concept Rule 4
(g-and (some light HighLight)(some move HighMovement)
(not (some sound HighSound))(some code AlertOrange)))
(define-concept RuleMamd (g-or Rule1 Rule2 Rule3 Rule4))
sat subsumes RuleMamd? < = 0.0.
14:15:59:70 F.T. 14:16:00:45
Means: The rules are inconsistent.
  1. Introducing three distinct inputs for light, movement, and sound within the range defined by the expert. We then evaluated the defuzzification (MOM) and consistency (sat) queries. The outcomes aligned with our expectations.

  2. For the fourth set of inputs for light, movement, and sound, we deliberately exceeded the predefined range, resulting in an inconsistency flagged by the sat query.

  3. Lastly, we introduced an additional rule aimed at creating a contradiction within the system, which also resulted in inconsistency as indicated by the sat query.

  4. Additionally, it is worth noting that the execution times in these experiments exhibited variability. This variability can be attributed to the specific configurations tested, particularly the introduction of contradictory rules that could either halt or significantly extend the program’s execution. These time discrepancies underscore the influence of experimental factors on the system’s performance.

Finally, in Experiment two (see Table 2), we programmed the three rules outlined in the IoT system section. In the program syntax, R2, R4, and R6 correspond to Eqs 3, 4 and 5, respectively. Our findings are as follows:

Table 2. Defuzzification and consistency: Experiment two.

We codify rules (3), (4), and (5) of the IoT system section
(define-concept R1 (g-and (some light MucLight)(some move MucMove)(some sound MucSound)))
(define-concept R2 (implies R1 (some call OnCall)))
(define-concept R3 (g-and (some light LowLight)(some move SomMove)(some sound FewSound)))
(define-concept R4 (implies R3 (some alarm MedAlar)))
(define-concept R5 (g-and (some light LowLight)(not (some move MucMove))(some sound FewSound)))
(define-concept R6 (implies R5 (some alarm LowAlar)))
(define-concept R7 (and R2 R4))
(define-concept R8 (and R2 R4 R6))
Input Output
Light Movement Sound Query Output-System Description
Sat sat subsumes R7? < = 1.0 The rules are consistent
14:21:43:52 F.T. 14:21:45:29.
Sat sat subsumes R8? < = 0.0 The rules are inconsistent
The inconsistency is given by Rules R4 and R6.
14:24:30:49 F.T. 14:24:50:97.
  1. The (sat) query for rules R2 and R4 yielded a consistent outcome.

  2. However, the (sat) query involving rules R2, R4, and R6 yielded inconsistency, primarily due to a contradiction between R4 and R6.

  3. Additionally, the execution times in Experiment two exhibited variation. Notably, The execution of rule R7 showed consistency within 3 seconds. However, when involving rules R8, the program’s execution time was extended to 10 minutes, reflecting inconsistency primarily caused by the interaction between rules R4 and R6.

The initial and final times were programmed on a computer with the following specifications: Computer Model: [Compaq nc6400]. Processor: [Genuine Intel(R) CPU T2300 1.66Ghz]. RAM: [2.50 GB]. Operating System: [Windows 7 Home Premium].

Conclusion

The conclusions drawn from the analysis presented in the preceding sections fall into two main categories: Fuzzy Logic and IoT systems. First, we derived a theorem that establishes a relationship between the consistency of Fuzzy Logic and IoT systems, specifically in the context of the FuzzyDL reasoner. Second, we developed an algorithm for a security system that employs fuzzy logic as its primary language and identifies inconsistencies between rules. This system can find practical applications in smart homes, however, many other systems can be applied.

Our experiments with the fuzzyDL reasoner provide compelling evidence that the algorithm functions correctly according to the defined problem, even as more rules are added to the system. As an additional step towards the validation and applicability of our system, we plan to conduct evaluations in real-world scenarios. This will involve implementing our system in smart home environments and collecting real-world usage data. By doing so, we will be able to measure the performance and effectiveness of our system in real-world situations and fine-tune it as needed. This real-world evaluation will also allow us to gather feedback from end users, helping us further tailor the system to meet their needs and ensure practical utility. Additionally, we are open to collaborations with the research community and industry to test and validate our system in various applications and scenarios. These additional steps will strengthen our research’s practicality and real-world relevance while fostering collaboration and external validation.

In future work, we plan to explore how the methodology presented in this study can be applied to other IoT systems with varying logic types. Furthermore, we intend to enhance the user interface based on feedback from non-technical users and implement security measures to prevent unintended consequences resulting from user-defined rules.

The system is currently in a prototype stage. The main scalability challenge relies on the fuzzy logic reasoner tool. Other research perspectives include developing and optimizing reasoning algorithms for fuzzy description logic. Similarly, the accuracy of translating natural language instructions into fuzzy logic formulae depends on the accuracy of the corresponding NLP algorithms. We also want to develop NLP interfaces for the proposed frameworks using large language models.

Data Availability

Data for experiments: https://kaggle.com/datasets/e9899e7c8b983b13c584b3e7a015b6b7e6f698da6fae8016e5ee21ff3d1086de.

Funding Statement

JG, EB, FG: IA104122, IA105420, IA102822; UNAM-PAPIIT program. JG: 0320403; Ciencia de Frontera CONAHCyT. MPG: Estancia-Posdoctoral; UNAM-DGAPA program. The funders had no role in study design, data collection and analysis, decision to publish, or preparation of the manuscript.

References

  • 1.Anupriya, S. and Muthumanikandan, V. (2023). A survey on exploring the effectiveness of iot based home security systems. In 2023 International Conference on Computer Communication and Informatics (ICCCI), pages 1–10.
  • 2.Cintula P, Fermüller CG, Noguera C. Fuzzy Logic; Winter 2021 Edition. The Stanford Encyclopedia of Philosophy. Available from: https://plato.stanford.edu/archives/win2012/entries/davidson/.
  • 3. Kolokotsa D. Artificial intelligence in buildings: A review of the application of fuzzy logic. Adv Build Energy Res. 2011;1(1):29–54. doi: 10.1080/17512549.2007.9687268 [DOI] [Google Scholar]
  • 4. Ohara P, Qafzezi S, Ikeda E, Barolli M, Takizawa L. Integration of software-defined network and fuzzy logic approaches for admission control in 5g wireless networks: a fuzzy-based scheme for qos evaluation. In: BWCCA 2020. Yonago, Tottori, Japan; 2020. p. 386–396. [Google Scholar]
  • 5. Manjunatha P, Verma AK, Srividya A. Fuzzy logic and wireless sensor networks–a survey. J Intell Fuzzy Syst. 2014;27(2):877–890. doi: 10.3233/IFS-131046 [DOI] [Google Scholar]
  • 6. Manjunatha P, Verma AK, Srividya A. Multi-sensor data fusion in cluster based wireless sensor networks using fuzzy logic method. In: ICIIS-2008. Kharagpur, India; 2008. p. 1–6. [Google Scholar]
  • 7. Berjab N., Le H. H., and Yokota H. (2022). Recovering missing data via top-k repeated patterns for fuzzy-based abnormal node detection in sensor networks. IEEE Access, 10:61046–61064. doi: 10.1109/ACCESS.2022.3181742 [DOI] [Google Scholar]
  • 8.Bamgboye O, Liu X, Cruickshank P. Semantic stream management framework for data consistency in smart spaces. In: 2019 IEEE 43rd Annual Computer Software and Applications Conference (COMPSAC); 2019. p. 85–90.
  • 9.Reda R, Piccinini F, Carbonaro A. Towards consistent data representation in the IoT healthcare landscape. In: ICDH; 2018. p. 5–10. Available from: https://ieeexplore.ieee.org/document/8376515.
  • 10. Yang WR, Shiao YS, Su DT, Wang CS. Design and implementation of fuzzy controllers for auto focus, auto exposure and zoom tracking. JASE. 2002;11(3):305–312. doi: 10.6180/jase.2008.11.3.09 [DOI] [Google Scholar]
  • 11. Lee CC. Fuzzy logic in control systems: fuzzy logic controller. I. IEEE Trans Syst Man Cybern: Syst. 1990;20(2):404–418. doi: 10.1109/21.52551 [DOI] [Google Scholar]
  • 12. Lee S, Walters S, Howlett RJ. Engine fuel injection control using fuzzy logic. In: 3rd IMechE. Brighton, UK; 2004. p. 287–296. [Google Scholar]
  • 13. d S C Boclin A, de Mello R. A decision support method for environmental impact assessment using a fuzzy logic approach. Ecol Econ. 2006;58(1):170–181. doi: 10.1016/j.ecolecon.2005.06.007 [DOI] [Google Scholar]
  • 14. Yager RR, Zadeh LA. Expert Systems Using Fuzzy Logic. In: An introduction to fuzzy logic applications in intelligent systems. 1st ed. SSBM, New York, NY, USA; 2012. p. 27–44. [Google Scholar]
  • 15. Antonelli G, Chiaverini S, Fusco G. A Fuzzy-Logic-Based Approach for Mobile Robot Path Tracking. IEEE Trans Fuzzy Syst. 2007;15(2):211–221. doi: 10.1109/TFUZZ.2006.879998 [DOI] [Google Scholar]
  • 16. Wang X, Fu M, Ma H, Yang Y. Lateral control of autonomous vehicles based on fuzzy logic. Control Eng Pract. 2015;34(1):1–17. doi: 10.1016/j.conengprac.2014.09.015 [DOI] [Google Scholar]
  • 17. Trillas E, Eciolaza L. An Introduction to Fuzzy Control. In: Fuzzy Logic An Introductory Course for Engineering Students. 1st ed. Springer International Publishing; 2015. p. 175–202. [Google Scholar]
  • 18. Galindo J. Handbook of research on fuzzy information processing in databases. IGI Global; 2008. [Google Scholar]
  • 19. Attia AH, Rezeka SF, Saleh AM. Fuzzy logic control of air-conditioning system in residential buildings. Alex Eng J. 2015;54(3):395–403. doi: 10.1016/j.aej.2015.03.023 [DOI] [Google Scholar]
  • 20. Ciabattoni L, Grisostomi M, Ippoliti G, Longhi S. A fuzzy logic tool for household electrical consumption modeling. In: IECON 2013. Vienna, Austria; 2013. p. 8022–8027. [Google Scholar]
  • 21. Jaberi S, Rahmani AM, Zadeh AK. Trusted data fusion by using cellular automata in wireless sensor networks. In: CEAS 2011. Perth, Western Australia, Australia; 2011. p. 145–151. [Google Scholar]
  • 22. Safari A. An Ant-Colony Optimization Clustering Model for Cellular Automata Routing in Wireless Sensor Networks. IJO. 2020;12(2):139–147. doi: 10.1016/j.aej.2015.03.023 [DOI] [Google Scholar]
  • 23. Tsompanas MAI, Dourvas NI, Ioannidis K, Sirakoulis GC, Hoffmann R, Adamatzky A. Cellular automata applications in shortest path problem. Shortest Path Solvers From Software to Wetware. 2018; p. 199–237. doi: 10.1007/978-3-319-77510-4_8 [DOI] [Google Scholar]
  • 24. Souri A, Norouzi A. A state-of-the-art survey on formal verification of the internet of things applications. Journal of Service Science Research. 2019;11(1):47–67. doi: 10.1007/s12927-019-0003-8 [DOI] [Google Scholar]
  • 25. Bae WS. Verifying a secure authentication protocol for IoT medical devices. Cluster Computing. 2019;22:1985–1990. doi: 10.1007/s10586-017-1107-x [DOI] [Google Scholar]
  • 26.Kammüller F. Human centric security and privacy for the iot using formal techniques. In: Advances in Human Factors in Cybersecurity: Proceedings of the AHFE 2017 International Conference on Human Factors in Cybersecurity, July 17- 21, 2017, The Westin Bonaventure Hotel, Los Angeles, California, USA 8. Springer; 2018. p. 106–116.
  • 27. Aktas MS, Astekin M. Provenance aware run-time verification of things for self-healing Internet of Things applications. Concurrency and Computation: Practice and Experience. 2019;31(3):e4263. doi: 10.1002/cpe.4263 [DOI] [Google Scholar]
  • 28. Mangano F, Duquennoy S, Kosmatov N. Formal verification of a memory allocation module of Contiki with Frama-C: a case study. Risks and Security of Internet and Systems. 2017;11:114–120. doi: 10.1007/978-3-319-54876-0_9 [DOI] [Google Scholar]
  • 29. Kammüller F. Formal modeling and analysis with humans in infrastructures for IoT health care systems. Human Aspects of Information Security, Privacy and Trust. 2017;5:339–352. [Google Scholar]
  • 30. Tata S, Klai K, Jain R. Formal model and method to decompose process-aware IoT applications. In: On the Move to Meaningful Internet Systems, I; 2017. p. 663–680. [Google Scholar]
  • 31. Jiang H, Chen K, Ge Q, Xu J, Fu Y, Li C. Data consistency method of heterogeneous power IOT based on hybrid model. ISA transactions. 2021;117:172–179. doi: 10.1016/j.isatra.2021.01.056 [DOI] [PubMed] [Google Scholar]
  • 32. Baader F, Horrocks I, Sattler U. Description logics. Springer; Berlin Heidelberg; 2004. [Google Scholar]
  • 33. Baader F, Calvanese D, McGuinness D, Patel-Schneider P, Nardi D. The description logic handbook: Theory, implementation and applications. Cambridge university press; 2003. [Google Scholar]
  • 34. Baader F, Horrocks I, Sattler U. Description logics as ontology languages for the semantic web. In: Mechanizing Mathematical Reasoning: Essays in Honor of Jörg H. Siekmann on the Occasion of His 60th Birthday. Springer; 2005. p. 228–248. [Google Scholar]
  • 35. Bobillo F, Straccia U. An expressive fuzzy description logic reasoner. In: FUZZ-IEEE. Hong Kong, China; 2008. p. 923–930. [Google Scholar]
  • 36. Rodríguez ND, Cuéllar MP, Lilius J, Calvo-Flores JMD. A fuzzy ontology for semantic modelling and recognition of human behaviour. Knowledge-Based Systems. 2014;66:46–60. doi: 10.1016/j.knosys.2014.04.016 [DOI] [Google Scholar]
  • 37. El-Sappagh S, Elmogy M, Riad AM. A fuzzy-ontology-oriented case-based reasoning framework for semantic diabetes diagnosis. Artificial intelligence in medicine. 2015;65(3):179–208. doi: 10.1016/j.artmed.2015.08.003 [DOI] [PubMed] [Google Scholar]
  • 38. Morente-Molinera JA, Pérez IJ, Ureña MR, Herrera-Viedma E. Creating knowledge databases for storing and sharing people knowledge automatically using group decision making and fuzzy ontologies. Information Sciences. 2016;328:418–434. doi: 10.1016/j.ins.2015.08.051 [DOI] [Google Scholar]
  • 39. Zadeh LA. Fuzzy sets. Inf Control. 1965;8(3):338–353. doi: 10.1016/S0019-9958(65)90241-X [DOI] [Google Scholar]

Decision Letter 0

Nadeem Sarwar

29 Aug 2023

PONE-D-23-26012Fuzzy description logics verification on IoT systemsPLOS ONE

Dear Dr. Barcenas,

Thank you for submitting your manuscript to PLOS ONE. After careful consideration, we feel that it has merit but does not fully meet PLOS ONE’s publication criteria as it currently stands. Therefore, we invite you to submit a revised version of the manuscript that addresses the points raised during the review process. Please submit your revised manuscript by Oct 13 2023 11:59PM. If you will need more time than this to complete your revisions, please reply to this message or contact the journal office at plosone@plos.org. When you're ready to submit your revision, log on to https://www.editorialmanager.com/pone/ and select the 'Submissions Needing Revision' folder to locate your manuscript file.

Please include the following items when submitting your revised manuscript:

  • A rebuttal letter that responds to each point raised by the academic editor and reviewer(s). You should upload this letter as a separate file labeled 'Response to Reviewers'.

  • A marked-up copy of your manuscript that highlights changes made to the original version. You should upload this as a separate file labeled 'Revised Manuscript with Track Changes'.

  • An unmarked version of your revised paper without tracked changes. You should upload this as a separate file labeled 'Manuscript'.

If you would like to make changes to your financial disclosure, please include your updated statement in your cover letter. Guidelines for resubmitting your figure files are available below the reviewer comments at the end of this letter.

If applicable, we recommend that you deposit your laboratory protocols in protocols.io to enhance the reproducibility of your results. Protocols.io assigns your protocol its own identifier (DOI) so that it can be cited independently in the future. For instructions see: https://journals.plos.org/plosone/s/submission-guidelines#loc-laboratory-protocols. Additionally, PLOS ONE offers an option for publishing peer-reviewed Lab Protocol articles, which describe protocols hosted on protocols.io. Read more information on sharing protocols at https://plos.org/protocols?utm_medium=editorial-email&utm_source=authorletters&utm_campaign=protocols.

We look forward to receiving your revised manuscript.

Kind regards,

Nadeem Sarwar

Academic Editor

PLOS ONE

Journal Requirements:

When submitting your revision, we need you to address these additional requirements.

1. Please ensure that your manuscript meets PLOS ONE's style requirements, including those for file naming. The PLOS ONE style templates can be found at 

https://journals.plos.org/plosone/s/file?id=wjVg/PLOSOne_formatting_sample_main_body.pdf and 

https://journals.plos.org/plosone/s/file?id=ba62/PLOSOne_formatting_sample_title_authors_affiliations.pdf

2. Please note that PLOS ONE has specific guidelines on code sharing for submissions in which author-generated code underpins the findings in the manuscript. In these cases, all author-generated code must be made available without restrictions upon publication of the work. Please review our guidelines at https://journals.plos.org/plosone/s/materials-and-software-sharing#loc-sharing-code and ensure that your code is shared in a way that follows best practice and facilitates reproducibility and reuse.

3. Thank you for stating the following in the Acknowledgments Section of your manuscript: 

   "This work was supported by the Postdoctoral Scholarship Program at UNAM (Programa de Becas Posdoctorales en la UNAM). The Authors thanks to the UNAM-PAPIIT program IA104122, IA105420, IA102822, CONAHCyT CF 0320403."

We note that you have provided funding information that is not currently declared in your Funding Statement. However, funding information should not appear in the Acknowledgments section or other areas of your manuscript. We will only publish funding information present in the Funding Statement section of the online submission form. 

Please remove any funding-related text from the manuscript and let us know how you would like to update your Funding Statement. Currently, your Funding Statement reads as follows: 

   "JG, EB, FG: IA104122, IA105420, IA102822; UNAM-PAPIIT program.

JG: 0320403; Ciencia de Frontera CONAHCyT.

The funders had no role in study design, data collection and analysis, decision to publish, or preparation of the manuscript."

Please include your amended statements within your cover letter; we will change the online submission form on your behalf.

4. We note that the grant information you provided in the ‘Funding Information’ and ‘Financial Disclosure’ sections do not match. 

When you resubmit, please ensure that you provide the correct grant numbers for the awards you received for your study in the ‘Funding Information’ section.

5. In your Data Availability statement, you have not specified where the minimal data set underlying the results described in your manuscript can be found. PLOS defines a study's minimal data set as the underlying data used to reach the conclusions drawn in the manuscript and any additional data required to replicate the reported study findings in their entirety. All PLOS journals require that the minimal data set be made fully available. For more information about our data policy, please see http://journals.plos.org/plosone/s/data-availability.

"Upon re-submitting your revised manuscript, please upload your study’s minimal underlying data set as either Supporting Information files or to a stable, public repository and include the relevant URLs, DOIs, or accession numbers within your revised cover letter. For a list of acceptable repositories, please see http://journals.plos.org/plosone/s/data-availability#loc-recommended-repositories. Any potentially identifying patient information must be fully anonymized.

Important: If there are ethical or legal restrictions to sharing your data publicly, please explain these restrictions in detail. Please see our guidelines for more information on what we consider unacceptable restrictions to publicly sharing data: http://journals.plos.org/plosone/s/data-availability#loc-unacceptable-data-access-restrictions. Note that it is not acceptable for the authors to be the sole named individuals responsible for ensuring data access.

We will update your Data Availability statement to reflect the information you provide in your cover letter.

[Note: HTML markup is below. Please do not edit.]

Reviewers' comments:

Reviewer's Responses to Questions

Comments to the Author

1. Is the manuscript technically sound, and do the data support the conclusions?

The manuscript must describe a technically sound piece of scientific research with data that supports the conclusions. Experiments must have been conducted rigorously, with appropriate controls, replication, and sample sizes. The conclusions must be drawn appropriately based on the data presented.

Reviewer #1: Yes

Reviewer #2: Partly

Reviewer #3: Partly

Reviewer #4: Partly

Reviewer #5: Yes

**********

2. Has the statistical analysis been performed appropriately and rigorously?

Reviewer #1: Yes

Reviewer #2: Yes

Reviewer #3: No

Reviewer #4: No

Reviewer #5: Yes

**********

3. Have the authors made all data underlying the findings in their manuscript fully available?

The PLOS Data policy requires authors to make all data underlying the findings described in their manuscript fully available without restriction, with rare exception (please refer to the Data Availability Statement in the manuscript PDF file). The data should be provided as part of the manuscript or its supporting information, or deposited to a public repository. For example, in addition to summary statistics, the data points behind means, medians and variance measures should be available. If there are restrictions on publicly sharing data—e.g. participant privacy or use of data from a third party—those must be specified.

Reviewer #1: Yes

Reviewer #2: Yes

Reviewer #3: No

Reviewer #4: No

Reviewer #5: Yes

**********

4. Is the manuscript presented in an intelligible fashion and written in standard English?

PLOS ONE does not copyedit accepted manuscripts, so the language in submitted articles must be clear, correct, and unambiguous. Any typographical or grammatical errors should be corrected at revision, so please note any specific errors here.

Reviewer #1: Yes

Reviewer #2: Yes

Reviewer #3: Yes

Reviewer #4: Yes

Reviewer #5: Yes

**********

5. Review Comments to the Author

Please use the space provided to explain your answers to the questions above. You may also include additional comments for the author, including concerns about dual publication, research ethics, or publication ethics. (Please upload your review as an attachment if it exceeds 20,000 characters)

Reviewer #1: 1- The introduction section was written well and included in clarifying the basics of the research field of the submitted scientific paper, but no reference was made to the paragraphs it contains of information or conclusions

2- The references in the Related work section are arranged from oldest to newest, except for reference 27. In addition, the researcher did not show weaknesses in each reference compared to his contributions to this research presented

3-The researcher did not discuss the difference between the proposed method and previous methods that were applied to demonstrate the efficiency of the system compared to other previous systems. Also, the researcher did not provide a future vision for the work submitted to benefit from it by the researchers in building a future vision in the field of work.

4-Table 2 is not in the right place

5-Standardization of reference format. In addition to correcting the year of publication for reference 35

Reviewer #2: The authors have done very interesting work and idea. They may incorporate the following suggestion

Bring the numerical results in the abstract and some future suggestions in the last line.

Revise the last para in the Introduction as it is machine generated.

The para starting from 170 may be revised.

The fuzzy logic rules need explanation in proper and simple way.

Experiment portion needs more explanation and at the conclusion some future directions may also be drawn.

Include some latest references to relate the work to state of the art.

Reviewer #3: 1.How does the proposed framework ensure that users with no technical knowledge can effectively utilize it to build their own IoT applications? Are there any potential challenges or limitations in terms of the learning curve or usability for non-technical users?

2.Can the authors provide more details on the specific implementation and integration of the friendly interface block? How does it handle complex scenarios or conditions that may require multiple rules or dependencies?

3.What are the specific limitations of using fuzzy logic reasoning in the proposed framework? Are there any potential drawbacks or trade-offs associated with relying on fuzzy logic for translating human language to specific actions?

4.How does the proposed system detect and handle inconsistencies in real-time? Are there any potential false positives or false negatives in the detection process? How does it ensure the accuracy and reliability of the detection mechanism?

5.Have the authors considered the scalability and performance implications of the framework when applied to larger and more complex IoT applications? How does it handle increasing rule complexity or a larger number of connected devices?

6.What are the security considerations and measures implemented in the proposed smart-home IoT security system? How does the framework address potential vulnerabilities or threats associated with user-defined rules and actions?

7.Have the authors conducted user studies or evaluations to validate the usability and effectiveness of the framework for non-technical users? How do they ensure that the system meets the diverse needs and expectations of different end-users?

8.How does the proposed framework handle maintenance and updates of the IoT applications built by users? Are there mechanisms in place to address evolving requirements or changes in the IoT ecosystem?

9.Can the authors provide a comparison or discussion on how their framework differs from existing solutions that aim to empower end-users in building their own IoT applications? What are the unique contributions or advantages of the proposed framework in this context?

Reviewer #4: The paper title is vague. As mentioned in the abstract, the paper presents a framework. However, the title of the paper does not reflect this. The search title needs to be modified.

It is difficult to verity the validity of the proposed model through examples. More experiments and comparisons with existing state-of-the-art approaches are need (in terms of percentage of data errors and complexity.

Reviewer #5: Good day. Your submission was well written but lacks a few things. You will find attached some comments made regarding your submission. Please ensure you make all the necessary corrections before resubmitting.

**********

6. PLOS authors have the option to publish the peer review history of their article (what does this mean?). If published, this will include your full peer review and any attached files.

If you choose “no”, your identity will remain anonymous but your review may still be made public.

Do you want your identity to be public for this peer review? For information about this choice, including consent withdrawal, please see our Privacy Policy.

Reviewer #1: No

Reviewer #2: Yes: Naveed Abbas

Reviewer #3: Yes: Tarek Abd El-Hafeez

Reviewer #4: No

Reviewer #5: No

**********

[NOTE: If reviewer comments were submitted as an attachment file, they will be attached to this email and accessible via the submission site. Please log into your account, locate the manuscript record, and check for the action link "View Attachments". If this link does not appear, there are no attachment files.]

While revising your submission, please upload your figure files to the Preflight Analysis and Conversion Engine (PACE) digital diagnostic tool, https://pacev2.apexcovantage.com/. PACE helps ensure that figures meet PLOS requirements. To use PACE, you must first register as a user. Registration is free. Then, login and navigate to the UPLOAD tab, where you will find detailed instructions on how to use the tool. If you encounter any issues or have any questions when using PACE, please email PLOS at figures@plos.org. Please note that Supporting Information files do not need this step.

Attachment

Submitted filename: Review Comments_Aug23.docx

pone.0296655.s001.docx (13.9KB, docx)
PLoS One. 2024 Mar 22;19(3):e0296655. doi: 10.1371/journal.pone.0296655.r002

Author response to Decision Letter 0


20 Oct 2023

It is a pleasure to respond to the valuable comments and suggestions provided by the editor and the reviewers regarding our manuscript titled "Fuzzy description logics verification on IoT systems." We sincerely appreciate the time and effort dedicated to reviewing our work, which has undoubtedly contributed to improving the quality and robustness of our research.

We have carefully considered each of the comments and suggestions raised in the reviews. Below, we provide our responses and the modifications made to the manuscript to address each point specifically:

Reviewer 1:

Comment:

The introduction section was written well and included in clarifying the basics of the research field of the submitted scientific paper, but no reference was made to the paragraphs it contains of information or conclusions.

Response

Based on the reviewer's observation, we added some references in the Introduction section ([1] and [7]).

Comment:

The references in the Related work section are arranged from oldest to newest, except for reference 27. In addition, the researcher did not show weaknesses in each reference compared to his contributions to this research presented.

Response:

Based on the reviewer's observation, we added the weaknesses of the references in the Related Work Section. These changes can be seen in lines 103-107, 114-116, 128-129, and 131-132, and we also summarize the weakness of the related work and the advantages of the proposed model in lines 133-147.

Comment:

The researcher did not discuss the difference between the proposed method and previous methods that were applied to demonstrate the efficiency of the system compared to other previous systems. Also, the researcher did not provide a future vision for the work submitted to benefit from it by the researchers in building a future vision in the field of work

Response:

At the end of the related work section, we added a paragraph discussing the main differences between related works in the literature and our work (lines 133-147). Similarly, we added future directions of this work at the end of the conclusions (lines 549-558).

Comment:

Table 2 is not in the right place. Standardization of reference format. In addition to correcting the year of publication for reference 35

Response:

Thanks for pointing this out; The location of Table 2 has been corrected (page 18), and the reference format has been standardized, including the correction of the publication year for reference 35 (now it is 9).

Reviewer 2

Comment:

The authors have done very interesting work and idea. They may incorporate the following suggestion Bring the numerical results in the abstract and some future suggestions in the last line.

Response:

Results on the formal description of IoT consistency and experiments are now included in the abstract. Further research perspectives are also incorporated in the Conclusion Section.

Comment:

Revise the last para in the Introduction as it is machine generated. The para starting from 170 may be revised.

Response:

In response to concerns about the text's authenticity in this era of AI, it is important to emphasize that the researchers have authored all the text in the article.

The modification of the Introduction is as follows (line 83): The structure of this work is organized as follows: In the first section, we discuss previous research to provide context for our study. Then, in the IoT Systems section, we define the system and introduce the concept of consistency. Next, in the Fuzzy Description Logic Verification section, we explain the basics of fuzzy logic and present a result that shows how consistency relates to both the IoT system and fuzzy description logic. Ultimately, in the Fuzzy Control for an IoT Security System section, we outline the next steps, which include providing context, setting system rules, and putting the system into action. Finally, we present the program’s syntax and share the experiments we conducted to support and illustrate the concepts we’ve discussed. The modification of paragraph 170 is as follows (line 197): Recall the example of the sound sensor intervals intersecting: if the sensed value falls within this intersection, our system employs a special structure to determine which interval is closer to the sensed value.

Comment:

The fuzzy logic rules need explanation in a proper and simple way.

Response:

We now include an extensive explanation, with more new examples, of these rules in the corresponding section.

Comment:

Experiment portion needs more explanation and at the conclusion some future directions may also be drawn.

Response:

The corrections have been made appropriately, following the reviewer's recommendations. The explanations in the experiments section have been expanded to lines 500-525, and ideas for future research directions have been added (lines 549-558).

Reviewer 3

Comment:

How does the proposed framework ensure that users with no technical knowledge can effectively utilize it to build their own IoT applications? Are there any potential challenges or limitations in terms of the learning curve or usability for nontechnical users?

Response:

Regarding users with no technical knowledge, the framework can process simple instructions in the form “if … then …”. A prior configuration of the framework is required to define an execution context; for instance, what does it mean “much noise”. This configuration can be done by experts or users with more experience. This observation is explained in detail in the fuzzy description logic verification section.

Comment:

Can the authors provide more details on the specific implementation and integration of the friendly interface block? How does it handle complex scenarios or conditions that may require multiple rules or dependencies?

Response:

Ideally, as long as the user is able to input the rules to the system with the correct syntax (consistent or not), no matter how complex the scenario is, the system should operate (either by doing what the rules tell the system to do, or showing a no consistency alert that prompts the user to take further actions).

In this work, we focus on systems where non-technical users interact with the system; thus, we anticipate the system will perform simple tasks, and thus few rules will be involved. However, while in theory, the FuzzyFL reasoner we used in this work has no known limit in the number of rules (or their complexity) it can handle, in practice, the hardware (CPU and memory) of the computer the system runs does impact the system’s response time.

We added some description about the computer we used and the response times of the shown experiments to highlight this point in the new manuscript.

It remains for future work to test the limits (if any) of the reasoner (fuzzyDL) as we scale up the number of rules and their impact on the whole system.

Comment:

What are the specific limitations of using fuzzy logic reasoning in the proposed framework? Are there any potential drawbacks or trade-offs associated with relying on fuzzy logic for translating human language to specific actions?

Response:

Accuracy in translating natural language instructions in terms of fuzzy logic formulae depends on the accuracy of the corresponding NLP algorithms. We clarify this observation in the conclusions in lines 553-558.

Comment:

How does the proposed system detect and handle inconsistencies in real-time? Are there any potential false positives or false negatives in the detection process? How does it ensure the accuracy and reliability of the detection mechanism?

Response:

Inconsistencies are detected before the execution of the system. Theorem 1 provides a mathematical guarantee that the system is free of inconsistencies under any real-time scenario. This is clarified before the statement of Theorem 1 in lines 327-331.

Comment:

Have the authors considered the scalability and performance implications of the framework when applied to larger and more complex IoT applications? How does it handle increasing rule complexity or a larger number of connected devices?

Response:

The system is currently in the prototype stage. The main scalability challenge relies on the fuzzy logic reasoner tool. This is explained in the conclusions in lines 553-558.

Comment:

What are the security considerations and measures implemented in the proposed smart-home IoT security system? How does the framework address potential vulnerabilities or threats associated with user-defined rules and actions?

Response:

The current work primarily focussed on letting the users input rules, process those rules, and verify the consistency of the whole system. In this respect, providing security measures to avoid unintentional harm by user-defined rules was out of the scope of this paper.

However, we recognize the relevance of security in the system and plan to study it as part of future work. We actually believe there is space in the logic (fuzzy or not) to evaluate such potential harm and quantify it numerically in a similar way consistency is quantified. We incorporate this point as part of future work in the conclusions.

Comment:

Have the authors conducted user studies or evaluations to validate the usability and effectiveness of the framework for non-technical users? How do they ensure that the system meets the diverse needs and expectations of different end-users?

Response:

We let a few users, apart from the authors, interact with the interface to verify its basic operation. However, we never conducted a deep study of its usability considering a wide pool of people with different backgrounds. However, this is something we plan to look at in the future and it is mentioned at the end of the conclusions.

Comment:

How does the proposed framework handle maintenance and updates of the IoT applications built by users? Are there mechanisms in place to address evolving requirements or changes in the IoT ecosystem?

Response:

The current framework did not consider maintenance or updates, as the main focus of the work was to validate the consistency of user-inserted rules. However, we anticipate the persons maintaining the framework (app) will perform these duties periodically, similar to updating any other app in a mobile phone ecosystem, for example.

Comment:

Can the authors provide a comparison or discussion on how their framework differs from existing solutions that aim to empower end-users in building their own IoT applications? What are the unique contributions or advantages of the proposed framework in this context?

Response:

We added a whole paragraph at the end of the related work section (lines 133-147), comparing our work with other related proposals and highlighting the key differences.

Reviewer 4

Comment:

The paper title is vague. As mentioned in the abstract, the paper presents a framework. However, the title of the paper does not reflect this. The search title needs to be modified.

Response:

The title has been updated to 'A fuzzy description logic based IoT framework: verification and end-user programming' in response to your feedback. We believe this new title accurately represents our work and appreciate your input in improving our paper.

Comment:

It is difficult to verify the validity of the proposed model through examples. More experiments and comparisons with existing state-of-the-art approaches are needed (in terms of percentage of data errors and complexity.

Response:

The validity of the proposed model is formally stated and proved in Theorem 1.

Reviewer 5

Comment:

In the abstract (line 11), the word built should be changed to build (to build their own IoT applications).

Response:

The abstract correction has been made as requested (line 7).

Comment:

The headings and subheadings are not numbered/lettered.

Response:

Headings and subheadings are not numbered per the guidelines.

Comment:

The paragraph (lines 46-53) has no citation. Also, lines 54-59. Cite appropriately.

Response:

We have thoroughly reviewed our manuscript and have identified the relevant sources to support the information presented in those paragraphs (line 57).

Comment:

Fig 2, Fig 4, and Fig 5 are blurry on some parts. Clearer images should be uploaded with better resolution.

Response:

All figures in the document have been corrected, and clearer images with improved resolution have been uploaded

Comment:

In the section of Actuator system (line 377), the statement is ambiguous. Kindly paraphrase.

Response:

The requested modification has been made in the "Actuator system" section. The revised sentence now reads (lines 431-433).

Comment:

The performance and efficiency of the fuzzy logic reasoner blocks in real-world applications have not been outlined in the paper.

Response:

We now include results on performance in Table 1 (page 17) and Table 2 (page 18).

Comment:

Only a smart-home IoT security system was considered in the paper. As such, it is uncertain how the framework would function when used for other applications.

Response:

Because of size limitations, we have to constrain the testing to only the smart-home IoT security system discussed in the paper. However, we anticipate the proposed framework can be applied to any other applications as long as the new system can separate the task responsibility of the expert (ABox) to the task concerning the user (TBox).

Comment:

There is no performance evaluation of the framework. Having this will enhance the quality of the paper.

Response:

We have extended the experiments section to include performance evaluation.

We appreciate once again the opportunity to submit our work for expert review, and we are confident that the revisions made have significantly strengthened the quality and value of our article. We hope that the additional revisions reflect these improvements and lead to the eventual publication of our work in PLOS ONE.

We remain at your disposal for any further comments or clarifications that may be necessary.

Sincerely,

The authors

Attachment

Submitted filename: Response to Reviewers.pdf

pone.0296655.s002.pdf (85.8KB, pdf)

Decision Letter 1

Nadeem Sarwar

31 Oct 2023

PONE-D-23-26012R1A fuzzy description logic based IoT framework: formal verification and end user programmingPLOS ONE

Dear Dr. Barcenas,

Thank you for submitting your manuscript to PLOS ONE. After careful consideration, we feel that it has merit but does not fully meet PLOS ONE’s publication criteria as it currently stands. Therefore, we invite you to submit a revised version of the manuscript that addresses the points raised during the review process.

Please submit your revised manuscript by Dec 15 2023 11:59PM. If you will need more time than this to complete your revisions, please reply to this message or contact the journal office at plosone@plos.org. When you're ready to submit your revision, log on to https://www.editorialmanager.com/pone/ and select the 'Submissions Needing Revision' folder to locate your manuscript file.

Please include the following items when submitting your revised manuscript:

  • A rebuttal letter that responds to each point raised by the academic editor and reviewer(s). You should upload this letter as a separate file labeled 'Response to Reviewers'.

  • A marked-up copy of your manuscript that highlights changes made to the original version. You should upload this as a separate file labeled 'Revised Manuscript with Track Changes'.

  • An unmarked version of your revised paper without tracked changes. You should upload this as a separate file labeled 'Manuscript'.

If you would like to make changes to your financial disclosure, please include your updated statement in your cover letter. Guidelines for resubmitting your figure files are available below the reviewer comments at the end of this letter.

If applicable, we recommend that you deposit your laboratory protocols in protocols.io to enhance the reproducibility of your results. Protocols.io assigns your protocol its own identifier (DOI) so that it can be cited independently in the future. For instructions see: https://journals.plos.org/plosone/s/submission-guidelines#loc-laboratory-protocols. Additionally, PLOS ONE offers an option for publishing peer-reviewed Lab Protocol articles, which describe protocols hosted on protocols.io. Read more information on sharing protocols at https://plos.org/protocols?utm_medium=editorial-email&utm_source=authorletters&utm_campaign=protocols.

We look forward to receiving your revised manuscript.

Kind regards,

Nadeem Sarwar

Academic Editor

PLOS ONE

[Note: HTML markup is below. Please do not edit.]

[NOTE: If reviewer comments were submitted as an attachment file, they will be attached to this email and accessible via the submission site. Please log into your account, locate the manuscript record, and check for the action link "View Attachments". If this link does not appear, there are no attachment files.]

While revising your submission, please upload your figure files to the Preflight Analysis and Conversion Engine (PACE) digital diagnostic tool, https://pacev2.apexcovantage.com/. PACE helps ensure that figures meet PLOS requirements. To use PACE, you must first register as a user. Registration is free. Then, login and navigate to the UPLOAD tab, where you will find detailed instructions on how to use the tool. If you encounter any issues or have any questions when using PACE, please email PLOS at figures@plos.org. Please note that Supporting Information files do not need this step.

PLoS One. 2024 Mar 22;19(3):e0296655. doi: 10.1371/journal.pone.0296655.r004

Author response to Decision Letter 1


16 Nov 2023

It is a pleasure to respond to the valuable comments and suggestions provided by the editor and the reviewers regarding our manuscript titled "Fuzzy description logics verification on IoT systems." We sincerely appreciate the time and effort dedicated to reviewing our work, which has undoubtedly contributed to improving the quality and robustness of our research.

We have carefully considered each of the comments and suggestions raised in the reviews. Please find a detailed response to each comment, in the corresponding attached document "Response to Reviewers".

Attachment

Submitted filename: Response to Reviewers.pdf

pone.0296655.s003.pdf (94.4KB, pdf)

Decision Letter 2

Nadeem Sarwar

18 Dec 2023

A fuzzy description logic based IoT framework: formal verification and end user programming

PONE-D-23-26012R2

Dear Dr. Barcenas,

We’re pleased to inform you that your manuscript has been judged scientifically suitable for publication and will be formally accepted for publication once it meets all outstanding technical requirements.

Within one week, you’ll receive an e-mail detailing the required amendments. When these have been addressed, you’ll receive a formal acceptance letter and your manuscript will be scheduled for publication.

An invoice for payment will follow shortly after the formal acceptance. To ensure an efficient process, please log into Editorial Manager at http://www.editorialmanager.com/pone/, click the 'Update My Information' link at the top of the page, and double check that your user information is up-to-date. If you have any billing related questions, please contact our Author Billing department directly at authorbilling@plos.org.

If your institution or institutions have a press office, please notify them about your upcoming paper to help maximize its impact. If they’ll be preparing press materials, please inform our press team as soon as possible -- no later than 48 hours after receiving the formal acceptance. Your manuscript will remain under strict press embargo until 2 pm Eastern Time on the date of publication. For more information, please contact onepress@plos.org.

Kind regards,

Nadeem Sarwar

Academic Editor

PLOS ONE

Additional Editor Comments (optional):

Reviewers' comments:

Reviewer's Responses to Questions

Comments to the Author

1. If the authors have adequately addressed your comments raised in a previous round of review and you feel that this manuscript is now acceptable for publication, you may indicate that here to bypass the “Comments to the Author” section, enter your conflict of interest statement in the “Confidential to Editor” section, and submit your "Accept" recommendation.

Reviewer #1: All comments have been addressed

Reviewer #3: All comments have been addressed

**********

2. Is the manuscript technically sound, and do the data support the conclusions?

The manuscript must describe a technically sound piece of scientific research with data that supports the conclusions. Experiments must have been conducted rigorously, with appropriate controls, replication, and sample sizes. The conclusions must be drawn appropriately based on the data presented.

Reviewer #1: Yes

Reviewer #3: Partly

**********

3. Has the statistical analysis been performed appropriately and rigorously?

Reviewer #1: Yes

Reviewer #3: Yes

**********

4. Have the authors made all data underlying the findings in their manuscript fully available?

The PLOS Data policy requires authors to make all data underlying the findings described in their manuscript fully available without restriction, with rare exception (please refer to the Data Availability Statement in the manuscript PDF file). The data should be provided as part of the manuscript or its supporting information, or deposited to a public repository. For example, in addition to summary statistics, the data points behind means, medians and variance measures should be available. If there are restrictions on publicly sharing data—e.g. participant privacy or use of data from a third party—those must be specified.

Reviewer #1: Yes

Reviewer #3: Yes

**********

5. Is the manuscript presented in an intelligible fashion and written in standard English?

PLOS ONE does not copyedit accepted manuscripts, so the language in submitted articles must be clear, correct, and unambiguous. Any typographical or grammatical errors should be corrected at revision, so please note any specific errors here.

Reviewer #1: Yes

Reviewer #3: Yes

**********

6. Review Comments to the Author

Please use the space provided to explain your answers to the questions above. You may also include additional comments for the author, including concerns about dual publication, research ethics, or publication ethics. (Please upload your review as an attachment if it exceeds 20,000 characters)

Reviewer #1: (No Response)

Reviewer #3: All comments were thoroughly reviewed and addressed through appropriate changes to the text. I believe the manuscript is now suitable for publication.

**********

7. PLOS authors have the option to publish the peer review history of their article (what does this mean?). If published, this will include your full peer review and any attached files.

If you choose “no”, your identity will remain anonymous but your review may still be made public.

Do you want your identity to be public for this peer review? For information about this choice, including consent withdrawal, please see our Privacy Policy.

Reviewer #1: No

Reviewer #3: Yes: Tarek Abd El-Hafeez

**********

Acceptance letter

Nadeem Sarwar

3 Mar 2024

PONE-D-23-26012R2

PLOS ONE

Dear Dr. Bárcenas,

I'm pleased to inform you that your manuscript has been deemed suitable for publication in PLOS ONE. Congratulations! Your manuscript is now being handed over to our production team.

At this stage, our production department will prepare your paper for publication. This includes ensuring the following:

* All references, tables, and figures are properly cited

* All relevant supporting information is included in the manuscript submission,

* There are no issues that prevent the paper from being properly typeset

If revisions are needed, the production department will contact you directly to resolve them. If no revisions are needed, you will receive an email when the publication date has been set. At this time, we do not offer pre-publication proofs to authors during production of the accepted work. Please keep in mind that we are working through a large volume of accepted articles, so please give us a few weeks to review your paper and let you know the next and final steps.

Lastly, if your institution or institutions have a press office, please let them know about your upcoming paper now to help maximize its impact. If they'll be preparing press materials, please inform our press team within the next 48 hours. Your manuscript will remain under strict press embargo until 2 pm Eastern Time on the date of publication. For more information, please contact onepress@plos.org.

If we can help with anything else, please email us at customercare@plos.org.

Thank you for submitting your work to PLOS ONE and supporting open access.

Kind regards,

PLOS ONE Editorial Office Staff

on behalf of

Dr. Nadeem Sarwar

Academic Editor

PLOS ONE

Associated Data

    This section collects any data citations, data availability statements, or supplementary materials included in this article.

    Supplementary Materials

    Attachment

    Submitted filename: Review Comments_Aug23.docx

    pone.0296655.s001.docx (13.9KB, docx)
    Attachment

    Submitted filename: Response to Reviewers.pdf

    pone.0296655.s002.pdf (85.8KB, pdf)
    Attachment

    Submitted filename: Response to Reviewers.pdf

    pone.0296655.s003.pdf (94.4KB, pdf)

    Data Availability Statement

    Data for experiments: https://kaggle.com/datasets/e9899e7c8b983b13c584b3e7a015b6b7e6f698da6fae8016e5ee21ff3d1086de.


    Articles from PLOS ONE are provided here courtesy of PLOS

    RESOURCES