Date post: | 04-Apr-2018 |
Category: |
Documents |
Upload: | ionut-marian-bercea |
View: | 214 times |
Download: | 0 times |
of 50
7/30/2019 comparative study of exception handling mechanisms
1/50
7/30/2019 comparative study of exception handling mechanisms
2/50
7/30/2019 comparative study of exception handling mechanisms
3/50
7/30/2019 comparative study of exception handling mechanisms
4/50
7/30/2019 comparative study of exception handling mechanisms
5/50
exceptions
exceptionsInterface
Internal
Abnormal Activity(fault tolerance byexception handling)
Normal Activity
Lower-Level Components
requestsService responsesNormal exceptionsFailure
exceptionsFailure
responsesrequestsService Normal
exceptionsInterface
Client/Caller
Server/Callee
Client/Caller
Server/Callee
Higher-Level Components
normal operationReturn to
7/30/2019 comparative study of exception handling mechanisms
6/50
7/30/2019 comparative study of exception handling mechanisms
7/50
protectedregion
protectedregion
statementsignaling
method main()
PROGRAM CLIENT
method m1()
SERVER
method m2()
Handler(E1)
m1()calls
m2()calls
1
2 34 5
6
8
7
flownormal control
signaler
handlers
local
protectedregion
Normal Activity
Exceptional Activity
Normal Control Flow
Exceptional Control Flow
LEGEND
*
executedhandler is
return to the
signal E1
E1
Handler(e2)
Handler(e3)
Handler(e4)
Handler(E5)
Handler(e6)
Handler(E7)
Handler(E8)
Handler(e9)
exceptioninterface
7/30/2019 comparative study of exception handling mechanisms
8/50
7/30/2019 comparative study of exception handling mechanisms
9/50
7/30/2019 comparative study of exception handling mechanisms
10/50
normal response
A return_type
method name(exceptional responses)Exception Interface
Method (parameters) returns ( ) signals ( );exception_list
7/30/2019 comparative study of exception handling mechanisms
11/50
7/30/2019 comparative study of exception handling mechanisms
12/50
7/30/2019 comparative study of exception handling mechanisms
13/50
7/30/2019 comparative study of exception handling mechanisms
14/50
7/30/2019 comparative study of exception handling mechanisms
15/50
7/30/2019 comparative study of exception handling mechanisms
16/50
7/30/2019 comparative study of exception handling mechanisms
17/50
7/30/2019 comparative study of exception handling mechanisms
18/50
7/30/2019 comparative study of exception handling mechanisms
19/50
7/30/2019 comparative study of exception handling mechanisms
20/50
7/30/2019 comparative study of exception handling mechanisms
21/50
7/30/2019 comparative study of exception handling mechanisms
22/50
7/30/2019 comparative study of exception handling mechanisms
23/50
7/30/2019 comparative study of exception handling mechanisms
24/50
7/30/2019 comparative study of exception handling mechanisms
25/50
7/30/2019 comparative study of exception handling mechanisms
26/50
7/30/2019 comparative study of exception handling mechanisms
27/50
7/30/2019 comparative study of exception handling mechanisms
28/50
7/30/2019 comparative study of exception handling mechanisms
29/50
ExceptionRepresentation
ChecksReliability
HandlerBinding
ActionsCleanup
ConcurrentExceptionHandling
Smalltalk
Eiffel
Lore
C++
Java
Arche
Modula3
Ext.Ada
Guide
Delphi
Full Objects
Data Objects
Symbols
Unsupported
Hybrid
Optional
Unsupported
Supported
Static
Dynamic
Semi-Dynamic
Method
Object
Class
Exception
Block
Statement
Unsupported
Use of Explicit Propagation
Unsupported
Specific Construct
Automatic
Explicit
Resumption
Termination
Dynamic Checks
Static Checks
Unsupported
Limited
Complete
Automatic Cleanup
1
Ada95
Compulsory
BETA
Continuation of
Separation between Internal
DesignMechanisms
Exception
Handlers
Exceptions
in SignaturesExternal Exceptions
Final Score
Attachment of
Propagation of
1
Control Flow
and External Exceptions
Taxonomy
Decisions
0 00
+1 +1
-1
+1
-1 -1 -1 -1 -1
-1-1
+1
-1
-1 -1 -1
+1 +1 +1 +1 +1 +1 +1 +1 +1
-1
-1
-1
-1
-1
-1-1
+1
-1
+1
+1+1
+1
+1
+1+1+1 +1 +1
+1
-1 -1 -1
+1 +1 +1 +1 +1 +1 +1 +1 +1
-1 -1 -1
+1
-1
+1 +1 +1+1
-1
+1
-1
-1
+1
+1
-1 -1 -1
+1
+1
+1
+1
+1 +1 +1 +1 +1 +1 +1 +1
-1 -1 -1
-1
+1
0 0 0 0
+1 +1 +1 +1 +1 +1
+1 +1 +1 +1 +1 +1 +1 +1 +1 +1
+1 +1 +1 +1 +1 +1 +1 +1+1
-1 - 1 -1 -1 - 1 -1 -1 - 1 -1
0 0
+1
-3
+1
63 3 7 6-1 35
+1+1+1+1
-1
-1(+)
(+)
LEGEND: (+) additive character
-1-1
-1-1
Aspects
-1
+1
A1.
A2.
A3.
A4.
A5.
A6.
A7.
A8.
A9.
A10.
+1
-1
(+)
-1
+1
(+)
3
7/30/2019 comparative study of exception handling mechanisms
30/50
7/30/2019 comparative study of exception handling mechanisms
31/50
7/30/2019 comparative study of exception handling mechanisms
32/50
7/30/2019 comparative study of exception handling mechanisms
33/50
7/30/2019 comparative study of exception handling mechanisms
34/50
Dependable OOApplication
Exception
Mechanism
Readability
Modularity
Mantainability
Reliability
Simplicity
Performance
Uniformity
Traceability
DesignDecisions
Reusability
Testability
Writeability
Consistency
7/30/2019 comparative study of exception handling mechanisms
35/50
7/30/2019 comparative study of exception handling mechanisms
36/50
7/30/2019 comparative study of exception handling mechanisms
37/50
7/30/2019 comparative study of exception handling mechanisms
38/50
ApplicationMechanismException
Q1.Readability
Q2.Modularity
Q3.Maintainability
Q4.Reusability
Q5.Testability
Q6.Writeability
Q7.Consistency
Q8.Reliability
Q9.S
implicity
Q10.Uniformity
Q11.Traceability
Q12.Performance
Full Objects/Data Objects
Symbols
+-- - - - - - -
+ + + + + + + -+
Unsupported/Optional
Hybrid
+ + + -+
-++
- - - - -
++
+-
+-
++
-
++
+
--
+++- +
--
Compulsory
Unsupported
Supported +- - - - -
--
- -+ + + ++
++ +
Static
Dynamic
Semi-Dynamic --++ -+
---
-
+-
+-
+
-++
Use of Explicit Propagation
Unsupported - - --
+ -+ + + + +Unsupported
Dynamic Checks
Static Checks
-++
+
Unsupported
Limited
Complete + + + + + + +
--
--
--
--
--
-- -
+-
--+
-+ + +
+-
+-+
--+
+
+-
Specific Construct
Automatic
Explicit +-
+ + ++- -
+ +-
-+- -
-+-
Resumption
Termination
- - -
+ + +
Unsupported - + + - + - - +
Method/Object/Class/Exception + + + + + - + +- - - - - + -
Statement
Block
+ + + + + + + +
Propagation of
Continuation of
Control Flow
Cleanup Actions
Reliability Checks
RepresentationException
in SignaturesExternal Exceptions
Attachment ofHandlers
and External ExceptionsSeparation between Internal
HandlerBinding
Exceptions
ConcurrentExceptionHandling
QualityRequirements
DecisionsDesignAspects
Taxonomy
D1.
D2.
D3.
D2.
D4.
D4.
D5.
D6.
D7.
D8.
D9.
D9.
D10.
A1.
A2.
A3.
A4.
A5.
A6.
A7.
A8.
A9.
A10.
Automatic Cleanup
7/30/2019 comparative study of exception handling mechanisms
39/50
7/30/2019 comparative study of exception handling mechanisms
40/50
7/30/2019 comparative study of exception handling mechanisms
41/50
7/30/2019 comparative study of exception handling mechanisms
42/50
7/30/2019 comparative study of exception handling mechanisms
43/50
7/30/2019 comparative study of exception handling mechanisms
44/50
7/30/2019 comparative study of exception handling mechanisms
45/50
7/30/2019 comparative study of exception handling mechanisms
46/50
7/30/2019 comparative study of exception handling mechanisms
47/50
7/30/2019 comparative study of exception handling mechanisms
48/50
7/30/2019 comparative study of exception handling mechanisms
49/50
7/30/2019 comparative study of exception handling mechanisms
50/50