LEPUS3
LePUS3 - LanguagE for Patterns Uniform SpecificationLePUS
Object-oriented Design Description Languages, meaning that they are
formal specification and modelling languages for object-oriented design
which were tailored to allow tool support in software
modelling, specification, verification, and visualization.
Amnon H Eden,
Epameinondas Gasparis,
Jonathan Nicholson
OBJECTIVES
Scalability
Automated design verifiability
Visualization
Pattern verification
Abstraction in early design
Genericity
Rigour
SCALABILITY
To model industrial-scale programs using small Codecharts with only few
symbols
AUTOMATED DESIGN VERIFIABILITY
To allow programmers to continuously keep the design in synch with the
implementation
VISUALIZATION
To allow tools to reverse-engineer legible Codecharts from plain source
code modelling their design
PATTERN VERIFICATION
To allow tools to determine automatically whether your program
implements a design pattern
ABSTRACTION IN EARLY DESIGN
To specify unimplemented programs without committing prematurely to
implementation minutia
GENERICITY
To model a design pattern not as a specific implementation but as a design
motif
RIGOUR
To be rigorous and allow software designers to be sure exactly what
Codecharts mean and reason rigorously about them
WHAT CAN BE MODELED WITH LEPUS3
OBJECT ORIENTED MODELING LANGUAGES
notations that represent the building-blocks in the design of object-oriented
programs.
a formal language that are unpacked in a subset of the (first-order)
predicate logic

Codecharts and schemas are automatically verifiable
Communication among development team
Communication between team and end-user
FORMAL SPECIFICATION LANGUAGES
mathematical languages (such as Z, B, and CSP) used to articulate
properties of software systems in a language that lends itself to
reasoning and verification.
LePUS3 is a visual language and charts therein are decidable formulas.

specifications in LePUS3 are automatically verifiable
BUILDING-BLOCKS
Individual classes ("classes of dimension 0") and methods ("methods of
dimension 0")

Properties of individual classes and methods ("unary relations") and relations
amongst them ("binary relations")
Sets of classes ("classes of dimension 1") and methods ("methods of
dimension 1"), in particular dynamically-bound methods
Correlations between sets of classes and methods ("predicates")

Lepus

  • 2.
    LEPUS3 LePUS3 - LanguagEfor Patterns Uniform SpecificationLePUS Object-oriented Design Description Languages, meaning that they are formal specification and modelling languages for object-oriented design which were tailored to allow tool support in software modelling, specification, verification, and visualization. Amnon H Eden, Epameinondas Gasparis, Jonathan Nicholson
  • 3.
    OBJECTIVES Scalability Automated design verifiability Visualization Patternverification Abstraction in early design Genericity Rigour
  • 4.
    SCALABILITY To model industrial-scaleprograms using small Codecharts with only few symbols
  • 5.
    AUTOMATED DESIGN VERIFIABILITY Toallow programmers to continuously keep the design in synch with the implementation
  • 6.
    VISUALIZATION To allow toolsto reverse-engineer legible Codecharts from plain source code modelling their design
  • 7.
    PATTERN VERIFICATION To allowtools to determine automatically whether your program implements a design pattern
  • 8.
    ABSTRACTION IN EARLYDESIGN To specify unimplemented programs without committing prematurely to implementation minutia
  • 9.
    GENERICITY To model adesign pattern not as a specific implementation but as a design motif
  • 10.
    RIGOUR To be rigorousand allow software designers to be sure exactly what Codecharts mean and reason rigorously about them
  • 11.
    WHAT CAN BEMODELED WITH LEPUS3
  • 12.
    OBJECT ORIENTED MODELINGLANGUAGES notations that represent the building-blocks in the design of object-oriented programs. a formal language that are unpacked in a subset of the (first-order) predicate logic Codecharts and schemas are automatically verifiable Communication among development team Communication between team and end-user
  • 13.
    FORMAL SPECIFICATION LANGUAGES mathematicallanguages (such as Z, B, and CSP) used to articulate properties of software systems in a language that lends itself to reasoning and verification. LePUS3 is a visual language and charts therein are decidable formulas. specifications in LePUS3 are automatically verifiable
  • 14.
    BUILDING-BLOCKS Individual classes ("classesof dimension 0") and methods ("methods of dimension 0") Properties of individual classes and methods ("unary relations") and relations amongst them ("binary relations") Sets of classes ("classes of dimension 1") and methods ("methods of dimension 1"), in particular dynamically-bound methods Correlations between sets of classes and methods ("predicates")