P4Muse: Enabling Modular P4 Programming via Compiler-Managed Code Merging Without Syntax Modifications

Domain-specific programming languages such as P4 enable flexible and high-performance packet processing for programming network data planes. However, many P4 programs remain monolithic, limiting the development of modular and reusable protocols and libraries. Introducing modularity to P4 has proven...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:IEEE access Jg. 13; S. 124138 - 124157
Hauptverfasser: Rahmati, Mohsen, Boyer, Francois-Raymond, Pontikakis, Bill, Pierre David, Jean, Savaria, Yvon
Format: Journal Article
Sprache:Englisch
Veröffentlicht: Piscataway IEEE 2025
The Institute of Electrical and Electronics Engineers, Inc. (IEEE)
Schlagworte:
ISSN:2169-3536, 2169-3536
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Abstract Domain-specific programming languages such as P4 enable flexible and high-performance packet processing for programming network data planes. However, many P4 programs remain monolithic, limiting the development of modular and reusable protocols and libraries. Introducing modularity to P4 has proven challenging, as existing approaches-such as trans-compilers and virtualization-often sidestep direct integration with the P4 language and compiler, constraining backward compatibility and extensibility. This paper introduces P4Muse (P4 Modularity and Unification for Seamless Extensibility), an open-source P4C compiler extension that enhances the modularity of P4 without requiring new syntax or annotations. P4Muse is developed by integrating new compiler passes for automatic code merging, fostering modular design and reuse. We demonstrate its benefits through three classes of use cases that support P4 modularity, enabling code reusability, data plane pipeline composition, and vendor-customer compatibility. using the V1Model architecture and the BMv2 software switch. Our results show that P4Muse effectively supports modular P4 program development without altering existing P4 syntax, providing a robust solution that significantly improves code reusability, flexibility, and extensibility while maintaining backward compatibility.
AbstractList Domain-specific programming languages such as P4 enable flexible and high-performance packet processing for programming network data planes. However, many P4 programs remain monolithic, limiting the development of modular and reusable protocols and libraries. Introducing modularity to P4 has proven challenging, as existing approaches-such as trans-compilers and virtualization-often sidestep direct integration with the P4 language and compiler, constraining backward compatibility and extensibility. This paper introduces P4Muse (P4 Modularity and Unification for Seamless Extensibility), an open-source P4C compiler extension that enhances the modularity of P4 without requiring new syntax or annotations. P4Muse is developed by integrating new compiler passes for automatic code merging, fostering modular design and reuse. We demonstrate its benefits through three classes of use cases that support P4 modularity, enabling code reusability, data plane pipeline composition, and vendor-customer compatibility. using the V1Model architecture and the BMv2 software switch. Our results show that P4Muse effectively supports modular P4 program development without altering existing P4 syntax, providing a robust solution that significantly improves code reusability, flexibility, and extensibility while maintaining backward compatibility.
Author Rahmati, Mohsen
Pontikakis, Bill
Pierre David, Jean
Savaria, Yvon
Boyer, Francois-Raymond
Author_xml – sequence: 1
  givenname: Mohsen
  orcidid: 0009-0005-8102-485X
  surname: Rahmati
  fullname: Rahmati, Mohsen
  email: mohsen.rahmati@polymtl.ca
  organization: Department of Computer and Software Engineering, Polytechnique Montréal, Montreal, QC, Canada
– sequence: 2
  givenname: Francois-Raymond
  surname: Boyer
  fullname: Boyer, Francois-Raymond
  organization: Department of Computer and Software Engineering, Polytechnique Montréal, Montreal, QC, Canada
– sequence: 3
  givenname: Bill
  orcidid: 0009-0001-5074-3473
  surname: Pontikakis
  fullname: Pontikakis, Bill
  organization: Department of Computer and Software Engineering, Polytechnique Montréal, Montreal, QC, Canada
– sequence: 4
  givenname: Jean
  orcidid: 0000-0002-7707-0483
  surname: Pierre David
  fullname: Pierre David, Jean
  organization: Department of Electrical Engineering, Polytechnique Montréal, Montreal, QC, Canada
