Métodos Formais de Programação II - 2005/6 | |
---|---|
[ DI/UM ] |
Classificações finais da época especial -- ver Classificações. |
Equipa docente |
Ref. | Dia | Hora | Tipo | Sala | Cursos | Docente |
---|---|---|---|---|---|---|
1 | 2.ª feira | 11h00-13h00 | TP | DI-0.11 | LMCC+LESI | J.N. Oliveira |
2 | 2.ª feira | 14h00-16h00 | T | DI-A1 | LMCC+LESI | J.N. Oliveira |
Dia | Hora | Cursos | Docente |
---|---|---|---|
2.ª-feira | 09h00-10h00 | LMCC+LESI | J.N. Oliveira |
6.ª-feira | 09h00-10h00 | LMCC+LESI | J.N. Oliveira |
Registo
de problemas que alguns de vocês me enviaram quanto ao uso das VDMTools
types Course :: name: seq of char credits: ECTSs; ECTSs = map ACMtopic to nat1; CourseId = token; IdDeg = token; StudentId = token; ACMtopic = token; Classif = real; Univ :: courses: map CourseId to Course degrees: map IdDeg to ECTSs students: map StudentId to (IdDeg * map CourseId to Classif) topics: map ACMtopic to ACMtopic inv u == degreesOk(u) and coursesOk(u) and topicsOk(u) functions degreesOk: Univ -> bool degreesOk(u) == { a | mk_(a,b) in set rng u.students } subset dom u.degrees; coursesOk : Univ -> bool coursesOk(u) == dunion { dom b | mk_(a,b) in set rng u.students } subset dom u.courses ; topicsOk : Univ -> bool topicsOk(u) == dunion { dom x | x in set rng u.degrees } union dunion { dom x.credits | x in set rng u.courses } subset allTopics(u) ; allTopics: Univ -> set of ACMtopic allTopics(u) == dom u.topics union rng u.topicsshould be regarded as the starting point for a model recording the offer of a particular university with respect to its 2nd Cycle Course curricula.
All courses should be regarded as elective. Given university u, students get their degrees once the courses they have completed with success amount at least the number of ECTSs which are required by their degree's specification. Among the functionality required by the model, the following should be considered at least:
allCred : StudentId * Univ -> ECTSswhich computes the current ECTS total of a particular student,
calCred : StudentId * Univ -> ECTSswhich computes the multiset of ECTSs which a particular student is still required to obtain in order to complete her/his degree.
The most interesting functionality will be that which, given students' topic preferences and the degree they are targeting at, suggest which courses they should undertake.
The project consists of building a VDM++ model of the proposed theme and, using the VDMTools API, converting it into the server of a web-service which should help students in choosing courses and degrees in the 2nd cycle of their degrees. Students are welcome to investigate details of the proposed theme and come up with a realistic prototype.
A LabMF project report will be of help concerning the overall Java layer architecture of the web-service.
John Fitzgerald, Peter Gorm Larsen, Paul Mukherjee, Nico Plat, and Marcel
Verhoef.
Validated Designs for Object-oriented Systems.
Springer, New York, 2005.
J.N. Oliveira.
Program Design by Calculation
.
Draft of textbook in preparation.
Departamento de Informática, Universidade do Minho, 2005.
R. Bird and O. de Moor.
Algebra of Programming .
Series in Computer Science. Prentice-Hall International, 1997.
C. A. R. Hoare, series editor.
C. B. Jones.
Systematic Software Development Using VDM.
Series in Computer Science. Prentice-Hall International, 1986.
C. A. R. Hoare.
C. Morgan.
Programming from Specification.
Series in Computer Science. Prentice-Hall International, 1990.
C. A. R. Hoare, series editor.
J. N. Oliveira.
Métodos Formais de Programação.
Departamento de Informática, Universidade do Minho, 4.ª edição, 1998.
489 p.
[available as a zipped 2.8 Mb
(PDF+PS) file]).
J.N. Oliveira.
An Introduction to Pointfree Programming.
37p., Departamento de Informática, Universidade do Minho, 1999.
J.N. Oliveira.
Recursion in the Pointfree Style.
33p., Departamento de Informática, Universidade do Minho, 1999.
Época | Chamada | Data | Hora | Salas | Inscritos | Prova |
---|---|---|---|---|---|---|
Normal | 1.ª | 4.ª-feira, 21 de Junho de 2006 | 09h30 | 1316 a 1318 | 34 | |
Normal | 2.ª | 2.ª-feira, 10 de Julho 2006 | 14h00 | 2201, 2202 | 45 | |
Recurso | - | Sábado, 22 de Julho 2006 | 09h30 | 2210, 2211 | ... | |
Especial | - | 2.ª-feira, 9 de Outubro 2006 | 16h00 | 2205 | ... |
[ Informação removida (RGPD artigo 17º) ]
Classificações
Voltar à página principal de MFP-II.