Main | Curriculum Vitae | Publications
| Lectures | Membership
| Magyarul
Theory of software methodology I-II
Semantics of
Programming Languages I.
Semantics of
Programming Languages - a special course
| A TÁRGY NEVE:
  Formal Semantics | |||||||
| Célja: Formal description of programming languages. Classification of semantic description methods
  according to the application areas.  | |||||||
| Tartalmi
  ismeretek: Classification of
  semantic descriptions. From syntax to semantics: attribute grammars,
  two-level grammars.  Formal methods:
  denotational semantics, operational semantics. Equivalence results. | |||||||
| Kialakítandó
  készségek: Understand of semantic
  descriptions. Skills for applying different kind of semantics methods. Deep
  understand of theoretical background of programming languages. | |||||||
| Összes
  óraszám[1]: 60 | |||||||
| A tantárgy
  kredit értéke[2]: 2 | |||||||
| tanítási-tanulási
  órák típusa | előadás | laboratóriumi gyakorlat | tantermi gyakorlat | önálló tanulás | |||
| félévi óraszám | 30 |  |  | 30 | |||
| a számonkérés módja | kollokvium |  |  |  | |||
| heti óraszám |  |  |  |  | |||
| előzmény
  tárgyak | név | összes
  óraszám | rövid
  tartalom | ||||
|  |  |  |  | ||||
| Irodalom: H. R. Nielson, and F. Nielson: Semantics with
  Applications. A Formal Introduction.             John Wiley &Sons Ltd., 1992. McIver, A., Morgan, C.: Programming Methodology.
  Springer-Verlag, 2003. | |||||||
| Ajánlott irodalom: Pagan, F. G. : Formal Specification of Programming Languages: A
  Panoramic Primer. Prentice Hall, INC. , 
  1981. Gordon, M. J. C.: The Denotational Description of Programming Languages.
  Springer-Verlag, 1979. | |||||||
| A TÁRGY NEVE:
  Synthesis and Verification | |||||||
| Célja: Correctness proof methods of sequential and parallel
  programs. | |||||||
| Tartalmi
  ismeretek: Basic notions of correct sequential
  programs. Floyd method for proving partial end total correctness of
  sequential flow charts programs. Hoare method for proving partial and total
  correctness of structural programs. Basic notion of correct parallel and
  concurrent programs.  Behavioural
  analysis of concurrent programs using shared variables, semaphores, monitors,
  resources, remote procedure calls, message passing. Correctness proof methods
  of parallel programs. Formal derivation of weakly and strongly correct
  concurrent programs. A method for solving synchronization problems. Basic
  notion of contracts. Contracts as a way of modeling a collection of agents. | |||||||
| Kialakítandó
  készségek: Understand of theoretical
  and practical aspects of correctness proof methods of programs. Understand of
  formal methods for deriving weakly and strongly correct concurrent programs.
  Developing skills for applying proof and synthesis methods. Ability to use
  abstraction to create correct programs.  | |||||||
| Összes
  óraszám[3]: 60 | |||||||
| A tantárgy
  kredit értéke[4]: 2 | |||||||
| tanítási-tanulási
  órák típusa | előadás | laboratóriumi gyakorlat | tantermi gyakorlat | önálló tanulás | |||
| félévi óraszám | 30 |  |  | 30 | |||
| a számonkérés módja | kollokvium |  |  |  | |||
| heti óraszám | 2 |  |  |  | |||
| előzmény
  tárgyak | név | összes
  óraszám | rövid
  tartalom | ||||
|  |  |  |  | ||||
| Irodalom: Kozma L., Varga L.: A szoftvertechnológia elméleti kérdései. ELTE Eötvös
  kiadó, 2006. Manna, Z.: Programozáselmélet. Műszaki könyvkiadó, 1981. | |||||||
| Ajánlott irodalom: Kröger, F.: Temporal Logic of Programs. Springer-Verlag, 1987. McIver, A., Morgan, C.: Programming Methodology.
  Springer-Verlag, 2003. | |||||||
| A TÁRGY NEVE:
  Component-Based Software Development | |||||||
| Célja: Basic notions of the component-based software
  development. Methodologies, tools and their applications. | |||||||
| Tartalmi
  ismeretek: Notion of component-based
  software development. The notions of component library, component models and
  software architectures. A component-based software development model. A tool
  for developing correct system from prefabricated components. Temporal
  logic-based verification techniques for components. | |||||||
| Kialakítandó
  készségek: Understand of the
  theoretical aspects of component-based software development process. Skills
  for applying developing methods and tools for building system from verified
  components. Increasing ability for using abstractions during whole life
  cycles of programs. | |||||||
| Összes
  óraszám[5]: 90 | |||||||
| A tantárgy
  kredit értéke[6]: 3 | |||||||
| tanítási-tanulási
  órák típusa | előadás | laboratóriumi gyakorlat | tantermi gyakorlat | önálló tanulás | |||
| félévi óraszám | 30 |  |  | 60 | |||
| a számonkérés módja | kollokvium |  |  |  | |||
| heti óraszám | 2 |  |  |  | |||
| előzmény
  tárgyak | név | összes
  óraszám | rövid
  tartalom | ||||