– sequence: 5
  givenname: Yvon
  orcidid: 0000-0002-3404-9959
  surname: Savaria
  fullname: Savaria, Yvon
  organization: Department of Electrical Engineering, Polytechnique Montréal, Montreal, QC, Canada
BookMark eNpNUU1r3DAQFSWB5usXtAdDzt7qy7aUWzDbNJAlC9vSo5ClkavFa21kuyT_vnIdkswcZni892bgnaOTPvSA0BeCV4Rg-e22rte73YpiWqxYISQr2Cd0Rkkp87SWJx_2z-hqGPY4lUhQUZ0ht-WbaYCbbN3rpvN9m22CnTodsy3PtjG0UR8OM_zX66wOh6PvIOYb3esWbAIsZBuI7cz47cc_YRqz3Us_6ufZxztv9OhDP1yiU6e7Aa5e5wX69X39s_6RPzze3de3D7lhJRnzRlJOMTfCGSJcasuwhco4KYUWzhmgwtjKlIyCtUwy3lBKMTOcgKs0sAt0v_jaoPfqGP1BxxcVtFf_gRBbpePoTQfK0KqRJWaFwZxz3TTprOXAjLS8xGCS1_XidYzhaYJhVPswxT69rxjlZVlxgavEYgvLxDAMEdzbVYLVnI9a8lFzPuo1n6T6uqg8ALwrCBbpGcz-AWChjhE
CODEN IAECCG
Cites_doi 10.1145/2999572.2999607
10.1109/ICCCN.2017.8038396
10.1109/LCOMM.2019.2953031
10.23919/CNSM52442.2021.9615508
10.1145/3482898.3483353
10.1109/ACCESS.2019.2950446
10.1109/JSAC.2019.2894308
10.1145/3123878.3132000
10.1145/2656877.2656890
10.1109/TSC.2023.3242072
10.1109/OJCOMS.2020.2990182
10.1109/NOMS47738.2020.9110355
10.1145/3387514.3405879
10.1145/3472716.3472856
10.1109/MCOM.001.2000904
10.1109/ANCS.2019.8901893
10.1145/1355734.1355746
10.1109/IPCCC50635.2020.9391530
10.1016/j.jnca.2022.103561
10.1145/3426744.3431330
10.1145/3484266.3487377
10.1145/3387514.3405872
10.1109/JSAC.2020.2986693
10.1145/3484266.3487367
10.1145/3603269.3604882
ContentType Journal Article
Copyright Copyright The Institute of Electrical and Electronics Engineers, Inc. (IEEE) 2025
Copyright_xml – notice: Copyright The Institute of Electrical and Electronics Engineers, Inc. (IEEE) 2025
DBID 97E
ESBDL
RIA
RIE
AAYXX
CITATION
7SC
7SP
7SR
8BQ
8FD
JG9
JQ2
L7M
L~C
L~D
DOA
DOI 10.1109/ACCESS.2025.3589353
DatabaseName IEEE All-Society Periodicals Package (ASPP) 2005–Present
IEEE Xplore Open Access Journals
IEEE All-Society Periodicals Package (ASPP) 1998–Present
IEEE Electronic Library (IEL)
CrossRef
Computer and Information Systems Abstracts
Electronics & Communications Abstracts
Engineered Materials Abstracts
METADEX
Technology Research Database
Materials Research Database
ProQuest Computer Science Collection
Advanced Technologies Database with Aerospace
Computer and Information Systems Abstracts – Academic
Computer and Information Systems Abstracts Professional
DOAJ Directory of Open Access Journals
DatabaseTitle CrossRef
Materials Research Database
Engineered Materials Abstracts
Technology Research Database
Computer and Information Systems Abstracts – Academic
Electronics & Communications Abstracts
ProQuest Computer Science Collection
Computer and Information Systems Abstracts
Advanced Technologies Database with Aerospace
METADEX
Computer and Information Systems Abstracts Professional
DatabaseTitleList

