FJ Extended Calculus for Multi-Version Class Dynamic Update

Shi ZHANG, Lin-Peng HUANG
2008 Journal of Software (Chinese)  
Aiming at resolving the problem of type-safety in dynamic updating O-O (object-oriented) software, a simple formal system, MCUFJ (multi-version class dynamic updatable calculus based on FJ (featherweight Java) calculus) calculus, is established with the goal of understanding the underlying foundations of updating classes dynamically. MCUFJ is formulated as an extension of a core calculus for Featherweight Java with an update operator. Multi-Version classes make objects with different versions
more » ... existing. This study also discusses what kind of change is type-safe, such as adding, deleting, modifying methods/fields, or changing methods'/fields' type, and concludes some restrictions on type-safe updating. The paper also proves the results formally. This calculus can be used as a foundation of Java and O-O update.
doi:10.3724/sp.j.1001.2008.02562 fatcat:5n5h2ycitned3ns4f362kedfqa