User Tools

Site Tools


projects_list

This is an old revision of the document!


Partial List of Projects Offered

Title: Graphical Simulator for Systems Specified using Communicating Concurrent Kleene Algebra Supervisor: Dr. Jason Jaskolka

	jaskolka@sce.carleton.ca
	(613) 520-2600 Ext. 1873
       

Project Description Simulating the behaviour and operation of a system provides a means for studying the dynamics and evolution of the system, and can aid in verifying and validating that the system behaves as expected under different scenarios and alternative system conditions. This can help to ensure that any potential issues leading to unsafe or insecure system behaviours can be addressed while at the system specification and design stages. Communicating Concurrent Kleene Algebra (C²KA) [1] is an algebraic framework for specifying distributed multi-agent systems. It offers a hybrid view of communication and concurrency that encompasses the characteristics of both state-based and event-based models.

Although C²KA offers facilities to study the behaviour of distributed systems at a convenient abstract algebraic level, it currently lacks a means for directly simulating and displaying the behaviour of a system specified using its algebraic framework. To address this need, this project aims to develop a graphical simulation tool that allows for the visualization of the step-wise simulation (at both the event and state levels) of small systems (or sub-systems) specified using C²KA. It will involve the development of the requirements, architectural and detailed design, and implementation of a practical and scalable software tool to aid in the analysis of distributed multi-agent systems.

Additional Comments: • Strong programming skills are essential • Familiarity and/or experience with programming GUIs and graphing libraries is recommended • Thorough knowledge of Mealy automata or finite state machines is recommended

References: [1] J. Jaskolka, R. Khedri, and Q. Zhang. “Endowing concurrent Kleene algebra with communication actions.” In P. Höfner, P. Jipsen, W. Kahl, and M.E. Müller, editors, Proceedings of the 14th International Conference on Relational and Algebraic Methods in Computer Science, volume 8428 of Lecture Notes in Computer Science, pages 19-36. Springer International Publishing Switzerland, Marienstatt, Germany, April 2014


Title: Tool Support for Extracting Intended System Interactions from UML Diagrams

Supervisor: Dr. Jason Jaskolka

	jaskolka@sce.carleton.ca
	(613) 520-2600 Ext. 1873

Project Description: Systems typically have intended sequences of communication and interactions among their constituent components to co-ordinate their behaviours when performing their functions. Often, this set of intended system interactions is provided by the system designer in the form of UML diagrams (e.g., collaboration diagrams, sequence diagrams, message passing diagrams, etc.).

Currently, the extraction of intended system interactions from system designs is a manual, labour-intensive, and error-prone process. This project aims to address these issues by automating the extraction process. The goal of this project is to develop a practical and scalable software tool that can extract a set of intended system interactions (as described in [1]) from a representation of a system design as a UML diagram. It will involve the development of the requirements, architectural and detailed design, and implementation of the tool.

The resulting set of intended system interactions is expected to serve as a reference set of system interactions to aid in identifying implicit component interactions (i.e., those interactions that may be unexpected or unforeseen by the system designers). In the long term, the tool support developed in this project will be incorporated into larger workflows aiming to identify and analyze implicit component interactions in complex distributed systems, ultimately impacting the security and safety of a system.

Additional Comments: • Strong programming skills are essential • Familiarity with UML is highly recommended

References: [1] J. Jaskolka and J. Villasenor. “An approach for identifying and analyzing implicit interactions in distributed systems.” IEEE Transactions on Reliability, 66(2):529-546, June 2017.


Title: Machine Learning for Medical Imaging Supervisor: Prof. Eran Ukwatta

Brief description: Atherosclerosis is a silent disease, where vulnerable plaques develop in the medium and large sized arteries. The patients with the advanced atherosclerotic disease may suffer major cardiovascular events, such as heart disease or stroke with no overt symptoms. Traditional imaging approaches, such as computed tomography angiography (CTA), provide little soft tissue contrast and/or no cross-sectional views. New developments in engineering and the physics behind magnetic resonance imaging (MRI) have created the potential for non-invasive and in vivo measurements of atherosclerosis for the assessment of plaque burden. MRI imaging techniques not only provide cross-sectional views of the vessel wall, but also the soft tissue contrast good enough to distinguish vulnerable soft plaque from low-risk calcified plaque. Carotid arteries are a major site for atherosclerotic plaque development. One of the major steps in the clinical workflow in obtaining quantitative information about the plaque composition is the segmentation of the vessel wall of the carotid arteries. However, manual segmentation of the vessel wall is tedious and subject to high inter-observer variability. There is, therefore, a need for the development of automated methods that will increase the precision, accuracy, consistency and efficiency of segmentation. In the proposed research project, the student will develop and evaluate a new image processing technique for segmentation of the vessel wall of the carotid arteries for the assessment of atherosclerotic disease in humans.


Title: How to use medical imaging to diagnose and monitor patients at risk of heart attack? Supervisor: Prof. Eran Ukwatta

