A Pattern Enforcing Compiler (PEC) for Java: Using the compiler

Research output: Chapter in Book/Report/Conference proceedingConference proceeding contributionResearchpeer-review

Abstract

A PEC is a Pattern Enforcing Compiler, which is like a conventional compiler only extended to include the extra checks needed to enforce design patterns. PECs are currently a research project and the PEC written is targeted at the Java programming language. This paper: Describes the PEC Describes how to use the PEC Demonstrates how the PEC combines static testing, dynamic testing (unit testing), and code generation synergistically into one utility Shows that the user of the PEC can write their own design patterns and have the compiler enforce them The PEC is believed to be unique in statically testing, dynamically testing, generating code and being user extendable. The PEC is stable enough for production code and is available for free download under the Lesser GNU General Public License (Lovatt 2004). The PEC makes extensive use of reflection (runtime type identification); both when testing that a class conforms to pattern and also to allow the compiler to be user extendable.

LanguageEnglish
Title of host publicationProceedings of the 2nd Asia-Pacific conference on Conceptual modelling
EditorsSven Hartmann, Markus Stumptner
Place of PublicationSydney, NSW
PublisherAustralian Computer Society
Pages69-78
Number of pages10
Volume43
ISBN (Print)1920682252, 9781920682255
Publication statusPublished - 2005
Event2nd Asia-Pacific Conference on Conceptual Modelling, APCCM - 2005 - Newcastle, Australia
Duration: 30 Jan 20054 Feb 2005

Other

Other2nd Asia-Pacific Conference on Conceptual Modelling, APCCM - 2005
CountryAustralia
CityNewcastle
Period30/01/054/02/05

Fingerprint

Testing
Java programming language
Codes (standards)

Keywords

  • Compilers
  • Design patterns
  • Dynamic checking
  • Extendable compiler
  • Pattern Enforcing Compiler
  • PEC
  • Static checking
  • Unit testing

Cite this

Lovatt, H. C., Sloane, A. M., & Verity, D. R. (2005). A Pattern Enforcing Compiler (PEC) for Java: Using the compiler. In S. Hartmann, & M. Stumptner (Eds.), Proceedings of the 2nd Asia-Pacific conference on Conceptual modelling (Vol. 43, pp. 69-78). Sydney, NSW: Australian Computer Society.
Lovatt, Howard C. ; Sloane, Anthony M. ; Verity, Dominic R. / A Pattern Enforcing Compiler (PEC) for Java : Using the compiler. Proceedings of the 2nd Asia-Pacific conference on Conceptual modelling. editor / Sven Hartmann ; Markus Stumptner. Vol. 43 Sydney, NSW : Australian Computer Society, 2005. pp. 69-78
@inproceedings{0f8ae9a0eb12443da42973eea1a05744,
title = "A Pattern Enforcing Compiler (PEC) for Java: Using the compiler",
abstract = "A PEC is a Pattern Enforcing Compiler, which is like a conventional compiler only extended to include the extra checks needed to enforce design patterns. PECs are currently a research project and the PEC written is targeted at the Java programming language. This paper: Describes the PEC Describes how to use the PEC Demonstrates how the PEC combines static testing, dynamic testing (unit testing), and code generation synergistically into one utility Shows that the user of the PEC can write their own design patterns and have the compiler enforce them The PEC is believed to be unique in statically testing, dynamically testing, generating code and being user extendable. The PEC is stable enough for production code and is available for free download under the Lesser GNU General Public License (Lovatt 2004). The PEC makes extensive use of reflection (runtime type identification); both when testing that a class conforms to pattern and also to allow the compiler to be user extendable.",
keywords = "Compilers, Design patterns, Dynamic checking, Extendable compiler, Pattern Enforcing Compiler, PEC, Static checking, Unit testing",
author = "Lovatt, {Howard C.} and Sloane, {Anthony M.} and Verity, {Dominic R.}",
year = "2005",
language = "English",
isbn = "1920682252",
volume = "43",
pages = "69--78",
editor = "Sven Hartmann and Markus Stumptner",
booktitle = "Proceedings of the 2nd Asia-Pacific conference on Conceptual modelling",
publisher = "Australian Computer Society",
address = "Australia",

}

