Thursday, October 31, 2019

Assignment 4 Essay Example | Topics and Well Written Essays - 500 words - 1

Assignment 4 - Essay Example Sign in to get into the classroom†. The student enters a login and selects an option from a drop down menu containing a list of subjects. Welcome to the year 2020, where students from all over the world take lessons together thanks to Internet. With new advancements in hypermedia and multimedia systems, students now can take lessons at their chosen time in a virtual classroom. They no longer need a teacher to take them through lessons as they learn independently, at their own pace, with technological assistance. Taking on the role of a trouble-shooter, a teacher steps in only when students encounter difficulties with a particular aspect of study. A learning activity in 2020 could very well be like this: A student clicks open a textbook and learn concepts through a variety of text, visual images and graphics. At the end of the chapter, a voice takes the student through a quick test, which has been designed by the teacher. The test will evaluate the student’s understanding and accordingly mark grades. In case of below-average grades, a link will direct the student to a â€Å"real† teacher who will then explain the concept through video conferencing. Thus a teacher operates behind the scenes and designs strategies instead of being a direct participant in the learning process. In such a scenario, advanced forms of Internet and the virtual reality systems form the dominating aspects in a learning process. The use of hypermedia and multimedia in project assignments will motivate students to study better and faster. Teachers, on the other hand, can keep a track of student’s progress by designing rubrics and other evaluation strategies. In a system where learning is more student-centric and students have the freedom to choose their subjects and pace, an assumption is made here that they are well equipped with the intelligence and the maturity to monitor their studies. This can be a hindrance in case of children with low levels of

Tuesday, October 29, 2019

Challenges Doing Business in India Essay Example for Free

Challenges Doing Business in India Essay Trade barriers are created to encourage domestic players by making it more difficult for foreign firms to compete. Traditionally, India has had several types of trade hurdles for foreign exporters, such as, Import Quotas, Subsidies, Trade Samples and Tariff/Duty. The most critical barrier to trade is tariffs or the tax imposed on imports. High tariffs in several sectors continue to bar foreign businesses from increased market access. Red-tapism and Corruption Traditionally, Indian bureaucracy has been mired in red tape which proved to be a frustrating experience for foreign investors. These include limited access to Government offices, cumbersome and multitude paperwork, lack of coordination between various departments processing the documentation, long waiting period for approvals, and above all ambiguous rules. However, with the economic reforms of early 1990s, the level of bureaucratic hurdles which the MNCs had to overcome, gradually reduced making it easier to do business. Corruption is another big hurdle when doing business in India. Areas like electricity supply, judiciary (particularly lower courts), Police, land administration are counted in the most corrupt category. Since all these are essential in building up a business, corruption proves to be a major hurdle for starting business in India. Inadequate Infrastructure It has long been felt that roads and communication in India need substantial investment in order to make them world class. Problems with the countrys education and power situation are also counted amongst the toughest obstacles for doing business. Today, there is an increased private participation in ports, roads and other key sectors. Infrastructure development has emerged as a niche market for foreign investors in India with several states looking to build world class infrastructure. The problem area is the absence of a clear-cut policy framework, which has hampered private investment in the infrastructure sector.

Sunday, October 27, 2019

Characteristics of Java Language

