Title: A Formal Approach for Software Maintenance
1A Formal Approach for Software Maintenance
- Umer Waqar, Ferhat Khendek, Daniel Vincent
- Proceeding of the International Conference on
Software Maintenance (ICSM 02) - 2002. 7. 22
- Present by Sunae Lee
2Contents
- Introduction
- Background
- Overview of approach
- Three phases for approach
- Enriching SDL architectures
- Generating new SDL behavior from MSC
- Merging SDL behaviors
- Case Study Automatic Teller Machine
- Conclusion
3Introduction (1/2)
- Software systems evolve because user requirements
change over time. - New behavior has to preserve all the old behavior
in the existing system. - Extended transformational model.
4Introduction (2/2)
- A formal approach, can, not only be automated but
also guarantees to enrich the system. - This approach effectively shifts maintenance from
code level to specification level.
SDL (design spec.)
Automated approach for maintenance
Enriched SDL spec.
MSC (capture new requirement)
5Background (1/4) SDL (Specification and
Description Language)
- Object-oriented formal language defined by ITU-T
for specification of complex, real-time
applications. - SDL comprises four main hierarchical levels
- system, blocks, processes, procedures
- The Structural View of an SDL System.
6Background (2/4) SDL (Specification and
Description Language)
- A simple behavioral specification in SDL.
start
state
input
decision
transition
non-determinism
output
7Background (3/4) MSC (Message Sequence Chart)
- A simple specification in MSC.
condition
lifeline of a process instance
messages between process instances
8Background (4/4) Extension relation
- Conservative extension
- The new system can substitute the old one.
- Prohibition of new non-determinism in the new
system specification. - Process Extension Example
P4 is not an extension of P3.
P2 is an extension of P1.
9Overview of approach (1/2)
- Generating enriched SDL specifications.
10Overview of approach (2/2)
- Pre-phase - Enriching SDL architectures
- Second-phase Generating new SDL behavior from
MSC - Post-phase Merging SDL behaviors
Old SDL specification
Pre-phase
Enriched SDL structure
New MSC specification
New MSC specification
Second-phase (use MSC2SDL tool)
New SDL behavior
Enriched SDL structure
Old SDL behavior
Post-phase
Enriched SDL behavior
New SDL behavior
11Enriching SDL architectures (1/2)
- Developed algorithms and tool to enrich of SDL
architecture. - Done in an interactive manner with the designer.
- Old Architecture and New MSC
12Enriching SDL architectures (2/2)
13Generating new SDL behavior from MSC
- The MSC2SDL tool is used to generate new SDL
spec. - From the new MSC and the enriched architecture.
- Example new behavior of Bank process generated
by MSC2SDL
14Merging SDL behaviors (1/5)
- Rule 1 (similar transitions)
- Two similar transitions without any new behavior.
15Merging SDL behaviors (2/5)
- Rule 2 (same output signal sequence, different
next state) - The new transition differs from the old
transition only by the next state.
16Merging SDL behaviors (3/5)
- Rule 3 (different output signal sequence, same
next state) - The new transition extends the output sequence of
the corresponding old transition.
17Merging SDL behaviors (4/5)
- Rule 5 (different Input Signal)
- A new transition appended to the resulting
specification.
18Merging SDL behaviors (5/5)
- Rule 9 (involving ANY)
- Same input signal as the old non-deterministic
transition. - Output signal sequence exists in the old
transition but not going to the same state.
19Case study ATM (1/6)
20Case study ATM (2/6)
- Behavior of the old ATM and Bank process
21Case study ATM (3/6)
- Add deposit functionality to the existing ATM.
- MSC deposit
22Case study ATM (4/6)
- Pre-phase
- Enriched ATM architecture
23Case study ATM (5/6)
- MSC2SDL-phase
- New behaviors of ATM and Bank generated by MSC2SDL
24Case study ATM (6/6)
- Post-phase
- Enriched ATM and Bank processes
25Conclusion
- Introduced an approach for incremental design of
SDL specifications from MSCs. - Not complete. Can only apply some partial
situation. - Suggested 14 rules for merging SDL specifications
based upon a formally defined extension relation. - Doesnt give any verification about rules.
- Guarantees to preserve old behavior and prevents
inclusion of new non-determinism in the enriched
SDL - However, a user may want another kind of
enrichment. - Future work may include development of an
extended specialization.