OBJECT-ORIENTED APPROACH IN SOFTWARE DEVELOPMENT
#1

[attachment=5218]
CBOP3103 –OBJECT-ORIENTED APPROACH IN SOFTWARE
DEVELOPMENT



Introduction

Before developing a system, it is important for the system developer to understand the system thoroughly. This is done to ensure that the developed system will behaved as expected. Software developers normally will create the model of the system prior to developing the system. The model will highlight important aspects of the system such as data flow, interaction between the modules, etc so that the implementation can be done without any bugs or defects. Object-oriented system which is developed using object-oriented programming normally will be designed using object modeling techniques. UML is the common “tool” used to perform analysis and design in developing object-oriented systems.
Reply
#2
This article is presented by:
Andrew Kennedy
Claudio V. Russo
Generalized Algebraic Data Types
and ObjectOriented
Programming


ABSTRACT
Generalized algebraic data types (GADTs) have received much attention recently in the functional programming com- munity. They generalize the (type) parameterized algebraic datatypes (PADTs) of ML and Haskell by permitting value constructors to return speci_c, rather than parametric, type- instantiations of their own datatype. GADTs have a number of applications, including strongly-typed evaluators, generic pretty-printing, generic traversals and queries, and typed LR parsing. We show that existing object-oriented program- ming languages such as Java and C] can express GADT de_- nitions, and a large class of GADT-manipulating programs, through the use of generics, subclassing, and virtual dis- patch. However, some programs can be written only through the use of redundant runtime casts. Moreover, instantiation- speci_c, yet safe, operations on ordinary PADTs only admit indirect cast-free implementations, via higher-order encod- ings. We propose a generalization of the type constraint mechanisms of C] and Java to both avoid the need for casts in GADT programs and higher-order contortions in PADT programs; we present a Visitor pattern for GADTs, and de- scribe a re_ned switch construct as an alternative to virtual dispatch on datatypes. We formalize both extensions and prove type soundness.

INTRODUCTION
Consider implementing a little language using an object- oriented programming language such as Java or C]. Ab- stract syntax trees in the language would typically be repre- sented using an abstract class of expressions, with a concrete subclass for each node type. An interpreter for the language can be implemented by an abstract `evaluator' method in the expression class, overridden for each node type. This is an instance of the Interpreter design pattern [6]. For example, take a language of integer, boolean and bi- nary tuple expressions: exp ::= con j exp + exp j exp - exp j exp == exp j exp && exp j exp || exp j exp ? exp : exp j (exp; exp) j fst(exp) j snd(exp) C] code to implement this abstract syntax and its interpreter is shown in Figure 1. Note in particular two points. First, the result of the eval method has the universal type object, as expressions can evaluate to integers, booleans or pairs. Second, evaluation can fail due to type errors: adding an integer to a boolean throws InvalidCastException. Now suppose that we decide to add static type-checking to the language, for example checking that arithmetic op- erations are applied only to integer expressions and that conditional expressions take a boolean expression as condi- tion and two expressions of the same type for the branches. We could easily add a method that checks the type of an expression. This would then assure us that evaluation can- not fail with a type error; however, the runtime casts in the evaluator code (e.g. (int) in Plus.Eval) are still necessary to convince C] of the safety of the evaluator. Now consider building types into the AST representation itself, using the generics feature recently added to C] and Java to parameterize the Exp class by the type of expressions that it represents. Then we can: _ de_ne Exp<T> and its subclasses to represent expres- sions of type T that are type correct by construction; _ give Eval the result type T and guarantee absence of type errors during evaluation. Figure 2 lists C] code that does just this. Observe how the type parameter of Exp is re_ned in subclasses; moreover, this re_nement is reected in the signature and code of the overridden Eval methods. For example, Plus.Eval has re- sult type int and requires no runtime casts in its calls to e1.Eval() and e2.Eval(). Not only is this a clever use of static typing, it is also more e_cient than the dynamically typed version, particularly in an implementation that per- forms code specialization to avoid the cost of boxing integers and booleans
For more information about this article,please follow the link

http://research.microsoften-us/um/people/akenn/generics/gadtoop.pdf

Reply
#3

to get information about the topic "object oriented analysis and design" full report ppt and related topic refer the page link bellow


http://studentbank.in/report-an-event-ba...of-metrics

http://studentbank.in/report-object-orie...evelopment

Reply

Important Note..!

If you are not satisfied with above reply ,..Please

ASK HERE

So that we will collect data for you and will made reply to the request....OR try below "QUICK REPLY" box to add a reply to this page
Popular Searches: object oriented concept, object oriented database concepts, object oriented software development, evaluator competencies, function oriented software design, judo jujitsu boxing, dynamic systems approach to development,

[-]
Quick Reply
Message
Type your reply to this message here.

Image Verification
Please enter the text contained within the image into the text box below it. This process is used to prevent automated spam bots.
Image Verification
(case insensitive)

Possibly Related Threads...
Thread Author Replies Views Last Post
  OBJECT TRACKING AND DETECTION full report project topics 9 30,658 06-10-2018, 12:20 PM
Last Post: jntuworldforum
  service oriented architecture full report project report tiger 12 14,728 27-04-2015, 01:48 PM
Last Post: seminar report asees
  GREEN CLOUD -A Data Center Approach computer topic 0 1,530 25-03-2014, 10:13 PM
Last Post: computer topic
  Layered Approach Using Conditional Random Fields for Intrusion Detection project report helper 11 7,739 01-03-2013, 11:58 AM
Last Post: [email protected]
  A Multi-Dimensional Approach to Internet Security ( Download Full Seminar Report ) computer science crazy 3 3,980 01-11-2012, 12:55 PM
Last Post: seminar details
  Object tracking in video scenes computer science crazy 1 8,846 06-10-2012, 11:36 AM
Last Post: seminar details
  AI-based Classification and Retrieval of Reusable Software Components computer girl 0 1,039 11-06-2012, 12:07 PM
Last Post: computer girl
  Algorithms and Issues In Client Software Design computer girl 0 1,133 06-06-2012, 03:23 PM
Last Post: computer girl
  ADO.NET Application Development Technology computer girl 0 847 05-06-2012, 12:22 PM
Last Post: computer girl
  Software Requirements Specification For DSP a Social Networking Site seminar surveyer 1 5,244 13-03-2012, 11:46 AM
Last Post: seminar paper

Forum Jump: