Foundations for the study of software architecture
ACM SIGSOFT Software Engineering Notes
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Pattern-based design recovery of Java software
SIGSOFT '98/FSE-6 Proceedings of the 6th ACM SIGSOFT international symposium on Foundations of software engineering
Logic in computer science: modelling and reasoning about systems
Logic in computer science: modelling and reasoning about systems
The Interpretation of Object-Oriented Programming Languages
The Interpretation of Object-Oriented Programming Languages
Applied Java Patterns
Laws of Software Evolution Revisited
EWSPT '96 Proceedings of the 5th European Workshop on Software Process Technology
UML Distilled: A Brief Guide to the Standard Object Modeling Language
UML Distilled: A Brief Guide to the Standard Object Modeling Language
A UML-Based Pattern Specification Technique
IEEE Transactions on Software Engineering
Java(TM) Language Specification, The (3rd Edition) (Java (Addison-Wesley))
Java(TM) Language Specification, The (3rd Edition) (Java (Addison-Wesley))
The Foundations of Specification
Journal of Logic and Computation
Experiments on Design Pattern Discovery
PROMISE '07 Proceedings of the Third International Workshop on Predictor Models in Software Engineering
DeMIMA: A Multilayered Approach for Design Pattern Identification
IEEE Transactions on Software Engineering
Design Pattern Formalization Techniques
Design Pattern Formalization Techniques
Tool Support for Design Pattern Recognition at Model Level
COMPSAC '09 Proceedings of the 2009 33rd Annual IEEE International Computer Software and Applications Conference - Volume 01
Codecharts: Roadmaps and blueprints for object-oriented programs
Codecharts: Roadmaps and blueprints for object-oriented programs
Language-independent detection of object-oriented design patterns
Computer Languages, Systems and Structures
Hi-index | 0.00 |
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.