Materials Research Database
Database_xml – sequence: 1
  dbid: DOA
  name: DOAJ Open Access Full Text
  url: https://www.doaj.org/
  sourceTypes: Open Website
– sequence: 2
  dbid: RIE
  name: IEEE Electronic Library (IEL)
  url: https://ieeexplore.ieee.org/
  sourceTypes: Publisher
DeliveryMethod fulltext_linktorsrc
Discipline Engineering
EISSN 2169-3536
EndPage 124157
ExternalDocumentID oai_doaj_org_article_c27b96035c0444abb4c8d4e3c9d460ec
10_1109_ACCESS_2025_3589353
11080440
Genre orig-research
GrantInformation_xml – fundername: Intel, Noviflow, Kaloom, Prompt Quebec
  funderid: 10.13039/501100000038
– fundername: Natural Sciences and Engineering Research Council of Canada
  funderid: 10.13039/501100000038
GroupedDBID 0R~
4.4
5VS
6IK
97E
AAJGR
ABAZT
ABVLG
ACGFS
ADBBV
AGSQL
ALMA_UNASSIGNED_HOLDINGS
BCNDV
BEFXN
BFFAM
BGNUA
BKEBE
BPEOZ
EBS
EJD
ESBDL
GROUPED_DOAJ
IPLJI
JAVBF
KQ8
M43
M~E
O9-
OCL
OK1
RIA
RIE
RNS
AAYXX
CITATION
7SC
7SP
7SR
8BQ
8FD
JG9
JQ2
L7M
L~C
L~D
ID FETCH-LOGICAL-c361t-b924204c8fc18f8f8d30de7cf998a8ffce28cd7c632edd3934b22203c41ef7ae3
IEDL.DBID RIE
ISICitedReferencesCount 0
ISICitedReferencesURI http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=001534551100033&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
ISSN 2169-3536
IngestDate Fri Oct 03 12:43:12 EDT 2025
Sat Nov 01 12:47:28 EDT 2025
Sat Nov 29 07:41:28 EST 2025
Wed Aug 27 02:13:12 EDT 2025
IsDoiOpenAccess true
IsOpenAccess true
IsPeerReviewed true
IsScholarly true
Language English
License https://creativecommons.org/licenses/by/4.0/legalcode
LinkModel DirectLink
MergedId FETCHMERGED-LOGICAL-c361t-b924204c8fc18f8f8d30de7cf998a8ffce28cd7c632edd3934b22203c41ef7ae3
Notes ObjectType-Article-1
SourceType-Scholarly Journals-1
ObjectType-Feature-2
content type line 14
ORCID 0009-0001-5074-3473
0000-0002-3404-9959
0000-0002-7707-0483
0009-0005-8102-485X
OpenAccessLink https://ieeexplore.ieee.org/document/11080440
PQID 3246674807
PQPubID 4845423
PageCount 20
ParticipantIDs doaj_primary_oai_doaj_org_article_c27b96035c0444abb4c8d4e3c9d460ec
ieee_primary_11080440
proquest_journals_3246674807
crossref_primary_10_1109_ACCESS_2025_3589353
PublicationCentury 2000
PublicationDate 20250000
2025-00-00
20250101
2025-01-01
PublicationDateYYYYMMDD 2025-01-01
PublicationDate_xml – year: 2025
  text: 20250000
PublicationDecade 2020
PublicationPlace Piscataway
PublicationPlace_xml – name: Piscataway
PublicationTitle IEEE access
PublicationTitleAbbrev Access
PublicationYear 2025
Publisher IEEE
The Institute of Electrical and Electronics Engineers, Inc. (IEEE)
Publisher_xml – name: IEEE
– name: The Institute of Electrical and Electronics Engineers, Inc. (IEEE)
References ref13
ref35
ref12
ref34
(ref43) 2025
ref36
ref31
ref10
ref32
ref2
ref1
(ref15) 2025
(ref7) 2013
(ref11) 2021
ref39
(ref14) 2019
ref19
ref18
Soni (ref26) 2018
(ref3) 2025
(ref8) 2020
Zheng (ref27)
Gao (ref37)
(ref17) 2022
Wang (ref38)
ref24
ref23
(ref5) 2023
ref25
ref20
ref42
ref22
ref21
(ref30) 2019
ref28
Hogan (ref33)
ref29
Xing (ref41)
ref9
ref4
(ref6) 2021
(ref16) 2025
ref40
References_xml – volume-title: Behavioral Model (BMV2)
  year: 2022
  ident: ref17
