Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

[Java] \old() in loop-invariants

Pagina: 1
Acties:

Verwijderd

Topicstarter
Momenteel op de uni bezig met het leren van Java; daarbij de pre- en postcondities en invarianten in JML.

Nu wil ik een loop-invariant maken met daarin de JML-functie \old().

Bij bijvoorbeeld een postconditie in JML werkt dit prima, maar bij een loopinvariant krijg ik de volgende JML typecheck error in Eclipse (gebruikmakend van OpenJML):

Afbeeldingslocatie: http://i.imgur.com/uAiTbBl.png

Ik heb zo het gevoel dat \old() niet werkt in invarianten omdat deze functie de situatie vóór het aanroepen van een methode beschrijft, maar ik vermoedde dat zoiets ook wel zou gelden voor loops (dus: beschrijft de situatie voor het uitvoeren van de iteratie).

Iemand enig idee wat een mogelijke vervanging voor \old() kan zijn in een loop invariant?

Thanks! :)

Christian

Verwijderd

Topicstarter
In de question en answer sessie van nu maar even gevraagd :) Conditie moet ook gelden aan het begin van de loop; da's natuurlijk niet zo.

  • pedorus
  • Registratie: Januari 2008
  • Niet online
Hmm, hoeveel mensen zijn er eigenlijk die JML kennen? Bijna niemand: http://stackoverflow.com/questions/tagged/jml Gezien de leeftijd van die standaard zou ik zeggen dat het een beetje een dood kindje is. Misschien als ze het opnieuw zouden proberen met annotaties en meer aansluiting met junit dat het wat zou worden, maar ik vrees dat het nu vooral een theoretische tool is en blijft.. :p

Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten


  • Sebazzz
  • Registratie: September 2006
  • Laatst online: 22-11 18:52

Sebazzz

3dp

Lijkt een beetje op Code Contracts in .NET op eerste gezicht?

[Te koop: 3D printers] [Website] Agile tools: [Return: retrospectives] [Pokertime: planning poker]


Verwijderd

Topicstarter
pedorus schreef op vrijdag 13 december 2013 @ 09:53:
Hmm, hoeveel mensen zijn er eigenlijk die JML kennen? Bijna niemand: http://stackoverflow.com/questions/tagged/jml Gezien de leeftijd van die standaard zou ik zeggen dat het een beetje een dood kindje is. Misschien als ze het opnieuw zouden proberen met annotaties en meer aansluiting met junit dat het wat zou worden, maar ik vrees dat het nu vooral een theoretische tool is en blijft.. :p
Het is stof, dus zal het moeten gebruiken ;)
Sebazzz schreef op vrijdag 13 december 2013 @ 09:56:
Lijkt een beetje op Code Contracts in .NET op eerste gezicht?
Klopt! Gaat inderdaad om programming by contract. Komt in feite op hetzelfde neer, alleen andere syntax.

  • Kwistnix
  • Registratie: Juni 2001
  • Laatst online: 22-11 18:11
pedorus schreef op vrijdag 13 december 2013 @ 09:53:
Hmm, hoeveel mensen zijn er eigenlijk die JML kennen? Bijna niemand: http://stackoverflow.com/questions/tagged/jml Gezien de leeftijd van die standaard zou ik zeggen dat het een beetje een dood kindje is. Misschien als ze het opnieuw zouden proberen met annotaties en meer aansluiting met junit dat het wat zou worden, maar ik vrees dat het nu vooral een theoretische tool is en blijft.. :p
Voor wat het waard is, ik doe nu 8 jaar hoofdzakelijk Java projecten en ik ben het in de praktijk inderdaad nog nooit tegengekomen. Neemt niet weg dat het voor educatieve doeleinden nog steeds zinnig kan zijn.
Pagina: 1