I turned to research to satisfy my interests in software engineering after a period of work in the software industry.
To reduce the cost of creating and maintaining software.
These objectives are aligned with my motivation and are associated with a common problem.
Program modification introduces cost, risk, and disruption.
My interest is in two needs for modification:
Minimising the need for program modification and reducing its implementation
effort is a vector for meeting my objectives.
One cause of both needs for modification is the focus of my research.
My research considers situations where the problem is caused by dependence on
formalisms.
Formalisms completely and statically define data form but are extrinsic to the data
they formalise.
They are formalising data abstractions statically defined in artefacts other than
those directly containing the data they formalise.
Example formalisms are record types, OO classes, database schemas, web service descriptions,
and some XML schemas - some may be intrinsic to XML and/or not complete.
Some formalisms may be dependent on others, e.g. a class definition may be dependent
on a web service description, or vice versa.
Dependency between database schemas and program defined formalisms (e.g. record
types and OO classes) is unavoidable.
Specifically, my research concerns dependence on formalisms in two cases:
These cases are typical for programs but are antagonistic to the important
trends highlighted below.
The fullest commitment to data primacy requires data independence, which by definition
is impossible where data entities are dependent on formalisms.
Program statements that are dependent on formalisms inherently resist change to
meet evolved formalism requirements.
A connection between programs is made fragile by program statement dependence on
formalisms that specify the form of exchanged data.
Program statement dependence on formalisms also requires program modification where
connections to new programs introduce a new formalism dependency.
Three important trends influence the design of my solution:
I created Semi-Formalised Data Management to remove the dependence on formalisms
that causes the needs for program modification.
The two main features of Semi-Formalised Data Management are:
These features reduce cognitive load on the software developer by removing the need to understand formalisms, and make program statements more adaptable to variation in data form because details of formalisms are not embedded in program statements.
There are three important principles used in Semi-Formalised Data Management:
Generally and for Semi-Formalised Data Management, more adaptability is accompanied
by more uncertainty of an outcome.
Runtime adaptability increases runtime workload.
Reducing uncertainty in Semi-Formalised Data Management also increases runtime workload.
I am evaluating my ideas using data interaction between processes which have
not been specifically programmed for each other.
This should provide new opportunities for increased and dynamic connectivity of
processes.
This presentation provides
an introduction to Semi-Formalised Data Interaction, which is a specific implementation
of Semi-Formalised Data Management.
A large amount of research into
semi-structured data addresses
itself to concerns of data that may not be completely formalised.
By contrast, Semi-Formalised Data is not simply data between two extremes of formalism,
it has a very specific but adaptable formalism.
Keyword search of XML exhibits more of the important features of my research than most others in semi-structured data research.
This hardware research is addressing some aspects of the runtime workload difficulty.
Eli Rohn offers a useful survey of data integration.
Leonid Libkin and Cristina Sirangelo consider data exchange with a hybrid approach to semantics.
Adaptive programming also confronts the adaptability problem, but only for object-oriented programming, and in a very different way.
Please feel free to contact me if you think you may be interested in my research.
You can find my email address
on
this page.
PhD research student. Start date 2008-12-01