Connect with us

Künstliche Intelligenz

Contracts in C++26: Evaluations-Semantik | heise online


Nachdem ich in meinem letzten Artikel Contracts in C++26: Ein tiefer Einblick in die Verträge kurz die Details von Contracts vorgestellt habe, möchte ich mich nun näher mit der sehr interessanten Evaluations-Semantik befassen.


Rainer Grimm

Rainer Grimm

Rainer Grimm ist seit vielen Jahren als Softwarearchitekt, Team- und Schulungsleiter tätig. Er schreibt gerne Artikel zu den Programmiersprachen C++, Python und Haskell, spricht aber auch gerne und häufig auf Fachkonferenzen. Auf seinem Blog Modernes C++ beschäftigt er sich intensiv mit seiner Leidenschaft C++.

Wenn eine Contracts Assertion auftritt, wird eine der vier Bewertungssemantiken angewendet: ignore, observe, enforce und quick-enforce. Die Tabelle gibt einen Überblick über die vier Semantiken:



(Bild: Rainer Grimm)

Leider ist es derzeit nicht möglich, diese Evaluations-Semantiken in vollem Umfang zu sehen.

Während die Checking-Semantik die Vertrags-Assertion nur auswertet, beendet die Terminating-Semantik auch das Programm.

Eine standardkonforme Implementierung muss nicht jede der vier genannten Evaluations-Semantiken implementieren. Sie kann auch ihre eigene Semantik anbieten.

Wie der Name schon sagt, ignoriert die ignore-Semantik die Auswertung des Prädikats. Dennoch muss das Prädikat syntaktisch korrekt sein.

Die observe-Semantik ist eine Checking-Semantik. Im Allgemeinen können drei Bedingungen zu einer Vertragsverletzung führen:

  • Die Auswertung des Prädikats gibt false zurück.
  • Die Auswertung des Prädikats verursacht eine Exception.
  • Die Auswertung des Prädikats erfolgt zur Compile-Zeit, aber das Prädikat ist kein konstanter Ausdruck.

Wenn zur Compile-Zeit eine Vertragsverletzung auftritt, wird eine Diagnose ausgegeben und die Kompilierung fortgesetzt.

Wenn eine Vertragsverletzung zur Laufzeit auftritt, wird der Vertragsverletzungs-Handler aufgerufen, der auf ein Objekt vom Datentyp const std::contracts::contract_violation verweist, das Informationen über die Vertragsverletzung enthält. Wenn der Vertragsverletzungs-Handler normal zurückkehrt, wird die Programmausführung fortgesetzt.

Die enforce-Semantik ruft den Vertragsverletzungs-Handler zur Laufzeit auf. Das Programm wird beendet, wenn der Contract-Violation-Handler normal zurückkehrt. Die enforce-Semantik ist eine sogenannte terminierende Semantik. Das bedeutet, dass im Falle einer Vertragsverletzung die Programmausführung beendet wird. Danach kann eine der folgenden Aktionen erfolgen:

  • Aufruf von std::terminate,
  • Aufruf von std::abort oder
  • sofortige Beendigung der Ausführung.

Zur Compile-Zeit wird die Kompilierung abgebrochen.

Die quick-enforce-Semantik ruft den Vertragsverletzungs-Handler zur Laufzeit nicht auf. Als terminierende Semantik beendet sie das Programm sofort. In diesem Fall wird beispielsweise __builtin_trap() verwendet.

Zur Compile-Zeit wird die Kompilierung abgebrochen.

Der Vertragsverletzungs-Handler hat folgende Signatur:

void handle_contract_violation( std::contracts::contract_violation );

Die Implementierung stellt den Standard-Vertragsverletzungs-Handler bereit. Sie kann jedoch auch zulassen, dass dieser Standard-Vertragsverletzungs-Handler durch einen benutzerdefinierten ersetzt wird.

In seiner ausgezeichneten Präsentation Contracts for C++ auf der ACCU 2025 stellt Timur Doumler einige spannende Beispiele für benutzerdefinierte Vertragsverletzungshandler vor:


// Protokollierung
  
void handle_contract_violation( std::contracts::contract_violation violation ) {
    LOG(std::format("Contract violated at: {}\n", violation.location()));   
}

// Setze einen Haltepunkt
  
