Orest Pilskalns
Washington State University Vancouver
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Orest Pilskalns.
International conference on the unified modeling language | 2003
Orest Pilskalns; Anneliese Amschler Andrews; Sudipto Ghosh
Error detection and correction in the design phase can reduce total costs and time to market. Yet, testing of design models usually consists of walk-throughs and inspections both of which lack the rigor of systematic testing. Test adequacy criteria for UML models help define necessary objectives during the process of test creation. These test criteria require coverage of various parts of UML models, such as structural (Class Diagram) and behavioral (Sequence Diagram) views. Test criteria are specific to a particular UML view. Test cases on the other hand should cover parts of multiple views. To understand testing needs better, it is useful to be able to observe the effect of tests on both Class Diagrams and Sequence Diagrams. We propose a new graph that encapsulates the many paths that exist between objects via their method calls as a directed acyclic graph (OMDAG). We also introduce the object method execution table (OMET) that captures both execution sequence and associated attribute values by merging the UML views. The merging process is defined in an algorithm that generates and executes tests.
international conference on software maintenance | 2006
Orest Pilskalns; Gunay Uyan; Anneliese Amschler Andrews
As model driven architectures (MDAs) gain in popularity, several techniques that test the UML models have been proposed. These techniques aim at early detection and correction of faults to reduce the overall cost of correcting them later in the software life-cycle. Recently, Pilskalns et al., 2003 proposed an approach to test the UML design models to check for inconsistencies. They create an aggregate model which merges information from class diagrams, sequence diagrams and OCL statements, then generate test cases to identify inconsistencies. Since designs change often in the early stages of the software life-cycle, we need a regression testing approach that can be performed on the UML model. By classifying design changes, and then further classifying the test cases, we provide a set of rules about how to reuse part of the existing test cases, and generate new ones to ensure all affected parts of the system are tested adequately. The approach is a safe and efficient selective retest strategy. A case-study is reported to demonstrate the benefits
Information & Software Technology | 2007
Orest Pilskalns; Anneliese Amschler Andrews; Andrew Knight; Sudipto Ghosh
Early detection and correction of faults in the software design phase can reduce total cost and time to market of a software product. In this paper we describe an approach for testing UML design models to uncover inconsistencies. Our approach uses behavioral views such as Sequence Diagrams to simulate state change in an aggregate model. The aggregate model is the artifact of merging information from behavioral and structural UML views. OCL pre-conditions, post-conditions and invariants are used as a test oracle.
international symposium on software reliability engineering | 2003
Sudipto Ghosh; Conrad Braganza; Nilesh Kawane; Anneliese Amschler Andrews; Orest Pilskalns
Systematic design testing, in which executable models of behaviors are tested using inputs that exercise scenarios, can help reveal flaws in designs before they are implemented in code. We present a testing method in which executable forms of the Unified Modeling Language (UML) models are tested. The method incorporates the use of test adequacy criteria based on UML model elements in class diagrams and interaction diagrams. Class diagram criteria are used to determine the object configurations on which tests are run while interaction diagram criteria are used to determine the sequences of messages that should be tested. The criteria can be used to define test objectives for UML designs. In this paper, we describe and illustrate the use of the proposed test method and adequacy criteria.
international conference on software maintenance | 2005
Orest Pilskalns; Daniel Williams; Anneliese Amschler Andrews
During component based software engineering it is important for component developers to design components that show high cohesion within a component and low coupling between components. Empirical data shows that software artifacts possessing these properties are more maintainable. Current practice in design metric evaluation relies on extracting structural metrics from individual UML views. This paper defines a dynamic approach that collects metrics during execution of a model that integrates both UML class and sequence diagrams. These design metrics are used to evaluate component choices by examining cohesion and coupling properties. We base our design metrics on code metrics that have been positively correlated with quality. We provide an empirical study that demonstrates a positive correlation between design and code metrics.
Computer Science Education | 2009
Orest Pilskalns
A senior project course is often employed to expose students to industrial problems and teamwork. Students are expected to use industrial strength tools to deal with issues such as requirements, design, process models, collaboration, management, testing, maintenance and more. In addition, the senior project often plays a large role in satisfying outcomes related to the Accreditation Board for Engineering and Technology (ABET) accreditation process. The senior projects are often provided by the schools industry partners, however, this does not guarantee student interest and commitment. From the students perspective, as the semester ends, so does the project. This study presents a case study for an alternative method to senior projects – an entrepreneurial approach that motivates students and aids with the ABET assessment process.
computer software and applications conference | 2006
Orest Pilskalns; Daniel Williams; Damir Aracic; Anneliese Amschler Andrews
Security attacks continually threaten distributed systems, disrupting both individuals and organizations economically and physically. In the software lifecycle, early detection and correction of security flaws in the design phase can reduce overall costs associated with maintenance. Current software development methodologies such as the model driven architecture rely on quality Unified Modeling Language (UML) design models. Often these models are complex and consist of many structural and behavioral views. This can lead to inconsistencies between views. Existing approaches remedy many of these inconsistencies but do not address security consistency across design views. This paper presents an approach to detecting and resolving security faults in UML designs. The approach defines the notion of security inconsistency in designs, analyzes UML views for security inconsistencies, and generates a set of recommended design changes that include Object Constraint Language (OCL) expressions. The OCL can be used as a test oracle in both the design and implementation phases of the software life-cycle
international symposium on multimedia | 2002
Frederick T. Sheldon; Kshamta Jerath; Orest Pilskalns
This paper presents a case study highlighting the best practices for designing and developing a B2B e-commerce system. We developed a remote order-and-delivery Web-based system for an auto-parts manufacturing company. The system requirements were determined by interviewing employee stakeholders. An initial scenario of the system was prototyped and refined until the users and developers were satisfied. A formalized specification of the requirements employing use-case diagrams and based on event flow was developed and coded using XML. This helped keep the documentation simple and clear. Testing was performed at the component level allowing for feedback to previous steps when errors appeared. Digital signatures were employed for implementing security. The end product enabled a reduction in the processing time of transactions, reduced processing cost, improved accuracy, efficiency, reliability, and security of transmitted data; and our strategy shortened the system development life cycle.
International Journal of Wireless Information Networks | 2011
Tony Mancill; Orest Pilskalns
More and more, wireless sensor networks (WSNs) are making their way out of the laboratory and into real-world deployments where they must be concerned with issues of security. These networks of motes are also being tasked with sensing and monitoring duties that often require high-fidelity data to be delivered from individual nodes, a situation which precludes the use of data aggregation and other techniques to reduce the volume of sensing data by condensing it within the network. This paper makes a case for why continued research in the area of joint compression and encryption is relevant to the field of wireless sensor networks and presents an approach based on the LZW algorithm combined with cryptographically strong pseudo-random number generators.
computer software and applications conference | 2009
Jonathan Lifflancer; Adam McDonald; Orest Pilskalns
The massive growth of the Internet paired with the rise in dynamic website content has increased the need for scalable network architectures. While these various network architectures should be transparent to the client, the speed, reliability, and maintainability of the system depends on the particular architecture that is implemented. This paper will discuss the findings from a case study that tests the speed of two software architectures that are often implemented to build scalable web application systems. The first architecture is server clustering with shared resources. Server clustering can be defined as a group of servers that directly share resources and actively partitions work based on work loads. Thus client traffic to the cluster can be distributed across several physical machines each running an instance of the application server. The other architecture is a shared nothing design, where application servers do not share resources, except for a dispatcher (load balancer). This paper addresses the question, what is the performance overhead of adding application servers into a tiered system.