<?xml version="1.0"?>
<metadata xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dc="http://purl.org/dc/elements/1.1/"><dc:title>Using Object-Oriented Design to Develop LabVIEW Components of an Accelerator Control System</dc:title><dc:creator>Subašić,	Adi	(Avtor)
	</dc:creator><dc:creator>Blažič,	Sašo	(Mentor)
	</dc:creator><dc:subject>software design principles</dc:subject><dc:subject>object-oriented design</dc:subject><dc:subject>LabVIEW development</dc:subject><dc:subject>accelerator control system</dc:subject><dc:description>This work analyzes software design methodologies and principles, later focusing on developing object-oriented components of an accelerator control system. It covers the topics of software design in great detail, while trying to keep the topics readable and understandable to a more general audience. Design techniques applicable in LabVIEW are introduced and the final object-oriented approach is presented. An overview of the physical structure and the software architecture of an accelerator control system is provided, along with a brief introduction to accelerator physics. Object-oriented design principles are utilized to develop software components for regulating devices that control the strength of magnets used for directing and focusing the particle beam, provide power for the accelerating column and manage the flow of particles before the start of acceleration. The operation of the devices is tested with simulators and the design is evaluated using a number of object-oriented design metrics.

The performance evaluation of the system analyzed the object-oriented quality attributes based on the results from the design metrics. The performance results showed that the system was generally well designed. The system is modular, loosely coupled and incorporates cohesive classes. The system features usability in the form of template reuse, where new components can be developed by using the existing components presented in this work as a template. There is a potential for improvement of reusability through inheritance, which can be increased by making deeper inheritance trees. However, this avenue is not recommended for the current system as it is costly to implement and doesn't benefit the final product. Even in the future, for similar projects, increasing reusability through inheritance should be approached with caution.</dc:description><dc:publisher>[A. Subašić]</dc:publisher><dc:date>2021</dc:date><dc:date>2021-06-30 11:30:00</dc:date><dc:type>Magistrsko delo/naloga</dc:type><dc:identifier>127978</dc:identifier><dc:identifier>UDK: 681.5:004(043.2)</dc:identifier><dc:identifier>VisID: 55621</dc:identifier><dc:identifier>COBISS_ID: 68686851</dc:identifier><dc:language>sl</dc:language></metadata>