void handle_contract_violation( std::contracts::contract_violation violation ) {
    std::breakpoint();
}

// Warte, bis ein Debugger angeschlossen ist
  
void handle_contract_violation( std::contracts::contract_violation violation ) {
    
while (!std::is_debugger_present())
     /* spin */

    std::breakpoint();
}

// Stacktrace ausgeben
  
void handle_contract_violation( std::contracts::contract_violation violation ) {
    std::cout << std::stacktrace::current(1);
}

// An den Standard-Handler für Vertragsverletzungen übergeben
  
void handle_contract_violation( std::contracts::contract_violation violation ) {
    std::cout << std::stacktrace::current(1);
    std::contracts::invoke_default_contract_violation_handler(violation);
}


Abschließend möchte ich die Schnittstelle des Objekts std::contracts::contract_violation vorstellen, das der Vertragsverletzungs-Handler empfängt:

  • kind gibt die Art der Vertragsverletzung zurück.
  • semantic gibt die Evaluations-Semantik zurück, wenn die Vertragsverletzung auftritt.
  • is_terminating gibt zurück, ob die Evaluations-Semantik beendet wird.
  • detection_mode gibt den Grund für die Vertragsverletzung zurück.
  • evaluation_exception gibt einen std::exception_ptrzur zur Ausnahme zurück, die bei der Prädikatbewertung ausgelöst wurde.
  • comment gibt eine erklärende Zeichenfolge zur Vertragsverletzung zurück.
  • location gibt einen std::source_location zurück, der den Ort der Vertragsverletzung angibt.

Weitere Informationen zum std::contracts::contract_violation-Objekt finden sich auf der cppreference-Seite.

In meinem nächsten Artikel werde ich mich auf die kleineren Features in C++26 konzentrieren. Ich beginne mit den kleinen Sicherheits-Features in der Kernsprache.


(rme)



Source link

Künstliche Intelligenz

Noch sind KI-Chatbots werbefrei – doch dieses Start-up will das ändern


Egal, wohin man klickt: Das Internet ist voll von Werbebannern. Nur KI-Chatbots blieben bisher verschont.

Anbieter wie OpenAI, Google oder Anthropic verzichten noch auf die Monetarisierung durch Werbung. Stattdessen setzen ihre Chatbots ChatGPT, Claude & Co. auf kostenpflichtige Abonnements und Premium-Angebote. Profitabel sind sie damit allerdings noch nicht unbedingt.

US-Start-up Koah will Anzeigen in KI-Angebote holen und hat nun fünf Millionen US-Dollar Startkapital eingesammelt, wie Techcrunch berichtet.

KI-Chats sind bislang eine werbefreie Zone – doch das wird nicht so bleiben, glaubt Koah-Gründer Nic Baird. Sobald KI-Anwendungen den Tech-Bubble-Kosmos des Silicon Valley verlassen, gebe es nur einen Weg, sie weltweit zu monetarisieren – über Anzeigen. Das habe sich in der Internetgeschichte immer wieder gezeigt, sagt der CEO.

Allerdings geht es Koah nicht darum, Werbeflächen in ChatGPT & Co. zu verkaufen. Stattdessen richtet sich das Start-up an Drittanbieter-Apps, die auf großen Sprachmodellen aufbauen. Und: Mehrwert für die Nutzer steht an oberster Stelle.

„Es geht mir nicht darum, Display-Werbung in Chats zu pressen“, sagt Baird. „Ich will verstehen, wonach die Nutzer suchen – und wie wir ihnen das geben können.“ Koah platziert deshalb als gesponsert markierte Inhalte an relevanten Stellen im Chat. Wer zum Beispiel nach Tipps zur Start-up-Strategie fragt, könnte eine Anzeige von Upwork sehen, die passende Freelancer vermittelt.

Baird habe in Gesprächen mit Publishern die Erfahrung gemacht, dass viele von ihnen nicht glauben, dass Werbung in KI-Chats funktioniert. Gleichzeitig sei es nach anfänglicher Konzentration auf Nutzer, die bereit sind, für ein Abonnement zu zahlen, nun wichtig, Millionen von Nutzern – etwa in Lateinamerika – abzuholen, die „keine 20 Dollar pro Monat zahlen“ wollen.

