/Masters

Universidade Do Minho - Formal Methods and Distributed Systems

Primary LanguageJava

Formal Methods and Distributed Systems

Universidade do Minho

Index by Master

  • Formal Methods

    • Calculus of Information Systems - Relational approach to Program Calculation by design. Working at a higher level allows us to perform powerful proofs using somewhat simple (but progressively more complex) concepts.
    • Specification and Modeling - First-order, second-order (relation) and temporal logic used with Alloy/Electrum in order to specify models about anything and reason about their properties.
    • Software Testing and Analysis - Unit Testing, QuickCheck for log generation and property testing, analysing metrics and code smells and refactoring Java code.
  • Distributed Systems

    • Distributed Systems Fundamentals - Mostly focused on working with asynchronous socket types, Completable Future being the most advanced methods we used for dealing with those sockets.
    • Distributed Systems Paradigms - Learned about different architectures used commonly in Distributed Systems such as Actor and Event Oriented Programming, REST API's, 0MQ middleware (PUB-SUB, PUSH-PULL, REQ-REP architectures) and a very small contact with Protocol Buffers.
    • Systems Deployment and Benchmarking - Fully automated methods of setting up complex applications in distributed architectures. Also learned about planning those architectures keeping in mind perfomance and scalability.