Laura A. Campbell
Michigan State University
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Laura A. Campbell.
IEEE Transactions on Software Engineering | 2004
Sascha Konrad; Betty H. C. Cheng; Laura A. Campbell
Some of the most challenging tasks in building a software system are capturing, refining, and analyzing requirements. How well these tasks are performed significantly impacts the quality of the developed software system. The difficulty of these tasks is greatly exacerbated for the software of embedded systems as these systems are commonly used for critical applications, have to operate reliably for long periods of time, and usually have a high degree of complexity. Current embedded systems software development practice, however, often deals with the (requirements) analysis phase in a superficial manner, instead emphasizing design and implementation. This research investigates how an approach similar to the well-known design patterns, termed object analysis patterns, can be applied in the analysis phase of embedded systems development, prior to design and coding. Specifically, our research explores how object-oriented modeling notations, such as the Unified Modeling Language (UML), can be used to represent structural and behavioral information as part of commonly occurring object analysis patterns. This work also investigates how UML-based conceptual models of embedded systems, based on the diagram templates in the object analysis patterns, can be automatically analyzed using the Spin model checker for adherence to properties specified in linear-time temporal logic (LTL) using a previously developed UML formalization framework. We have applied these patterns to several embedded systems applications obtained from the automotive industry. This paper describes one of our case studies and illustrates how our approach facilitates the construction of UML-based conceptual models of embedded systems and the analysis of these models for adherence to functional requirements.
Requirements Engineering | 2002
Laura A. Campbell; Betty H. C. Cheng; William E. McUmber; R. E. K. Stirewalt
UML has become thede facto standard for object-oriented modelling. Currently, UML comprises several different notations with no formal semantics attached to the individual diagrams or their integration, thus preventing rigorous analysis of the diagrams. Previously, we developed a formalisation framework that attaches formal semantics to a subset of UML diagrams used to model embedded systems. This paper describes automated structural and behavioural analyses applicable to UML diagrams using our formalisation framework. In addition to intra- and inter-diagram consistency checks, we discuss how simulation and model checking can be used in tandem for behavioural analysis of the UML diagrams. Our tools also visually interpret the analysis results in terms of the original UML diagrams, thereby facilitating their correction and refinement. We illustrate these capabilities through the modelling and analysis of UML diagrams for an automotive industrial case study.
dependable systems and networks | 2000
Betty H. C. Cheng; Laura A. Campbell; Enoch Y. Wang
As the impact of and demand for software increases, there is greater need for rigorous software development techniques that can be used by a typical software engineer. In order to integrate informal and formal approaches to software development, we added formal syntax and semantics definitions to existing object-oriented modeling notations. This formalization enables developers to construct object-oriented models of requirements and designs and then automatically generate formal specifications for the diagrams. This paper describes how the resulting diagrams via their specifications can be analyzed using automated techniques to validate behavior through simulation or to check for numerous properties of the diagrams, including inter- and intramodel consistency.
automated software engineering | 2004
Sascha Konrad; Laura A. Campbell; Betty H. C. Cheng
This work introduces an approach to adding timing information to UML diagrams for modeling embedded systems. In order to perform automated formal analysis of these UML diagrams with timing information, we extend a previously developed UML formalization framework to provide Promela semantics for the timing elements of the UML diagrams. The paper describes the application of our approach to an electronically controlled steering system obtained from one of our industrial collaborators.
international workshop on model checking software | 2003
Sascha Konrad; Laura A. Campbell; Betty H. C. Cheng; Min Deng
We previously developed a framework, Hydra, for adding formal semantics to a collection of UML diagrams that enable the automated derivation of formal language specifications for those diagrams. Recently, we have also identified a number of requirements patterns for embedded systems that includes sample UML structural and behavioral diagrams for modeling requirements and high-level design for embedded systems. This paper describes a requirements patterns-driven approach for developing UML diagrams for embedded systems, where each pattern has a constraints section to specify safety and other invariant properties. We show how the diagrams for an industrial automotive system, via specifications generated from Hydra, can be automatically analyzed for adherence to these formally specified constraints using the SPIN model checker. We developed the MINERVA framework to support the graphical construction of UML diagrams and to visualize the results from the SPIN analysis in terms of the original UML diagrams.
Requirements Engineering | 2001
Betty H. C. Cheng; Laura A. Campbell
The Unified Modeling Language (UML) comprises several different notations for object-oriented modeling with no formal semantics attached to the individual diagrams. We have developed a generic framework for formalizing a subset of UML diagrams in terms of various formal languages, with a focus on embedded systems. We have formalized UML in terms of Promela, thus enabling analysis of the UML diagrams by the SPIN model checker and simulator. We have also developed a number of visualizations to assist in the interpretation of the analysis results. This paper presents a case study of the UML design and automated analysis of an industrial automotive embedded system using our formalization techniques, supporting tools and existing analysis.
international workshop on software specification and design | 2000
Laura A. Campbell; Betty H. C. Cheng
As the impact of and demand for software increases, there is greater need for rigorous software development techniques that can be used by a typical software engineer. We have added formal syntax and semantics definitions to an existing object-oriented modeling notation in order to integrate informal and formal approaches to software development. This formalization enables developers to construct object oriented models of requirements and designs and then automatically generate formal specifications for the diagrams. These formal specifications enable the diagrams to be analyzed by a number of existing automated reasoning utilities, including behavior simulators, model checkers and rewriting systems.
international conference on software engineering | 2001
Laura A. Campbell
This project complements and extends previous work that has focused on attaching formal semantics to informal graphical object-oriented modeling notations in order to automatically generate formal specifications for a number of target languages (Bourdeau and Cheng, 1995; Wang et al., 1997). My research (Campbell and Cheng, 2000; Campbell et al., 2000; Cheng et al., 2000) builds upon the informal and formal integration work by investigating how commonly used automated analysis techniques, such as simulators, model checkers, rewriting systems, and theorem provers can be combined and used in tandem. The main artifacts that are being analyzed are the formal specifications generated from the informal diagrams. The automated analysis enables a developer to check the system design for various properties, such as freedom from deadlock or constraint satisfaction (i.e, specific conditions are satisfied). The formal semantics for the diagrams also makes it possible to execute the graphical models, via the formal specifications, in order to validate the behavior of the system design.
high-assurance systems engineering | 2003
Betty H. C. Chengy; Sascha Konrad; Laura A. Campbell; Ronald Wassermann
Archive | 2002
Sascha Konrad; Laura A. Campbell; Betty H. C. Chengy