Context-Oriented Programming and Modeling in Julia with Context Petri Nets

In the future, technical systems, e.g., cyber-physical systems will increasingly become adaptive to changing contexts. However, programming context-adaptive systems is challenging. The context-specific behavior as well as when contexts change their activeness must be specified. Common general-purpos...

Celý popis

Uloženo v:
Podrobná bibliografie
Vydáno v:Proceedings (EUROMICRO Conference on Software Engineering and Advanced Applications. Online) s. 1 - 9
Hlavní autoři: Gutsche, Christian, Prokopets, Volodymyr, Wang, Zizhe, Gotz, Sebastian, ABmann, Uwe
Médium: Konferenční příspěvek
Jazyk:angličtina
Vydáno: IEEE 28.08.2024
Témata:
ISSN:2376-9521
On-line přístup:Získat plný text
Tagy: Přidat tag
Žádné tagy, Buďte první, kdo vytvoří štítek k tomuto záznamu!
Abstract In the future, technical systems, e.g., cyber-physical systems will increasingly become adaptive to changing contexts. However, programming context-adaptive systems is challenging. The context-specific behavior as well as when contexts change their activeness must be specified. Common general-purpose object-oriented languages require encoding the context-specific behavior in if-cascades. Standard polymorphism is insufficient to express the changing behavior of objects in different contexts because the complexity rises with the combinatorial explosion of a large, potentially multi-dimensional context space. Moreover, specifying when contexts are active has to be implemented as part of the application logic. In conclusion, there are two problems: the definition of context-specific behavior and the management of context changes. In this paper, we present a framework for the Julia programming language to develop context-adaptive systems. The framework also enables context-adaptive equation-based modeling. For context management, Petri nets are utilized. Julia was chosen for the implementation due to its simulation ecosystem, rich metaprogramming, and multiple dispatch, which enables precise specification of behavioral variants. We evaluate our approach by using two examples. The first scenario is a smart home control application. The second example shows how our framework can be used together with equation-based modeling for simulation.
AbstractList In the future, technical systems, e.g., cyber-physical systems will increasingly become adaptive to changing contexts. However, programming context-adaptive systems is challenging. The context-specific behavior as well as when contexts change their activeness must be specified. Common general-purpose object-oriented languages require encoding the context-specific behavior in if-cascades. Standard polymorphism is insufficient to express the changing behavior of objects in different contexts because the complexity rises with the combinatorial explosion of a large, potentially multi-dimensional context space. Moreover, specifying when contexts are active has to be implemented as part of the application logic. In conclusion, there are two problems: the definition of context-specific behavior and the management of context changes. In this paper, we present a framework for the Julia programming language to develop context-adaptive systems. The framework also enables context-adaptive equation-based modeling. For context management, Petri nets are utilized. Julia was chosen for the implementation due to its simulation ecosystem, rich metaprogramming, and multiple dispatch, which enables precise specification of behavioral variants. We evaluate our approach by using two examples. The first scenario is a smart home control application. The second example shows how our framework can be used together with equation-based modeling for simulation.
Author Wang, Zizhe
Gotz, Sebastian
Prokopets, Volodymyr
ABmann, Uwe
Gutsche, Christian
Author_xml – sequence: 1
  givenname: Christian
  surname: Gutsche
  fullname: Gutsche, Christian
  email: christian.gutsche@tu-dresden.de
  organization: Boysen-TU Dresden-Research Training Group
– sequence: 2
  givenname: Volodymyr
  surname: Prokopets
  fullname: Prokopets, Volodymyr
  email: volodymyr.prokopets@tu-dresden.de
  organization: Technische Universität Dresden,Chair of Software Technology,Dresden,Germany
– sequence: 3
  givenname: Zizhe
  surname: Wang
  fullname: Wang, Zizhe
  email: zizhe.wang@tu-dresden.de
  organization: Boysen-TU Dresden-Research Training Group
– sequence: 4
  givenname: Sebastian
  surname: Gotz
  fullname: Gotz, Sebastian
  email: sebastian.goetz1@tu-dresden.de
  organization: Technische Universität Dresden,Chair of Software Technology,Dresden,Germany
– sequence: 5
  givenname: Uwe
  surname: ABmann
  fullname: ABmann, Uwe
  email: uwe.assmann@tu-dresden.de
  organization: Technische Universität Dresden,Chair of Software Technology,Dresden,Germany
BookMark eNotjMtOwzAURA0CiVLyB134BxLu9dvLKCqUqtBKwLpyEqcY5YGcIODvKaKrmSPNmWty0Q-9J2SBkCGCvX1e5rkSzMqMARMZACCekcRqa7gEboApdk5mjGuVWsnwiiTj-H6ccc5AczMj62LoJ_89pdsY_LHVdBeHQ3RdF_oDdX1NH4fat38Qerr-bIOjX2F6oyeP7vwUA33y03hDLhvXjj455Zy83i1filW62d4_FPkmDajVlOqGaQXCitIoVWLJTIUOnDJYCWmwtLVAbWup60pLaJirGltiBaKURkqwfE4W_7_Be7__iKFz8WePYIALpvgvc5dPIw
CODEN IEEPAD
ContentType Conference Proceeding
DBID 6IE
6IL
CBEJK
RIE
RIL
DOI 10.1109/SEAA64295.2024.00011
DatabaseName IEEE Electronic Library (IEL) Conference Proceedings
IEEE Proceedings Order Plan All Online (POP All Online) 1998-present by volume
IEEE Xplore All Conference Proceedings
IEEE Electronic Library (IEL)
IEEE Proceedings Order Plans (POP All) 1998-Present
DatabaseTitleList
Database_xml – sequence: 1
  dbid: RIE
  name: IEEE Xplore Digital Libary (IEL)
  url: https://ieeexplore.ieee.org/
  sourceTypes: Publisher
