Sunteți pe pagina 1din 12

LePUS3

PRESENTATION BY
ADEN BIN FARRUKH & SYED MOHAMMAD SOHAIB ABBASS
LePUS3
• LEPUS3 IS A LANGUAGE FOR MODELLING AND VISUALIZING OBJECT-
ORIENTED (JAVA, C++, C#) PROGRAMS AND DESIGN PATTERNS.

• LEPUS IS AN ABBREVIATION FOR LANGUAGE FOR PATTERN UNIFORM


SPECIFICATION, AND 3 IS ITS VERSION.

• LEPUS3 WAS TAILORED TO INTEGRATE THE STRENGTH OF OTHER


SPECIFICATION AND MODELLING NOTATIONS, MOST NOTABLY UML.
Purpose

 Scalability: To model large-scale programs using small Codecharts with only few symbols
 A diagram in LePUS3 is also called a Codechart.

 Automated verifiability: To allow programmers to check fully automatically conformance


to design so as to keep the design in synch with the implementation
Purpose

 Program visualization: To allow tools to reverse-engineer legible Codecharts from plain


source code modeling their design

 Pattern implementation: To allow tools to determine automatically whether your program


implements a design pattern

 Design abstraction: To specify unimplemented programs without committing prematurely


to implementation minutiae
Purpose

 Generality: To model a design pattern not as a specific implementation but as a design


motif

 Rigour: To allow software designers to be sure exactly what Codecharts represent and
reason rigorously about them

 Minimality. LePUS3 vocabulary is minimal, consisting of 15 tokens.


Family of Language

LePUS3 belongs to the following families of languages:


 Object-oriented software modelling languages: LePUS3 is a visual notation that is used
to represent the building-blocks in the design of programs object-oriented languages

 Formal Specification languages: Like other Logic Visual Languages, Codecharts


articulate sentences in mathematical logic. LePUS3 is axiomatized in and defined as a
recursive (turing-decidable) subset of first-order predicate calculus. Its semantics are
defined using finite structure (mathematical logic).
Family of Languages

 Architectural Description Languages: LePUS3 is a non-functional specification language


used to represent design decisions about programs in class-based object-oriented
programming languages (such as Java and C++).

 Tool supported specification languages: Verification of Codecharts can be established


('verified') by a click of a button, as demonstrated by the Two-Tier Programming Toolkit.
Vocabulary
Two-Tier Programming Toolkit

01 02 03
Create LePUS3 Automatically verify the Reverse-
specifications consistency of LePUS3 Engineer Codecharts from
(Codecharts) Codecharts with Java 1.4 Java source code.
programs
Advantages

 It is both a formal specification language (like Z Spec) and a visual modelling language
(like UML).

 Models in LeSUP3 i.e. Codecharts can be reverse engineered from Java code

 It is easier and less complex to use since it has only 15 tokens in its vocabulary
References

 Eden, A.H., Gasparis, E., Nicholson, J.: LePUS3 and Class-Z Reference Manual.
University of Essex, Tech. Rep. CSM-474, ISSN 1744-8050 (2007)

 Amnon H. Eden, with contributions from Jonathan Nicholson. 


"Modelling Design Patterns, Chapter 11 in Codecharts: Roadmaps and Blueprints for Obj
ect-Oriented Programs"
 (PDF).

 Eden, Amnon; contributions by Jonathan Nicholson (2011). 


Codecharts: Roadmaps and Blueprints for Object-Oriented Programs (PDF). Hoboken,
New Jersey: Wiley/Blackwell
THANK
YOU

S-ar putea să vă placă și