Subscribe by Email


Showing posts with label Interactive. Show all posts
Showing posts with label Interactive. Show all posts

Tuesday, May 7, 2013

What is meant by Time sharing system?


In the field of computer science, sharing resources of a computer through techniques of multi-tasking and multi-programming by many other system users is termed as a time sharing system. 
- It was first introduced in the year of 1960 and eventually emerged as the most popular computing model of the 1970s. 
- With it, occurred a major shift in the technology of designing the efficient computers. 
- These types of systems allowed quite a large number of users for interacting with the same computer system at the same time. 
- Providing computing capabilities was a costly affair at that time. 
- Time sharing greatly brought down this cost by providing these capabilities at a very less cost. 
- Since time sharing allows multiple users to interact simultaneously with the same system, it has actually made it possible for the organizations and the individuals to use a system that they do not even own. 
- This has further led to the promotion of the computers to be used interactively and development of other applications with an interactive interface. 
- The earlier systems apart from being expensive were quite slow. 
- This was the reason why the systems could be dedicated only to one task at a time. 
- The task was carried out through the control panels from where the operator would enter small programs manually through switches so as to load and execute a new program series. 
- These programs would take even up to weeks for completing execution. 
- The realization of the interaction pattern was what that led to the development of time sharing systems. 
- Usually, the data entered by a single user was in small bursts of info and then a long pause. 
- But if there would have been multiple number of users working concurrently on the same system, there activities could fill up the pauses of the single user. 
The overall process could be made very efficient for a given size of the use group. 
- In the same way, the slice or share of time that was engaged in waiting for network input or tape or disk could be utilized by activities of other users. 
- A system that would be able to harness this potential advantage was difficult to be implemented.
- Even though batch processing was a high at that time, it could only make use of the time delay between two programs. 
- In the early times, the multiplexing of computer terminals in to main frame computer systems was seen.
- Such implementations were capable of sequentially polling those terminals to check for additional action and data requests made by the user of the system.

- Later, came the interconnection technology that was interrupt driven and made use of the IEEE 488 i.e., parallel data transfer technologies.
- Time sharing faded for some time with the advent of the micro computing but again it came back in to the scene with the rise of internet. 
- The corporate server farms cost in millions and are capable of hosting a large number of customers sharing the same resources.
- The operation of the websites using the early serial terminals was in bursts of activity that were followed by idle periods. 
- However, it is because of this bursting that the services of the web sites could be used by a large number of users simultaneously and with the advantage that the delays in communications won’t be noticed by them.
- However, if the server gets too damn busy they will surely start coming in to the notice.
- Earlier some time sharing services such as the service bureaus were offered by many companies. 
- Some examples of common systems that are used for time sharing are:
  1. SDS 940
  2. PDP – 10
  3. IBM 360


Saturday, June 16, 2012

Reverse Engineering - an activity involved in software re-engineering process model.


Software re-engineering process model is a very generic process meant to uplift the standard of the poor code that is currently not acceptable. This model is known to have 6 major stages namely:
  1. Inventory analysis
  2. Documentation reconstruction
  3. Reverse engineering
  4. Code re- structuring
  5. Data re- structuring
  6. Forward Engineering
This article is all about the third stage i.e., “reverse engineering” which is an important concept in itself. 
Re- engineering is usually required when the some of the sub systems of a larger software system or application need to frequently maintained. The re- engineered system is then restructured and re- documented. 

What is Reverse Engineering?


- The reverse engineering forms a very important factor in success of the re- engineering process. 
- The reverse engineering can be considered to be a process of recovering the design of the software system or application that is to be re- engineered. 
- This step involves analyzation of the software program in an effort to obtain an abstract level representation of the program that is higher than the level of the source code.  
- The software system or application is analyzed in such a way so as to understand its design and specifications and requirements. 
- Reverse engineering is an entirely individual process.
- In some cases the reverse re- engineering may be used  for specifying a software system before it is implemented again. 
- The reverse engineering process makes use of the program understanding tools like:
  1. Browsers
  2. Cross reference generators and so on.

Levels in Reverse Engineering


The reverse engineering process takes effect through the following levels:

1. Abstraction level: The design information of the software system or application is derived at the highest level possible.

2. Completeness: At the above abstraction level, the details of the system are obtained.

3. Interactivity: The degree of the human integration with 5the automated reverse engineering tools is measured.