– ident: ref23
  doi: 10.1145/2999572.2999607
– ident: ref24
  doi: 10.1109/ICCCN.2017.8038396
– ident: ref28
  doi: 10.1109/LCOMM.2019.2953031
– ident: ref20
  doi: 10.23919/CNSM52442.2021.9615508
– volume-title: Internet Engineering Task Force (IETF)
  year: 2020
  ident: ref8
– ident: ref10
  doi: 10.1145/3482898.3483353
– ident: ref34
  doi: 10.1109/ACCESS.2019.2950446
– volume-title: Internet Assigned Numbers Authority (IANA). Protocol Numbers
  year: 2025
  ident: ref43
– ident: ref25
  doi: 10.1109/JSAC.2019.2894308
– ident: ref18
  doi: 10.1145/3123878.3132000
– volume-title: P4 Language Consortium. P4 Tutorials
  year: 2025
  ident: ref15
– volume-title: Open Networking Lab. The Next-Gen SDN Tutorial
  year: 2025
  ident: ref16
– ident: ref4
  doi: 10.1145/2656877.2656890
– ident: ref36
  doi: 10.1109/TSC.2023.3242072
– ident: ref22
  doi: 10.1109/OJCOMS.2020.2990182
– ident: ref31
  doi: 10.1109/NOMS47738.2020.9110355
– start-page: 1289
  volume-title: Proc. 19th USENIX Symp. Networked Syst. Design Implement.
  ident: ref38
  article-title: Isolation mechanisms for high-speed packet-processing pipelines
– ident: ref13
  doi: 10.1145/3387514.3405879
– volume-title: The P4 High-Level Intermediate Representation (P4-HLIR)
  year: 2019
  ident: ref30
– start-page: 651
  volume-title: Proc. USENIX Symp. Networked Syst. Des. Implement. (NSDI)
  ident: ref41
  article-title: Runtime programmable switches
– ident: ref21
  doi: 10.1145/3472716.3472856
– ident: ref32
  doi: 10.1109/MCOM.001.2000904
– ident: ref9
  doi: 10.1109/ANCS.2019.8901893
– start-page: 98
  volume-title: Proc. 14th Int. Conf. Emerg. Netw. Exp. Technol.
  ident: ref27
  article-title: P4 Visor: Lightweight virtualization and composition primitives for building and testing modular programs
– start-page: 477
  volume-title: Proc. 21st USENIX Symp. Networked Syst. Design Implement.
  ident: ref37
  article-title: Sirius: Composing network function chains into P4-capable edge gateways
– ident: ref2
  doi: 10.1145/1355734.1355746
– volume-title: Open Networking Foundation. OpenFlow Switch Specifications Version 1.5.1
  year: 2025
  ident: ref3
– ident: ref35
  doi: 10.1109/IPCCC50635.2020.9391530
– volume-title: The P4 Language Consortium
  year: 2019
  ident: ref14
– volume-title: GitHub: NPL-Spec
  year: 2021
  ident: ref6
– ident: ref1
  doi: 10.1016/j.jnca.2022.103561
– ident: ref19
  doi: 10.1145/3426744.3431330
– ident: ref40
  doi: 10.1145/3484266.3487377
– volume-title: MNK Lans and Consulting
  year: 2021
  ident: ref11
– volume-title: P4Bricks: Enabling Multiprocessing Using Linker-Based Network Data Plane Architecture
  year: 2018
  ident: ref26
– volume-title: The P4 Language Consortium
  year: 2013
  ident: ref7