Characteristics of Java Language Chapter 2 Literature review About Java:- Initially java language is named as Oak in 1991, which is designed for the consumer electronic appliances. Later in 1995 the name was changed to Java. Java was developed by James Gosling, a development leader in sun micro system. Oak was redesigned in 1995 and changed the name to java for the development of the applications which can be run over internet. Using the java language, java programs can be embedded in to the html pages. Java is not only limited for the web applications, it is also useful to develop the stand alone applications. Java has a feature called OOPs, which make it more familiar. Object oriented programming replaced the old traditional techniques i.e. procedural programming. Characteristics of java:- Simple:- Java language is simple than the previous languages such as c and c++. Java eliminates the pointers concept which is earlier present in c and c++. Java also has a properties i.e. automatic allocation of memory and garbage collection, where as in c/c++ the garbage collection and allocation of memory will be done by the programmer which is a complex task. Object oriented:- All the programming languages apart from the c++ are procedural languages which are paradigm of procedures. Java programming language is object oriented because java uses the concept of the object. In java everything will depend on objects i.e. creating the objects and making objects to work together. The overall functionality of the high level program will depends on the objects. Because java is object oriented program it provides great range of reusability, modularity and flexibility. Distributed:- Java uses the http and ftp which are internet protocols, in order to have access the files over the network. So by using this libraries which are in java can easily make file transfers over the network which is connected to internet. Interpreted:- In order to run the java programs we need interpreter. When the java programs are compiled it produces the byte code, which is machine understandable language. The byte code which is produced after the compilation is machine independent, so that it can run on any system using java interpreter. Most of the compilers will convert the high level language instructions to the low-level machine understandable language as machine cant understand the high level instruction. The machine code can only be executed on that compiled native machine. For example a source code is compile on windows platform, the executable file produced after cant be executed on other platforms apart from the windows. But, coming to java it is different i.e. the source code is compiled once and the executable byte code can be run on any platform using java interpreter. The main functionality of the interpreter is, it converts the byte code to the machine language of the target machine. Robust and secure:- Java programming is more reliable. At the time of the execution time java shows all the errors. In java bad and error prone language constructs are eliminated. Java eliminated the concepts such as pointers, due to this there is no corruption of data and overwriting the memory locations. In the same way java supports the exception-handling, which makes java more reliable and robust. Java forces the programmer to write the code for the exceptions, which may occur during the execution of the program. So that program can be terminated successfully, without any error stopping the execution flow of the program. Java also provides the lot of security. Security is important over the network because the computer will be attacked by the external program. Java provides the security that; it encounters the applets for the un-trusted sources. Architecture- neutral:- Java is a interpreted language, which enables java as a architectural neutral i.e. platform independent. We can write the program once and it can be executed on any platform with the help of the Java Virtual Machine (JVM). The java virtual machine can be embedded on the operating system or on web browser. Once the part of the java code is loaded into the machine, it is verified. Byte code verification play a major role, as it check all the code generated by the compiler will not corrupt the machine on which the code is loaded. At the end of the compilation, byte code verification will be done; in order to make sure thats the code is accurate and correct. So the byte code verification is the integral to the compilation and execution. Due to the property of architectural neutral had by java, it is portable. The program once written can be run on any platform without recompilation. Java does not provide any platform specific features. In other languages, such as Ada where the large integer varies according to the platform it runs. But in the case of java the range of the numbers are fixed. Java environment is portal to every operating system and hardware. Multi-threaded:- It is defined as the programs ability to perform several tasks (or) functions simultaneously. The multithreading property is embedded in the java program. Using the java programs we can perform the several tasks simultaneously without calling any procedures of the operating system, which is done by the other programming languages in order to perform the multi-threading. Constant Pool:- Every program i.e. class in java, has a array of constants in the heap memory called as the constant pool, which is available to that class. Usually it is created by the java compiler. The constants encode all the name of the (methods, variables and constant that are presented in the constant pool) which is used by particular method of any class. Each individual class i.e. stored in heap memory has a count of how many constants are there and also has offset which specifies how far in to the class description itself the array of constants begins (Laura Lemay, Charles L.Perkins, and Micheal Morrison, n.d). The constants are represented (or) typed in the special coded bytes and which has a very well defined format, when these constants are appeared in the .class file for the java class file. JVM instructions refer to the symbolic information in java, rather than relying on the run time layouts of the class, methods and fields. Sun Java Wireless Toolkit:- Sun java wireless toolkit CLDC (connected Limited Device Configuration) is a group of tools which is used to develop the applications for the mobiles and for other wireless equipments (or) devices. Although the sun java wireless toolkit is based on the MIDP (Mobile Information Device Profile), it also supports many other optional packages, which make a sun java wireless toolkit as a great tool for developing many applications. It can be supported on the windows and Linux. All the users who have account on the host machine can access this tool either singly or simultaneously. It allows you to use a byte code obfuscator to reduce the size of your MIDlet suite JAR file. It also supports many other standard Application Programming Interfaces (APIs) which are defined by the (JCP) Java Community Process program. Even though, the sun java wireless toolkit did not come up with an obfuscator, it is configured in a way that it supports the ProGaurd. All you need to do is, just simply to download the ProGuard and place it in the system, which sun java wireless tool kit can find it. But due to the flexible nature of the tool, it allows any kind of the obfuscator. BCEL:- BCEL full abbreviation is Byte Code Engineering library. The BCEL helps you to dig the byte code of the java classes. BCEL gives the utmost power on the code because it works at the individual JVM instructions, even though the power comes with cost in complexity. Using the BCEL, we can transform the existing classes transformation or we can construct the new classes. The main difference between the BCEL and Javassist is javassist provides the source code interface where as the BCEL is developed in the intension to work at the level of the JVM assembly language. BCEL is good because the approach it uses is low level, which is very helpful to control the program at the instruction level. Compared to Javassist it is more complex to work with the BCEL. BCEL has the capability to inspect, to edit and to create binary classes in java. There are 2 hierarchy components in the BCEL, in which one component is used to create the new code and the other component is used to edit (or) update the existing code. The inspection of the class aspect in the BCEL mainly deals with the duplication whatever available in the java platform using the Reflection API. This duplication is necessary (or) mandatory in classworking because we generally dont want to load the classes on which we are working until they are modified fully. Org.apache.bcel.classfile package provides all the definition which is related to inspection-related code.org.apache.bcel package provides the basic constant definitions. JavaClass is a class which is the starting point of the package. The JavaClass plays a role in accessing the information of the class using the BCEL same as like java,lang.Class does using the regular reflection in java. The JavaClass has a methods to get the information like structural information about the super classes and interfaces, to get the information of the class i.e. information about the field and methods in the class. The JavaClass will provide access to the some internal information about the class, including constant pool and identifiers. It also represents the Byte stream which is the complete binary class representation. If the actual binary class is parcel, then we can create the instance for the JavaClass. To handle the parsing BCEL provides a class called org.apache.bcel.Respository. The representation of the classes are parsed and cached by the BCEL by default, which are on the JVM path, to get the actual binary classes representation from the org.apache.bcel.util.respository instance. org.apache.bcel.util.respository is an interface which is source for binary classes representations. Changing the classes:- Not only the accessing the components of class, org.apache.bcel.Classfile.JavaClass also provide certain methods, in order to provide the liberty to change (or) alter the classes. The class component can be set to the new values by using those methods. Although those are of no direct use much, because the other classes in the package dont support constructing the new versions of the components that are building. There are certain classes in the org.apache.bcel.generic package that will provide the editable versions of the same components there in the org.apache.bcel.classfile classes. Org.apache.bcel.generic.ClassGen is the starting step (or) point for the creating the new classes. This also useful to modify the existing classes, to do this one, there is a constructor that takes a JavaClass Instance in order to initialize ClassGen class information. Once you modified the changes to the class, then we get the usable (or) useful class representation from ClassGen instance, in order get the usable representation of the class, we need to call any method that returns the class called JavaClass. Later it will be converted into the binary class information. It is little bit confusing, in order to eliminate this confusion, it is better to write a wrapper class for eliminating some differences. In order to manage the construction of the various class components, org.apache.bcel.generic provides many other classes apart from the ClassGen. It has a class called ConstantPoolGen , which is used to handle the constant pool. FieldGen, MethodGen classes which are used to handle the Fields and the methods in classes. For the working with the sequence of the JVM instructions there is other class called Instruction List. org.apache.bcel.generic also provides the classes for the each and every type instructions which are executed over JVM. We can create the instance for these classes directly some times and in other times by using the helper class called org.apache.generic.InstrcutionFactory. The main advantage of this helper class is, it handles are the book keeping details of the each and every instruction constructing for us( i.e. adding the items to the constant pool as required for the instructions). Sand Mark:- Sandmark is a tool i.e. developed to measure the performance of the software protection algorithms and effectiveness of the methods that are preventing the software from the piracy issues, water tampering and reverse engineering techniques. Sandmark is also has an ability to find which algorithm is most resiliences to the attacks and have a least performance of over head. There are many software protections are proposed both in software and hardware. The hardware protections are there from the dongle protection and now tamper-proof software. The sandmark tool is developed to evaluating and implementing the software-based techniques such as code obfuscation (making code complex to understand) and water tampering. History of reverse engineering:- Reverse engineering most probably starts with Dos (disk operating system) based computer games. The aim is to have full life and armed for the player to finish the final stage of the game. In that way the technique of reverse engineering came in to picture, it is just to find the memory locations where the life and number of weapons are stored and modifying the values of that memory locations. So that, the player can changes the values and gets through the final stage and win the game. Thats why memory cheating tools such as game hack came in to existence. Reverse Engineering:- Reverse engineering is the process of the understanding the particular aspects of the program, which are listed below To identify the components of the system and the interrelationship between the components. And enhance the components of the system and to improve the performance and scalability of the system (or) subsystem. Software reverse engineering is a technique that converts a machine code of a program (string 0s and 1s usually sent to logic processor) back in to the programmable language statements which is called as source code. Software reverse engineering is done to get the source code of the program because to know how the particular parts of the program performs particular operations in order to improve the program functionality or to fix the bugs in the program or to find malicious block of statements in the software if any. Generally, this reverse engineering will take place in older industries on machines. But now it is frequently used on computer hardware and softwar e. The important contents like data formats, algorithms what the programmer used to implement the software and ideas of the programmer (or) company will be revealed to the 3rd person by violating the security and privacy issues using reverse engineering technique. Reverse engineering is evolving as a major link in the software lifecycle, but its growth is hampered by confusion (Elliot J.chilkofsky James H.Cross ii, Jan 1990). Reverse engineering is generally implemented to improve the quality of the product, to observe the competitors products. Forward engineering is the process of moving from the high level abstracts (or) from the initial requirements stage (objectives, constraints and proper solution to the problem), logical, and independent designs (specification of the solution) to the final product i.e. implementation (coding and testing).; whereas the reverse engineering is the process of moving from the final product to the initial requirements stage in order to under the system logically, why particular function (or) action is being performed. By knowing the system logically, the flaws and errors in the system can be rectified and helps to improve the systems functionality when the source code of the application is not available. For this sake the concept of the reverse engineering techniques is evolved. Fig 1: reverse engineering and related process are transformations between or within the abstract levels, represented here in terms of life cycle phases. (Elliot J.chilkofsky James H.Cross ii, Jan 1990) Reverse engineering in and of itself doesnt mean changing the subsystem or developing the new system based on the existing. It is a process of examination (or) understanding the program (or) software but not replication (or) change. Reverse engineering involves very broad range of aspects such as starting from the existing implementation, recreating or recapturing the design ideas and extracts the actual requirements of the existing system. Design recovery is the most vital subset of the reverse engineering because in which knowledge of the domain, external (or) outer side information and deduction or fuzzy reasoning are added to the investigated (or) subjected system in order to find the high level abstract of the system, normally which is not obtained by directly observing the system. According to the Ted BiggerStaff: Students Paper: Ted BiggerStaff: design recovery recreates design abstractions from a combination of code, existing design documentation(if available), personal experience, and general knowledge about problem and application domains. Design recovery must reproduce Re-engineering is termed as renovation and reclamation, is the examination and altering the subjective system again to construct in the new form and the implementation of the new system. Re-engineering involves some form of reverse engineering i.e. to obtain the high level of the abstract of the existing system followed by forward engineering. This may be changes according to the new requirements that were not previously implemented in the system. While re-engineering is not super type of the forward engineering and reverse engineering but it uses the forward engineering and reverse engineering. Objectives:- The primary goal of the reverse engineering is to enhance the overall comprehensibility of the system for the both maintenance and new development. Cope up with the complexity. In order to meet the complexity and shear volumes of the system we have to develop a better methods i.e. automated support. In order to extract the relevant information reverse engineering methods and tools should be combined with the CASE environments. So that decision makers can control the process and product in system evolutions. Alternative views should be generated. Comprehension aids such as graphic representation as been accepted for long time. However maintaining and creating them is becoming difficult in the process. Reverse engineering facilitates the generation or regeneration of the graphical representation in the other forms. While many designers work on single diagrams such as data flow diagrams where as the reverse engineering tools will give the other graphical representations such as control flow diagrams, entity relation diagrams and structure charts to aid the review and verification process. To identify the side effects. Both haphazard initial design and intentional modifications to the system can lead to unintentional ramifications and side effects that affect the system performance. Reverse engineering can provide better observation than we can observe by forward engineering perspective. So it makes us to solve that ramifications and anomalies before users intimate them as bugs. Component reuse. Software reusability is becoming the more essential part in developing the new products in the software field. Reverse engineering can be able to help to detect the candidates for reusable components from the present system. To recover the lost information. When the continuous evolution of the long lived system which will lead to loss of information. In order to preserve the old information of the system design; design recovery of reverse engineering techniques is used. Many reverse engineering tools try to extract the structure of the legacy systems with the intension to pass this information to software engineers in order to re-engineer or to reverse engineer the existing component. Code reverse engineering:- During the evolution of the software, many changes will apply to the code, to add any functionality which is to be added and to change the code in order to rectify the defect and enhance the systems performance (or) quality. Systems with the poor documentation only the code will be reliable solution to get information about the system. As a result, the process of reverse engineering is focused on understanding the code. Thus reverse engineering has good and bad ends. Obfuscation:- Java provides platform independence to the software programs so that software programs will run independently on any platform. All the programs are compiled in order get intermediate code format i.e. A class file consists of a stream of very large amount of information regarding the program methods, variable and constant enough to do reverse engineering. When a company develops the program (or) software in java and sell this product in intermediate code format to the other organization by not giving the original software. The organization who buys the program (or) software will simply change (or) modify the software by violating the security and privacy issues of authorised company; by simply applying the reverse engineering technique. This reverse engineering will be done by the software developers, automated tools and decompilers. Java byte code can be easily decompiled, which makes reverse engineering technique easier in java. In programming context Obfuscation is described as, making program code more difficult to read and understand for security and privacy purposes of the software. Decompilers can easily extract the source code from the compiled code, in that point of view protecting the code secretly will make impossible. So the growth of obfuscators increased rapidly in order to keep effectively smoke screen around the code. Code obfuscation is the one of the most prominent and best method to protect the java code securely. Code obfuscation makes program to understand difficult. So that code will be more resistant to the reverse engineering. There are 2 byte code obfuscation techniques that are: source code obfuscation byte code obfuscation Source code technique is simply changing the source code of the program, where as byte code obfuscation is changing the classfile of the program (functionality is same as the source code). There several obfuscation techniques to prevent java byte code from decompilation. For example consider a set of class files, S, becomes another set of class files S through an obfuscator. Here the set of class files of s and s are different, but they produce the same output. Example:- class OHello { public OHello() { int num=1; } public String gHello(String hname){ return hname; } when the above code is passed through the simple obfuscator (such as Klass Master), the following code will be generated. class aa { public static boolean aa; public aa() { int aa=1; } public String aa(String ba){ return ba; } By observing the above code the class name OHello is changed to the aa and the gHello method name is changed to the aa. It is more difficult to read the program with aa than a OHello. By this way less information will be interpreted and understand to the reverse engineers. This is just a simple example by renaming the class variables and class method names. Categories of obfuscation techniques:- Description of Obfuscation techniques:- One way of obfuscating the source program by the obfuscators is replacing a symbol of a class file by illegal string. The replacement might be the private are even worst ***. Other techniques usually obfuscator will use targeting the specific decompilers (Mocha and Jode) is inserting a bad instruction in the code. The example is Let us taken an example with bad instruction, lets take the original code (decompiled): Method void main(java.lang.String[]) 0 new #4 3 invokespecial #10 6 return and after obfuscation the code is as follows (names are not changed, not to make complex): Method void main(java.lang.String[]) 0 new #4 3 invokespecial #10 6 return 7 pop By observing the above routine we notice that a pop instruction is added after the return statement. The last and final statement in the method that has return type should be return statement, but in the above routine a pop keyword is inserted which make the routine not to be executed for ever. Lexical obfuscation:- Lexical obfuscation changes the lexical structure of a program by scrambling the identifiers. All the names of classes, fields and methods which are meaningful symbolic information of java program, is renamed with meaningless name i.e. useless names. An example obfuscator for lexical obfuscation is crema. Obfuscator is defined as the program that automatically makes the transformation in the classfile in order obfuscate the classfile, to undo the reverse engineering technique to produce the source code from the class file. Layout obfuscation:- Layout obfuscation dealt with changing the layout structure of the program i.e. done by 2 basic methods Renaming the identifiers Removing the debugging information. Above 2 will make program code less informative to the reverse engineers. Layout obfuscation techniques use the one way functions such renaming the identifiers by random symbols, removing the comments, unused methods and debugging information. Though the reverse engineers can understand the obfuscated code i.e. done by layout obfuscation, it consumes the cost of reverse engineering. Layout obfuscation techniques are most commonly used in the code obfuscation. All most all obfuscators of java will use these techniques. Control obfuscation:- Changing the control flow of the program. It is easiest way to do and which make reverse engineer to find the code what exactly. For example consider a code in which a there is a method A(). Here another new method called A_Dummy() will be created and in the program Data Obfuscation:- Data obfuscation mainly deals with breaking up the data structures used in the program and encrypting the literals. This includes changing the inheritance, restructuring the arrays, making the variable names constant etc. In that way data obfuscation affect the data structures of the program. Thus data obfuscation make impossible to obtain the original source code of the program. More viable source code obfuscation methods are based on composite functions, which are Array Index Transformation, Method Argument Transformation, and Hiding Constant. The obfuscation techniques that are based on composite functions make the computation complex and extensive use of these techniques make the software to respond slowly. Some source code obfuscation methods are directed at the object oriented concept; Class Coalescing, Class splitting, and Type Hiding. Other source code obfuscation techniques may include; false refactoring, restructure arrays, inline and outline methods, clone methods, split v ariables, convert static to procedural data, and merge scalar variables. The obfuscation techniques that work over object oriented concept and other techniques like restructure arrays, split variables, merge scalar variables may distort the logic of the software, so these must be carefully used. The employment of obfuscation technique like outline methods, clone methods, convert static to procedural data increase the size of a class file without providing any significant advantage. In lining a method results in an unresolved method call when some other class calls the in lined method. Advanced obfuscation techniques for byte code:- There are several obfuscation techniques to prevent java byte code from de-compilation. Many of these tools are simply to change the names of the identifiers with the meaningless names which are stored in byte code. Many crackers can understand the actual source code, even though identifier name are changed, but it will take more time to understand. Traditionally, when a program is compiled to machine code, most of the symbolic information will be stripped off, after the compilation of the program. When the program is compiled, the address of the variable and functions of the program will be denoted by the identifiers. Even though de-compilation of such compiled code is difficult, but still it is possible to decompile the code. We say protection techniques are difficult if and only if the time and effort taken by the cracker to crack the software should be with more cost and effort. Cracking time to crack software is more than a re-writing a program, then its of no use and waste of time and valueless. Java became the most popular because of benefits that it is providing. One of the major benefits is portability i.e. compiled program can run on any platform i.e. platform independent. When the program is compiled it produces independent byte code. Java uses the symbolic references rather than the traditional memory addresses. Therefore, the names of methods and, variables and types are stored in a constant pool with in a byte code file. There are many commercial de-compilers (P C, 2001, Vliot 1996, hoeniche 2001 etc.). When the program is decompiled, it extracts the program almost identical to the source code. Making use of decompiler to extract the source code becomes the lethal weapon to intellectual property piracy. Obfuscation technique is used to stop de-compilation of the byte code. The main aim of obfuscation technique is to make decompiled program harder to understand i.e. more time and effort to understand the obfuscated code. Obfuscation scope:- Java application consists of one or more packages. A programmer might divide the program in to packages. He can also use the packages that are in standard library and proprietary libraries. Only the part of the program developed by the developer will be given outside. The proprietary library is not distributed due to the copyright restrictions. Obfuscation scope termed as the part of the program obfuscated by the obfuscation techniques, i.e. the part of the program/software developed by the developer is protected not the entire software. The package that serves as the utilities for the standard library and proprietary libraries not obfuscated. Candidates considered for identifiers scrambling:- An identifier will denote the following terms in java http://www.cis.nctu.edu.tw/~wuuyang/papers/Obfuscation20011123.doc the bytecode file. By default, parameters and local variables are stripped and deleted (or) removed from the byte code. The names of the local variables and parameters are stored in the LocalVariableTable in the byte code, if the debug info is enabled. But, by default the de-bug info is enabled in java compiler. If the local variable is not found, de-compilers itself create the names for local variable and parameter, which makes program after reverse somewhat understandable. Even, if we rename the names of the variables and parameter in LocalVariableTable, good decompiler will simply Characteristics of Java Language Characteristics of Java Language Chapter 2 Literature review About Java:- Initially java language is named as Oak in 1991, which is designed for the consumer electronic appliances. Later in 1995 the name was changed to Java. Java was developed by James Gosling, a development leader in sun micro system. Oak was redesigned in 1995 and changed the name to java for the development of the applications which can be run over internet. Using the java language, java programs can be embedded in to the html pages. Java is not only limited for the web applications, it is also useful to develop the stand alone applications. Java has a feature called OOPs, which make it more familiar. Object oriented programming replaced the old traditional techniques i.e. procedural programming. Characteristics of java:- Simple:- Java language is simple than the previous languages such as c and c++. Java eliminates the pointers concept which is earlier present in c and c++. Java also has a properties i.e. automatic allocation of memory and garbage collection, where as in c/c++ the garbage collection and allocation of memory will be done by the programmer which is a complex task. Object oriented:- All the programming languages apart from the c++ are procedural languages which are paradigm of procedures. Java programming language is object oriented because java uses the concept of the object. In java everything will depend on objects i.e. creating the objects and making objects to work together. The overall functionality of the high level program will depends on the objects. Because java is object oriented program it provides great range of reusability, modularity and flexibility. Distributed:- Java uses the http and ftp which are internet protocols, in order to have access the files over the network. So by using this libraries which are in java can easily make file transfers over the network which is connected to internet. Interpreted:- In order to run the java programs we need interpreter. When the java programs are compiled it produces the byte code, which is machine understandable language. The byte code which is produced after the compilation is machine independent, so that it can run on any system using java interpreter. Most of the compilers will convert the high level language instructions to the low-level machine understandable language as machine cant understand the high level instruction. The machine code can only be executed on that compiled native machine. For example a source code is compile on windows platform, the executable file produced after cant be executed on other platforms apart from the windows. But, coming to java it is different i.e. the source code is compiled once and the executable byte code can be run on any platform using java interpreter. The main functionality of the interpreter is, it converts the byte code to the machine language of the target machine. Robust and secure:- Java programming is more reliable. At the time of the execution time java shows all the errors. In java bad and error prone language constructs are eliminated. Java eliminated the concepts such as pointers, due to this there is no corruption of data and overwriting the memory locations. In the same way java supports the exception-handling, which makes java more reliable and robust. Java forces the programmer to write the code for the exceptions, which may occur during the execution of the program. So that program can be terminated successfully, without any error stopping the execution flow of the program. Java also provides the lot of security. Security is important over the network because the computer will be attacked by the external program. Java provides the security that; it encounters the applets for the un-trusted sources. Architecture- neutral:- Java is a interpreted language, which enables java as a architectural neutral i.e. platform independent. We can write the program once and it can be executed on any platform with the help of the Java Virtual Machine (JVM). The java virtual machine can be embedded on the operating system or on web browser. Once the part of the java code is loaded into the machine, it is verified. Byte code verification play a major role, as it check all the code generated by the compiler will not corrupt the machine on which the code is loaded. At the end of the compilation, byte code verification will be done; in order to make sure thats the code is accurate and correct. So the byte code verification is the integral to the compilation and execution. Due to the property of architectural neutral had by java, it is portable. The program once written can be run on any platform without recompilation. Java does not provide any platform specific features. In other languages, such as Ada where the large integer varies according to the platform it runs. But in the case of java the range of the numbers are fixed. Java environment is portal to every operating system and hardware. Multi-threaded:- It is defined as the programs ability to perform several tasks (or) functions simultaneously. The multithreading property is embedded in the java program. Using the java programs we can perform the several tasks simultaneously without calling any procedures of the operating system, which is done by the other programming languages in order to perform the multi-threading. Constant Pool:- Every program i.e. class in java, has a array of constants in the heap memory called as the constant pool, which is available to that class. Usually it is created by the java compiler. The constants encode all the name of the (methods, variables and constant that are presented in the constant pool) which is used by particular method of any class. Each individual class i.e. stored in heap memory has a count of how many constants are there and also has offset which specifies how far in to the class description itself the array of constants begins (Laura Lemay, Charles L.Perkins, and Micheal Morrison, n.d). The constants are represented (or) typed in the special coded bytes and which has a very well defined format, when these constants are appeared in the .class file for the java class file. JVM instructions refer to the symbolic information in java, rather than relying on the run time layouts of the class, methods and fields. Sun Java Wireless Toolkit:- Sun java wireless toolkit CLDC (connected Limited Device Configuration) is a group of tools which is used to develop the applications for the mobiles and for other wireless equipments (or) devices. Although the sun java wireless toolkit is based on the MIDP (Mobile Information Device Profile), it also supports many other optional packages, which make a sun java wireless toolkit as a great tool for developing many applications. It can be supported on the windows and Linux. All the users who have account on the host machine can access this tool either singly or simultaneously. It allows you to use a byte code obfuscator to reduce the size of your MIDlet suite JAR file. It also supports many other standard Application Programming Interfaces (APIs) which are defined by the (JCP) Java Community Process program. Even though, the sun java wireless toolkit did not come up with an obfuscator, it is configured in a way that it supports the ProGaurd. All you need to do is, just simply to download the ProGuard and place it in the system, which sun java wireless tool kit can find it. But due to the flexible nature of the tool, it allows any kind of the obfuscator. BCEL:- BCEL full abbreviation is Byte Code Engineering library. The BCEL helps you to dig the byte code of the java classes. BCEL gives the utmost power on the code because it works at the individual JVM instructions, even though the power comes with cost in complexity. Using the BCEL, we can transform the existing classes transformation or we can construct the new classes. The main difference between the BCEL and Javassist is javassist provides the source code interface where as the BCEL is developed in the intension to work at the level of the JVM assembly language. BCEL is good because the approach it uses is low level, which is very helpful to control the program at the instruction level. Compared to Javassist it is more complex to work with the BCEL. BCEL has the capability to inspect, to edit and to create binary classes in java. There are 2 hierarchy components in the BCEL, in which one component is used to create the new code and the other component is used to edit (or) update the existing code. The inspection of the class aspect in the BCEL mainly deals with the duplication whatever available in the java platform using the Reflection API. This duplication is necessary (or) mandatory in classworking because we generally dont want to load the classes on which we are working until they are modified fully. Org.apache.bcel.classfile package provides all the definition which is related to inspection-related code.org.apache.bcel package provides the basic constant definitions. JavaClass is a class which is the starting point of the package. The JavaClass plays a role in accessing the information of the class using the BCEL same as like java,lang.Class does using the regular reflection in java. The JavaClass has a methods to get the information like structural information about the super classes and interfaces, to get the information of the class i.e. information about the field and methods in the class. The JavaClass will provide access to the some internal information about the class, including constant pool and identifiers. It also represents the Byte stream which is the complete binary class representation. If the actual binary class is parcel, then we can create the instance for the JavaClass. To handle the parsing BCEL provides a class called org.apache.bcel.Respository. The representation of the classes are parsed and cached by the BCEL by default, which are on the JVM path, to get the actual binary classes representation from the org.apache.bcel.util.respository instance. org.apache.bcel.util.respository is an interface which is source for binary classes representations. Changing the classes:- Not only the accessing the components of class, org.apache.bcel.Classfile.JavaClass also provide certain methods, in order to provide the liberty to change (or) alter the classes. The class component can be set to the new values by using those methods. Although those are of no direct use much, because the other classes in the package dont support constructing the new versions of the components that are building. There are certain classes in the org.apache.bcel.generic package that will provide the editable versions of the same components there in the org.apache.bcel.classfile classes. Org.apache.bcel.generic.ClassGen is the starting step (or) point for the creating the new classes. This also useful to modify the existing classes, to do this one, there is a constructor that takes a JavaClass Instance in order to initialize ClassGen class information. Once you modified the changes to the class, then we get the usable (or) useful class representation from ClassGen instance, in order get the usable representation of the class, we need to call any method that returns the class called JavaClass. Later it will be converted into the binary class information. It is little bit confusing, in order to eliminate this confusion, it is better to write a wrapper class for eliminating some differences. In order to manage the construction of the various class components, org.apache.bcel.generic provides many other classes apart from the ClassGen. It has a class called ConstantPoolGen , which is used to handle the constant pool. FieldGen, MethodGen classes which are used to handle the Fields and the methods in classes. For the working with the sequence of the JVM instructions there is other class called Instruction List. org.apache.bcel.generic also provides the classes for the each and every type instructions which are executed over JVM. We can create the instance for these classes directly some times and in other times by using the helper class called org.apache.generic.InstrcutionFactory. The main advantage of this helper class is, it handles are the book keeping details of the each and every instruction constructing for us( i.e. adding the items to the constant pool as required for the instructions). Sand Mark:- Sandmark is a tool i.e. developed to measure the performance of the software protection algorithms and effectiveness of the methods that are preventing the software from the piracy issues, water tampering and reverse engineering techniques. Sandmark is also has an ability to find which algorithm is most resiliences to the attacks and have a least performance of over head. There are many software protections are proposed both in software and hardware. The hardware protections are there from the dongle protection and now tamper-proof software. The sandmark tool is developed to evaluating and implementing the software-based techniques such as code obfuscation (making code complex to understand) and water tampering. History of reverse engineering:- Reverse engineering most probably starts with Dos (disk operating system) based computer games. The aim is to have full life and armed for the player to finish the final stage of the game. In that way the technique of reverse engineering came in to picture, it is just to find the memory locations where the life and number of weapons are stored and modifying the values of that memory locations. So that, the player can changes the values and gets through the final stage and win the game. Thats why memory cheating tools such as game hack came in to existence. Reverse Engineering:- Reverse engineering is the process of the understanding the particular aspects of the program, which are listed below To identify the components of the system and the interrelationship between the components. And enhance the components of the system and to improve the performance and scalability of the system (or) subsystem. Software reverse engineering is a technique that converts a machine code of a program (string 0s and 1s usually sent to logic processor) back in to the programmable language statements which is called as source code. Software reverse engineering is done to get the source code of the program because to know how the particular parts of the program performs particular operations in order to improve the program functionality or to fix the bugs in the program or to find malicious block of statements in the software if any. Generally, this reverse engineering will take place in older industries on machines. But now it is frequently used on computer hardware and softwar e. The important contents like data formats, algorithms what the programmer used to implement the software and ideas of the programmer (or) company will be revealed to the 3rd person by violating the security and privacy issues using reverse engineering technique. Reverse engineering is evolving as a major link in the software lifecycle, but its growth is hampered by confusion (Elliot J.chilkofsky James H.Cross ii, Jan 1990). Reverse engineering is generally implemented to improve the quality of the product, to observe the competitors products. Forward engineering is the process of moving from the high level abstracts (or) from the initial requirements stage (objectives, constraints and proper solution to the problem), logical, and independent designs (specification of the solution) to the final product i.e. implementation (coding and testing).; whereas the reverse engineering is the process of moving from the final product to the initial requirements stage in order to under the system logically, why particular function (or) action is being performed. By knowing the system logically, the flaws and errors in the system can be rectified and helps to improve the systems functionality when the source code of the application is not available. For this sake the concept of the reverse engineering techniques is evolved. Fig 1: reverse engineering and related process are transformations between or within the abstract levels, represented here in terms of life cycle phases. (Elliot J.chilkofsky James H.Cross ii, Jan 1990) Reverse engineering in and of itself doesnt mean changing the subsystem or developing the new system based on the existing. It is a process of examination (or) understanding the program (or) software but not replication (or) change. Reverse engineering involves very broad range of aspects such as starting from the existing implementation, recreating or recapturing the design ideas and extracts the actual requirements of the existing system. Design recovery is the most vital subset of the reverse engineering because in which knowledge of the domain, external (or) outer side information and deduction or fuzzy reasoning are added to the investigated (or) subjected system in order to find the high level abstract of the system, normally which is not obtained by directly observing the system. According to the Ted BiggerStaff: Students Paper: Ted BiggerStaff: design recovery recreates design abstractions from a combination of code, existing design documentation(if available), personal experience, and general knowledge about problem and application domains. Design recovery must reproduce Re-engineering is termed as renovation and reclamation, is the examination and altering the subjective system again to construct in the new form and the implementation of the new system. Re-engineering involves some form of reverse engineering i.e. to obtain the high level of the abstract of the existing system followed by forward engineering. This may be changes according to the new requirements that were not previously implemented in the system. While re-engineering is not super type of the forward engineering and reverse engineering but it uses the forward engineering and reverse engineering. Objectives:- The primary goal of the reverse engineering is to enhance the overall comprehensibility of the system for the both maintenance and new development. Cope up with the complexity. In order to meet the complexity and shear volumes of the system we have to develop a better methods i.e. automated support. In order to extract the relevant information reverse engineering methods and tools should be combined with the CASE environments. So that decision makers can control the process and product in system evolutions. Alternative views should be generated. Comprehension aids such as graphic representation as been accepted for long time. However maintaining and creating them is becoming difficult in the process. Reverse engineering facilitates the generation or regeneration of the graphical representation in the other forms. While many designers work on single diagrams such as data flow diagrams where as the reverse engineering tools will give the other graphical representations such as control flow diagrams, entity relation diagrams and structure charts to aid the review and verification process. To identify the side effects. Both haphazard initial design and intentional modifications to the system can lead to unintentional ramifications and side effects that affect the system performance. Reverse engineering can provide better observation than we can observe by forward engineering perspective. So it makes us to solve that ramifications and anomalies before users intimate them as bugs. Component reuse. Software reusability is becoming the more essential part in developing the new products in the software field. Reverse engineering can be able to help to detect the candidates for reusable components from the present system. To recover the lost information. When the continuous evolution of the long lived system which will lead to loss of information. In order to preserve the old information of the system design; design recovery of reverse engineering techniques is used. Many reverse engineering tools try to extract the structure of the legacy systems with the intension to pass this information to software engineers in order to re-engineer or to reverse engineer the existing component. Code reverse engineering:- During the evolution of the software, many changes will apply to the code, to add any functionality which is to be added and to change the code in order to rectify the defect and enhance the systems performance (or) quality. Systems with the poor documentation only the code will be reliable solution to get information about the system. As a result, the process of reverse engineering is focused on understanding the code. Thus reverse engineering has good and bad ends. Obfuscation:- Java provides platform independence to the software programs so that software programs will run independently on any platform. All the programs are compiled in order get intermediate code format i.e. A class file consists of a stream of very large amount of information regarding the program methods, variable and constant enough to do reverse engineering. When a company develops the program (or) software in java and sell this product in intermediate code format to the other organization by not giving the original software. The organization who buys the program (or) software will simply change (or) modify the software by violating the security and privacy issues of authorised company; by simply applying the reverse engineering technique. This reverse engineering will be done by the software developers, automated tools and decompilers. Java byte code can be easily decompiled, which makes reverse engineering technique easier in java. In programming context Obfuscation is described as, making program code more difficult to read and understand for security and privacy purposes of the software. Decompilers can easily extract the source code from the compiled code, in that point of view protecting the code secretly will make impossible. So the growth of obfuscators increased rapidly in order to keep effectively smoke screen around the code. Code obfuscation is the one of the most prominent and best method to protect the java code securely. Code obfuscation makes program to understand difficult. So that code will be more resistant to the reverse engineering. There are 2 byte code obfuscation techniques that are: source code obfuscation byte code obfuscation Source code technique is simply changing the source code of the program, where as byte code obfuscation is changing the classfile of the program (functionality is same as the source code). There several obfuscation techniques to prevent java byte code from decompilation. For example consider a set of class files, S, becomes another set of class files S through an obfuscator. Here the set of class files of s and s are different, but they produce the same output. Example:- class OHello { public OHello() { int num=1; } public String gHello(String hname){ return hname; } when the above code is passed through the simple obfuscator (such as Klass Master), the following code will be generated. class aa { public static boolean aa; public aa() { int aa=1; } public String aa(String ba){ return ba; } By observing the above code the class name OHello is changed to the aa and the gHello method name is changed to the aa. It is more difficult to read the program with aa than a OHello. By this way less information will be interpreted and understand to the reverse engineers. This is just a simple example by renaming the class variables and class method names. Categories of obfuscation techniques:- Description of Obfuscation techniques:- One way of obfuscating the source program by the obfuscators is replacing a symbol of a class file by illegal string. The replacement might be the private are even worst ***. Other techniques usually obfuscator will use targeting the specific decompilers (Mocha and Jode) is inserting a bad instruction in the code. The example is Let us taken an example with bad instruction, lets take the original code (decompiled): Method void main(java.lang.String[]) 0 new #4 3 invokespecial #10 6 return and after obfuscation the code is as follows (names are not changed, not to make complex): Method void main(java.lang.String[]) 0 new #4 3 invokespecial #10 6 return 7 pop By observing the above routine we notice that a pop instruction is added after the return statement. The last and final statement in the method that has return type should be return statement, but in the above routine a pop keyword is inserted which make the routine not to be executed for ever. Lexical obfuscation:- Lexical obfuscation changes the lexical structure of a program by scrambling the identifiers. All the names of classes, fields and methods which are meaningful symbolic information of java program, is renamed with meaningless name i.e. useless names. An example obfuscator for lexical obfuscation is crema. Obfuscator is defined as the program that automatically makes the transformation in the classfile in order obfuscate the classfile, to undo the reverse engineering technique to produce the source code from the class file. Layout obfuscation:- Layout obfuscation dealt with changing the layout structure of the program i.e. done by 2 basic methods Renaming the identifiers Removing the debugging information. Above 2 will make program code less informative to the reverse engineers. Layout obfuscation techniques use the one way functions such renaming the identifiers by random symbols, removing the comments, unused methods and debugging information. Though the reverse engineers can understand the obfuscated code i.e. done by layout obfuscation, it consumes the cost of reverse engineering. Layout obfuscation techniques are most commonly used in the code obfuscation. All most all obfuscators of java will use these techniques. Control obfuscation:- Changing the control flow of the program. It is easiest way to do and which make reverse engineer to find the code what exactly. For example consider a code in which a there is a method A(). Here another new method called A_Dummy() will be created and in the program Data Obfuscation:- Data obfuscation mainly deals with breaking up the data structures used in the program and encrypting the literals. This includes changing the inheritance, restructuring the arrays, making the variable names constant etc. In that way data obfuscation affect the data structures of the program. Thus data obfuscation make impossible to obtain the original source code of the program. More viable source code obfuscation methods are based on composite functions, which are Array Index Transformation, Method Argument Transformation, and Hiding Constant. The obfuscation techniques that are based on composite functions make the computation complex and extensive use of these techniques make the software to respond slowly. Some source code obfuscation methods are directed at the object oriented concept; Class Coalescing, Class splitting, and Type Hiding. Other source code obfuscation techniques may include; false refactoring, restructure arrays, inline and outline methods, clone methods, split v ariables, convert static to procedural data, and merge scalar variables. The obfuscation techniques that work over object oriented concept and other techniques like restructure arrays, split variables, merge scalar variables may distort the logic of the software, so these must be carefully used. The employment of obfuscation technique like outline methods, clone methods, convert static to procedural data increase the size of a class file without providing any significant advantage. In lining a method results in an unresolved method call when some other class calls the in lined method. Advanced obfuscation techniques for byte code:- There are several obfuscation techniques to prevent java byte code from de-compilation. Many of these tools are simply to change the names of the identifiers with the meaningless names which are stored in byte code. Many crackers can understand the actual source code, even though identifier name are changed, but it will take more time to understand. Traditionally, when a program is compiled to machine code, most of the symbolic information will be stripped off, after the compilation of the program. When the program is compiled, the address of the variable and functions of the program will be denoted by the identifiers. Even though de-compilation of such compiled code is difficult, but still it is possible to decompile the code. We say protection techniques are difficult if and only if the time and effort taken by the cracker to crack the software should be with more cost and effort. Cracking time to crack software is more than a re-writing a program, then its of no use and waste of time and valueless. Java became the most popular because of benefits that it is providing. One of the major benefits is portability i.e. compiled program can run on any platform i.e. platform independent. When the program is compiled it produces independent byte code. Java uses the symbolic references rather than the traditional memory addresses. Therefore, the names of methods and, variables and types are stored in a constant pool with in a byte code file. There are many commercial de-compilers (P C, 2001, Vliot 1996, hoeniche 2001 etc.). When the program is decompiled, it extracts the program almost identical to the source code. Making use of decompiler to extract the source code becomes the lethal weapon to intellectual property piracy. Obfuscation technique is used to stop de-compilation of the byte code. The main aim of obfuscation technique is to make decompiled program harder to understand i.e. more time and effort to understand the obfuscated code. Obfuscation scope:- Java application consists of one or more packages. A programmer might divide the program in to packages. He can also use the packages that are in standard library and proprietary libraries. Only the part of the program developed by the developer will be given outside. The proprietary library is not distributed due to the copyright restrictions. Obfuscation scope termed as the part of the program obfuscated by the obfuscation techniques, i.e. the part of the program/software developed by the developer is protected not the entire software. The package that serves as the utilities for the standard library and proprietary libraries not obfuscated. Candidates considered for identifiers scrambling:- An identifier will denote the following terms in java http://www.cis.nctu.edu.tw/~wuuyang/papers/Obfuscation20011123.doc the bytecode file. By default, parameters and local variables are stripped and deleted (or) removed from the byte code. The names of the local variables and parameters are stored in the LocalVariableTable in the byte code, if the debug info is enabled. But, by default the de-bug info is enabled in java compiler. If the local variable is not found, de-compilers itself create the names for local variable and parameter, which makes program after reverse somewhat understandable. Even, if we rename the names of the variables and parameter in LocalVariableTable, good decompiler will simply

Friday, October 25, 2019

Analysis of We Wear the Mask by Paul Laurence Dunbar Essay -- Slavery

Analysis of We Wear the Mask by Paul Laurence Dunbar â€Å"We Wear the Mask† by Paul Laurence Dunbar is a renowned piece of literature that has been the subject of various literary criticisms over the years. Because of the poem’s indirectness and generalized ambiguity, the interpretation of the â€Å"we† that wears the â€Å"mask† and why they do so is left unanimously undisclosed. It is up to the interpreter and the support given by the interpreter to produce a valid representation of the meaning that lies beneath the mask. One such analysis of â€Å"We Wear the Mask† is presented by Peter Revell on page 71 of his book Paul Laurence Dunbar, which was published in 1979 by G. K. Hall & Co. Unfortunately, the given argument nearly shames the profoundness of Paul Laurence Dunbar’s poem with its brevity and lack of sufficient support. In Revell’s short and weak interpretation of Dunbar’s â€Å"We Wear the Mask,† he suggests that it is impossible for the non-black reader to draw inspiration or admonition from the subject matter, and that it was written from within a black experience and exclusively for a black audience. However, this analysis can be viewed as primarily invalid because as Revell makes this claim, he fails to provide solid evidence from the text that would fully booster his assumption. He merely pulls an entire stanza from the poem to illustrate his point, without referencing specific words or phrases that would elucidate his argument. If Revell were to have supplied more fully the evidence of Dunbar’s other poetry of the time, showing how it objectively displayed a black theme and straightforwardly addressed the injustices of slavery, then a parallel of similarity could have been drawn between the two and his... ...s one such â€Å"mask† that profoundly affected Dunbar personally. Revell failed to see the possibility that â€Å"We Wear the Mask† could represent anything but the turmoil the black slaves endured because of Dunbar’s disposition as a descendent of slaves. However, the interpretation that this poem speaks to all people is supported more fully through the text as a result of Dunbar’s use of the universal â€Å"we† in coercion with religious reference. All people wear this â€Å"mask† and until one figures out the most appropriate way to take it off, â€Å"the world dream otherwise† and all will continue to fool and be fooled by the world’s countless masks. Works Cited Revell, Peter. Paul Luarence Dunbar. United States of America: G.K. Hall & Co., 1979 Brawly, Benjamin. Paul Laurence Dunbar Poet of his People. New York: The University of North Carolina Press, 1936.

Thursday, October 24, 2019

Morality †Ethics Essay

1. What are the fundamental questions which ethics tries to resolve? Ethics seeks to resolve questions dealing with human morality—concepts such as good and evil, right and wrong, virtue and vice, justice and crime. 2. Distinguish a human act from act of man. The difference between human acts and man acts is that human acts are a free will decision. This includes knowledge, freedom and voluntarism When modifiers come into play, then it makes the act become the act of man. The elements are ignorance, passion, fear, violence and habits. You act simultaneously with your feelings. A human act is an action that is considered to be carried out voluntarily, whereas an act of man is an involuntary action. The distinctions and nuances between an act of man and a human act are often a focus of philosophical debate. 3. What is morality? Morality is the differentiation of intentions, decisions, and actions between those that are good orright and those that are bad, evil or wrong. Morality can be a body of standards or principles derived from a code of conduct from a particular philosophy,religion, or culture, or it can derive from a standard that a person believes should be universal. 4. Distinguish moral, immoral, and amoral. Moral concerned with the principles of right and wrong behavior and the goodness or badness of human character. Immoral actions or events: those areas of interest where moral categories do apply and of are such a kind as to be evil, sinful, or wrong according to some code or theory of ethics. Amoral actions or events: those areas of interest exhibiting indifference to and not abiding by the moral rules or codes of society. 5. How will you determine the goodness and badness of human act? An event which is caused solely by the effect of nature or natural causes and without any interference by humans whatsoever. 6. What qualities of human act have ethical in form? The qualities of human act that have ethical in form are the actions that are free and deliberate, those that proceeds from the free and conscious acts of man and the act that is always done for a purpose. 7. What are different connotations of the term moral? The term â€Å"morality† can be used either 1. descriptively to refer to some codes of conduct put forward by a society or, a. some other group, such as a religion, or b. accepted by an individual for her own behavior or 2.normatively to refer to a code of conduct that, given specified conditions, would be put forward by all rational persons. 8. Why is Ethics important? Ethics is a requirement for human life. It is our means of deciding a course of action. Without it, our actions would be random and aimless. There would be no way to work towards a goal because there would be no way to pick between a limitless number of goals. Even with an ethical standard, we may be unable to pursue our goals with the possibility of success. To the degree which a rational ethical standard is taken, we are able to correctly organize our goals and actions to accomplish our most important values. Any flaw in our ethics will reduce our ability to be successful in our endeavors. 9. Why should ethics always be treated a way of life? Ethics, sometimes known as moral philosophy, is a branch of philosophythat involves systematizing, defending and recommending concepts of right and wrong conduct. The superfield within philosophy known as axiology includes both ethics and aesthetics and is unified by each sub-branch’s concern with value. Philosophical ethics investigates what is the best way for humans to live, and what kinds of actions are right or wrong in particular circumstances. Ethics may be divided into three major areas of study. Meta-ethics, about the theoretical meaning and reference of moral propositions and how their truth values (if any) may be determined. Ethics seeks to resolve questions dealing with human morality—concepts such as good and evil, right and wrong, virtue and vice, justice and crime. 10. How is responsibilities entaill in a human act? Responsibility for own existence is grounded on self-awareness and personal freedom to make choices. By exercising freedom to choose man becomes totally responsible for himself. But his responsibility does not stop there; it extends to other people so that at the end it assumes the form of universal responsibility. There are at least three circles in the extension of our responsibility. The Individual responsibility, if existence precedes essence man is responsible for his own actions. Total Responsibility, If man is free to choose what he is going to make of himself, he is entirely responsible for what he is becoming. Universal Responsibility, If man is fully responsible for what he is presenting as the image of man, he is responsible for all men. 11. What are the different approaches in dealing with the problem of moral principles? ?The Utilitarian Approach Utilitarianism was conceived in the 19th century by Jeremy Bentham and John Stuart Mill to help legislators determine which laws were morally best. Both Bentham and Mill suggested that ethical actions are those that provide the greatest balance of good over evil. ?The Rights Approach The second important approach to ethics has its roots in the philosophy of the 18th-century thinker Immanuel Kant and others like him, who focused on the individual’s right to choose for herself or himself. ?The Fairness or Justice Approach The fairness or justice approach to ethics has its roots in the teachings of the ancient Greek philosopher Aristotle, who said that â€Å"equals should be treated equally and unequals unequally. † ?The Common-Good Approach This approach to ethics assumes a society comprising individuals whose own good is inextricably linked to the good of the community. Community members are bound by the pursuit of common values and goals. ?The Virtue Approach The virtue approach to ethics assumes that there are certain ideals toward which we should strive, which provide for the full development of our humanity. These ideals are discovered through thoughtful reflection on what kind of people we have the potential to become. 12. Research on the following: a. The problem of Moral Principles Now, such principles come in two distinct forms: formal principles (i. e. moral principles without specific action-guiding content) and substantive principles (i. e. moral principles with specific action-guiding content). In what follows, I consider substantive principles first, then formal. Both forms of principles, I argue, are incapable of providing the sort of moral guidance necessary to achieve mature moral judgments (i. e.judgments that are appropriate to the situations they are judgments of). The problem is that such principles are unable to provide information about what actually would, in a given situation, uphold justice or maximize utility. That is, formal principles fail to provide moral agents with the tools necessary to evaluate the complex details particular situations confront them with, or to develop appropriate moral solutions. b. The problem of Scope Morality Scope of morality are moral concept which are mixed modes, are transparent, we cannot reduce the descriptions of our moral life, that is the descriptions using our moral vocabulary, to some substantial residue or some real objects. c. The problem of Moral Obligation Moral obligations are standards that do not merely advise or recommend our conformity, but demand it. Moral obligations come from the demands or expectations of society d. The problem of Freedom Freedom naturally occurs in nature, but only becomes an issue in the way that humans view themselves, their surroundings and others. Freedom grants one the right to behave without fear or punishment i. e. go anywhere they wish, do anything they wish or say anything they wish. Of course there are always limits imposed on freedom. We are all born free, but as we grow we learn the physical limits of our surroundings. We learn about the limits imposed on us by gravity or by our physical surroundings such as walls. The thing is, freedom can only exist if you recognize its existence and then exercise it while at the same time acknowledging and tolerating others freedom. e. The problem of Moral Practice Since cultures and individuals differ in certain moral practices, there are no objective moral values. Several objections can be made to this argument. First, the fact that people disagree about something does not mean there is no objective truth. If you and I disagree about whether or not the earth is round, for example, this is not proof that the earth has no shape. In moral discussion, the fact that a skinhead and I may disagree about whether we should treat people equally and fairly is not sufficient evidence to say that equality and fairness have no objective value. f. The problem of Casuistry. A bias is an unwarranted inclination or a special perspective that disposes us to mistaken or one-sided judgments. The potential for bias arises at each stage of a case method of reasoning including in describing, framing, selecting and comparing of cases and paradigms. A problem of bias occurs because to identify the relevant features for such purposes, we must use general views about what is relevant; but some of our general views are biased, both in the sense of being unwarranted inclinations and in the sense that they are one of many viable perspectives. 13. Is it right to say that â€Å"What is right for me to do is what I really want to do† and why? No,it’s not right to say it that way because you are only thinking about yourself. And sometimes even it is right for you its not what you really want to do because you’re also thinking about the others, what will be the effect of this to them and whatsoever. 14. What is basic substanceof the problem freedom. â€Å"Freedom† is one of those slippery words, difficult to define because it is an ambiguous and abstract man-made concept. It naturally occurs in nature, but only becomes an issue in the way that humans view themselves, their surroundings and others. Freedom is only an issue in the presence of oppression, and oppression only exists among humans as a result of their perceptions of the world around them. The thing is, freedom can only exist if you recognize its existence and then exercise it while at the same time acknowledging and tolerating others freedom. 15. Distinguish between moral principles and moral rules. Moral principle – the principles of right and wrong that are accepted by an individual or a social group; â€Å"the Puritan ethic†; â€Å"a person with old-fashioned values†. Moral Rules- they come out into the open only when the person is questioned. Very often one of the rules contradicts another, thus enabling the user to resort first to one and then to the other to suit his convenience or to accord with his pre-existing prejudices. These rules are usually those they have been taught to believe.

Tuesday, October 22, 2019

Prostitution

Prostitution Prostitution is frequently called the world?s oldest profession. Actually the profession of ?shaman? predates it by thousands of years ago. This inaccuracy reflects many of western society?s traditional attitudes about women, e.g. women are property, women are sinful and women?s purpose is to serve the needs of men. Because these attitudes are so ingrained, it is impossible to think of a time when they were not truisms. Prostitution is very ancient and it is even documented in humankind?s earliest written book.Over the years, there are various theories on why prostitution exist. These various theories break down into four basic categories. The first is that prostitution is inevitable because nature determines certain roles for men and women and one of women?s roles is to serve the sexual needs of men. This theory is shared by both tradition anthropologist and by some modern theorist. The socialist /Marxist view is that prostitution is an inevitable results of capitalism.English: Lega l status of prostitution in Australia...It destroys the "purity" of woman. Think about this, would you want your children to participate in prostitution? More will if we make it readily available for them. Also, would you want your daughters or maybe even sons to have aspirations to be a prostitute? We live today to make the best future for our children if not at least a better one than we have had. What examples would we be if we were to make such immoral acts like this one, legal? What would happen to our future? Chaos. We must not only think of what is best for us but also what is best for the next generation. What we do today has a great impact on society in the future.Prostitution is immoral because it causes harm to society. Although it may not cause...

Monday, October 21, 2019

Parthenon essays

Parthenon essays The Parthenon of Athens, which is located in Greece, has probably received more attention from than any other ancient structure. Words and photographs cannot do this great accomplishment justice. The Parthenons construction, history, sculptures and its dreadful condition all tells a story, a story of a creative triumphant victory for the Greeks. An Internet source states, the name Parthenon refers to the worship of Athena Parthenos, the 'Virgin Athena' who issued fully grown from the head of her father Zeus. The maiden goddess and patroness of Athens, she represents the highest order of spiritual development and the gifts of intellect and understanding. Pure in body, mind and heart, Athena is the symbol of the universal human aspiration for wisdom. The Parthenon has suffered greatly from time, so that it is only a portion of its original self. The Parthenon survived into the early modern era almost entirely in tact. It was preserved because the building remained in constant use; first converted into a church in the sixth century, and then into a mosque after the Islamic conquest by the Turks. Unfortunately, during the late seventeenth century the Parthenon was also used as a powder magazine. In 1687, in their battle to take Athens from the Turks, the Venetians shelled the Acropolis. In spite of being rather terrible shots, theVentians after three days of shelling finally made a direct hit. The resulting explosion blew the roof off the Parthenon and knocked huge holes on all four sides. The building suffered further in the first decade of the nineteenth-century when the British envoy to Ottoman Court, Lord Elgin, removed a great deal of the sculpture and brought it to England. Air pollution especially during the last half-ce ntury has also contributed to the degradation of the building and forced the removal of most of the remaining sculptures. The condition we find the Parthenon in today is largely due to late ...

Sunday, October 20, 2019

My True Hero essays

My True Hero essays As a child, I had always looked to my father as a hero. To me, he was strong enough to take on an army one handed, tall enough to reach for the moon and give it to me, and wise enough to know everything about everything. There was nothing my father could not do. He took time to teach me to read, write, walk, and talk. When learning how to walk, like any child I would occasionally fall. My father would pick me up and put me back on my feet. He always encouraged me to get up and try it again. I felt no doubt in his eyes; he made me believe that I can accomplish anything that I set my mind to. In my rebellious early teenage years I saw that my father did not know everything like I previously thought. Since my mother had left my family when I was seven, I felt like I had no one to talk to. I would often complain to him, You just dont understand! I forgot often that he, too, was once an adolescent and I did not necessarily need a mother to talk to. Always my father was there to comfort me through heartbreak after heartbreak. During the hardest years of my life, he never lost faith in me, even after I continuously went against his will time and time again. As far as I can remember, I was never forced by my father to do anything I did not want to do. I would often ask him why we did not go to church. His answer was always, I do not want you to feel like you have to believe in what I do. I want you to be able to make decisions like which church to go to or which denomination to be. One day I asked him to take me to a local Baptist church that was located in front of my elementary school. I met some friends from school and soon I was going every Sunday. I asked him one day which denomination he was and he told me he was Methodist. I have learned from him to respect what the person next to me believes in; he or she may be offended by extra strong proclamations. I respect and ...

Saturday, October 19, 2019

The car industry brought its decline on itself. Comment, with Essay

The car industry brought its decline on itself. Comment, with reference to the period since 1960 - Essay Example The government tried to play its role in curing the demise of the car industry in Britain. However, it ended up making decisions and policies that adversely affected the state of the British car industry. They include the steel rationing scheme, improper investments and development to support mergers, and unsuccessful regionalization policies. On the other hand, the management practices prevalent in the industry did not help its condition either. There was unsystematic authoritarian leadership, poor integration after mergers, and other improper strategies that also played their role in bringing down the growing car manufacturing industry of Britain. (Church, 1994) This paper will shed light over the ineffective government policies and the poor management that, together, led to the demise of the British car industry. It also discusses some specific cases and examples from the history of Britain’s auto industry and points out where the mistakes were made and how management could have avoided them. Some may argue that the government’s economic policies could have had an adverse affect on the development of the industry. The factors that may have contributed towards the meltdown of the auto industry in UK may include the steel rationing scheme, unsuccessful regionalisation policies by the government and the failure to maintain the development of the newly funded mergers. After the success of the auto industry in the UK, in 1945 the multinationals expanded their factories in order to increase the productivity. The government supported this effort made by the multinationals as it would increase employment in the surrounding areas. But the scarcity of resources such as steel kept the government to keep the supply under their control also known as the steel rationing scheme; this prevented the firms to produce the maximum output. The changes in energy

Friday, October 18, 2019

North American Compensation Essay Example | Topics and Well Written Essays - 500 words

North American Compensation - Essay Example This company has also its own strategies and services considerably unique with the other companies. Mercer.com is more on the point of view regarding new leadership that developed with the business in Harvard as well as Oliver Wyman. The organizations which were considered to be around the world may be able to recognize the payback including the competitive advantage in order to develop the human capital's rights that include the outsourcing that is related and strategies of investment. More clients were able to get the right in the passion of Mercer. Mercer.com has its core strengths in the areas of consulting, investing and at the same time outsourcing coming from the advice to solutions that creates the unique position of Mercer. The capabilities are said to be highlighted in recent launched of campaign in terms of advertising viewed as cited below. as well as financial products helping the companies with the management of liabilities' benefit and in order to enhance the value of shareholder. This made Clark Consulting Services unique in terms of the strategies and their services.

Timeline and Mind Map Essay Example | Topics and Well Written Essays - 1000 words

Timeline and Mind Map - Essay Example Maslow identifies five main concepts of human needs including physical, self-actualization, esteem, love, and safety requirements. After a review of the dynamic needs, Maslow further introduced new concepts into the motivation factors. For instance, cognitive needs came into lights. Knowledge and meaning are important aspects that motivate people towards management needs. Aesthetic needs such as appreciation, balance, form and beauty plays an integral role in the management. A working environment without these factors offer not only a platform of failure but also a denial of human needs. Locke believes a relationship exists between how difficult to perform a specific task and a goal. In many instances, goals are either too easy or vague. It, therefore, is important to formulate SMART goals that are specific and objective. Locke believes success in any management setup without goals is impossible. As a result, he came up with various strategies of setting goals that are both reachable and realistic. Undoubtedly, Locke’s theories remain one of the best guides to formulation of efficient theories. The five principles of goal setting should prioritize clarity of goals. According to him, clear goals are unambiguous, specific, and measurable with a definite time of completion. Clear goals allow employees to work with specific guidelines into reaching success. Additionally, the level of challenge plays an important role in motivating people towards success. Conceivably, people judge success based on the anticipated accomplishments. Rewards increase enthusiasm and realization of more difficult goals. It, therefore, is important to strike a balance between challenges and realistic goals. Commitment allows people to understand and commit into a goal when involved. Certainly, feedback and nature f task also plays an important role in clarity expectations. It vital to adjust goal difficulty, clarify expectation, and modify tasks for effectiveness. John Stacy

Information Law Essay Example | Topics and Well Written Essays - 2500 words

Information Law - Essay Example It has been implemented in most part of the world and most of the states are becoming more and more transparent to the people. Globalization has ensured that ideas, goods, information, capital and people are moving across the nations. Local concepts and ideas are quickly made global in this era of globalization. This law is the result of socio-economic and technological forces that has made the government to be more responsive. This has been created and supported because of the ongoing export and import of knowledge across the countries. Shared assumptions and beliefs help in solving the problem at hand. While all these are the reasons for bringing in the Access to information law in many of the countries across the world, it is good to analyze the reasons behind forming this law and whether the law has achieved what it set out to do. The major objective of this exercise was to make the government more trustable (Heald & Hood 2006). This report presents the analysis and the outcome of this analysis towards this target by the government. One of the major reasons for the introduction of FOI by most of the countries is to bring in transparency in governance. Most of the governments are able to get away with moderate or low performance levels because they are not being transparent. When the government becomes transparent in its work, people of the country will be able to ensure that the government works efficiently. This would also ensure service delivery of appropriate standards. There will also be a greater understanding of the governmental decisions and the reasons behind specific actions. On many occasions such decisions and the reasons behind such decisions are largely hidden. This would bring about a condition of superiority or alienation of the public resulting in large scale discontent with the government over a period of time (Colin Bennett Aug 2001). On the contrary, with the increase in transparency levels of the operation of the government, people get to know the reasons behind their actions. This results i n better understanding and appreciation. This would ensure that the government decision making is open for comments and public evaluation. Therefore, the executives of the government would tend to make reasonably accurate decisions which would also ensure that the government operates efficiently catering to the needs of the people more closely. This in turn, would build confidence in the government and public trust. In a broader sense, the government becomes more accountable. All this is made possible by the transparency of governance brought about by this law. Therefore, this forms the major purpose of the act. The transparency in administration and governance is a natural progression in the civil rights over the centuries (Leone & Anrig 2003). With the improvement in the technological frontier and the extent of improvement in the communication has resulted in an increased reason to go for large scale transparency in governance. The impact of information and communication technology in the way information is shared has been profound. This has led to more ways by which people are able to access information. The number of sources has drastically increased. The interactions between people have also grossly increased. It has become cheaper to interact than what it was earlier. An NGO is able

Thursday, October 17, 2019

Government Business Relation GBR Research Paper

Government Business Relation GBR - Research Paper Example The campaign seeks to improve safety in the transport sector by pushing for the ban on the use of mobile phones in motor vehicles. Since the development and incorporation of mobile phone technology, there has been increased occurrence of accidents as a result of drivers using mobile phones when driving (TWU, 2011). Banning the Use of Mobile Phones in Motor Vehicles The submission seeks to address the need to ban the use of mobile phones in motor vehicles, a phenomenon that has led to the rise of accident rates from driver distraction and divided attention. (Zamgba, 2001) Reports indicate that there has been a rise in the number of drivers brought to courts with regards to the use of phones when driving motor vehicles on public roads Recently, the use of phones in motor vehicle has increased significantly with increased driving offences resulting in significant rise in casualty risks irrespective of whether the phones being used are hand-held or hands-free. Drivers who make calls, tex t or even touch mobile phones are proved to have slow reactions and low concentration, thus increasing the risk of accident. US Research has indicates distraction from the use of hands free mobile phones in motor vehicles are more or less the same as distraction caused by handheld mobile phones when driving (Zamgba, 2001, P6). Key Arguments Recently, a number of countries such as Australia and New Zealand have introduced laws that ban the use of handheld mobile phones in motor vehicles. However, passengers and public transport users are still facing the risk of drivers failing to have proper control in driving motor vehicles when using hands-free mobile phones (Maslen, 2008, pg 13). The distraction and divided attention resulting from drivers who use mobile phones when driving causes as much risks as those that result from speeding and drunken drivers (Maslen, 2008, pg 46). However, according to Zamgba (2001, P6), there is need for existence of exceptions in the ban on the use of mo bile phones in motor vehicles with respect to critical issues such as medical emergencies or need to report disabled vehicles. In addition, these are issues of concern in the ban particularly with the introduction of new generation phones where drivers are reported to use applications such as e-mails and even accessing the internet, which is extremely distractive to concentration (Zamgba, 2001). According to International Debate Education Association and Trapp (2009, p. 45), Arguments against a ban on the use of mobile phones as being inapplicable became baseless after the technological improvement in photography where drivers using mobile phones while driving can be automatically detected and apprehended by law enforcers. The photography detection will be effective in enforcing the ban on the use of mobile phones in motor vehicle through evidence. However, other irrelevant criticism against the ban, include the use of phones is vital for economic purposes, appointments and general communications needs given the fact that everyone could cope without phones some few years ago before introduction

Benefits of Privatization Essay Example | Topics and Well Written Essays - 1250 words

Benefits of Privatization - Essay Example Privatization has been experienced by various organizations throughout the world over a long period of time. Various organizations that were owned and controlled by the government sector have been privatized due to the several benefits associated with privatization. One of the main reason due to which government’s tend to choose to privatize a previously state owned business is the failure of the government to operate the business in a an effective and efficient manner. This is mainly because government’s end up operating the business for the interest of politicians that are ruling the government and not working in the favor of the public of particular nation. This writing will focus on the various benefits that have experienced by organization due to privatization while debating the other side of the coin. Body Benefits of Privatization There have been various theories that favor privatization and there have been various practical incidences when privatization has resu lted in huge benefits to organizations and even nations. Privatization is pursued by organizations because the public sector has failed to operate in a profitable manner and the management of public organizations has not done their job in a proper manner. Governments themselves favor privatization and this happens as a result of the increased burdens experienced by government because of state ownership of organizations. When organizations are controlled by the government, governments tend to provide goods and services to the public in shape of subsidies, the management of such organizations work for the benefit of the overall population rather than meeting the demands of individual groups due to which organizations fail to meet the demands of the public and the unions in state owned organizations exercised higher amount of power than unions of organizations that are controlled by the private sector. Due to failure of the government sector to address the needs and wants of the indivi dual groups, individuals experienced dissatisfaction. According to surveys conducted by Donahue, in the region of United States organizations have experienced lower operating cost when they were privatized as compared to the period when they were under the control of the government (Holzer 88). Another reason due to which organizations become privatized is that governments do not operate with the main aim of maximizing profits for the organization and the shareholders of the organization. There tends to be ample amount of changes in the governance of organizations due to which these organizations become inefficient. Lastly, the pressure on governments is low as they do not have to worry about the bankruptcy of the organization as these organizations are never allowed to fail and they are financed by the tax money. Another reason due to which organizations are privatized is because this process helps the government in increasing their revenue. When organizations are owned by the publ ic sector, organizations do not pay taxes and become a burden on the tax payers to continue operating as they even do not work to attain profits. When organizations are privatized, they are obliged by the regulations to pay taxes on the profits they make and the profits they earn are used to fund the operations of the organization. Due to increase in the amount of taxes obtained through private enterprises, government is able to decrease its budget deficit as they do not need to obtain loan for operating the nation and they operate the nations with the revenue earned