Versiunea 4 a Analyzer aliaj este o rescriere completă, care oferă îmbunătăţiri în robusteţe, performanta si usurinta in utilizare. Codebase nou este de aproximativ un sfert din dimensiunea codebase de aluminiu 3. Compilare este acum instantaneu pentru toate, dar cele mai mari modele, şi de analiză este adesea un factor de 20-10 mai repede. Vă recomandăm ca toţi utilizatorii comuta la aceasta noua versiune. Există un număr mic de imbunatatiri sintactice aluminiu peste 3, precum şi modele de scris în aluminiu 3 va necesita, prin urmare, unele modificări foarte mici pentru a rula în aluminiu 4.
Analyzer aliaj 4 se bazează pe noul SAT bazat pe modelul finder
Kodkod. Kodkod aplică tehnici noi şi optimizări la traducerea de la relaţională la logica booleană, cum ar fi furnizat de utilizator instanţe parţială şi o mai general simetrie-rupere tehnica, care funcţionează în prezenţa de instanţe arbitrare parţiale.
Navigare
Cerinţe de sistem:
Java 5 sau mai sus
Descarca Analizor aluminiu 4.2 Release Candidate
Mac OS X : sa descarcati si deschide acest fişier dmg.
Toţi utilizatorii : sa descarcati acest fisier jar şi apoi de tip java-jar alloy4.2-rc.jar într-un prompt de comandă.
Note de lansare:
- int vs Int :
- Ints mici nu sunt acceptate nici mai mult, toate întregi (inclusiv literali constantă, rezultatul a operatorului de cardinalitate #, etc) sunt tratate întotdeauna ca seturi de numere întregi, adică Int.
- Aliaj built-in operatorii plus ( + ) şi minus ( - ) sunt tratate întotdeauna ca uniune relaţionale şi relaţional, respectiv diferenţa.
- Pentru operaţii aritmetice, utilizatorii ar trebui să folosiţi întotdeauna funcţiile prevăzute în utila / integer.als. De exemplu, ceea ce ar putea fi scris anterior ca o b + şi ab trebuie să fie scrise acum a.plus [b] şi a.minus [b], respectiv.
- Modulul util / integer.als este inclus automat în fiecare definite de utilizator modulul.
- Preaplin interzice opţiune adaugă la meniul principal Opţiuni:
- Atunci când această opţiune este setată la "Da", Analyzer aliaj nu va prezenta un raport modele care implică integer overflow.
- Atunci când această opţiune este setată la "Da", cuantificatorii peste variabilele intregi au o semantică uşor diferite:
- toate x: Codul Int | corp înseamnă pentru toţi întregi "x", astfel că "organismul" nu overflow, "corpul" deţine.
- unele x: Int | organism înseamnă
că există unele întreg "x", astfel că "organismul" nu overflow şi "trup".
- Suport pentru Unicode de identificare.
- Schimbări cosmetice în vizualizator:
- "Dot" şi "XML" file au fost mutate la "File-> Export" din meniu.
- O filă nouă, etichetate ca "text" a fost adăugată pentru a afişa reprezentarea textuală a soluţiei.
Analizor de aluminiu Descarca 4.1.10
Mac OS X : sa descarcati si deschide
acest fişier dmg.
Toate Altele : descărca şi dublu-clic pe
acest fişier jar. Sau puteţi descărca fişierul de tip atunci
java-jar alloy4.jar
într-un prompt de comandă.
Dacă aveţi nevoie de o versiune anterioară, toate versiunile anterioare şi a candidaţilor de presă sunt disponibile făcând clic aici.
Notă:. Versiunile vechi de aluminiu 4.0 BETA foloseşte tehnologia Java de implementare Webstart şi este incompatibil cu noi Alloy4
Vă rugăm să introduceţi javaws
într-un prompt de comandă, selectaţi Alloy4, apoi faceţi clic pe Eliminare.
Documentaţie
Un ghid pas-cu-pas şi tutorial de Alloy4 este
aici
şi aici.
O listă de întrebări frecvente este aici.
Gramatica este aici.
Pentru aluminiu existente, 3 utilizatori, vă rugăm să consultaţi ghidul de aluminiu 4 rapidă pentru lista de modificări, precum şi o prezentare generală a analizorului noi.
Pentru utilizatorii noi, suntem în procesul de actualizare a manual de utilizare existente şi tutoriale pentru aluminiu 4. În timp, vă rugăm să consultaţi documentaţia vechi aliaj 3
, coroborat cu aliaj 4 ghidul de rapid.
Rezervaţi la "abstracţiuni Software: Logic, limbă, şi analiză"
Daniel Jackson Cartea lui
abstracţiuni Software: Logic, limbă, şi de analiză
. sa bazat pe aliaj 3
Lista completă a modului de a actualiza cartea de aliaj 4 este listat aici.
În plus, exemplele din carte au fost actualizate la aliaj 4 sintaxa.
Ele sunt acum incluse în Culegere de proba 4 aluminiu, şi poate fi de asemenea descărcat ca un singur
zip fişier, sau poate fi accesat on-line.
Ce e nou
- [2008 aliaj 4.1.10] Include o euristică atom nouă numerotare, care ar trebui să facă util / comandarea de numerotare mai mult intuitivă, de asemenea, actualizat la cele mai recente Kodkod, şi adusă la SAT4J 2.0.5.
- [2008 aliaj 4.1.10] export PDF foloseşte tecniques de compresie şi rezultatele de până la 20x în dimensiunea fişierului mai mică.
- [2008 aluminiu 4.1.3] Adaugata sintaxa evidenţierea la editorul de text interna (care pot fi activate sau dezactivate în meniul Opţiuni).
De asemenea, codul sursă complet Kodkod este acum inclusă în alloy4.jar, de asemenea.
- [2008 aluminiu 4.1.3] Puteţi utiliza acum noua enumerare de cuvinte cheie pentru a declara subsigs Singleton.
De exemplu, "X enum {A, B, C}" înseamnă "abstract SIG X {} o SIG A, B, C se extinde X {} "
- [2008 aluminiu 4.1.3] Puteţi utiliza acum existente disj cuvinte cheie pe partea dreaptă a unei declaraţii câmp pentru a înţelege că fiecare atom distinctă a SIG va avea valori disjuncte pentru acel câmp.
De exemplu, "SIG X {f: disj Y} " înseamnă "de toate o disj, b: X | nr (AF & bf)"
- [2008 RC18] Altele decât cele remedieri de erori, am modifed, de asemenea, formatul de fişier XML exemplu, pentru a include
informaţii mai bogate semantic (Dacă dumneavoastră de cercetare depinde de versiunea anterioară, aveţi posibilitatea să descărcaţi în continuare Alloy4 RC17 aici.
- [2008 RC17] Altele decât cele remedieri de erori, am adăugat, de asemenea, la stânga-shift (<<), sign-extins (>>), Shift dreapta şi zero extins operatorii SHIFT din dreapta, pentru (>>>) intregi primitive. Ghidul Alloy4 rapidă şi fişierele interna de ajutor au fost actualizate pentru a reflecta aceste noi caracteristici şi schimbări.
- [2008 RC16] În vizualizator, aveţi posibilitatea să faceţi clic pe acum TEMA şi apoi alegeţi dacă
privat SIGs şi domenii ar fi afişate sau ascunse (în mod implicit, Alloy4 va ascunde acum toate SIGs privat şi câmpurile din vizualizator excepţia cazului în care debifaţi această opţiune). De asemenea, începând cu această versiune, codul sursă este acum disponibil sub licenţă MIT în loc de GPL.
- [2008 RC15] privat este un cuvânt cheie nou rezervate pe care le puteţi utiliza pentru a declara o anumită SIG / fun / Pred este privat de acest modul, şi nu se arată în spaţiul de nume ale altor module de import care acest modul. Pentru mai multe informaţii, vă rugăm să vedeţi acest lucru.
- [2008 RC15] util / întreg oferă acum funcţii adaugă / sub / Mult / div / rem pentru efectuarea întreg plus, scăderea, înmulţirea, împărţirea, şi restul.
Doar de import util / întregi şi apoi puteţi scrie 2.mul [3] pentru a înmulţeşte 2 cu 3, de exemplu.
- [2008 RC15] Nu mai trebuie să ofere o alias pentru situaţiile complicate de import. (Deşi, dacă aţi importat două module că ambele au o funcţie numită X, iar dacă există o ambiguitate pe care X vrei să spui, atunci trebuie să adăugaţi alias pentru declaraţiile de import doi, pentru a se ambiguitatea)
- [2007 RC12] Analizor de aluminiu foloseste acum un aspect curat motor Graficul Java.
Noi nu mai avem nevoie de a distribui o platformă-dependent binare GraphViz pentru a face aspectul grafic. În plus, algoritmul de noul aspect permite utilizatorului să faceţi clic pe un nod şi mutaţi-l în jurul valorii de pe ecran. (Aveţi posibilitatea să faceţi clic dreapta pe grafic pentru a exporta ca PDF sau PNG, sau aveţi posibilitatea să faceţi clic pe butonul DOT pentru a obţine descrierea DOT echivalente şi apoi să utilizaţi GraphViz DOT să-l facă dacă doriţi).
- [2007 RC12] Pentru a activa unsat de bază, mergeţi la meniul de opţiuni şi alegeţi "MiniSat cu Unsat Core" ca rezolvatorul.
cazul în care o afirmaţie sau o comandă este unsatisfiable, aveţi posibilitatea să faceţi clic pe acesta pentru a evidenţia părţile relevante ale modelului original, care au contribuit la unsatisfiability. Algoritmul de bază unsat este acum mult mai precisă, şi aveţi posibilitatea să modificaţi setarea de viteză / precizie (între "rapid si imprecis" şi "mai încet şi mai precise")
- [2007 RC12] Adăugat un buton Reîncărcaţi pentru a reîncărca modelul de pe hard dacă au fost editaţi fişierul utilizând un editor de text separat în afara interfeţei Alloy4 utilizatorului.
- [2007 RC12] Evaluatorul suporta acum istorie comandă, în cazul în care aveţi posibilitatea să utilizaţi sus şi jos tastele săgeată pentru a aduce înapoi în prealabil expresii tastat.
- [2007 RC11] Aveţi posibilitatea să faceţi clic pe "Aspect Magic", în vizualizator pentru a deduce în mod automat setările vizualizator pentru tine. Euristice sunt descrise în noastre de hârtie viitoare Vizualizarea automată a modelelor Logic relaţionale
- [2007 RC11] Aveţi posibilitatea să tastaţi acum atomi şi valorile Skolem în evaluatorului.
- [2007 RC11] Acum puteţi utiliza <= (precum şi versiunea originală = <), de a spune "mai mică sau egală".
- [2007 RC7] Alloy4 are acum suport interna pentru secventa de atomi. O introducere pe noul următoarele cuvânt cheie este aici.
- [2007] Când se execută un "Run" sau "check" comandă care durează prea mult, aveţi posibilitatea să faceţi clic pe acum Oprire butonul pentru a abandona fiabil comanda.
- [2007] Puteţi stabili cantitatea de memorie alocată pentru rezolvarea SAT de a merge la meniul Options. Valoarea implicită de memorie alocat este 768M.
- [2006] Atunci când o instanţă care vizionează în vizualizator, aveţi posibilitatea să faceţi clic pe
Evaluare pentru a evalua expresii aluminiu cu privire la acest exemplu, sau faceţi clic pe
Următorul pentru a vedea urmatoarea instanta care îndeplinesc dacă există una.
- [2006] compilatorul acum inserează automat int-> mulaje şi Int Int-> int mulaje atunci când este necesar.
Utilizarea Alloy4 cu editorul de texte proprii
Daniel Le Berre şi grupul său au dezvoltat un
plugin pentru Eclipse Analyzer aluminiu 4. Acesta este încă în curs de dezvoltare, dar acesta a fost deja dovedit utile pentru multi utilizatori.
Allison Waingold a scris un
mod de Emacs majore
de aluminiu 3. Nu am avut ocazia să o actualizare pentru aluminiu 4, dar sperăm că evidenţierea sintaxei sale şi alte caracteristici pot fi în continuare util pentru aluminiu 4 utilizatori.
Există o sintaxă VIM pentru Alloy4.
Există o a2ps stylesheet pentru Alloy4.
Rezolvari de probleme
-
Probleme au fost raportate în cazul în care Sun Java 1.6.0 actualizare 7 accidente de încărcare atunci când Analizor de aluminiu, dar accidentele nu se mai întâmpla atunci când upgrade la Sun Java 1.6.0 actualizare 10.
-
Dacă vedeţi mesajul de eroare "java.lang.UnsupportedClassVersionError", înseamnă că versiunea Java este prea veche. Alloy4 necesită Java 5 sau mai nou.
-
Dacă aţi descărcat o versiune nouă a Alloy4, ci o versiune veche (Alloy4 BETA7) păstrează apare, atunci este posibil să aveţi o intrare stătut în registry Webstart Java.
Vă rugăm să introduceţi javaws
într-un prompt de comandă, selectaţi Alloy4, apoi faceţi clic pe Eliminare.
-
Dacă primiţi mesajul de eroare "Java nu este în căutare de calea de curent programului", vă rugăm să adăugaţi-l la calea ta. Pentru utilizatorii de Windows, vă rugăm să consultaţi "actualiza variabila PATH" din Soarelui
ghidul de instalare. Pentru alte sisteme de operare, vă rugăm să consultaţi documentaţia corespunzătoare.
Feedback
Ne-ar plăcea să aud de la tine! E-mail-ne la:
Pentru a discuta aliaj cu alţi utilizatori, a posta un mesaj în forumul de discuţii din aliaj.
Download source
Codul sursa pentru Analyzer aliaj este inclusă în alloy4.jar
(în edu / / mit / csail / director SDG),
şi este plasat sub licenţă MIT.
Analizor aliaj utilizeaza mai multe pachete din terţe surse a căror cod poate fi distribuit sub o licenţă diferit (a se vedea diferitele fişiere LICENŢĂ în distribuţie pentru detalii). Suntem extrem de recunoscători pentru autorii de aceste pachete pentru a face codul lor sursă primare disponibile.