Distributed Systems and Domain-Specific Modeling

A tantárgy neve magyarul / Name of the subject in Hungarian: Elosztott rendszerek és szakterületi modellezés

Last updated: 2015. november 13.

Budapest University of Technology and Economics
Faculty of Electrical Engineering and Informatics
MSc degree program in Engineering Information Technology
Applied Informatics
Course ID Semester Assessment Credit Tantárgyfélév
VIAUMA01 1 2/1/0/v 4  
3. Course coordinator and department Dr. Charaf Hassan,
4. Instructors

Name:

Position:

Department:

 

Dr. Charaf Hassan

Associate professor

Dept. of Automation and Applied Informatics

Dr. Mezei GergelyAssociate professor

Dept. of Automation and Applied Informatics

5. Required knowledge Object-oriented programing, Software techniques
6. Pre-requisites
Kötelező:
NEM ( TárgyEredmény( "BMEVIAUM124" , "jegy" , _ ) >= 2
VAGY
TárgyEredmény( "BMEVIAUM126" , "jegy" , _ ) >= 2
VAGY
TárgyEredmény( "BMEVIMIMA00" , "jegy" , _ ) >= 2
VAGY
TárgyEredmény("BMEVIAUM124", "FELVETEL", AktualisFelev()) > 0
VAGY
TárgyEredmény("BMEVIAUM126", "FELVETEL", AktualisFelev()) > 0
VAGY
TárgyEredmény("BMEVIMIMA00", "FELVETEL", AktualisFelev()) > 0
VAGY
TárgyEredmény( "BMEVIAUMA22" , "jegy" , _ ) >= 2
VAGY
TárgyEredmény("BMEVIAUMA22", "FELVETEL", AktualisFelev()) > 0)

A fenti forma a Neptun sajátja, ezen technikai okokból nem változtattunk.

A kötelező előtanulmányi rend az adott szak honlapján és képzési programjában található.

7. Objectives, learning outcomes and obtained knowledge
The goal of this course is to teach component-based technologies, the usage of middleware services, distributed systems, asynchronous communication, reliability, security, scalability, distributed state handling and monitoring. Furthermore, the goal is to teach domain-specific languages and modeling techniques, model processing and using these techniques in creating software. 
8. Synopsis

 

Lecture content

1.

Introduction to distributed systems. Theoretical background, designing and implementing distributed information systems. 

2.

Paradigms of ooObject-, and software components, standardized architectures (DCOM, CORBA), code reuse, component-based programming.

3.

 Component technologies. Possible realizations of distributed software, the design aspects of component-based systems, communication between the applications.

4.

Middleware services, transactions, asynchronous operation (MTS, MSMQ)

5.

Security, reliability and asynchronicity in distributed environment, distributes state management, multi threaded programming, multitier architectures.

6.

 Distributed data handling and visualization, scalability - questions and solutions

7.

Tipical distributed architectures (e.g. P2P), case studies

8.

Introduction to domain-specific modeling. Model-driven software development. Case studies and motivation.

9.

Software modeling, textual languages. 

10.

Visual languages, constraints (OCL). 

11.

Concrete syntax (textual and visual languages), semantics (informal, operational, denotational, axiomatic)

12.

Generative programming, model processing

13.

Graph rewriting and graph transformations

14.

Simulation techniques (DESS, DTSS, DEVS)

 

 

Seminar content

1.

Distributed architectures, designing principles based on a case study

2.

Using standardized architectures - based on case studies. Creating a distributed system in practice.

3.

Performance metrics of distributed techniques, fine tuning, scaling and monitoring the systems. Illustrating the security aspects.

4.

Using domain-specific languages in practice. Design decisions, practical experiences. 

5.

Metamodeling and visual languages case studies

6.

Modell processing and code generation case studies

7.

Simulation in practice

9. Method of instruction Lecture, seminar
10. Assessment
During the semester: one midterm exam
In the exam period: written exam.
The midterm exam yields 40%, and the exam yields 60% of the final grade.
11. Recaps The midterm exam can be repeated during the repeat period in accordance with the Code of Studies and Exams.
12. Consultations Arranged on demand by the lecturer or instructor.
13. References, textbooks and resources
Don Box, Essential COM, Addison-Wesley Professional, 1998.
Mary Kirtland, Designing component-based applications, Microsoft Press, 1999.
Errol Simon, Distributed information systems, McGraw-Hill, 1996.
Jon Siegel, CORBA 3 Fundamentals and Programming, John Wiley & Sons, 2000.

Krysztof Czarnecki, Ulrich Eisenecker, Generative Programming: Methods, Tools, and Applications, Addison-Wesley, 2000.
Steven Kelly, Juha-Pekka Tolvanen, Domain-Specific Modeling: Enabling Full Code Generation, Wiley-IEEE Computer Society Press, 2008.
Martin Fowler, Domain-Specific Languages, Addison-Wesley Professional, 2010

14. Required learning hours and assignment
Contact class42
Preparation for the classes14
Preparation for the midterm exam20
Preparing homework-
Reading assigned materials-
Preparation for the final exam44
Sum120
15. Syllabus prepared by

Name:

Position:

Department:

 

Dr. Charaf Hassan

Associate professor

Dept. of Automation and Applied Informatics

Dr. Mezei GergelyAssociate professor

Dept. of Automation and Applied Informatics