|  |  |  |  | ||||
| Irodalom: Bass, L., Clements P., Kazman R.: Software Architecture
  in Practice. Addison-Wesley, 2003. Clarke, E. M. Jr., Grumberg, O., Peled, D. A.: Model
  Checking. The MIT Press, 1999. Gross, H-G.: Component-based Software Testing with UML.
  Springer-Verlag, 2005. | |||||||
| Ajánlott irodalom: Kozma L., Varga L.: A szoftvertechnológia elméleti kérdései. ELTE Eötvös
  kiadó, 2006. Kröger, F.: Temporal Logic of Programs. Springer-Verlag, 1987. McIver, A., Morgan, C.: Programming Methodology. Springer-Verlag, 2005. Meyer, G. B.: Object-Oriented Software Construction, Second edition.
  Prentice Hall, 1997. Nyékyné Gaizler J. eds.: Java 2 útikalauz programozóknak. ELTE TTK
  Hallgatói Alapítvány, 1999. Sike S., Varga L.: Szoftvertechnológia és UML. ELTE Eötvös kiadó, 2003. | |||||||
|   |   | 
| Description: | |
| Algebra
  and abstract data types. Signatures, sigma-algebras, categories,
  specification, signature-morphism, specification-morphism. Specification methods
  for abstract data types, class specification. A specification methodology for
  abstract data types: analysis of specification, analysis of representation
  and implementation. Proof methods for program correctness. Correctness of
  concurrent programs. A methodology for deriving correct concurrent programs.
  Data types in concurrent environment, synchronisation interface.
  Specification methods for synchronisation interface. Analysis of
  specification, proof of consistence problems.  | |
   Literatures: 
| [1] | Kozma László, Varga
  László: A szoftvertechnológia elméleti kérdései, ELTE Eötvös Kiadó, 2003  | 
| [2] | H. Ehrig and B.
  Mahr: Fundamentals of Algebraic Specification 1 Equations and Initaial
  Semantics, Springer-Vrlag Heidelberg, 1985. | 
| [3] | H. Ehrig and B.
  Mahr: Fundamentals of Algebraic Specification 2 Module Specifications and
  Constraints, Springer-Vrlag Berlin Heidelberg, 1990. | 
| [4] | R. Wieringa: A
  Survey of Structured and Object-Oriented Software Specification Methods and
  Techniques, ACM Computing Surveys, Vol. 30, No. 4, 1998, pp. 459-527. | 
| [5] | A. Burns, G. Davies:
  Concurrent Programming, Addison-Wesley Pu. Co. Wokingham England 1993. | 
| [6] | A. Trew and G.
  Wilson: Past, Present, Parallel, Springer-Verlag London Berlin Heidelberg,
  1991. | 
|   |   | 
| Description: | |
| Semantic
  description methods. Denotational semantics. Semantic domains and semantic
  functions. Fixed point theory. The meaning of different language constructs.
  Operational semantics. Transition systems. Natural semantics, structural
  operational semantics. The meaning of non-deterministic and parallel
  constructs. Equivalence results. Axiomatic program verification. Attribute
  grammars and two-level grammars. Static program analysis. Semantic methods of
  object-oriented languages.  | |
   Literatures: 
| [1] | H. R. Nielson, F.
  Nielson: Semantics with Applications, A Formal Introduction, John Wiley &
  Sons, 1992. | 
| [2] | F.G. Pagan: Formal
  Specification of Programming Languages: A Panoramic Primer, Prentice Hall,
  1981  | 
| [3] | J. E. Stoy:
  Denotational Semantics: The Scott-Strachey Approach to Programming Language
  Theory, MIT Press, 1977.  | 
| [4] | M. Abadi, L.
  Cardelli: A Theory of Objects, Springer-Verlag, 1996 | 
|   |   | 
| Description: | |
| Overview
  of new results on semantics of programming languages and on software
  architectures.  | |
   Literatures: 
| [1] | Bass, L., Clements,
  P., Kazmar, R.: Software Architecture in Practice (Second Edition),
  Addison-Wesley, 2003. | 
| [2] | Sparling, M.:
  Lessons learned through six years of component-based development,
  Communications of the ACM, pp. 47-53, Vol. 43., October 2000.  | 
| [3] | Fayad, M.E., Hamu,
  D.S., Brugali, D.: Enterprise frameworks - Characteristics, criteria and
  challenges, Communications of the ACM, pp. 39-46, Vol. 43., October 2000. | 
| [4] | Kobryn, C.: Modeling
  components and frameworks with UML, Communications of the ACM, pp. 31-38,
  Vol. 43., October 2000. | 
[1]
Összes óraszám = félévi előadások +gyakorlatok+ laboratóriumi gyakorlatok száma
+önálló tanulás becsült óraszáma
[2]
A tantárgy kredit értékét célszerű az alábbi képlet kerekített értékével
számolni:
kredit = összes óraszám/30 
[3]
Összes óraszám = félévi előadások +gyakorlatok+ laboratóriumi gyakorlatok száma
+önálló tanulás becsült óraszáma
[4]
A tantárgy kredit értékét célszerű az alábbi képlet kerekített értékével
számolni:
kredit = összes óraszám/30 
[5]
Összes óraszám = félévi előadások +gyakorlatok+ laboratóriumi gyakorlatok száma
+önálló tanulás becsült óraszáma
[6]
A tantárgy kredit értékét célszerű az alábbi képlet kerekített értékével
számolni:
kredit = összes óraszám/30