.: research
Jon Whittle’s research is in the general area of software engineering, in particular, modeling of complex, software-intensive systems. Jon has worked in the areas below. A list of suggestions for MS and PhD dissertation topics can be found here.
Currently funded projects:
Modeling Threats To and Reconfiguration of Free-Flight Communications funded by the FAA. Awarded Feb 6, 2006.
Executable Threat Modeling, funded by Aerospace Corporation. Awarded Mar 2007.
· Scenario-based software engineering
Scenarios are individual execution traces of actual or expected system behavior. They are an excellent form of communication because they represent concrete system runs that can be understood by all project stakeholders. Some notations for representing scenarios are UML interaction diagrams, message sequence charts, timing diagrams. Scenarios are not usually executable, however. The first paper below shows how to automatically transform scenarios into an executable form (finite state machines) so that scenarios developed during early system development can be simulated or used in code generation. The second paper describes an application of this technique in code generation for an air traffic control system.
“Generating Statechart Designs from Scenarios,” Jon Whittle & Johann Schumann. 2000 International Conference on Software Engineering.
“From Scenarios to Code: An Air Traffic Control Case Study,” Jon Whittle, Richard Kwan & Jyoti Saboo. 2003 International Conference on Software Engineering.
· Aspect-oriented software engineering
Aspects are a way to modularize software development concerns (such as logging or security) that cross-cut multiple software modules. Aspects have been heavily studied at the programming level but recent work has investigated the application of aspects at higher levels of abstraction such as software analysis and design. The following papers describe two approaches to representing aspects in the Unified Modeling Language (UML). The first paper focuses on UML sequence diagrams and the second on UML state machines.
“Scenario Modeling with Aspects,” Jon Whittle & Joao Araujo. IEE Software, vol 151(4), 2004.
“Modeling and Composing Scenario-based Requirements with Aspects,” Joao Araujo, Jon Whittle & Dae-Kyoo Kim. 2004 International Conference on Requirements Engineering.
· Domain-specific code generation
This research attempts to bridge the gap between domain analysts and programmers. Domain analysts think in terms of the concepts from their domain, but programmers think in terms of coding concepts. By providing domain analysts with domain-specific languages (DSLs) along with code generators for those DSLs, analysts can directly execute their domain models without the need for manual programming. This research has been applied in the area of geometric state estimation and has resulted in a tool, Autofilter, for the automatic generation of high-fidelity code from high-level specifications in the Kalman Filter domain.
“Automating the Implementation of Kalman Filter Algorithms,” Jon Whittle & Johann Schumann. ACM Transactions on Mathematical Software, vol 30(4), 2004.
· Verification of code generators
If code generation systems are to be used for mission-critical, safety-critical software, they must be verified correct. Using the Autofilter code generation system as testbed, techniques were developed that enable automatic proofs of correctness to be generated for each program output by Autofilter.
“Towards Certifying Domain-Specific Properties of Generated Code,” Grigore Rosu & Jon Whittle. 2002 International Conference on Automated Software Engineering.
· Intelligent Programming Environments
Cynthia is a programming environment for the functional language, ML. But it is a programming environment with a difference! Cynthia provides intelligent monitoring of certain correctness properties (e.g., well-formedness of expressions, termination of recursion) as the program is being written. Cynthia uses the proofs-as-programs paradigm to maintain a correctness proof of a program hand-in-hand with the actual code. No knowledge of theorem proving is required by the user as the correctness proofs are completely hidden. Cynthia has been used as a teaching tool for ML in two courses taught at Napier University, Scotland.
“Proofs-as-Programs as a Framework for the Design of an Analogy-Based ML Editor,” Jon Whittle, Alan Bundy and Richard Boulton. Formal Aspects of Computing, Vol 13, 2002, pp. 403-421.
“Evaluating Environments for Functional Programming,” Jon Whittle and Andrew Cumming. Journal of Human-Computer Studies, Vol 52(5), 2000, pp. 847-878.
In addition to the above topics, Jon Whittle has also carried out research in transformations for software modeling languages, methodologies for building transformation systems and component-based software engineering.
|