„Mehrere Umsatzmodelle im Bereich Consumer-AI sind unvermeidlich, und wenn man die Internetdienste der letzten Jahrzehnte als Indikator betrachtet, werden Anzeigen eine wichtige Rolle spielen“, stimmt Nicole Johnson von Forerunner Ventures zu, die die Finanzierungsrunde angeführt haben.

Koahs Ansatz funktioniert laut eigenen Angaben besser als der klassischer Adtech-Anbieter wie Admob oder AppLovin. Das Start-up meldet im Vergleich vier- bis fünfmal bessere Ergebnisse, mit Klickraten von 7,5 Prozent und Umsätzen von 10.000 US-Dollar im ersten Monat für frühe Partner.

Koah sieht KI-Chats dabei im mittleren Teil des Sales-Funnels: Sie liegen zwischen der Awareness-Phase, wie sie Instagram-Anzeigen bedienen, und der Kaufphase, die stark von Google-Suchen getrieben wird. Nutzer würden im Chat zwar Empfehlungen und Produkthinweise einholen – der eigentliche Kauf finde aber oft später statt.

Aufgabe von Koah sei es daher, diese kommerzielle Absicht besser einzufangen. Dabei sollen die Anzeigen relevant genug sein, um das Engagement tatsächlich zu steigern – das sei laut Baird die oberste Priorität.

Dieser Beitrag ist zuerst bei t3n.de erschienen.


(jle)



Source link

Weiterlesen

Künstliche Intelligenz

Bundes-Klinik-Atlas geht vermutlich offline, Verbraucherschützer üben Kritik


Der Verbraucherzentrale Bundesverband (vzbv) warnt vor den Folgen einer möglichen Abkündigung des Bundes-Klinik-Atlas durch Bundesgesundheitsministerin Nina Warken. „Die Projektgruppe ‚Bundes-Klinik-Atlas‘ […] wird rückwirkend zum 30. Juni aufgelöst“, heißt es in einer „Organisationsverfügung“, die den Zeitungen des Redaktionsnetzwerks Deutschland vorliegt. Das bedeute jedoch nicht zwangsläufig, dass die inhaltliche Arbeit eingestellt werde. Laut Berichten von dpa werde die Betreuung des „Bundes-Klinik-Atlas“ seit 1. Juli durch eine Fachabteilung fortgeführt. Derzeit laufe die Prüfung möglicher Optionen.

Warken hatte bereits im Juli ein Aus des Bundes-Klinik-Atlas angedeutet. „Die Abschaffung des Bundes-Klinik-Atlasses wäre aus Patientensicht fatal. Das deutsche Gesundheitssystem braucht mehr Transparenz, nicht weniger“, erklärte Thomas Moormann, Leiter des Teams Gesundheit und Pflege im Verbraucherzentrale Bundesverband (vzvb).

Der Atlas sei ein wichtiger Schritt hin zu mehr Orientierung für Patienten bei der Krankenhauswahl, müsse jedoch weiterentwickelt werden. Nur so könnten Menschen das Krankenhaus auswählen, „bei dem sie den Eingriff mit der besten Qualität erhalten“, so Moormann. Das Krankenhausverzeichnis der Deutschen Krankenhausgesellschaft (DKG) biete nach Ansicht des vzbv keine geeignete Alternative, da es weder nutzerfreundlich noch unabhängig sei.

Ohne den Atlas drohe laut vzbv ein Rückfall in eine unübersichtliche Vielzahl von Portalen, die Patienten „keine verlässliche Orientierung“ bieten. „Ein unabhängiger, transparenter und benutzerfreundlicher Bundes-Klinik-Atlas hätte die Chance, die Versorgung in die richtige Richtung zu steuern“, so Moormann. Darauf sei ihm zufolge eine erfolgreiche Krankenhausreform angewiesen. Der Sozialverband VdK warnte laut dpa davor, Informationen zu Behandlungen künftig allein durch Klinikträger oder Klinikverbände bereitgestellt werden. Eine unabhängige Quelle sei essenziell. Die Deutsche Stiftung Patientenschutz rief Warken dazu auf, „das lange Sterben“ des Bundes-Atlasses sofort zu beenden. Für die Patienten seien zwei Internet-Verzeichnisse nur verwirrend.