DeliveryMethod fulltext_linktorsrc
Discipline Computer Science
EISBN 9798350380262
EISSN 2376-9521
EndPage 9
ExternalDocumentID 10803426
Genre orig-research
GrantInformation_xml – fundername: German Research Foundation
  grantid: 453596084
  funderid: 10.13039/501100001659
GroupedDBID 6IE
6IL
6IN
ABLEC
ADZIZ
ALMA_UNASSIGNED_HOLDINGS
BEFXN
BFFAM
BGNUA
BKEBE
BPEOZ
CBEJK
CHZPO
IEGSK
OCL
RIE
RIL
ID FETCH-LOGICAL-i176t-7f2760494b866b1b28c1a0a681c4581b9d4179d57dc750f2acf9b1c04b5855093
IEDL.DBID RIE
ISICitedReferencesCount 2
ISICitedReferencesURI http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=001413352200001&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
IngestDate Wed Aug 27 02:24:08 EDT 2025
IsPeerReviewed false
IsScholarly false
Language English
LinkModel DirectLink
MergedId FETCHMERGED-LOGICAL-i176t-7f2760494b866b1b28c1a0a681c4581b9d4179d57dc750f2acf9b1c04b5855093
PageCount 9
ParticipantIDs ieee_primary_10803426
PublicationCentury 2000
PublicationDate 2024-Aug.-28
PublicationDateYYYYMMDD 2024-08-28
PublicationDate_xml – month: 08
  year: 2024
  text: 2024-Aug.-28
  day: 28
PublicationDecade 2020
PublicationTitle Proceedings (EUROMICRO Conference on Software Engineering and Advanced Applications. Online)
PublicationTitleAbbrev SEAA
PublicationYear 2024
Publisher IEEE
Publisher_xml – name: IEEE
SSID ssj0003320738
Score 1.8959266
Snippet In the future, technical systems, e.g., cyber-physical systems will increasingly become adaptive to changing contexts. However, programming context-adaptive...
SourceID ieee
SourceType Publisher
StartPage 1
SubjectTerms Context modeling
Context-Aware Systems
Contexts
Cyber-Physical Systems
Explosions
Julia
Logic
Mathematical models
Object oriented modeling
Petri nets
Programming
Self-Adaptive Systems
Simulation
Smart homes
Software engineering
Title Context-Oriented Programming and Modeling in Julia with Context Petri Nets
URI https://ieeexplore.ieee.org/document/10803426
WOSCitedRecordID wos001413352200001&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
link http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV1LS8NAEB5s8eCpPiq-2YPX2Oxuso9jkRbxUAsq9FY2-4AeTKVN_f3ubNPqxYO3EBgWZjPMI_N9H8A9pzFmggpZrl0a3cjMKGEyE1gwMcACM0USm5CTiZrN9LQFqycsjPc-LZ_5B3xM__Ld0m5wVDbAfTgeU0oHOlKKLVhrP1DhnMXPVbXwOJrrwetoOIzltS5jG8iQJDtHnaBfIioph4x7_zz9GPo_aDwy3eeZEzjw9Sn0dnIMpI3OM3hOTFOxkX1B7uJYSaIVLl99RDNiakdQ-Azh52RREwRGG4JjWNLakaSuRSa-WffhfTx6e3zKWqmEbEGlaDIZmBRI9VIpISpaMWWpyY1Q1BZlrEy1Q6UxV0pnY4kQL8AGXVGbF1WJjGaan0O3Xtb-Aghz3AcTrKiK2PzRwkhtHDU6L50wtuCX0EffzD-3bBjznVuu_nh_DUfofpzDMnUD3Wa18bdwaL-axXp1l-7wG2iwnNw
linkProvider IEEE
linkToHtml http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV1LS8NAEB60Cnqqj4pv9-A1NrtJNrvHIi1Vay1Yobey2Qf0YCpt6u93Z02rFw_eQmBY2Mkwj8z3fQC3CfUx44SLYmnC6CaPlOAqUo455QPMMZUGsYl8OBSTiRzVYPWAhbHWhuUze4eP4V--mesVjsrauA-X-JSyDTsonVXDtTYjlSRh_oMVNUCOxrL92u10fIEtM98IMqTJjlEp6JeMSsgiveY_zz-A1g8ej4w2meYQtmx5BM21IAOp4_MYHgPXlG9lX5C92NeSaIXrV-_ejKjSEJQ-QwA6mZUEodGK4CCW1HYk6GuRoa2WLXjrdcf3_agWS4hmNOdVlDuWcyR7KQTnBS2Y0FTFiguq08zXptKg1pjJcqN9keBdoJ0sqI7TIkNOM5mcQKOcl_YUCDOJdcppXqS-_aOpyqUyVMk4M1zpNDmDFt7N9OObD2O6vpbzP97fwF5__DyYDh6GTxewj67AqSwTl9CoFit7Bbv6s5otF9fBn1_GMaAl
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=proceeding&rft.title=Proceedings+%28EUROMICRO+Conference+on+Software+Engineering+and+Advanced+Applications.+Online%29&rft.atitle=Context-Oriented+Programming+and+Modeling+in+Julia+with+Context+Petri+Nets&rft.au=Gutsche%2C+Christian&rft.au=Prokopets%2C+Volodymyr&rft.au=Wang%2C+Zizhe&rft.au=Gotz%2C+Sebastian&rft.date=2024-08-28&rft.pub=IEEE&rft.eissn=2376-9521&rft.spage=1&rft.epage=9&rft_id=info:doi/10.1109%2FSEAA64295.2024.00011&rft.externalDocID=10803426