Sunday, January 26, 2020
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, January 17, 2020
Persuasive speech on volunteer work Essay
Intro It seems like most people who are trying to persuade you to do volunteer work are always trying to get you at their one specific company or organization. They show you all the benefits of working there and everything you should get out of it, all the reasons why itââ¬â¢s the best place to go. Iââ¬â¢m sure one reason after another goes in one ear and out the other, especially when you have to listen to so many of them. Well today I want to discuss why any volunteer work is important in itself and itââ¬â¢s not so much about where you go or what you do but rather that you go out there and do it. First I will start with the importance of volunteering and why you personally should get involved, then I will talk about why volunteering should be voluntary and at a place that interests you (thatââ¬â¢s not something we are used to thinking about but an important point nonetheless), and last tell you about what I learned during my volunteer work and why the Riley Arena Ice Rink in Cody WY is one great option for getting out there and starting to volunteer. Body The Importance of Volunteering 1. How it helps the community and why it is needed a. We all live in a community and the condition of it affects who we are and what we do. If its run down or has high standards b. A simple act of kindness can change a whole persons day or even their life c. Volunteering provides needed labor that may otherwise not be provided i. WY is ranked 18th in the country for volunteer work with about 30 Percent of residents consistently volunteering. (www.VolunteeringinAmerica.gov) itââ¬â¢s a pretty good number but I think we can do better. ii. In 2012 a total of 14.8 Million hours of work was given by WY residents resulting in $327 Million dollarsââ¬â¢ worth of service iii. The sad part- a big chunk of those people are all over the age of 55. We need young people do to this too! Iââ¬â¢m sure your thinking well thatââ¬â¢s because I donââ¬â¢t really get anything out of it, thatââ¬â¢s why only old people do itâ⬠¦but that leads to my next point of how it helps you 2. How it helps you specifically a. Learn new skills that can come in handy in life i. According to www.worldvolunteerweb.org 73 percent of employers would rather hire a person with volunteer work than without. and 94 percent of employers think that volunteer work can add useful skills to the job. ii. 94 percent of employees who volunteer actively either got a raise in salary or promoted over the employees who donââ¬â¢t volunteer. If the raise came down to you and one other person b. Increased sense of self-worth i. People who volunteer actively are 63 percent more confident in themselves according to that same study. I donââ¬â¢t know about you but I sure could use a bit more confidence, especially up here. ii. It can give you a sense of belonging and of being needed. This is bigger for men than woman because a lot of times men want to be useful and seen as doing good for the benefit of others. Itââ¬â¢s who we are and volunteering is a great way to accomplish that. c. Provides opportunity to meet new people i. Meeting new people could lead to contacts in the future and itââ¬â¢s always a good idea to know as many people as possible, whether its people you are working with or helping serve ii. You never know when having friends will come in handy iii. Can introduce you to people in completely different walk of life or environments and that could be life changing in itself. Why Volunteering Should Be Voluntary 1. We usually donââ¬â¢t think about what doing volunteer work really means. We tend to skip across a big pointâ⬠¦that itââ¬â¢s our choice to do. 2. According to Google.com the word voluntary comes from the Latin word Voluntas which means ââ¬Å"out of free willâ⬠a. If we are going to pick somewhere to volunteer at it should be somewhere that we want to work at. Make it something thatââ¬â¢s important to you! This will help in multiple ways including i. Increased happiness when doing the work. No one wants to be bored all day with something they donââ¬â¢t believe is important. ii. The quality of work is improved which makes the place you are helping at even more thankful iii. Sense of self-worth is even higher because we are helping with something that we know is needed b. If you donââ¬â¢t volunteer with something you valueà you will get bored and not enjoy doing the work thus resulting in less time spent doing the work. So whatââ¬â¢s the point then? Itââ¬â¢s all about our will and what we think is right. Riley Arena Ice Rink ââ¬ânow I get to tell you all about my work here and why itââ¬â¢s a great place to start a volunteering career at 1. Background of Riley Arena a. Ice Skating Rink in Cody WY that started in 1999 by Mr.Riley (according to the riley arena website that is) b. During warmer months it also holds banquets and other large gatherings which can be scheduled through their website c. Homes the Yellowstone Quake hockey team 2. Why itââ¬â¢s a good start a. The work wasnââ¬â¢t too hard, mostly just time consuming. We mopped the floor and bleachers a few times b. They were very flexible with the hours that we wanted to come in help and always seemed thankful for us to be there. c. It really does look great on a resume and will let people know you volunteered at a ââ¬Å"coolâ⬠place (it is an ice rink after all) 3. How and why it fit me a. I found a lot of pride in volunteering here because I felt like itââ¬â¢s somewhere that doesnââ¬â¢t get a lot of attention but still needed people to help at, even if it was cleaning bathrooms. b. Although I wasnââ¬â¢t out saving the world, or the children, or the animals, or the elderlyâ⬠¦I was still making a difference in peopleââ¬â¢s lives. Conclusion In the end thatââ¬â¢s what really matters anyway right, helping people in need and being a blessing in someoneââ¬â¢s life. Volunteering is about helping the community around you and at the same time helping yourself, whether that is advancing your career or just making yourself feel good. You should try to volunteer somewhere that you believe is important and that you can make a difference, otherwise it wonââ¬â¢t be fun for anyone involved. If youââ¬â¢re looking for somewhere to start your volunteering life then you could try out the Riley Arena but more importantly than going there is that you just get out there. Take a little time out of yourà busy schedule and make a difference in someoneââ¬â¢s live, because you never know what you will get out in return.à Thank you! Works Cited http://www.volunteeringinamerica.gov http://www.worldvolunteerweb.org http://www.helpguide.org http://www.rileyarena.coma
Thursday, January 9, 2020
Minimum Wage Is Known As Government - Free Essay Example
Sample details Pages: 3 Words: 835 Downloads: 10 Date added: 2019/04/16 Category Law Essay Level High school Tags: Minimum Wage Essay Did you like this example? This essay consists of the valuable information related to the Minimum wages and several areas related to this topic are covered. This essay contains the information that does increasing wages help to reduce the poverty, how these wages law hurt America as well as consequences of $15 minimum wage. Minimum wage is known as government fixed such amount for the workers on hourly basis that employer should have to pay that amount to the employee regardless of considering the workers qualification, capability. It is the hot topic that increasing the minimum wage would help in alleviate poverty or not. Minimum wages can help in reducing poverty, but it is not used in an effective manner. In under developing or developing countries, the wages can apply to the minority of poor employees only. Most of the time it does not apply on the workers who are self-employed nor in the informal sector where there is large number of poor workers. Donââ¬â¢t waste time! Our writers will create an original "Minimum Wage Is Known As Government" essay for you Create order They commonly earn below the legal minimum wage. When there is rise in the minimum wage, it may affect the formal sector that they stop hiring new workers because of the rise in wage (Badger). If they did not hire those people who belongs to the poor households and do not give the job opportunities there must be significant increase in the poverty. It does not help to reduce poverty; however, the labor supply incentives have been playing a significant role to reduce poverty in US and also improve the heath an education of the lower income families in the long run. American government can implement the wage policy of $15 on hourly basis for the employees, but it cannot order or force companies to hire the employees too. When there is increase in minimum wages, cashiers are wiped out from the drug stores as well as restaurant have taken the place of food trucks (Atkinson, 303). The laws of increasing wages have hurt the Americans because when there is a rise in wages, people take interest in doing most of the thing automatically and they reduced the work force by firing them or o not hire new people in order to save money. When the wages rose from $7.25 to $15, the organizations taken the step to firing the people who have least skills. (Glider, 447) Organizations do not hire fresh people in order to save the extra training cost. In this fastest growing economy world, where there is experienced and well-trained employees. America hurt itself by saving the money of training cost and keeping the fresh and young people unskilled. David Nuemark, (The professor in University of California), given the strongest evidence that unemployment increases when there is increase in minimum wages. In his study he explained that if the wages increase the firms will not hire the people who have low skills nor teenagers without any regard to an industry (Edelman). The higher minimum wage laws are responsible to increase the poverty in New York and California, because the job opportunities will ruin if there is an increase in wages. Firms will hire only those who are capable of working more efficiently and who are worthy of taking $15 per hour. The labor with $8.50 per hour skills will remained unemployed and it will hurt the economy too (ONeill, 71). On the other hand, the supporters of increase in minimum wages argue that government can increase the wages without pushing the labor cost high enough that will result in stop hiring new people it will increase the companys profit and people will get money as well as they will spent in order to fulfill their needs it will increase economic activity of country. Another consequence that should be ruminated over is either the employs will comply with this or not. Will they avoid higher labor cost or if workers will be replaced by machines. According to sensory experience, the capital labor substitution will not work (Franklin, 757). Preliminary research suggest that higher level of routine manual work is improbable to be substituted by technology in response to low wage hikes. This suggests that before the labors are replaced by technology, the workers will first consider to some other way to adjust to $15 wage. The firms, there are many other ways to adjust this minimum $15 wage, but it sounds unlikely that employers will seek the workers with robots. Entry level, minimum wage jobs are meant to be the first step towards the career. Minimum $15 wage will be the best for workers economically but on the other hand people who are in search of a good jobs will remain blank handed and it will be difficult for them to start their career. To conclude, a few studies are in favor to increase the wages, rest of the studies prove that increasing wages results in increasing poverty too, because if there is an increase in poverty, firms do not hire new people to save money as well as training cost. They could also go for automation rather than the manual work in order to stop hiring.
Wednesday, January 1, 2020
Greek Mythology Throughout The Ages - 916 Words
Greek Mythology throughout the Ages Greek mythology is the culmination of myths and teaching that began in Ancient Greek. These myths are diverse in the stories that they tell ranging from their gods, their heroes and the nature of the world. They also reveal much about their religious beliefs and practices during Ancient Greece. Today modern scholars study these myths in an attempt to better understand the religious and political practices of Ancient Greece and its civilization of way back when. Greek mythology can be seen in multiple forms such as spoken narratives, in literature and in various art forms (statues, vases and paintings). The known Greek myths attempt to explain the origins of human beings and how the world came to be. They also tell stories about the lives and adventures of a variety of gods, goddesses, heroes, heroines and mythological beings overall. It was usually through people know as Bards-traveling storytellers- that people got the chance to these epic tales; today the Greek myths are better known from multimedia like books, TV shows, games and movies. The oldest known Greek writing of myths is Homer s epic poems the Iliad and the Odyssey which consist of many stories like the Argonauts, Achilles, the Trojan War and its aftermath to name a few. Archeological digs also uncover more and more details about Greek mythology with every find. The myths will often be decorations on the piece featuring the heroes or gods. Greek myths have also beenShow MoreRelatedMythology and How It Affects Society Essay1218 Words à |à 5 PagesMythology has been used in a multitude of ways since the beginnings of civilization as it provided mankind explanation for natural occurrences: harvest time and the changing of the seasons, natural disasters: earthquakes and storms, and life events: birth and death, but was also used to simply provide entertainment. Another huge role that mythology played a part in was the explanation of how the earth and all its people were created and why. This formed the structure for many societies as they couldRead MoreEssay about Greek and Roman Mythology1513 Words à |à 7 PagesGreek and Roman mythology is well know. The people of that time period were passionate about the gods and did everything in their power to please them. Like most religions the goal is be like one of the gods in order to achieve good fortune or to gain everlasting life. One of the most interesting characteristics about the Greek and Roman Gods is how the gods are not perfect in that they make the same mistakes that the average human would make. These characteristics were put into place to allow ancientRead MoreMythology And Christianity : Mythology948 Words à |à 4 PagesMythology and Christianity Mythology is known for its artistic values of cultures well before the world we live in today. The stories that derive from these great folk tales set a scene in lives of people who worshipped their Godââ¬â¢s and the items that they praised them for. Depending on the geographic location and the time of the myth, or at least what it could be traced to, the people would praise and worship different Godââ¬â¢s for different reasons. Just like in our modern system of religion in thisRead MoreRoman vs Greek Mythology Essay1231 Words à |à 5 PagesMythology is the history and beliefs of a people who were able to see the magic in the world all around them. ââ¬Å"Today their alters are empty, their great temples in ruins. But the gods of the ancient Greeks and Romans live on in powerful myths that have borne retelling for countless generations.(Fandex 1)â⬠. Greek mythology and its Roman counter part have fascinated people for ages. Despite their similarities Greek and Roman mythology has key differences: in the Gods names, what they are basedRead MoreGreek Mythology : Ancient Mythology1630 Words à |à 7 PagesGreek mythology denotes to the myths of the early Greeks, Greece gods, and mythical creatures. While pertaining to these legends and myths includes; to their Gods, the nature and heroes, tales of clashes, and of their adventures. It is also a brief on the origin and connotation of their cult, and the innumerable practices that remained shadowed by them. Myth is defined as; a traditional, typically historic story pertaining to mystic beings, descendants, or heroes that serve an essential kind in theRead MoreGreek Mythology And Its Impact On Modern Culture1055 Words à |à 5 Pagesfrom Greek Mythology and has had a significant impact on our history and mythology helped shed light to itââ¬â¢s culture, religion, and government of ancient Greece. The Mediterranean has served as a vessel for the early civilizations., Greek mythology has influence d the life style and religion of the Greeks, especially because Greek mythology served as the primary basis of Greek belief, it became the nearest thing the Greeks had to a holy bible.1 These mythologies served as the center of Greek lifeRead MoreGreek Culture : Ancient Greece1688 Words à |à 7 PagesGreek Culture The Greek culture is a culture that I have always found very interesting because of the way it has evolved. The Greeks are very proud of their culture and they speak of their country with an intense passion. There are many things that are a major part of the Greek culture such as: religion, music, language, food, wines, and traditions (ââ¬Å"History of Greeceâ⬠). There are many factors that play a role in the creation of the Greek culture such as: religion, culture, history, and othersRead MoreAnalysis Of Percy Jackson And The Sea Of Monster1636 Words à |à 7 Pagescontext and cultural context Greece is surround by mountain and seas, that why Greek life has just been local not to diverse. The Greek language had many different dialect, they even had different alphabet. In politics, the Greek people never really were unified until the Greek independence of 1830 they won independence from the Ottoman Empire. There were strong cultural and economic connections between the Greek cities. The reason for that was that the sea was better travel for trades thanRead MoreBible vs. Mythology994 Words à |à 4 Pages Bible vs. Myth There are many similarities and differences between Greek Mythology and The Bible. Whether itââ¬â¢s the creation of man and women, or the universe, stories have been told throughout time and some can be alike and others completely different. There are people that have gathered, translated and recorded all of these events for us now to learn about. Whether a person believes it is true or not is up to them but if a God is real how come the stories between these two different beliefsRead MoreT. S. Eliots Poetic Devices Essay1038 Words à |à 5 Pagesearly 20th Century poets. He wrote many poems throughout his career including The Waste Land(1922), The Love Song of J. Alfred Prufrock(1917), and Ash Wednesday(1930). Throughout his poems, he uses the same poetic devices to express emotion and give an added depth to his poetry and act like a trademark in his works. One of the devices used throughout is his personification of nature. The second device he often uses is allusions to Greek mythology, Greek plays, and the Christian bible. Finally, the
Tuesday, December 24, 2019
Communism in Cuba Positive or Negative for Its Citizens
Communism is a system of government in which the state plans and controls the economy and a single party holds power, claiming to make progress toward a higher social order in which all goods are equally shared by the people. The idea of communism started in the 19th century by Karl Marx and Friedrich Engals. When communism first started it was an idea of a society based on common ownership of property. That idea eventually turned political and communism turned into a government. There have been communist groups in Cuba since the early 1920ââ¬â¢s and it eventually grew into the only political party in the country. Over the years there have been many debates on what is the goal of communism in Cuba. The majority of people believe that communismâ⬠¦show more contentâ⬠¦The Cuban people have been under the harsh dictatorship of both Felgenico Batista and Fidel Castro. They both had very strict policies and gave the Cuban people limited or no freedom at all. Batista and Castro w ere similar but yet different. One major difference that they had was that Batista was friendly with the United States and he had respect for American interest. On the other hand Fidel Castro hasnââ¬â¢t been as friendly with the United States, so the U.S has a trade embargo that restricts and American company to do business with Cuba and also U.S citizens are prohibited from traveling to Cuba unless for special circumstances. Felgenico Batista While Felgenico Batista was running Cuba many American companies grew rich off of Cuban resources while the Cuban people remained poor. An American mobster named Meyer Lansky came to Cuba to open a hotel. The mobster gave Batista 10% of the profits of the hotel and casino, so Batista became wealthy off of that. Batista became very wealthy off of American business and also organized crime. Meyer Lansky also turned Havana into a drug port. Batista did very little to help the Cuban citizens. While running Cuba Batista did not offer the people neither health care nor education. So many Cubans lived in poverty. When they became ill they wouldnââ¬â¢t be able to go to a doctor because they wouldnââ¬â¢t be able to afford it. When Batista took over the country inShow MoreRelatedA Brief History of Cuba1225 Words à |à 5 PagesCubaââ¬â¢s people were slaves, outraged slaves began to rebel with the intention to win independence from the Spanish. In April of 1898 Spa in and Cuba went to war with Americas involvement which resulted in the Treaty of Paris in August of 1898 where Spain ceded Puerto Rico, Philippines, Cuba, and Guam. On May 20, 1902 The United States of America allowed Cuba to gain its independence. The newly written constitution stated that the United States retained the right to intervene in Cubaââ¬â¢s affairs. In 1933Read MoreFidel Castro And The Cuban Revolution1367 Words à |à 6 PagesHavana, Cuba, having overthrown corrupt dictator Fulgencio Batista the week earlier. It was the fruition of the Cuban Revolution, and the dramatic shift in power was about to radically alter the countryââ¬â¢s political, social and economic course forever. The positive and negative effects of the revolution on the Cuban people, however, as well as the condition of Cubaââ¬â¢s economy pre and post-revolution, is subject to heated debate. Castroââ¬â¢s iron-fisted regime was the introduction of communism into theRead MoreComparing Peron A nd Castro On A Political And Economic Standpoint956 Words à |à 4 PagesCompare and contrast Peron and Castro on a political and economic standpoint. Throughout their power, Peron and Castro both had incredible impacts on their country s economy and political aspect. However, these impacts could be seen on both a negative and positive standpoint. Peron transformed Argentinaââ¬â¢s economy, social structure and political culture in ways that continue to shape Argentina to this day. On the other side, Peronââ¬â¢s political actions as well as his legacy cannot be characterized easilyRead MoreThe Civil War Has Changed The Country987 Words à |à 4 Pagesbecause the Civil War was an establishment of our nationââ¬â¢s beliefs and freedoms; fought to preserve the Union, this war shaped what America was and would become. The Civil War changed the notion of what liberty was, the transition from negative freedom to positive freedom is an influential aspect of American idealism. The ideal of liberty that emerged from the Civil War, was that the liberty came from the power of freedom (McPherson, 1991). Future wars were fought on the notion of protecting andRead More From Communism to Democracy Essay924 Words à |à 4 PagesFrom Communism to Democracy More than half a decade has passed since the sweeping political events of 1989 and 1990 in the countries of Central and Eastern Europe and the former Soviet Union. On December 26, 1991, the Union of Soviet Socialist Republics ceased to exist . In its place are the Russian federation and 14 independent countries. The impact of this change was felt across the globe, from European countries with close economic ties with the USSR to countries as far away as Cuba and AlgeriaRead MoreCommunism vs Capitalism992 Words à |à 4 PagesIs Communism a better economic system than capitalism? By Michael Kujawski Since the beginning of the 20th century many countries have favored the economic system of communism over capitalism many political partys around the world that are communist based have the term ââ¬Å"workers partyâ⬠incuded in their name because communism is a system for the working class and capitalism is a competitive system for the upper class society to benefit. Read MoreMotorcycle Diaries3242 Words à |à 13 PagesQuestion Two: Define Communism. Discuss its origins and how and where it was spread. In your discussion you must refer to at least 3 countries, which have adopted communism and examine its success and failures and the reason behind both. You must also examine the role Marxism plays in Communist ideology. Communism is an economic and social system in which all, or nearly all, property and resources are collectively owned by a classless society and not by individual citizens. Itââ¬â¢s an ideology theoryRead More8.02 ccc chart1064 Words à |à 5 Pagesmotivationà wasà theà makeà U.S.à businessesà moreà competitiveà inà theà world.à Heà wasà approvedà byà congressà forà severalà programs.à Whileà makingà manyà cutsà inà budget,à heà endedà upà increasingà defenseà spending.à U.S.à exportsà fellà inà value,à whichà createdà aà negativeà tradeà balance.à Manyà beganà toà doubtà andà criticizeà Reaganà forà notà improvingà theà economy,à caringà forà theà poor,à andà Manyà newà jobsà inà theà decadeà wereà forà lowà payingà serviceà work.à Millionsà ofà Americans,à especiallyà farmersà andà theà urbanà Read MorePsci 140 Essay1016 Words à |à 5 Pagesstate-controlled mass media, a single party that is often marked by political repression, personality cultism, control over the economy, regulation and restriction of speech, mass surveillance, and widespread use of terror. * Ideas of communism (terms of communism) Equality (goal) No private property No market Utopia (eventually no government)! * Policies implemented by Mikhail Gorbachev * The Great Leap Forward (China) The Great Leap Forward (1958-61) Make steel!! Famineââ¬â30Read MoreEssay on How The Cold War Helped America2321 Words à |à 10 PagesThe Cold War was a war that spanned from the end of WWII in 1945 until 1991 when communism influenced by the Soviet Union collapsed. The casualties and losses of the Vietnam and Korean wars, the two major wars fought indirectly between United States and the Soviet Union during the course of the Cold War, would seem like a disaster for both world superpowers. But in fact it was not. The Cold war brought a period of extreme consuming by the United States especially in the nuclear arms race in order
Monday, December 16, 2019
McLaren Group of Companies Free Essays
string(82) " subsidiaries of the main company while others are completely separate companies\." Executive Summary The McLaren Group of Companies is often regarded as a ââ¬Å"small conglomerateâ⬠as the company has several subsidiaries in related areas related to car business such as McLaren Applied Technologies, McLaren Electronics, and McLaren Marketing. However, one of the subsidiaries of the company is Absolute Taste which is a catering company and is one of the diverse businesses of the group separate from their car manufacturing business. McLaren Group caters to a niche market segment which is how it attempts to conquer the obstacles and market barriers prevalent in the mass car market. We will write a custom essay sample on McLaren Group of Companies or any similar topic only for you Order Now Moreover, the company adopts a medium level of diversification in its product portfolio as most of its businesses are interlinked or synergized while Absolute Taste and McLaren Automotives are slightly diverse. However, while operating in the contemporary business environment, McLaren Group operates on the historical perspective of diversification as it can be considered to be anti-competitive. Introduction and Background: The McLaren Group was created by Rob Dennis and is based at McLaren Technology Centre in Surrey, England. The company is now referred to as a ââ¬Å"small conglomerateâ⬠and was initially established by a New Zealander by the name of Bruce McLaren in 1963. The companyââ¬â¢s main focus is on the Vodafone McLaren Mercedes Formula One Racing Team. The McLaren Group now hopes to expand into manufacturing cars rather than just focusing on Formula One and has planned the launch of the McLaren P1, which is the successor to the McLaren F1. Recently, the group has diversified into other areas such as wind devices and other vehicles (McLaren, 2011). The McLaren group has several subsidiaries as it has recently diversified its operations into different areas. The subsidiaries include McLaren Racing which is one of the most successful teams prevalent and ranks second after Ferrari as the oldest active team, winning 182 races, 12 driversââ¬â¢ championships, and 8 constructorââ¬â¢s championships. The second subsidiary is McLaren Electronic Systems which is also a member of the McLaren family and is a supplier to Vodafone McLaren Mercedes. McLaren Electronics is responsible for supplying the powertrain control system, software, sensors, components, and ECUââ¬â¢s for the Formula One car as well as other cars present in the Formula One group. McLaren Applied Technologies is responsible for creating technical applications for the McLaren group and also provides services to other teams in involved in sports activities, defence, other automotive sectors, and health and wellness sectors.. McLaren Marketing is another subsidiary of the McLaren group and is primarily responsible for the marketing and promotional activities of McLaren Racing. Another subsidiary of the McLaren group is Absolute Taste which caters to a different business segment than the other businesses of the McLaren group. Absolute Taste is based in London and is a catering company which caters to the needs of numerous private parties including parties of celebrities (McLaren, 2011). McLaren Automotive is not a subsidiary of the McLaren group but is a separate company altogether. The company is a high-end manufacturer of high performance vehicles. The company is in close collaboration with McLaren Racing and basically functions as a primary producer of the Formula One car. The new McLaren Production Centre has been opened near Woking in 2012 and is estimated to value at ?40 million. The production of the MP4-12 C sports car is due to reach a grand 4000 by 2015 (McLaren, 2011). As the company has diversified into various markets, there were various obstacles and strategies that the company had to conquer and implement. This report will focus upon the strategy the McLaren group implemented in order to enter the mass car market, define the level of diversification that the McLaren group implements, and discuss the McLaren Groupââ¬â¢s approach to diversification compared to the historical perspective discussed by Guld and Luchs (1993). Market Entry Barriers in Mass Car Market: There are several market entry barriers in the mass car market as competition is high and there are many highly renowned firms competing for market share. However, as the McLaren Group has attempted to penetrate the car manufacturing market, they had to conquer many obstacles and market entry barriers. The McLaren Group was already rather popular in related market segments to car manufacturing such as the production of the Formula One racing car and McLaren Racing team. Thus, the company had relevant market experience as well as a market reputation to enable the company to gain consumer confidence. This was one of the methods in which the company was able to conquer the market entry barriers prevalent in the mass car market (Melvin, 2006). However, the fact also remains that the McLaren Group is manufacturing cars catering to a niche market segment and are not focusing on catering to the mass market. McLaren Group has produced a highly expensive premium vehicle which is not for ordinary use but is used by racers, collectors, and/or the elite class who are interested in buying a premium vehicle. Thus, the target market that McLaren Group is focusing upon is not interested in options such as Ford, General Motors, Honda, Toyota, or other alternatives. Hence, these brands are not substitutes for the vehicles made by the McLaren group. The McLaren Group is more focused upon producing street cars and competing with brands such as Lamborghini, Ferrari, and others. The McLaren Groupââ¬â¢s main point of focus is performance and quality and thus they are able to charge a premium price (Melvin, 2006). Accordingly, the McLaren group is catering to a niche market segment instead of catering to the mass market. Thus, they are better able to deal with the pressure from competitors and attract a certain segment of customers towards their cars. This significantly reduces the level of competition that the McLaren Group has to deal with (Melvin, 2006). Level of Diversification: The McLaren Group has a number of businesses in various market segments which have all been mentioned above. Some of the businesses are operating as subsidiaries of the main company while others are completely separate companies. You read "McLaren Group of Companies" in category "Essay examples" However, when analyzing the level of diversification that the McLaren group incorporates into its portfolio mix, there are a number of considerations that must be made. First of all, it is important to note that previously large companies with many unrelated businesses were a source of high scrutiny in the past. Such businesses were highly criticized for being anti-competitive as they would expand into many areas of expertise and aim to force other competitors out of business. However, in recent times, such firms are accused of being uncompetitive as they do not add value across all of their businesses and are operating at a loss. Hence, in current times it is generally considered that diversified companies are not necessarily successful but may be highly unsuccessful if a high level of diversification is employed in the business (Goold Luchs, 1993). When considering the McLaren Group, it is evident that the company does have a portfolio mix which is diversified into various market segments such as electronics, technology, racing, catering, and car manufacturing. However, it is not completely evident that the McLaren Group has over- diversified into completely unrelated businesses and is not adding value to their business (Goold Luchs, 1993). The description of the subsidiary businesses mentions that businesses such as McLaren Applied Technologies, McLaren Electronics, and McLaren Marketing are all catering to the core business of McLaren Racing. While these businesses also apply their expertise in catering to the core business of McLaren Group, they have additional clients in the industry to which they cater to. Thus, they are benefitting their own business and gaining revenue from catering to other clients as well (Guuld Luchs, 1993). However, the McLaren Group is also diversified in a few markets such as in the catering market with their subsidiary Absolute Taste. While this business caters to the private catering needs of celebrities and serves food on private jets, this business is rather unrelated to the other subsidiaries of the McLaren Group which all cater to the electronic and technological needs of McLaren Racing. Hence, while all of the other subsidiaries of the group are related to cars and solutions related to the cars that the McLaren Group focuses upon, the business of Absolute Taste is not related to cars and is catering to a completely different area of business (Johnson et al, 2011). Accordingly, the level of diversification of the McLaren Group is complex as they are not completely catering to unrelated market segments but have some businesses which are not as closely linked or inter-linked with one another. The McLaren Group is regarded as a ââ¬Å"small conglomerateâ⬠as a ââ¬Å"conglomerateâ⬠refers to a company that operates in many unrelated businesses. Hence, it can be said that the McLaren Group does incorporate a medium level of diversification in their product portfolio (Johnson et al, 2007). Upon closer inspection, it can be concluded that the McLaren Group has opted to ââ¬Å"stick to the knittingâ⬠as they have not diversified widely but have stuck to businesses they know best and where their expertise lies. However, the McLaren Gtoup does operate in different markets and requires different areas of expertise in its various businesses such as marketing, technical expertise, electronic expertise, and others. The expertise required in most of its businesses is related to cars although there are various types of skills required in each business. Nevertheless, most of the businesses in McLarenââ¬â¢s Group can be said to have stuck to the knitting and are not highly diversified as all are catering to the particular needs of cars. All of these businesses are interlinked except for Absolute Taste which is diverse from the other businesses of the McLaren Group (Johnson et al, 2011). It can also be said that the businesses of McLaren Group provide synergy with one another as they are all interrelated and provide skills and benefits to one another. McLaren Electronics works on finding electrical solutions to McLaren Racing, while McLaren Marketing seeks to perform the marketing and promotion activities of McLaren Racing. Hence, all of the businesses add value to one another and provide a combination of skills and benefits to one another. While this is a difficult model to implement, the McLaren Group seems to be implementing it quite effectively as the subsidiary companies perform tasks for the core company and also for other clients. Moreover, in this manner, the company is focusing upon its core competencies and strengthening them by horizontally integrating with other related businesses in order to strengthen and provide for the core business (Johnson et al, 2007). Hence, in conclusion, McLaren Groupââ¬â¢s level of diversification can be labeled as medium as they are diversified into business which are mainly related to cars and provide synergy with one another. Their separate business which is not directly linked with their core business is Absolute Taste which is a catering company. McLarenââ¬â¢s Approach to Diversification: Previously, large diverse firms were regarded as ââ¬Å"conglomeratesâ⬠and it was considered that these firms were up toâ⬠no goodâ⬠as they branched out into different markets and sought to drive out competition by catering to several different market needs themselves. Such firms were considered to be too big for their own good and were not seen as socially responsible or healthy firms as they were anti-competitive. They were termed as anti-competitive because they did not give other businesses a chance to compete with them and monopolized the market themselves. As monopolies are not considered healthy for consumers, such firms were previously perceived negatively (Karlsen, 2011). However, the contemporary perspective towards such firms is completely the opposite of the historical perspective as these firms are regarded as being up to ââ¬Å"no goodâ⬠because they are not adding value to themselves or to their other businesses. Hence, such firms are now regarded as uncompetitive (Karlsen, 2011). Accordingly, McLaren Groupââ¬â¢s strategy toward diversification is in line with the historical perspective of diversification as the diversification strategy seems to be anti-competitive. The group seeks economies of scale and other benefits by providing all additional services in line with their core business themselves. Hence, they do not seem to be allowing other businesses to provide services for them and seem to be attempting to cover all aspects regarding their car-related business themselves. They provide technical applications, marketing solutions, and electrical solutions for their racing team and the cars they produce. Hence, while catering to other clients as well, they use their own company to perform the tasks related to the car-related business (Karlsen, 2011). Conclusion: From the analysis conducted, it is evident that the McLaren Group is not as diverse as some other companies are but is operating in a synergized environment which has many interlinked businesses providing benefits to one another. Hence, the McLaren Group can be termed as a ââ¬Å"small conglomerateâ⬠and is operating according to the historical perspective of diversification. References Goold, M. And Luchs, K. (1993) ââ¬ËWhy diversifyFour decades of management thinking.â⬠Academy of Management Executive. Vol. 7:3, pp.7-25 Johnson, G., Scholes, K. and Whittington, R. (2011). Fundamentals of Strategy. Prentice Hall Karlsen, O. (2011) ââ¬Å"Racing Towards Sustainability: Formula One and Corporate Social Responsibilityâ⬠. Norwegian University of Science and Technology. Student Thesis. McLaren (2011) McLaren Official Website. [online] Accessed on: March 16, 2013 Available at: http://www.mclaren.com/ Melvin, J. (2006) McLaren Technology Centre. Architectural Design. Vol. 76:1 pp.110-113 How to cite McLaren Group of Companies, Essay examples
Subscribe to:
Posts (Atom)