Lovatt, HC, Sloane, AM & Verity, DR 2005, A Pattern Enforcing Compiler (PEC) for Java: Using the compiler. in S Hartmann & M Stumptner (eds), Proceedings of the 2nd Asia-Pacific conference on Conceptual modelling. vol. 43, Australian Computer Society, Sydney, NSW, pp. 69-78, 2nd Asia-Pacific Conference on Conceptual Modelling, APCCM - 2005, Newcastle, Australia, 30/01/05.

A Pattern Enforcing Compiler (PEC) for Java : Using the compiler. / Lovatt, Howard C.; Sloane, Anthony M.; Verity, Dominic R.

Proceedings of the 2nd Asia-Pacific conference on Conceptual modelling. ed. / Sven Hartmann; Markus Stumptner. Vol. 43 Sydney, NSW : Australian Computer Society, 2005. p. 69-78.

Research output: Chapter in Book/Report/Conference proceedingConference proceeding contributionResearchpeer-review

TY - GEN

T1 - A Pattern Enforcing Compiler (PEC) for Java

T2 - Using the compiler

AU - Lovatt, Howard C.

AU - Sloane, Anthony M.

AU - Verity, Dominic R.

PY - 2005

Y1 - 2005

N2 - A PEC is a Pattern Enforcing Compiler, which is like a conventional compiler only extended to include the extra checks needed to enforce design patterns. PECs are currently a research project and the PEC written is targeted at the Java programming language. This paper: Describes the PEC Describes how to use the PEC Demonstrates how the PEC combines static testing, dynamic testing (unit testing), and code generation synergistically into one utility Shows that the user of the PEC can write their own design patterns and have the compiler enforce them The PEC is believed to be unique in statically testing, dynamically testing, generating code and being user extendable. The PEC is stable enough for production code and is available for free download under the Lesser GNU General Public License (Lovatt 2004). The PEC makes extensive use of reflection (runtime type identification); both when testing that a class conforms to pattern and also to allow the compiler to be user extendable.

AB - A PEC is a Pattern Enforcing Compiler, which is like a conventional compiler only extended to include the extra checks needed to enforce design patterns. PECs are currently a research project and the PEC written is targeted at the Java programming language. This paper: Describes the PEC Describes how to use the PEC Demonstrates how the PEC combines static testing, dynamic testing (unit testing), and code generation synergistically into one utility Shows that the user of the PEC can write their own design patterns and have the compiler enforce them The PEC is believed to be unique in statically testing, dynamically testing, generating code and being user extendable. The PEC is stable enough for production code and is available for free download under the Lesser GNU General Public License (Lovatt 2004). The PEC makes extensive use of reflection (runtime type identification); both when testing that a class conforms to pattern and also to allow the compiler to be user extendable.

KW - Compilers

KW - Design patterns

KW - Dynamic checking

KW - Extendable compiler

KW - Pattern Enforcing Compiler

KW - PEC

KW - Static checking

KW - Unit testing

UR - http://www.scopus.com/inward/record.url?scp=84863636594&partnerID=8YFLogxK

M3 - Conference proceeding contribution

SN - 1920682252

SN - 9781920682255

VL - 43

SP - 69

EP - 78

BT - Proceedings of the 2nd Asia-Pacific conference on Conceptual modelling

A2 - Hartmann, Sven

A2 - Stumptner, Markus

PB - Australian Computer Society

CY - Sydney, NSW

ER -

Lovatt HC, Sloane AM, Verity DR. A Pattern Enforcing Compiler (PEC) for Java: Using the compiler. In Hartmann S, Stumptner M, editors, Proceedings of the 2nd Asia-Pacific conference on Conceptual modelling. Vol. 43. Sydney, NSW: Australian Computer Society. 2005. p. 69-78