Brief description: Myocardial infarction or a heart attack, a medical condition in which regions of a patient's myocardium lose viability due to prolonged ischemia, is a prominent cause of serious complications, including heart failure an ventricular arrhythmia. Previous studies have demonstrated that infarct region plays an important role in creating the abnormal electrical activity of the heart. A T1 mapping technique, namely the multi-contrast late gadolinium enhanced (MCLE) imaging, have recently shown to be more reproducible in quantifying infarct volumes than the conventional late gadolinium enhanced cardiac magnetic resonance (LGE-CMR) technique. Further, a recent study has shown that infarct volumes extracted from MCLE images were more sensitive in predicting patient outcomes than those extracted from conventional LGE-CMR images.

Recently, computational modeling of hearts has emerged as a promising tool to guide patient-specific diagnosis and the treatment of associated rhythm disorders. However, to accurately represent patient-specific structural remodeling, computational models must incorporate accurate geometric reconstructions of infarct regions. Given that the infarct regions extracted from MCLE images are more accurate than the ones extracted from conventional LGE-CMR images, the personalized models built using infarct regions extracted from MCLE images may provide more sensitive in predicting abnormal electrical activity of the heart. The objective of this study is to test this hypothesis.


Title: Practical GUI testing Supervisor: Prof. Yvan Labiche (labiche@sce.carleton.ca)

Brief Description: As part of the Masters of Engineering degree program, which provides technical expertise at the graduate level, this SYSC5900 course project consists (1) in becoming familiar with a number of software tools that are typically used for testing software with a graphical user interface (GUI) and (2) in experimenting with those tools on at least two GUI-based software. The learning objectives of the project course therefore include (i) knowledge of principles for and issues of testing software that has a GUI, (ii) familiarity with typical software testing tools to conduct GUI-based software, (iii) experimental software engineering (i.e., principles of experimentations in software engineering research).

Comments: The work will be conducted under the supervision of the professor and a Ph.D. candidate. Software construction, i.e., programming (e.g., Java), is a pre-requisite. Knowledge of software testing is *not* a pre-requisite. The project course would ideally take place in the Fall of 2017.


Title: Practical State-Based testing Supervisor: Prof. Yvan Labiche (labiche@sce.carleton.ca)

Brief Description: As part of the Masters of Engineering degree program, which provides technical expertise at the graduate level, this SYSC5900 course project consists (1) in becoming familiar with state-of-the-art techniques to verify (through testing) software implementation from a state machine describing its behaviour (i.e., functional or black-box testing), and (2) in experimenting with these techniques on a number of software systems that exhibit (and are therefore specified with) a state-based behaviour. The learning objectives of the project course therefore include (i) knowledge of principles for and issues of testing software that exhibit state-based behaviour, (ii) expertise with the application of those techniques on real software, (iii) experimental software engineering (i.e., principles of experimentations in software engineering research). Comments: The work will be conducted under the supervision of the professor and a Ph.D. candidate. Software construction, i.e., programming (e.g., Java), is a pre-requisite. Knowledge of software testing is *not* a pre-requisite. The project course would ideally take place in the Fall of 2017.


Title: Practical Test Case Diversity Supervisor: Prof. Yvan Labiche (labiche@sce.carleton.ca)

Brief Description: As part of the Masters of Engineering degree program, which provides technical expertise at the graduate level, this SYSC5900 course project consists (1) in becoming familiar with principles of and issues with software testing, (2) becoming familiar with the principle that high test case diversity is assumed to lead to high fault detection, and (3) automatically measuring test case diversity, using various metrics, of a number of test suites for a number of software under test. The learning objectives of the project course therefore include (i) knowledge of software testing principles, including test case diversity, (ii) software construction of a framework so test case diversity can be measured according to various state-of-the-art diversity metrics (recall a framework is meant to be extended, so software design is an important aspect of the project), (iii) execution of the framework, with implemented state-of-the-art diversity metrics, on several sets of test cases for several software systems under test, and (iv) experimental software engineering (i.e., principles of experimentations in software engineering research).

Comments: The work will be conducted under the supervision of the professor. Software construction, i.e., programming (e.g., Java), is a pre-requisite. Knowledge of software testing is *not* a pre-requisite. The project course can take place either in the Fall of 2017 or Winter (or even Summer) of 2018.


Title: Practical Clone detection in test code Supervisor: Prof. Yvan Labiche (labiche@sce.carleton.ca)

Brief Description: As part of the Masters of Engineering degree program, which provides technical expertise at the graduate level, this SYSC5900 course project consists (1) in becoming familiar with the issues of cloning (e.g., duplications) in test code (also known as test script), (ii) in becoming familiar with state-of-the-art of clone detection techniques, and (iii) automatically detecting clones in test code for freely available test code for open-source software. The learning objectives of the project course therefore include (i) knowledge of software testing principles, (ii) knowledge of clone detection (this applies to test code but also to any piece of application code since we use the same techniques), and (iii) experimental software engineering (i.e., principles of experimentations in software engineering research). Comments: The work will be conducted under the supervision of the professor and a Ph.D. candidate. Software construction, i.e., programming (e.g., Java), is a pre-requisite. Knowledge of software testing is *not* a pre-requisite. The project course can take place either in the Fall of 2017 or Winter (or even Summer) of 2018.

projects_list.1504293326.txt.gz · Last modified: 2017/09/01 15:15 by gwainer