Der Bundes-Klinik-Atlas wurde am 17. Mai 2024 vom Bundesgesundheitsministerium (BMG) veröffentlicht. Er bietet Bürgerinnen und Bürgern eine interaktive Suchmaschine zur Kliniksuche mit Daten zu Behandlungsmöglichkeiten, Fallzahlen, Zertifikaten, Personalausstattung und ausgewählten Qualitätsindikatoren. Ziel ist eine informierte Entscheidung über die Auswahl eines geeigneten Krankenhauses ohne spezielle Vorkenntnisse.

Vor dem Start wurde auch die „Weiße Liste“ der Bertelsmann-Stiftung eingestellt, wobei die Erfahrungen des Projekts in Teilen dem Bundes-Klinik-Atlas zugutekamen. Im Laufe des Jahres 2024 wurden bereits zwei Updates eingeführt, mit Erweiterungen der Behandlungsanlässe und Verbesserungen der Nutzerfreundlichkeit.

Kurz nach Veröffentlichung gab es mehrfach Kritik, beispielsweise von der Deutschen Krankenhausgesellschaft (DKG), die den Nutzen des Atlas für Patienten bezweifelte und auf Verständlichkeitsprobleme und Datenfehler hinwies. Daraufhin wurden umfangreiche Updates umgesetzt, die die Übersichtlichkeit verbesserten.


(mack)



Source link

Weiterlesen

Künstliche Intelligenz

Auf der IFA: Zahlreiche iPhone-17-Hüllen auch von großen Herstellern


close notice

This article is also available in
English.

It was translated with technical assistance and editorially reviewed before publication.

Während Apple um die iPhone-17-Familie noch ein großes Geheimnis macht, ist die diesjährige Internationale Funkausstellung (IFA) in Berlin, die in dieser Woche ausklingt, voll von Zubehöranbietern, die bereit sind für die neuen Smartphones – und das auch erstaunlich offensiv bewerben. Selbst bekannte Marken sind darunter, die mit Fotos von Dummymodellen an den Ständen Reklame machen, als seien alle Details der neuen Geräte bereits offiziell bekannt. Sie sind sich augenscheinlich sehr sicher, was Apple bei der „Awe dropping“-Keynote am Dienstag (9. September) vorstellen wird.

Ein Gang über das Messegelände zeigt Anbieter wie Nomad, Decoded oder ESR, die Hüllen für iPhone 17, 17 Air, 17 Pro oder 17 Pro Max im Angebot haben und entsprechende Mockups präsentieren. Das verwundert, würde man solche Vorabprodukte doch sonst eher von kleinen Herstellern erwarten. Andere große Zubehörmarken wie Dbrand haben in den letzten Tagen bereits Newsletter zu ihren iPhone-17-Produkten verschickt („Sorry, Tim“) und/oder verkaufen die Hüllen sogar schon mit Lieferung im September.

Aber wie kommt es, dass sich die Anbieter so sicher sind und die zahllosen Hüllenleaks auch in der Apple-Szene als glaubwürdig gelten? Denn eigentlich ist es jedes Jahr das gleiche Spiel: Produzenten von iPhone-Cases wissen oft scheinbar als Erstes, wie die Geräte aussehen werden. Das liegt daran, dass die Unternehmen meist gute Kontakte in Apples Lieferkette haben. Auch wenn Apple versucht, solche Abflüsse zu stoppen (für die auch Geld fließen soll), geraten doch immer wieder Informationen nach außen.

Natürlich kann es auch sein, dass Hüllenhersteller falsch liegen. So hätte man in diesem Jahr aufgrund des neuen Formfaktors des iPhone 17 Air eher erwartet, dass Apple Leaks verhindert. Doch die Branche scheint sich weitgehend einig zu sein und präsentiert (dünne) Cases, die sich weitgehend entsprechen.


iPhone-17-Hüllen auf der IFA

Hüllen von Decoded für iPhone 17 Pro und 17 Air. (Bild:

Sebastian Trepesch/heise medien

)

Angesichts der Vorproduktionsphase, die die Zubehöranbieter benötigen, um pünktlich mit den neuen iPhones auf den Markt zu kommen, ist davon auszugehen, dass sie richtig liegen – oder es wäre eine (sehr) teure Wette. Doch ob das wirklich stimmt, wissen wir erst nach der Keynote.


(bsc)



Source link

Weiterlesen

Beliebt