– volume-title: P4 16 Language Specification 2023. P416 Language Specification. Version 1.2.4
  year: 2023
  ident: ref5
– ident: ref12
  doi: 10.1145/3387514.3405872
– ident: ref29
  doi: 10.1109/JSAC.2020.2986693
– ident: ref39
  doi: 10.1145/3484266.3487367
– ident: ref42
  doi: 10.1145/3603269.3604882
– start-page: 193
  volume-title: Proc. USENIX NSDI
  ident: ref33
  article-title: Modular switch programming under resource constraints
SSID ssj0000816957
Score 2.3344383
Snippet Domain-specific programming languages such as P4 enable flexible and high-performance packet processing for programming network data planes. However, many P4...
SourceID doaj
proquest
crossref
ieee
SourceType Open Website
Aggregation Database
Index Database
Publisher
StartPage 124138
SubjectTerms Annotations
BMv2
Codes
Compatibility
compiler
Compilers
composability
Extensibility
incremental programming
intermediate representation
Merging
Modular design
Modularity
Pipelines
Program processors
Programmable data planes
Programming
Programming languages
Protocols
reusability
Switches
Syntactics
Syntax
vendor-customer framework
Virtualization
SummonAdditionalLinks – databaseName: DOAJ Directory of Open Access Journals
  dbid: DOA
  link: http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwrV1NT9wwELUQ6gEOiAJVl9LKB44EHH_ECTdYgbgsWgkQ3KxkPBZ7YBftZhH993jiQLfqoReU2yiy4zexPWON32PsEE2JBZiYnWirMy2tzBpfqqyiW5ayCdYb34lN2Ovr8uGhGq9IfVFNWKIHTsCdgLRNjLKVAWI2q5tGQ-k1Kqi8LgQCrb7CVivJVLcGl3lRGdvTDOWiOjkbDuOIYkIozbEycZc26q-tqGPs7yVW_lmXu83mcptt9VEiP0tf95Wt4XSHba5wB-6yMNaj5QJP-QXdfoomPpp5qinlY83Hqerqicwvk5rTrI_Tf56lahcfDR75COckUcTvJ-3jbNnym9_Ttn6ldqh-KB3l7bG7y4vb4VXWiyZkoIq8zZqYUEkRQQqQlyE-XgmPFkLMq-oyBEBZgrdQKIneq0rpJoYIQoHOMdga1Te2Pp1N8TvjII0nATrbRNQDmNqDBIMG6yLUCHrAjt7xc8-JG8N1OYWoXILbEdyuh3vAzgnjj1eJ2LozRHe73t3uf-4esD3y0J_-qEZSazFgB-8uc_0sXLgYLBYkpiLs_mf0_YNt0HjSAcwBW2_nS_zJvsBLO1nMf3U_4BtQ_N6o
  priority: 102
  providerName: Directory of Open Access Journals
Title P4Muse: Enabling Modular P4 Programming via Compiler-Managed Code Merging Without Syntax Modifications
URI https://ieeexplore.ieee.org/document/11080440
https://www.proquest.com/docview/3246674807
https://doaj.org/article/c27b96035c0444abb4c8d4e3c9d460ec
Volume 13
WOSCitedRecordID wos001534551100033&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
journalDatabaseRights – providerCode: PRVAON
  databaseName: DOAJ Open Access Full Text
  customDbUrl:
  eissn: 2169-3536
  dateEnd: 99991231
  omitProxy: false
  ssIdentifier: ssj0000816957
  issn: 2169-3536
  databaseCode: DOA
  dateStart: 20130101
  isFulltext: true
  titleUrlDefault: https://www.doaj.org/
  providerName: Directory of Open Access Journals
– providerCode: PRVHPJ
  databaseName: ROAD: Directory of Open Access Scholarly Resources
  customDbUrl:
  eissn: 2169-3536
  dateEnd: 99991231
  omitProxy: false
  ssIdentifier: ssj0000816957
  issn: 2169-3536
  databaseCode: M~E
  dateStart: 20130101
  isFulltext: true
  titleUrlDefault: https://road.issn.org
  providerName: ISSN International Centre
