Ana Krulec
University of Waterloo: Course Work
- CS745: Computer-Aided Verification
- CS775: Parallel Algorithms in Scientific Computing
- CS842: Concurrent Programming Mechanisms and Tools
- CS889: Selected topics in Human Computer Interaction
- CS860: Search Engines: From Design to Implementation
University of Waterloo: Teaching Assistant
- Fall 2010: CS343 - Concurrent and Parallel Programming
- Spring 2010: CS246 - Software Abstraction and Specification
- Fall 2009: CS246 - Software Abstraction and Specification
- Spring 2009: CS246 - Software Abstraction and Specification
- Winter 2009: CS115 - Introduction to Computer Science 1
University of Waterloo Masters Thesis
Abstract:
- The Feature-Oriented Requirements Modelling (FORM) combines
the RE-style structuring of requirements documents with the
feature-orientation of the Feature Oriented Software Development,
resulting in a feature-oriented model of the functional requirements
of an system-under-development (SUD). A feature is a distinguishable unit of
added value to the SUD. The objectives of FORM are to
model features as independent modules; to allow the addition of new features
with minimal changes to the existing features; and to enable automatic
generation and checking of properties like correctness, consistency,
and non-determinism. The FORM methodology structures requirements into
three models: a domain model, a collection of behavioural models, and
a collection of functional models. Features are modelled as distinct
behavioural models. In this thesis we evaluate FORM by applying it to
a new application that can be thought of in terms of
features. We modelled an Online Trading System (OTS) that receives
requests from customers about buying or selling securities on a stock
market. The OTS offers variability in terms of the types of orders
that customers can request (e.g. market order, limit order, stop
order, etc.). The case study revealed five deficiencies of the FORM
notation, four of which were easily overcome. We present the results
of the case study, our resolutions to four of the five deficiencies, and an outline
of an approach to model the last deficiency.
University of Primorska Bachelor Thesis
Abstract:
- In the last couple of decades the amount of data being processed have been in-
creasing in size, from a few gigabytes to several terabytes. Most of the algorithms
so far have been designed to minimize internal computation time (i.e. comparison
based model), however I/O transfer between main memory and slow storage disk
often becomes performance bottleneck (i.e. cell probe model
and I/O model).
- Many problems can be solved by reducing them to solving graph algorithms,
and here graph theory becomes essential. Most popular algorithms for searching
through graphs are breadth-first search (BFS) and depth-first search (DFS). If
we reduce processing massive amounts of data to graph theory problems, these
algorithms need to be fast and effective. They need to take into account not only
time and space constraints, but also the number of accesses and how they are
accessed. Here the study of I/O efficient algorithms becomes invaluable.
- The thesis focuses on terrain analysis, mainly on water flow routing and flow
accumulation. A flat surface area is transformed into a graph, which we tra-
verse with I/O efficient BFS simulating a river flow. At the end empirical time
measurements are be taken to prove the efficiency of the algorithm.
- Our results show not only that I/O efficient BFS is faster and more efficient
than internal implementation, but also that the I/O efficient algorithm can solve
larger problems.
- Key words: Computer Architecture, Analyzing Algorithms, Breadth-First-
Search, I/O efficient Algorithms, Shortest Paths, Terrain Modeling, Flow Rout-
ing, Flow Accumulation on Flat Areas.
- Pdf: Ana Krulec Diplomska