Modeling Self-Adaptive Software Systems by Fuzzy Rules and Petri Nets

Zuohua Ding, Yuan Zhou, Mengchu Zhou

Research output: Contribution to journalArticlepeer-review

38 Scopus citations

Abstract

A self-adaptive software system is one that can autonomously modify its behavior at runtime in response to changes in the system and its environment. It is a challenge to model such a kind of systems since it is hard to predict runtime environmental changes at the design phase. In this paper, a formal model called intelligent Petri net (I-PN) is proposed to model a self-adaptive software system. I-PN is formed by incorporating fuzzy rules to a regular Petri net. The proposed net has the following advantages. 1) Since fuzzy rules can express the behavior of a system in an interpretable way and their variables can be reconfigured by the runtime data, the proposed model can model runtime environment and system behavior. 2) Since a fuzzy inference system with well-defined semantics can be used in a complementary way with other model languages for the analysis, thus the proposed model can be analyzed, even though it is described in two different languages: component behaviors in Petri nets while logic control in fuzzy rules. 3) The proposed model has self-adaption ability and can make adaptive decisions at runtime with the help of fuzzy inference reasoning. We adopt a manufacturing system to show the feasibility of the proposed model.

Original languageEnglish (US)
Pages (from-to)967-984
Number of pages18
JournalIEEE Transactions on Fuzzy Systems
Volume26
Issue number2
DOIs
StatePublished - Apr 2018

All Science Journal Classification (ASJC) codes

  • Control and Systems Engineering
  • Computational Theory and Mathematics
  • Artificial Intelligence
  • Applied Mathematics

Keywords

  • Adaptive software system
  • Petri net (PN)
  • fuzzy rule
  • requirement modeling

Fingerprint

Dive into the research topics of 'Modeling Self-Adaptive Software Systems by Fuzzy Rules and Petri Nets'. Together they form a unique fingerprint.

Cite this