Secure Electronic Business
Security is probably the hardest issue with applications that run over
the Internet. Law-based mechanisms can be used to govern the interaction
in both intra-enterprise and inter-enterprise electronic business.
Such mechanisms can control the flow of information in these interactions,
and also mediate the interactions between different e-commerce frameworks
in inter-enterprise business. Contact: ,
.
Cryptography is the key underpinning all Internet electronic business.
There is a need for higher-level abstractions that allow a mixture of static
and dynamic checking of security properties of applications, where the
dynamic checking is only performed where necessary and implemented by cryptographic
techniques. Contact: .
Reliable Internet Programming
Developing reliable applications over the Internet requires support for
fault tolerance in the presence of partial failures. Traditional
mechanisms, in particular transactions, may not always be appropriate.
We are developing an approach to fault tolerance basec on orthogonal mechanisms
that may be combined. Transactions and nested transactions may be
obtained from such a combination; other combinations are also possible.
These abstractions may realized as a domain specific language for scripting
Internt applications, or as extensions to Java or C#. Contact: .
Safe Components and Componential Programming
With the growing use of component technology, an emerging problem is ensuring
that components execute in a safe and secure manner. For example
a bug or a Trojan horse in a component should be prevented from interfering
with other components with which it is connected. The traditional
hardware-based protection mechanisms do not scale up to systems composed
of many small components. The alternative is to have compilers "certify"
that components satisfy some safety requirements before they are executed.
Currently Java bytecode compilers certify that the Java machine code programs
that they produce are type-safe. The more general approach of compiler
certification potentially extends to a much broader range of safety policies,
and is applicable to native code compilers for example for X86 architectures.
This line of research has the potential to have a far-reaching impact on
component technologies such as ActiveX Controls and plug-ins, that are
currently hopelessly unsafe and insecure. Contact: .
In extending this approach to general safety policies, beyond type safety,
certifying compilers need to perform increasingly more sophisticated analyses
of components, to infer static properties of components before they are
executed. Traditional compiler analyses are performed over "whole
programs," which is incompatible with the realities of componential programming.
Therefore there is a need for modular program analyses that can be performed
on a component-by-component basis. Contact: .
Another htmlect of this work is providing safe mechanisms for dynamic
linking of components. Although Java has popularized the use
of application-level dynamic linking via class loaders, it has very weak
support for configuring systems of components on-the-fly. Another
shortcoming is the weak support for "hot swapping" components on-the-fly,
for example in 24/7 server applications. Contact: .
Document Processing
The eXtended Markup Language (XML) has been developed by Microsoft and
the Web consortium as a standard document description language for the
Web. Part of the future of the Web will be XML documents, their content
types described by XML schema, exchanged in commercial transactions, and
said documents processed automatically by applications implemented in Java.
As this activity grows, there will be a growing need to be able to reuse
document descriptions and document processors, just as software reuse is
scaling up the pace of software development. Therefore there is a
need for reuse mechanisms that support this, involving extensions both
to XML and to Java. These extensions go beyond simple inheritance,
as in XML schema, to broader mechanisms for reusing components for XML
applications. Contact: .
Software Design Process
Providing trustworthy enterprise systems will rely on sound engineering
practices in software development. This is recognized by the use
of formal methodologies such as UML in the software design process.
While several methodologies have been proposed, there is still a need for
careful experimental evaluation of the effectiveness of these methodologies.
It is intended to perform such evaluation in the context of teaching these
methodologies at the advanced undergraduate level. Contact: ,
.
Web Engineering
Schemes are being developed for performing market research over the Web.
Recognizing that many people freely make their consumer profiles available
on the Web, Geller et al propose to extract this consumer information from
individual Web pages. They are developing Web onthologies to organize
this information. Contact: ,
,
.
|