Epameinondas Gasparis
University of Essex
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Epameinondas Gasparis.
Diagrams '08 Proceedings of the 5th international conference on Diagrammatic Representation and Inference | 2008
Epameinondas Gasparis; Jonathan Nicholson; Amnon H. Eden
LePUS3 [1] (lepus.org.uk) is a logic, visual, object-oriented Design Description Language: a formal specification language designed to capture and convey the building-blocks of object-oriented design. LePUS3 minimal vocabulary constitutes of abstraction mechanisms that can specify effectively and precisely design patterns and the design of JavaTM(C++, Smalltalk, etc.) programs at any level of abstraction.
international conference on software engineering | 2008
Epameinondas Gasparis; Amnon H. Eden; Jonathan Nicholson; Rick Kazman
The Design Navigator is a semi-automated design mining tool which reverse engineers LePUS3 design charts from Java™ 1.4 programs at any level of abstraction in reasonable time. We demonstrate the Design Navigators step-wise charting process of Java Foundation Classes, generating decreasingly abstract charts of java.awt and discovering building-blocks in its design.
Science of Computer Programming | 2014
Jonathan Nicholson; Amnon H. Eden; Epameinondas Gasparis; Rick Kazman
Representing design decisions for complex software systems, tracing them to code, and enforcing them throughout the lifecycle are pressing concerns for software architects and developers. To be of practical use, specification and modeling languages for software design need to combine rigor with abstraction and simplicity, and be supported by automated design verification tools that require minimal human intervention. This paper examines closely the use of the visual language of Codecharts for representing design decisions and demonstrate the process of verifying the conformance of a program to the chart. We explicate the abstract semantics of segments of the Java package java.awt as a finite structures, specify the Composite design pattern as a Codechart and unpack it as a set of formulas, and prove that the structure representing the program satisfies the formulas. We also describe a set of tools for modeling design patterns with Codecharts and for verifying the conformance of native (plain) Java programs to the charts.
Formal Methods in System Design | 2013
Amnon H. Eden; Epameinondas Gasparis; Jonathan Nicholson; Rick Kazman
Software design, development and evolution commonly require programmers to model design decisions, visualize implemented programs, and detect conflicts between design and implementation. However, common design notations rarely reconcile theoretical concerns for rigor and minimality with the practical concerns for abstraction, scalability and automated verifiability. The language of Codecharts was designed to overcome these challenges by narrowing its scope to visual specifications that articulate automatically-verifiable statements about the structure and organization of object-oriented programs. The tokens in its visual vocabulary stand for the building-blocks of object-oriented design, such as inheritance class hierarchies, sets of dynamically-bound methods, and their correlations. The formalism was tailored for those pragmatic concerns which arise from modeling class libraries and design patterns, and for visualizing programs of any size at any level of abstraction. We describe design verification, a process of proving or refuting that a Java program (i.e. its native code) conforms to the Codechart specifying it. We also describe a toolkit which supports modeling and visualization with Codecharts, as well as a fully-automated design verification tool. We conclude with empirical results which suggest gains in both speed and accuracy when using Codecharts in software design, development and evolution.
working conference on reverse engineering | 2008
Epameinondas Gasparis; Jonathan Nicholson; Amnon H. Eden; Rick Kazman
The design navigator is a tool for reverse-engineering object-oriented programs into charts at any level of abstraction. The design navigator discovers the object-oriented building blocks in the design of programs and visualises them in terms of LePUS3, a formal design description language. We demonstrate that program visualization in a formal language is not only possible in principle but also of practical benefit.
Software Quality Journal | 2018
Amnon H. Eden; Epameinondas Gasparis; Jon Nicholson; Rick Kazman
A major impediment to the long-term quality of large and complex programs is inconsistency between design and implementation. Conflicts between intent and execution are common because detecting them is laborious, error-prone, and poorly supported, and because the costs of continuously maintaining design documents outweigh immediate gains. A growing inconsistency between design and implementation results in software that is unpredictable and poorly understood. Round-trip engineering tools support an iterative process of detecting conflicts and resolving them by changing either the design or the implementation. We describe a Toolkit which supports a round-trip engineering of native Java programs without interfering with any existing practices, tools, or development environments, thereby posing a minimal barrier on adoption. The Toolkit includes a user-guided software visualization and design recovery tool, which generates Codecharts from source code. A “round-trip” process is possible because Codecharts visualizing source code can be edited to reflect the intended design, and the Verifier can detect conflicts between the intended and as-implemented design. We demonstrate each stage in this process, showing how the Toolkit effectively helps to close the gap between design and implementation, recreate design documentation, and maintaining consistency between intent and execution.
Archive | 2007
Amnon H. Eden; Epameinondas Gasparis; Jonathan Nicholson
Archive | 2007
Jonathan Nicholson; Amnon H. Eden; Epameinondas Gasparis
Archive | 2007
Epameinondas Gasparis
Archive | 2007
Amnon H. Eden; Epameinondas Gasparis; Jonathan Nicholson