- Clinical Requirements Engineering. This project makes a case for integration of
requirements engineering (RE) with clinical disciplines. The first paper listed below provides
an overview, looking at two examples that employ a clinical RE approach: (1) that of introducing
email into the life of a brain-injured individual, and (2) introducing digital darkroom tools into my
life. The former uses a Brownfield approach by starting with an existing clinical process,
cognitive rehabilitation, and then defining an RE process that fits.
The latter uses a Greenfield approach that postulates a new clinical RE process that focuses
on the problems some of us have using digital darkroom tools.
Fickas, S. Clinical Requirements Engineering. Invited paper at the 27th International
Conference on Software Engineering (Extending the Discipline track), St. Louis, May 2005
(pdf).
A more general look at a personal RE process that encompasses the clinical view can
be found in these two papers (conference and journal versions):
Sutcliffe, A., Fickas, S., Sohlberg, M, Personal and Contextual Requirements Engineering,
13th IEEE International Conference on Requirements Engineering,
Paris, September 2005 (pdf). Awarded
best paper at the 13th IEEE International Conference on Requirements Engineering (RE'05).
Sutcliffe, A., Fickas, S., Sohlberg, M.,
PC-RE: a method for personal and contextual requirements engineering
with some experience, Requirements Engineering, Mar 2006, Pages 1 - 17
(pdf).
The project web site contains papers related to the email project: http://www.think-and-link.org.
There is also a commercial version of the email system available: http://www.coglink.com
Professor Amy Lobben (Geography) and I have an interest in tailoring navigation assistance to
the visually impaired. Our early work has focused on being able to build custom tactile maps.
A summary in poster form can be found here (NSF Division of
Human Resource Development 2007 Joint Annual Meeting). (On the actual poster, the bottom right
corner is a tactile map making it an interactive poster!) Our long term interest is in
assessments (e.g., computer-based tests) that can be given to an individual to determine their navigation
assistance needs. And then deliver custom and adaptable systems to them. See discussion of "personal RE" above.
One of our findings from the Think-and-Link project is that
users often state unachievable goals. However, over time some or all may become within
reach. We call these deferred goals. They lead naturally into monitoring: we watch for
opportunities to adapt the deployed system to meet deferred goals. We have a paper
on this topic:
Fickas, S., Robinson, W., Sohlberg, M, The Role of Deferred Requirements in a
Longitudinal Study of Email, 13th IEEE International Conference on Requirements Engineering,
Paris, September 2005 (pdf).
Below is a baseline paper in the more general area of requirements monitoring.
Fickas, S., Feather, M.S., Requirements Monitoring in Dynamic Environments,
Proceedings of the Second IEEE International Symposium on Requirements Engineering,
IEEE Computer Society Press, York, England, March 1995
(pdf).
Martin and I are quite honored that this paper was awarded "Most Influential Paper from
RE'95" at the 13th IEEE International Conference on Requirements Engineering (RE'05).
The following paper links requirements monitoring with
GORE (Goal-Oriented Requirements Engineering):
Feather M, S. Fickas, A. van Lamsweerde, C. Ponsard , Reconciling System Requirements
and Runtime Behavior, Proceedings of IWSSD'98: 9th International Workshop on Software
Specification and Design, Ise-Shima (Japan), April 16-18 1998, IEEE Computer Society
Press (April 1998) (pdf).
We have done some preliminary work on the range of
interfaces needed to support customization. This is reported below.
Sutcliffe, A., Fickas, S., Sohlberg, M., Ehlhardt, L., Investigating the usability
of assistive user interfaces, Interacting with Computers, Volume 15, Issue 4 ,
1 August 2003, Pages 577-602
(
abstract)
The implication of deferring goals is that eventually you
will return to them, and hopefully, achieve them. This may require a change to the
deployed system, i.e., an adaptation. For the think-and-link system, we have been able
to use a parameterized application, turning on and off features. I am working with
Bill Robinson on a more sophisticated adaptation architecture for a navigation assistant.
A description of Bill's tool, ReqMon, can be found off his web page:
http://www.cis.gsu.edu/~wrobinso/papers/.
The navigation-assistant project home page is here:
www.go-outside.org.
- Wearable and ubiquitous computing. I co-founded the Wearable Computing Lab in 1995. The
lab's web page is here:
www.cs.uoregon.edu/research/wearables/. The most recent
topics from the lab are listed below.
- Can Software Engineering Save Formal Modeling?. Conjecture: both Java programming and formal modeling
are hard. A myriad of tools and techniques have grown around Java programming. Why can't some of those
same tools and techniques be applied to formal modeling (in concept if not in identity)? To date, we
have looked in some detail at one such technique, frameworks. We were able to lift a Java framework to
the modeling level, and then use it to instantiate several application models. Our main focus has been
on Promela/SPIN. However, we continue to dabble with the same ideas in FSP/LTSA.
NEWS FLASH: we have declared defeat in our efforts to bring modern software engineering tools
and techniques to a higher modeling level. We are now looking at modeling at the Java level
using Jave PathFinder (JPF).
- Composite System Design. The general theme of this project is a holistic look at the
design of socio-technical systems. We argue that many interesting systems have a mixture of
human, hardware and software agents, agreeing to cooperate toward some shared goals. A baseline paper
that describes our approach is given below.
Fickas, S., Helm, R., Automating the design of composite systems,
IEEE Transactions on Software Engineering, Vol. 18, No. 6, June, 1992 (
pdf)
A shorter, light-hearted paper that ties circus trains into the mix.
Fickas, S., Desert Island Column, Automated Software Engineering
Journal, Vol. 1, No. 1, 1993 (
html)
Two current projects have strong ties into the composite system viewpoint.
- The
Think-and-Link project
has been an excellent
test bed for our ideas. It became clear early on that email is a quintessential
socio-technical system. The project has faced the gamut of problems, including
(a) hardware: many of our users do not currently have a computer - we have to define
a setup for them that works into their living context, (b) software: the email client
and email server, and (c) human stakeholders: the email buddies and careproviders.
We found that if we failed to integrate all of these, the deployed system would eventually be abandoned.
- The
GO project
focuses on community navigation, again,
a profoundly composite-system application. On the social side, we have found the need
to work with city officials, the local transportation district, and
businesses as agents in the system. On the hardware side, we are forced to look at a range of
UBICOMP devices/agents, and the software to integrate them into a coherent navigation system.
Our current mix of devices includes (a) wireless iPaqs with GPS, (b) sensor networks (mica2 motes,
Intel iMotes),
(c) consumer devices using Bluetooth (cell phones), (d) RFID tags/readers, and (e) kiosks and
public displays. A current project is to instrument, deeply, one interesting urban route
within Eugene. Contact fickas@cs.uoregon.edu for details.
- Operational Envelopes. The base conjecture of this project is that engineered artifacts will not work
dependably in every possible environment. When a system is designed, cost/benefit analysis
should be applied to determine the likely environmental conditions it will face, and then
design and implementation can
concentrate on those subset of conditions. This results in an operational envelope for the system: inside the
envelope, the system is dependable; outside the envelope, dependability bets are off.
The following projects explore this concept.
- Using forward-engineering, we studied the use of model-checking to explore
operational envelopes in an onboard, fault-protection system developed at JPL. The following paper presents
the details.
Feather, S. Fickas, A. Razermera, A., Model-Checking for Validation of a Fault Protection
System, Proceedings of IEEE International Symposium on High Assurance Systems Engineering,
Boca Raton, 2001 (pdf).
- Using reverse-engineering, we are interested in recovering an operational
envelope from a deployed system. The ROPE
project
is one current example of this approach.
Courses I normally teach (notes below):
CIS 170 - Science of Computing
CIS 650 - Graduate Software Engineering
HC 209 - Can Computers Think? (Clark's Honors College Course)
I am always interested in sharing notes on the courses I teach. Please drop me a
line if you have comments or questions about these courses. As an outline, I can
give you the general structure of each course.
- CIS 170 (pre-major). I am using Dewdney
as the main text (the 66 excursions book). I mix theory with some practice in the
form of algorithmic/procedural programming in Java.
Students generally liked the topics from Dewdney. I want to also give a plug to David Eck's
book, The Most Complex Machine. In particular, I used several of the tools from his textbook's
web site, and this was a real hit with students.
Main concern of students is with the Java
programming. Some thought I moved too fast through the programming pieces. Their suggestion
is to have a separate lab section that concentrates on programming.
Other problem is the mixture of programming experience across students. Two camps broke
out during the quarter: (1) complete novices, and (2) students taking a Java programming course
concurrently. My take is that a lab section could help to level the field a bit.
- CIS 650 (grad). I generally attempt to have a theory track, a research track and a practice track in this
course. Most recently, the theory track has focused on formal modeling. I currently use
FSP/LTSA (and the Jeff&Jeff; book). The research track
focuses on papers in the field. The practice track varies, some years looking at tools, and
other years, methodologies.
- HC 209 (Honors College, generally non-science majors). I use Kurzweil's The Singularity
Is Near as textbook. Then supplement with many outside readings, e.g., Chinese Room Argument,
Bill Joy's The Future Does Not Need Us, Hegel - a guide for the perplexed, etc.
Students like the Kurzweil book, although many think he is on drugs. One thing that I find
interesting is that majority of students share Kurzweil's optimistic view of the future
and technology. Seem to believe that people (scientists, government) won't let things get
out of hand. Maybe it's just me, but I don't have such a rosy view.
Other
Collaborations. I benefit from the collaborators I work with, and would
like to acknowledge their contribution.
- I work with Amy Lobben
through the Spatial and Map Cognition Research Lab. Amy and I also just started a collaboration
with Margaret Sereno
through the Lewis Center for NeuroImaging. We are currently
working with tactile maps for the vision impaired.
- I work with
Alistair Sutcliffe
and
Gerhard Fischer
on HCI issues related
to both the Think-and-Link project and the GO project.
- I work with Martin Feather
,
Bill Robinson
and
Axel van Lamsweerde
on issues related to
requirements monitoring and GORE.
- I am a member of the
IFIP 2.9 Requirements Engineering working group
,
and gain much insight
from interactions there.
- My participation in the Think-and-Link and GO projects has brought me many interesting
colleagues outside of computer science. This includes McKay Sohlberg (cognitive rehabilitation),
Laurie Elhardt (education/training),
Bonnie Todis (long term, qualitative, experimental methodologies), and a host of staff and residents at the assisted-living
centers in Eugene.
- I work with Bob Hall
on
the challenges faced by software engineering in the brave new world of open systems. We jointly
held a workshop on the topic:
Workshop on
Requirements Engineering and Open Systems (REOS)
.
- I work with Holly Arrow (Psych) and John
Orbell (Poli Sci) on a project to insert task-oriented agents into a
(human) group process focusing on clubs. A paper appearing in the
Workshop for Knowledge-Based Electronic Markets (AAAI 2000) gives
a bit of background on this work:
Join the Club
.
A glimpse of outside life. The Eugene Water Board shutdown
a public fountain in mid-summer. I worked to get it turned back on.
I am claiming victory: third installment
of the saga
, as reported by columnist Karen McGowen. I am
sure there is some moral to the story in here.
My other life as a surfer. I grew up in San Diego, and have to say I miss
Blacks. Thinking of
starting a club: surfers for software engineering :)
My other life as a musician. I took up the
tenor sax in 2005. In summer of 2007, I attended
Jazz Camp West. It was good. The clip below is
of an open mike session (I'm in front with cap). The three of us sax players (Mike Trottier, me, Dave
Needham) met and
threw our little combo together at camp. Bruce Williamson (faculty member) helped to
arrange the Miles tune, Freddie Freeloader, for us.
The pianist, Frank Martin was faculty. The bass player, Stuart Fishman, and the
drummer, Daisuke Chihara, were two advanced students (i.e., ringers) we asked
to join.
You may note that I did not solo during first part. It was hard enough to agree to even
be on stage! I did do a little 4 bar solo when we started "trading fours" with the drummer.
It was interesting that all three of us thought we screwed up when talking afterwards. But looking at
the tape, I think it turned out ok :)
eBay/PayPal scams. I've noticed a hard-to-prevent scam using eBay and PayPal in
conjunction. If you are a seller and use PayPal, it is almost impossible to stop
the buyer from getting the item and then saying they did not make the purchase. Typically
they say the credit card was used without their authorization. The buyer
contacts PayPal and PayPal issues a "charge back". Your sales money flows back to the buyer. And
the buyer keeps the item. The buyer has 45 days from date of purchase to pull off this
scam. Suggestion: don't use PayPal on eBay. I know it's a pain, but use a USPS Money Order.
Joining one of my labs. If you are a student interested in
working in one of my labs, contact me by email: fickas@cs.uoregon.edu.
If you would like a lab tour, contact one of my lab managers:
Wearable Computing Lab Andrew Fortier (andrew@cs.uoregon.edu)
Sensor Network Lab Zebin Chen (zbchen@cs.uoregon.edu)
Think-and-Link Lab Jason Prideaux (jprideau@cs.uoregon.edu)