updating sql database in asp net - Dynamic updating software systems based aspects

Dynamic software updating (DSU) is one attempt at this.

In its most basic form, DSU tries to balance flexibility of update – permitting as broad a class of updates as possible – with safety, meaning that subsequent execution will not fail with a runtime type error as a consequence of the update.

Retroactive update, at least naively construed, thus embodies a closed-world assumption: that every past interaction falls within the scope of the update.

dynamic updating software systems based aspects-16

I’ll call this general ability to modify a running program online update.

Online update is important — essential, I would say — for lots of reasons beyond the “immediate feedback” motivation often touted.

(Related, but probably another distraction: effects also need to be persistent in spacetime, which amounts to idempotence.

There must be no sense in which the “same” effect can happen “twice”.) The problem is when the application being updated is embedded in a larger computational system, as live systems usually are.

Although these things differ wildly in what they mean by “execution”, “program”, and “make a change”, there is something they have in common.

My personal suspicion is that Light Table will be the thing that brings this “something” to the masses, and at that point the pressure will be on to understand what that something actually is.

Inspired by Demaine etal‘s retroactive data structures, which are imperative data structures which permit modifications to the historical sequence of operations performed on them, I’ll refer to this notion of online update as retroactive update.

Retroactive update allows the “computational past” to be changed.

In order for it to be “as though” the previous computation never happened, effects have to be reversible.

We see this in SAC, where all mutating operations must be revocable.

SAC’s commitment to retroactivity appears in the correctness of change propagation, which is defined as consistency with a from-scratch run under the modified code.

Tags: , ,