link http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV1Lb9QwEB7RigMceBaxpVQ-cCRt1o846a1dbcVlq5UA0ZuVjMdiD-xWu9kKLv3t9ThuC0IcUKQoGiWx4y9-zHhmPoAPZGqq0ETtRFtdaGll0flaFQ1HWcouWG98IpuwFxf15WUzz8HqKRaGiJLzGR3xZdrL9yvcsqnsmF3WmSJ5B3asrYZgrXuDCjNINMbmzELjsjk-nUziR0QdUJojZeLEbNQfs09K0p9ZVf4aitP8cv78P2v2Ap7lhaQ4HZB_CY9o-Qqe_pZe8DWEuZ5tN3QiphwgFUVitvLsdirmWswHx6wfLL5etIIHhjhCrIvBIcZHgScxozWzGIlvi_77atuLz7-WffuT38MuRoO1bw--nk-_TD4VmVehQFWN-6KLOpcsNdYBx3WIh1elJ4shql5tHQKSrNFbrJQk71WjdBdXEaVCPaZgW1JvYHe5WtJbECiNZ44623WdDmhajxINGWqr0BLqEXy8a293NaTPcEntKBs3wOMYHpfhGcEZY3J_K-e-ToLY2C53JYfSdlHvUgY5110bC8baa1LYeF2VhCPYY4AeysvYjODgDmKXO-rGxfVkxXwrpd3_x2Pv4AlXcTC7HMBuv97Se3iM1_1isz5MOnw8z26mh-l_vAXTUd3j
linkProvider IEEE
linkToHtml http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV1Lb9QwEB5BQQIOPItYKOADR9Jm_YgTbmXVqojuaiWK6M1KxmN1D-yi3WwF_x6P4xYQ4oByiUZJ7PiL7ZnJzHwAb8jUVKGJ1om2utDSyqLztSoazrKUXbDe-EQ2YWez-vy8medk9ZQLQ0Qp-Iz2-TT9y_cr3LKr7IBD1pki-SbcMlrLckjXunapMIdEY2yuLTQum4PDySS-RrQCpdlXJm7NRv2x_6Qy_ZlX5a_FOO0wxw_-s28P4X5WJcXhgP0juEHLx3DvtwKDTyDM9XS7oXfiiFOkokhMV54DT8Vci_kQmvWVxZeLVvDSENeIdTGExPgo8CSmtGYeI_Fl0V-str349GPZt9_5ORxkNPj7duHz8dHZ5KTIzAoFqmrcF120umSpsQ44rkM8vCo9WQzR-GrrEJBkjd5ipSR5rxqlu6hHlAr1mIJtST2FneVqSc9AoDSeWeps13U6oGk9SjRkqK1CS6hH8PZqvN23oYCGS4ZH2bgBHsfwuAzPCN4zJteXcvXrJIiD7fJkcihtFy0vZZCr3bWxYay9JoWN11VJOIJdBuhXexmbEexdQezyVN24qFFWzLhS2uf_uO013Dk5m5660w-zjy_gLnd3cMLswU6_3tJLuI2X_WKzfpW-x58LJN8E
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%3Ajournal&rft.genre=article&rft.atitle=P4Muse%3A+Enabling+Modular+P4+Programming+via+Compiler-Managed+Code+Merging+Without+Syntax+Modifications&rft.jtitle=IEEE+access&rft.au=Rahmati%2C+Mohsen&rft.au=Boyer%2C+Francois-Raymond&rft.au=Pontikakis%2C+Bill&rft.au=Pierre+David%2C+Jean&rft.date=2025&rft.pub=IEEE&rft.eissn=2169-3536&rft.volume=13&rft.spage=124138&rft.epage=124157&rft_id=info:doi/10.1109%2FACCESS.2025.3589353&rft.externalDocID=11080440
thumbnail_l http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=2169-3536&client=summon
thumbnail_m http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=2169-3536&client=summon
thumbnail_s http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=2169-3536&client=summon