Title: Accumulative Versioning File System Moraine and Its Application to Metrics Environment Mame
1Accumulative Versioning File System Moraine and
Its Application to Metrics Environment Mame
- Tetsuo Yamamoto
- Makoto Matsushita
- Katsuro Inoue ,
-
- Osaka University, Japan
- Nara Institute of Science and Technology, Japan
2Disc Capacity of 1995
Free Space 0.39Gbytes
Linux (Slackware2.2Basic ApplicationsX window)
0.15Gbytes
3Disc Capacity of 2000
Free Space 39Gbytes
Linux (RedHat7Basic ApplicationsX window)
1Gbytes
4Benefits of Large Disc Capacity
- Ordinary PC users
- JPEG, MPEG, MP3, HTML, ...
- Our Software Engineers
- ?
- We still use software product management scheme
which were devised and developed under limited
disc capacity in old days.
5Archiving Software Product Evolution
- 5 years ago, it was very expensive, practically
impossible. - Now, it may be possible.
FreeBSD 4.1.1
FreeBSD 2.0
23 Release Versions
100Mbytes
270Mbytes
Develop using CVS
1994
2000
Current Archive Size 1Gbytes
- Current disks have enough space to archive
product evolutions made by each engineer.
6Development of Moraine and Mame
- Based on this motivation, we have devised
- two things.
- Automatic SE product archive scheme
- -gt Versioning file system Moraine
- Open structured, Non-proprietary
- Quantitative development management framework
- -gt Metrics environment Mame
- (Moraine As a Metrics Environment)
7Design Policies of Moraine
- Automatic Archiving
- Moraine automatically records the fine-grained
versions of all files. - Easy Operation
- Users are not required to learn how to use
Moraine. To do this, usual file read/write
operations are hooked, and versioning works are
performed by Moraine. - Open Structure
- Moraine does not have to have proprietary data
repository or versioning tools.
8Features of Moraine
- Moraine always shows the only latest version in
the repository to the user.
9Architecture of Moraine
User
User
Kernel
User Process
VFS
VCD
Vertical File System
Version Control Daemon
Version Management Sub-System
UFS
Unix File system
RCS
VFS is designed as a stackable file system. It is
a logical file system above physical file system
like UFS.
HDD
Control Commands
-retrieve versions -show a delta
10Stackable File System
- Stackable file system can be constructed without
changing existent file system. - The output of a stackable file system is a file
sent to the lower file system. - Stackable file system has a portability.
11Architecture of Moraine
VCD is a daemon process which acts as a bridge
between the kernel and the version management
sub-system.
User
User
Kernel
User Process
VFS
VCD
Vertical File System
Version Control Daemon
Control commands help to manage system behavior.
Version Management Sub-System
UFS
RCS
The version management sub-system performs the
version create work such as delta computing
between versions.
HDD
Control Commands
-retrieve versions -show a delta
12Evaluation of Moraine
- To know that Moraine is practically acceptable,
we have measured system performance and stored
data size. - Measurement environment
- We have compared Raw UFS (UNIX file system) with
Moraine. - Machine Pentium 166MHZ/48MB RAM
- We used such a low performance computer to
increase comparison sensitivity.
13Evaluation -Read-
- We have measured a response time for a UNIX
process to read files.
14Evaluation -Write-
- We have measured a response time for a UNIX
process to write files.
15Evaluation -Write-
- We have measured a response time for a UNIX
process to write files.
MoraineSync time for completion of all write
operations
16Evaluation -Data Size- 1/2
- We have applied Moraine to the student project of
our university.
Student1 Student2 Student3
LOC 9339 4067 2543
of files 45 20 18
Final file size(KB) 225 117 73
of all versions 533 249 357
of versions of source codes 311 147 247
Student1 Student2 Student3
LOC 9339 4067 2543
of files 45 20 18
Final file size(KB) 225 117 73
of all versions 533 249 357
of versions of source codes 311 147 247
17Evaluation -Data Size- 2/2
18Overviews of Mame
- Mame uses Moraine to collect metrics data.
- Mame(Moraine As a Metrics Environment) is an
infrastructure for quantitative product
measurement of ordinary software development
activities.
19Features of Mame
- Engineers do not need to change their working
environments. - The data of various activities on the environment
is automatically collected. - Mame provides fine-grained data and can be
abstracted. - The data format is non-proprietary.
20Architecture of Mame
- Development environment for software engineers is
put above Moraine.
Development Activities
Analysis data
Moraine
Read/Write files
VFS
VCD
UFS
RCS
HDD
Commands
21Experiment of Using Mame
- We have applied Mame to the student project which
is the same one used as the evaluation of
Moraine. - The metrics data was obtained after the project
termination. - Metrics data
- The number of files
- The total lines of codes in the files
- The number of C functions in the source files
22Product Evolution 1/2
147
147
- The horizontal axis is the cumulative number of
versions for C source files
23Product Evolution 2/2
147
- The developer first created skeleton of
functions, then he filled function bodies.
24Discussions(Moraine)
- Moraine automatically collects all versions of
all files created or modified. - We can recover any old files and any old versions
if necessary. - The performance of Moraine is enough as a basis
of software development platforms.
25Discussions(Mame)
- There are no specific enforcement to the
developers. - We can set up or change data collection policy
during the project or after the project. - Ordinary metrics environments require
predetermined data collection policy.
26Related Work
- COMPAQ(DEC) OpenVMS
- The file system is the proprietary system.
- ClearCase, PVCS, Visual Source Safe
- Users have to recognize the systems and to issue
check-in/check-out commands for the version
management. - 3D Filesystem
- Registering a new version requires some
supporting tools associated with the file system.
Our Moraine does not need any knowledge or
commands of archiving for users.
27Conclusion
- We presented Moraine that automatically records
the history of files. It is very practical. - We also presented Mame which collects data of
various activities without a burden to the
developers.
- This approach would be one answer to rapid
increase of disk space.
28The End
29Version Viewer