Zum Inhalt springen

Protothread

aus Wikipedia, der freien Enzyklopädie

Ein Protothread ist in der Informatik ein leichtgewichtiger Mechanismus zur parallelen Programmierung.

Protothreads kommen im Gegensatz zu Threads ohne eigenen Stapelspeicher aus. Sie können blockierende Kontexte mit geringstmöglichem Speicherbedarf abbilden. Solche Aufgabenstellungen findet man in der Informatik häufig, zum Beispiel beim Umsetzen von Protokollen, bei Schnittstellen zwischen Computern und in eingebetteten Systemen.

Protothreads ist eine Art des kooperativen Multitasking. Deshalb können Kontextwechsel nur an speziell vorgesehenen Programmstellen stattfinden. Protothreads haben keinen eigenen Stapelspeicher, deshalb müssen lokale Variable statisch oder global definiert werden, wenn sie über einen Kontextwechsel hinweg erhalten bleiben sollen.

Protothreads verbinden die Vorteile von ereignisgetriebener (bzw. durch Zustandsautomaten gesteuerter) Programmierung mit threadorientierter Programmierung. Protothreads wurden von Adam Dunkels entwickelt und veröffentlicht.<ref>Adam Dunkels: <templatestyles src="Webarchiv/styles.css" />{{#if:20051013062233

      | {{#ifeq: 20051013062233 | *
    | Vorlage:Webarchiv/Wartung/Stern{{#if: Protothreads - Lightweight, Stackless Threads in C | {{#invoke:WLink|getEscapedTitle|Protothreads - Lightweight, Stackless Threads in C}} | {{#invoke:Webarchiv|getdomain|http://www.sics.se/~adam/pt/}} }} (Archivversionen)
    | {{#iferror: {{#time: j. F Y|20051013062233}}
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/DatumDer Wert des Parameters {{#if: wayback | wayback | Datum }} muss ein gültiger Zeitstempel der Form YYYYMMDDHHMMSS sein!
         | {{#if: Protothreads - Lightweight, Stackless Threads in C | {{#invoke:WLink|getEscapedTitle|Protothreads - Lightweight, Stackless Threads in C}} | {{#invoke:Webarchiv|getdomain|http://www.sics.se/~adam/pt/}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if: 2019-05-08 09:07:23 InternetArchiveBot | 2019-05-08 09:07:23 InternetArchiveBot |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y|20051013062233}} im Internet Archive{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
      }}
  }}
      | {{#if:
          | {{#iferror: {{#time: j. F Y|{{{webciteID}}}}}
    | {{#switch: {{#invoke:Str|len|{{{webciteID}}}}}
       | 16= {{#if: Protothreads - Lightweight, Stackless Threads in C | {{#invoke:WLink|getEscapedTitle|Protothreads - Lightweight, Stackless Threads in C}} | {{#invoke:Webarchiv|getdomain|http://www.sics.se/~adam/pt/}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if: 2019-05-08 09:07:23 InternetArchiveBot | 2019-05-08 09:07:23 InternetArchiveBot |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{{webciteID}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | 9 = {{#if: Protothreads - Lightweight, Stackless Threads in C | {{#invoke:WLink|getEscapedTitle|Protothreads - Lightweight, Stackless Threads in C}} | {{#invoke:Webarchiv|getdomain|http://www.sics.se/~adam/pt/}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if: 2019-05-08 09:07:23 InternetArchiveBot | 2019-05-08 09:07:23 InternetArchiveBot |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{#invoke:Expr|base62|{{{webciteID}}}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | #default= Der Wert des Parameters {{#if: webciteID | webciteID | ID }} muss entweder ein Zeitstempel der Form YYYYMMDDHHMMSS oder ein Schüsselwert mit 9 Zeichen oder eine 16-stellige Zahl sein!Vorlage:Webarchiv/Wartung/webcitation{{#if:  || }}
      }}
    | c|{{{webciteID}}}}} {{#if: Protothreads - Lightweight, Stackless Threads in C | {{#invoke:WLink|getEscapedTitle|Protothreads - Lightweight, Stackless Threads in C}} | {{#invoke:Webarchiv|getdomain|http://www.sics.se/~adam/pt/}} }} (Memento{{#if: {{#if: 2019-05-08 09:07:23 InternetArchiveBot | 2019-05-08 09:07:23 InternetArchiveBot |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y|{{{webciteID}}}}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
  }}
          | {{#if: 
              | Vorlage:Webarchiv/Today
              | {{#if:
                      | Vorlage:Webarchiv/Generisch
                      | {{#if: Protothreads - Lightweight, Stackless Threads in C | {{#invoke:WLink|getEscapedTitle|Protothreads - Lightweight, Stackless Threads in C}} | {{#invoke:Webarchiv|getdomain|http://www.sics.se/~adam/pt/}} }}  
                 }}}}}}}}{{#if:2019-05-08 09:07:23 InternetArchiveBot
    | Vorlage:Webarchiv/archiv-bot
  }}{{#invoke:TemplatePar|check
     |all      = url=
     |opt      = text= wayback= webciteID= archive-is= archive-today= archiv-url= archiv-datum= ()= archiv-bot= format= original=
     |cat      = Wikipedia:Vorlagenfehler/Vorlage:Webarchiv
     |errNS    = 0
     |template = Vorlage:Webarchiv
     |format   = *
     |preview  = 1
  }}{{#ifexpr: {{#if:20051013062233|1|0}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}} <> 1
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Genau einer der Parameter 'wayback', 'webciteID', 'archive-today', 'archive-is' oder 'archiv-url' muss angegeben werden.|1}}
  }}{{#if: 
    | {{#switch: {{#invoke:Webarchiv|getdomain|{{{archiv-url}}}}}
        | web.archive.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von Internet Archive erkannt, bitte Parameter 'wayback' benutzen.|1}} 
        | webcitation.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von WebCite erkannt, bitte Parameter 'webciteID' benutzen.|1}} 
        | archive.today |archive.is |archive.ph |archive.fo |archive.li |archive.md |archive.vn = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von archive.today erkannt, bitte Parameter 'archive-today' benutzen.|1}}
      }}{{#if: 
         | {{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}
             | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Wert des Parameter 'archiv-datum' ist ungültig oder hat ein ungültiges Format.|1}}
          |  }} 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Pflichtparameter 'archiv-datum' wurde nicht angegeben.|1}}
      }}
    | {{#if: 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Parameter 'archiv-datum' ist nur in Verbindung mit 'archiv-url' angebbar.|1}}
      }}
  }}{{#if:{{#invoke:URLutil|isHostPathResource|http://www.sics.se/~adam/pt/}}
    || {{#if:  || }}
  }}{{#if: Protothreads - Lightweight, Stackless Threads in C
    | {{#if: {{#invoke:WLink|isBracketedLink|Protothreads - Lightweight, Stackless Threads in C}}
        | {{#if:  || }}
      }}
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Linktext_fehlt
  }}{{#switch: 
    |addlarchives|addlpages= {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/Parameter}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: enWP-Wert im Parameter 'format'.|1}}
  }}{{#ifeq: {{#invoke:Str|find|http://www.sics.se/~adam/pt/%7Carchiv}} |-1
    || {{#ifeq: {{#invoke:Str|find|{{#invoke:Str|cropleft|http://www.sics.se/~adam/pt/%7C4}}%7Chttp}} |-1
         || {{#switch: {{#invoke:Webarchiv|getdomain|http://www.sics.se/~adam/pt/ }}
              | abendblatt.de | daserste.ndr.de | inarchive.com | webcitation.org = 
              | #default = {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/URL}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Archiv-URL im Parameter 'url' anstatt URL der Originalquelle. Entferne den vor der Original-URL stehenden Mementobestandteil und setze den Archivierungszeitstempel in den Parameter 'wayback', 'webciteID', 'archive.today' oder 'archive-is' ein, sofern nicht bereits befüllt.|1}}
            }} 
       }}
  }}.</ref> Die Umsetzung von Adam Dunkels ist ANSI-C-konform und kommt ohne Maschinensprache aus. Eine weitere Umsetzung<ref>Larry Ruane: Protothreads</ref> nutzt spezifische Spracherweiterungen der GCC-Toolchain. Zwei bekannte, ebenfalls von Adam Dunkels veröffentlichte Projekte, der TCP/IP-Stack uIP<ref>Adam Dunkels: <templatestyles src="Webarchiv/styles.css" />{{#if:20100430212028
      | {{#ifeq: 20100430212028 | *
    | Vorlage:Webarchiv/Wartung/Stern{{#if: The open source TCP/IP stack for embedded 8-Bit microcontrollers | {{#invoke:WLink|getEscapedTitle|The open source TCP/IP stack for embedded 8-Bit microcontrollers}} | {{#invoke:Webarchiv|getdomain|http://www.sics.se/~adam/uip/index.php/Main_Page}} }} (Archivversionen)
    | {{#iferror: {{#time: j. F Y|20100430212028}}
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/DatumDer Wert des Parameters {{#if: wayback | wayback | Datum }} muss ein gültiger Zeitstempel der Form YYYYMMDDHHMMSS sein!
         | {{#if: The open source TCP/IP stack for embedded 8-Bit microcontrollers | {{#invoke:WLink|getEscapedTitle|The open source TCP/IP stack for embedded 8-Bit microcontrollers}} | {{#invoke:Webarchiv|getdomain|http://www.sics.se/~adam/uip/index.php/Main_Page}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if: 2019-05-08 09:07:23 InternetArchiveBot | 2019-05-08 09:07:23 InternetArchiveBot |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y|20100430212028}} im Internet Archive{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
      }}
  }}
      | {{#if:
          | {{#iferror: {{#time: j. F Y|{{{webciteID}}}}}
    | {{#switch: {{#invoke:Str|len|{{{webciteID}}}}}
       | 16= {{#if: The open source TCP/IP stack for embedded 8-Bit microcontrollers | {{#invoke:WLink|getEscapedTitle|The open source TCP/IP stack for embedded 8-Bit microcontrollers}} | {{#invoke:Webarchiv|getdomain|http://www.sics.se/~adam/uip/index.php/Main_Page}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if: 2019-05-08 09:07:23 InternetArchiveBot | 2019-05-08 09:07:23 InternetArchiveBot |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{{webciteID}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | 9 = {{#if: The open source TCP/IP stack for embedded 8-Bit microcontrollers | {{#invoke:WLink|getEscapedTitle|The open source TCP/IP stack for embedded 8-Bit microcontrollers}} | {{#invoke:Webarchiv|getdomain|http://www.sics.se/~adam/uip/index.php/Main_Page}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if: 2019-05-08 09:07:23 InternetArchiveBot | 2019-05-08 09:07:23 InternetArchiveBot |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{#invoke:Expr|base62|{{{webciteID}}}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | #default= Der Wert des Parameters {{#if: webciteID | webciteID | ID }} muss entweder ein Zeitstempel der Form YYYYMMDDHHMMSS oder ein Schüsselwert mit 9 Zeichen oder eine 16-stellige Zahl sein!Vorlage:Webarchiv/Wartung/webcitation{{#if:  || }}
      }}
    | c|{{{webciteID}}}}} {{#if: The open source TCP/IP stack for embedded 8-Bit microcontrollers | {{#invoke:WLink|getEscapedTitle|The open source TCP/IP stack for embedded 8-Bit microcontrollers}} | {{#invoke:Webarchiv|getdomain|http://www.sics.se/~adam/uip/index.php/Main_Page}} }} (Memento{{#if: {{#if: 2019-05-08 09:07:23 InternetArchiveBot | 2019-05-08 09:07:23 InternetArchiveBot |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y|{{{webciteID}}}}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
  }}
          | {{#if: 
              | Vorlage:Webarchiv/Today
              | {{#if:
                      | Vorlage:Webarchiv/Generisch
                      | {{#if: The open source TCP/IP stack for embedded 8-Bit microcontrollers | {{#invoke:WLink|getEscapedTitle|The open source TCP/IP stack for embedded 8-Bit microcontrollers}} | {{#invoke:Webarchiv|getdomain|http://www.sics.se/~adam/uip/index.php/Main_Page}} }}  
                 }}}}}}}}{{#if:2019-05-08 09:07:23 InternetArchiveBot
    | Vorlage:Webarchiv/archiv-bot
  }}{{#invoke:TemplatePar|check
     |all      = url=
     |opt      = text= wayback= webciteID= archive-is= archive-today= archiv-url= archiv-datum= ()= archiv-bot= format= original=
     |cat      = Wikipedia:Vorlagenfehler/Vorlage:Webarchiv
     |errNS    = 0
     |template = Vorlage:Webarchiv
     |format   = *
     |preview  = 1
  }}{{#ifexpr: {{#if:20100430212028|1|0}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}} <> 1
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Genau einer der Parameter 'wayback', 'webciteID', 'archive-today', 'archive-is' oder 'archiv-url' muss angegeben werden.|1}}
  }}{{#if: 
    | {{#switch: {{#invoke:Webarchiv|getdomain|{{{archiv-url}}}}}
        | web.archive.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von Internet Archive erkannt, bitte Parameter 'wayback' benutzen.|1}} 
        | webcitation.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von WebCite erkannt, bitte Parameter 'webciteID' benutzen.|1}} 
        | archive.today |archive.is |archive.ph |archive.fo |archive.li |archive.md |archive.vn = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von archive.today erkannt, bitte Parameter 'archive-today' benutzen.|1}}
      }}{{#if: 
         | {{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}
             | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Wert des Parameter 'archiv-datum' ist ungültig oder hat ein ungültiges Format.|1}}
          |  }} 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Pflichtparameter 'archiv-datum' wurde nicht angegeben.|1}}
      }}
    | {{#if: 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Parameter 'archiv-datum' ist nur in Verbindung mit 'archiv-url' angebbar.|1}}
      }}
  }}{{#if:{{#invoke:URLutil|isHostPathResource|http://www.sics.se/~adam/uip/index.php/Main_Page}}
    || {{#if:  || }}
  }}{{#if: The open source TCP/IP stack for embedded 8-Bit microcontrollers
    | {{#if: {{#invoke:WLink|isBracketedLink|The open source TCP/IP stack for embedded 8-Bit microcontrollers}}
        | {{#if:  || }}
      }}
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Linktext_fehlt
  }}{{#switch: 
    |addlarchives|addlpages= {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/Parameter}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: enWP-Wert im Parameter 'format'.|1}}
  }}{{#ifeq: {{#invoke:Str|find|http://www.sics.se/~adam/uip/index.php/Main_Page%7Carchiv}} |-1
    || {{#ifeq: {{#invoke:Str|find|{{#invoke:Str|cropleft|http://www.sics.se/~adam/uip/index.php/Main_Page%7C4}}%7Chttp}} |-1
         || {{#switch: {{#invoke:Webarchiv|getdomain|http://www.sics.se/~adam/uip/index.php/Main_Page }}
              | abendblatt.de | daserste.ndr.de | inarchive.com | webcitation.org = 
              | #default = {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/URL}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Archiv-URL im Parameter 'url' anstatt URL der Originalquelle. Entferne den vor der Original-URL stehenden Mementobestandteil und setze den Archivierungszeitstempel in den Parameter 'wayback', 'webciteID', 'archive.today' oder 'archive-is' ein, sofern nicht bereits befüllt.|1}}
            }} 
       }}
  }}.</ref> und das Betriebssystem Contiki<ref>Adam Dunkels: <templatestyles src="Webarchiv/styles.css" />{{#if:20100825150207
      | {{#ifeq: 20100825150207 | *
    | Vorlage:Webarchiv/Wartung/Stern{{#if: The Operating System for Embedded Smart Objects - the Internet of Things | {{#invoke:WLink|getEscapedTitle|The Operating System for Embedded Smart Objects - the Internet of Things}} | {{#invoke:Webarchiv|getdomain|http://www.sics.se/contiki/}} }} (Archivversionen)
    | {{#iferror: {{#time: j. F Y|20100825150207}}
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/DatumDer Wert des Parameters {{#if: wayback | wayback | Datum }} muss ein gültiger Zeitstempel der Form YYYYMMDDHHMMSS sein!
         | {{#if: The Operating System for Embedded Smart Objects - the Internet of Things | {{#invoke:WLink|getEscapedTitle|The Operating System for Embedded Smart Objects - the Internet of Things}} | {{#invoke:Webarchiv|getdomain|http://www.sics.se/contiki/}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if: 2019-05-08 09:07:23 InternetArchiveBot | 2019-05-08 09:07:23 InternetArchiveBot |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y|20100825150207}} im Internet Archive{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
      }}
  }}
      | {{#if:
          | {{#iferror: {{#time: j. F Y|{{{webciteID}}}}}
    | {{#switch: {{#invoke:Str|len|{{{webciteID}}}}}
       | 16= {{#if: The Operating System for Embedded Smart Objects - the Internet of Things | {{#invoke:WLink|getEscapedTitle|The Operating System for Embedded Smart Objects - the Internet of Things}} | {{#invoke:Webarchiv|getdomain|http://www.sics.se/contiki/}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if: 2019-05-08 09:07:23 InternetArchiveBot | 2019-05-08 09:07:23 InternetArchiveBot |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{{webciteID}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | 9 = {{#if: The Operating System for Embedded Smart Objects - the Internet of Things | {{#invoke:WLink|getEscapedTitle|The Operating System for Embedded Smart Objects - the Internet of Things}} | {{#invoke:Webarchiv|getdomain|http://www.sics.se/contiki/}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if: 2019-05-08 09:07:23 InternetArchiveBot | 2019-05-08 09:07:23 InternetArchiveBot |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{#invoke:Expr|base62|{{{webciteID}}}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | #default= Der Wert des Parameters {{#if: webciteID | webciteID | ID }} muss entweder ein Zeitstempel der Form YYYYMMDDHHMMSS oder ein Schüsselwert mit 9 Zeichen oder eine 16-stellige Zahl sein!Vorlage:Webarchiv/Wartung/webcitation{{#if:  || }}
      }}
    | c|{{{webciteID}}}}} {{#if: The Operating System for Embedded Smart Objects - the Internet of Things | {{#invoke:WLink|getEscapedTitle|The Operating System for Embedded Smart Objects - the Internet of Things}} | {{#invoke:Webarchiv|getdomain|http://www.sics.se/contiki/}} }} (Memento{{#if: {{#if: 2019-05-08 09:07:23 InternetArchiveBot | 2019-05-08 09:07:23 InternetArchiveBot |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y|{{{webciteID}}}}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
  }}
          | {{#if: 
              | Vorlage:Webarchiv/Today
              | {{#if:
                      | Vorlage:Webarchiv/Generisch
                      | {{#if: The Operating System for Embedded Smart Objects - the Internet of Things | {{#invoke:WLink|getEscapedTitle|The Operating System for Embedded Smart Objects - the Internet of Things}} | {{#invoke:Webarchiv|getdomain|http://www.sics.se/contiki/}} }}  
                 }}}}}}}}{{#if:2019-05-08 09:07:23 InternetArchiveBot
    | Vorlage:Webarchiv/archiv-bot
  }}{{#invoke:TemplatePar|check
     |all      = url=
     |opt      = text= wayback= webciteID= archive-is= archive-today= archiv-url= archiv-datum= ()= archiv-bot= format= original=
     |cat      = Wikipedia:Vorlagenfehler/Vorlage:Webarchiv
     |errNS    = 0
     |template = Vorlage:Webarchiv
     |format   = *
     |preview  = 1
  }}{{#ifexpr: {{#if:20100825150207|1|0}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}} <> 1
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Genau einer der Parameter 'wayback', 'webciteID', 'archive-today', 'archive-is' oder 'archiv-url' muss angegeben werden.|1}}
  }}{{#if: 
    | {{#switch: {{#invoke:Webarchiv|getdomain|{{{archiv-url}}}}}
        | web.archive.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von Internet Archive erkannt, bitte Parameter 'wayback' benutzen.|1}} 
        | webcitation.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von WebCite erkannt, bitte Parameter 'webciteID' benutzen.|1}} 
        | archive.today |archive.is |archive.ph |archive.fo |archive.li |archive.md |archive.vn = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von archive.today erkannt, bitte Parameter 'archive-today' benutzen.|1}}
      }}{{#if: 
         | {{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}
             | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Wert des Parameter 'archiv-datum' ist ungültig oder hat ein ungültiges Format.|1}}
          |  }} 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Pflichtparameter 'archiv-datum' wurde nicht angegeben.|1}}
      }}
    | {{#if: 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Parameter 'archiv-datum' ist nur in Verbindung mit 'archiv-url' angebbar.|1}}
      }}
  }}{{#if:{{#invoke:URLutil|isHostPathResource|http://www.sics.se/contiki/}}
    || {{#if:  || }}
  }}{{#if: The Operating System for Embedded Smart Objects - the Internet of Things
    | {{#if: {{#invoke:WLink|isBracketedLink|The Operating System for Embedded Smart Objects - the Internet of Things}}
        | {{#if:  || }}
      }}
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Linktext_fehlt
  }}{{#switch: 
    |addlarchives|addlpages= {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/Parameter}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: enWP-Wert im Parameter 'format'.|1}}
  }}{{#ifeq: {{#invoke:Str|find|http://www.sics.se/contiki/%7Carchiv}} |-1
    || {{#ifeq: {{#invoke:Str|find|{{#invoke:Str|cropleft|http://www.sics.se/contiki/%7C4}}%7Chttp}} |-1
         || {{#switch: {{#invoke:Webarchiv|getdomain|http://www.sics.se/contiki/ }}
              | abendblatt.de | daserste.ndr.de | inarchive.com | webcitation.org = 
              | #default = {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/URL}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Archiv-URL im Parameter 'url' anstatt URL der Originalquelle. Entferne den vor der Original-URL stehenden Mementobestandteil und setze den Archivierungszeitstempel in den Parameter 'wayback', 'webciteID', 'archive.today' oder 'archive-is' ein, sofern nicht bereits befüllt.|1}}
            }} 
       }}
  }}.</ref>, nutzen Protothreads.

Siehe auch

Weblinks

Belege

<references />