4. Directionality: It can be either:
(a)  One way: All the extracted information is given to the sogftware engineering who is doing the maintenance.
(b)  Or two way: All the extracted information is fed to a re- engineering tool which then regenerates the old software program.

      5. Extract abstraction: From the old source the processing specifications are obtained.

     

Stages in Reverse Engineering Process


      Reverse engineering process from sommerville goes through the following stages:
      1. System to be re- engineered is subjected to automated analysis.
      2. Then it is manually annotated.
      3. With the system information obtained, a whole set of new documentation is generated containing:
       (a)  Program structure diagrams 
       (b)  Data structure diagrams and 
       (c)   Trace ability matrices.

     

Activities in Reverse Engineering Process


     There are 3 basic activities involved with the reverse engineering process:
   
    1. Understanding process: In order to understand the procedural abstractions as well as functionality analyze the source code on the level:
      (a)  System
      (b)  Program 
      (c)   Component 
      (d)  Statement and 
      (e)  Pattern
    
       2. Understanding data:  It analyzes internal data structures and data base structure.  
   3. User interfaces: It analyzes the basic actions processed by the interface, system’s behavioral response to those actions and equivalency of the interfaces.

When is Reverse Engineering Preferred?


- Reverse engineering is usually preferred when the specifications and designs of the system are required to carry out the program maintenance activities.
- The re- engineering process is preceded by the reverse engineering. 
- To put it simply, the reverse engineering can be thought of as a process that goes back through the whole development cycle.
- UML is a source that supports reverse engineering. 
- Different people have their own different perceptions of the reversion engineering. 
- It can also be thought of as an inversion of the water fall model of software development. 


Wednesday, April 4, 2012

What is meant by adaptive and predictive planning?

Learning is an important aspect of any development process be it of any field. Learning can be classified in to many types, but in this article only two types have been discussed namely:
- Adaptive learning and
- Predictive learning

Adaptive Planning or Learning

- Adaptive learning is considered to be a computer driven educational method in which the computers are the interactive teaching devices rather than having human teachers do the teaching.

- The presentation of the educational material is adapted by the computers according to the weaknesses of the students which are determined by the responses of the students to the questions asked by the computer.

- Here the whole learning process is motivated by the idea of using electronic education for incorporating the interactive values to a student that would have been provided by an actual human tutor or teacher.

- This technology encompasses various aspects taken from the fields like education, psychology, computer science and so on.

- Adaptive learning was evolved because it is not possible to achieve tailored learning with non adaptive and traditional approaches.

- The learner is transformed from the passive receptor of the information to the collaborator of the educational processes.

- The primary application of the adaptive learning is in basically the following two fields which have been designed as both web applications and the desk top applications:
1. Education and
2. Business training.

Adaptive learning is also known by several other names like:
1. Computer based learning
2. Adaptive educational hyper- media
3. Intelligent tutoring systems
4. Adaptive instructions
5. Computer based pedagogical agents

Models or Components of Adaptive learning

The whole process of adaptive learning has been divided in to some separate models or components as mentioned below:

1. Student Model
- This model keeps a track of the student and learns about him.
- This model makes use of algorithms that have been researched for over 20 years.
- The CAT (computer adaptive testing) makes use of the simplest means for the determination of the students’ skill.
- Nowadays, the students’ models make use of richer algorithms for providing a more extensive diagnosis of the weaknesses of the students.
- This it does by linking the questions and the concepts and using ability levels to define the strengths and weaknesses.

2. Instructional model
- This model is actually responsible for conveying the information.
- It makes use of the best technological methods for educational purposes like multimedia presentations along with the expert teacher advice.
- When the students make mistakes, the model provides them with useful hints.
- These hints can be question specific.

3. Instructional environment
This provides an interface for the system and human interaction.

4. Expert model
- This model is responsible for teaching the students using the stored information which is to be taught.
- This may include solutions for question sets, lessons and tutorials.
- Some very sophisticate expert models may use expert methodologies for the illustration of the solution of the questions.
- In some of the adaptive learning systems, the qualities of an expert model may be acquired by an instructional model.

Predictive Planning or Learning

- The predictive learning involves machine learning i.e., to say an agent has to build a model of its own environment type by carrying out various actions in several circumstances.

- The knowledge of the effects of the actions tried out is used for turning the models in to planning operators.

- This is done so that the agent is able to act purposefully in that environment.

- We can say that the predictive learning is all about learning with a minimum of the mental structure that exists already.

- Some say that this kind of learning has been inspired by the Piaget’s account of the construction of knowledge of the world by interacting with it.


Facebook activity