Archive for the ‘Software Methodologies’ Category
Is Wolfram Alpha The Next Big Thing in Web Search?
Stephen Wolfram is a well-known figure in the sciences thanks to genius inventions like the math problem-solving software Mathematica. Now he’s in the news again for a very different reason: He’s trying to reinvent web search by making a smart “fact computer” engine. (http://www.wolframalpha.com/) Launching in May 09
It’s called Wolfram Alpha, and it’s pretty much what you’re thinking about right now: A computer program that, like the computers from a science-fiction movie, answers with the right facts when you ask it–think Hal 9000, or even KITT from Knight Rider. Wolfram is calling the technology a “computational knowledge engine” and it’s designed to answer questions like “What’s the 200th number in Pi?” and “What phase is the moon in right now?” But apparently the system’s not like previous efforts at this technology (ahem, Ask Jeeves), which use natural language parsing to determine your question and then simply present the web-search results. Instead Alpha is supposedly revolutionary since it actually computes the answer for you. Inside it has built-in models of how the world works in terms of science, geography, business, people and so on, and it interprets your question and uses its models to calculate an answer.
In fact what Wolfram and his team have done is, after a lot of research, broken down the problem (answering a fact-based question) into a series of small steps, each of which is reproducible and can be used for interpreting different types of question and finding the corresponding answers. And these steps have been programmed into the Mathematica computing engine, along with a natural language program and the “real world” database.
Google solves the problem in the opposite way, by simply searching (with some nifty algorithms, admittedly) the vast sea of websites and delivering a list of “matches.” Alpha tries to understand what you mean, and then calculates the answer.
If that sounds weird, it is–at least a little. We’re very used to our current way of interacting with web-based data, even though it’s still very novel for us. The idea that a search engine needs to be wired to an electronic brain that tries to understand what you’re asking before it goes and calculates the answer is strange. Particularly since Alpha seems like it’s mainly designed to perform the missing task at the end of a Google search: taking all the matched web pages and compiling the data into a meaningful single answer.
And that, in fact, is probably the reason Alpha’s won’t be the “next big thing” in web searching for the average user when it’s fully revealed in May. Although we obviously haven’t used the service yet, the factual results it’s designed to deliver seem like they’re fairly easy to find with just a few clicks using current search technology. Unless you’re talking about very very specific fact requests like “Is the Moon Io in transit across Jupiter’s face when looking from Earth?” and you’d have to be a subject matter expert to have to care about that: Hence Alpha could end up with a following in the math and science fields, if it turns out to be a reliable and authoritative information source that accurately and succinctly returns information from its “curated” data.
The real revolution would be if Wolfram could expand the technology to compute the answers to “fuzzier” questions like “Do people like Robert Mugabe?” or “Is it warm in southern France this month?” But that’s a far far trickier problem to solve.
I went to their site to try some of the products they offer and found an interesting one: webMathematica

Gartner’s prediction about top 10 Strategic Technologies for 2009
Gartner, Inc. analysts today highlighted the top 10 technologies and trends that will be strategic for most organizations.
Gartner defines a strategic technology as one with the potential for significant impact on the enterprise in the next three years. Factors that denote significant impact include a high potential for disruption to IT or the business, the need for a major dollar investment, or the risk of being late to adopt.
These technologies impact the organization’s long-term plans, programs and initiatives. They may be strategic because they have matured to broad market use or because they enable strategic advantage from early adoption.
Virtualization. Much of the current buzz is focused on server virtualization, but virtualization in storage and client devices is also moving rapidly. Virtualization to eliminate duplicate copies of data on the real storage devices while maintaining the illusion to the accessing systems that the files are as originally stored (data deduplication) can significantly decrease the cost of storage devices and media to hold information. Hosted virtual images deliver a near-identical result to blade-based PCs. But, instead of the motherboard function being located in the data center as hardware, it is located there as a virtual machine bubble. However, despite ambitious deployment plans from many organizations, deployments of hosted virtual desktop capabilities will be adopted by fewer than 40 percent of target users by 2010.
Cloud Computing. Cloud computing is a style of computing that characterizes a model in which providers deliver a variety of IT-enabled capabilities to consumers. They key characteristics of cloud computing are 1) delivery of capabilities “as a service,” 2) delivery of services in a highly scalable and elastic fashion, 3) using Internet technologies and techniques to develop and deliver the services, and 4) designing for delivery to external customers. Although cost is a potential benefit for small companies, the biggest benefits are the built-in elasticity and scalability, which not only reduce barriers to entry, but also enable these companies to grow quickly. As certain IT functions are industrializing and becoming less customized, there are more possibilities for larger organizations to benefit from cloud computing.
Servers — Beyond Blades. Servers are evolving beyond the blade server stage that exists today. This evolution will simplify the provisioning of capacity to meet growing needs. The organization tracks the various resource types, for example, memory, separately and replenishes only the type that is in short supply. This eliminates the need to pay for all three resource types to upgrade capacity. It also simplifies the inventory of systems, eliminating the need to track and purchase various sizes and configurations. The result will be higher utilization because of lessened “waste” of resources that are in the wrong configuration or that come along with the needed processors and memory in a fixed bundle.
Web-Oriented Architectures. The Internet is arguably the best example of an agile, interoperable and scalable service-oriented environment in existence. This level of flexibility is achieved because of key design principles inherent in the Internet/Web approach, as well as the emergence of Web-centric technologies and standards that promote these principles. The use of Web-centric models to build global-class solutions cannot address the full breadth of enterprise computing needs. However, Gartner expects that continued evolution of the Web-centric approach will enable its use in an ever-broadening set of enterprise solutions during the next five years.
EnterpriseMashups. Enterprises are now investigating taking mashups from cool Web hobby to enterprise-class systems to augment their models for delivering and managing applications. Through 2010, the enterprise mashup product environment will experience significant flux and consolidation, and application architects and IT leaders should investigate this growing space for the significant and transformational potential it may offer their enterprises.
Specialized Systems. Appliances have been used to accomplish IT purposes, but only with a few classes of function have appliances prevailed. Heterogeneous systems are an emerging trend in high-performance computing to address the requirements of the most demanding workloads, and this approach will eventually reach the general-purpose computing market. Heterogeneous systems are also specialized systems with the same single-purpose imitations of appliances, but the heterogeneous system is a server system into which the owner installs software to accomplish its function.
Social Software and Social Networking. Social software includes a broad range of technologies, such as social networking, social collaboration, social media and social validation. Organizations should consider adding a social dimension to a conventional Web site or application and should adopt a social platform sooner, rather than later, because the greatest risk lies in failure to engage and thereby, being left mute in a dialogue where your voice must be heard.
Unified Communications. During the next five years, the number of different communications vendors with which a typical organization works with will be reduced by at least 50 percent. This change is driven by increases in the capability of application servers and the general shift of communications applications to common off-the-shelf server and operating systems. As this occurs, formerly distinct markets, each with distinct vendors, converge, resulting in massive consolidation in the communications industry. Organizations must build careful, detailed plans for when each category of communications function is replaced or converged, coupling this step with the prior completion of appropriate administrative team convergence.
Business Intelligence. Business Intelligence (BI), the top technology priority in Gartner’s 2008 CIO survey, can have a direct positive impact on a company’s business performance, dramatically improving its ability to accomplish its mission by making smarter decisions at every level of the business from corporate strategy to operational processes. BI is particularly strategic because it is directed toward business managers and knowledge workers who make up the pool of thinkers and decision makers that are tasked with running, growing and transforming the business. Tools that let these users make faster, better and more-informed decisions are particularly valuable in a difficult business environment.
Green IT. Shifting to more efficient products and approaches can allow for more equipment to fit within an energy footprint, or to fit into a previously filled center. Regulations are multiplying and have the potential to seriously constrain companies in building data centers, as the effect of power grids, carbon emissions from increased use and other environmental impacts are under scrutiny. Organizations should consider regulations and have alternative plans for data center and capacity growth.
Share a cab ride using GPS on Android
In response to the recent post in Tech Crunch saying that MIT students develop projects in 13 days, we students at SJSU have a lot of potential to create some exciting next generation Mobile Apps. I along with my project partners Naing and Htay took one mobile course(Cmpe 277) under Dr Shan to develop one promising concept. Unfortunately we couldn’t convert it into commercial project but developers can take fresh ideas from it and make a revenue out of it.
The app is called Share a Taxi Ride. Generally in metro cities like San Francisco, New York where many business executives travel a lot can find this application useful especially everybody is using iPhone for their prime business communication. This Mobile application allows users to share a cab ride based on their current locations. It is about finding people to share a taxi based on source and destination points. Along with that, it can also be applied to many other cases such as going to and from special events, conventions, ball games etc. The typical functions of this portal are listed as follows:
- Registration: It allows a first time user to register so that they can log in with their username and password during their next visit.
- Login: This allows registered users to access the mobile application along with the validation of their credentials
- User Profile Management: This allows registered users to create and manage their profiles access the mobile application. It also allows users to manage their preferences like Sex, Smoke or Contact (By Chat or Call)
- Sign Out: Allows user to log off the application session
These are some “Nice to have” features:
- User Account Management
- Manage Preferences (who you are and what type of people you want to share with)
- Save Destinations on phone
- Search people based on current location your destination and other criteria such as destination proximity, time, number of persons, etc.
- Prearrange the ride beforehand
- Display search result and communicate or exchange information with selected person(s) by email or phone
- Show people on the map (sometimes they could be a couple blocks away from you)
- Rating system (Rate, Comment, Filter search based on rating)
Application Snapshots
1] Title Page: It is being displayed when the application is loaded for the first time
2] Registration: It is being displayed when user comes to the site for the first time
3] Login: It asks for the user credentials
4] Based on the correct username and password, the system will navigate user to the Main User panel.
5] The cab request form is displayed when user requests to find the riders within defined proximity. Generally, the system will calculate user’s source address from GPS but for the simplicity we allow user to enter the address
6] Search Result
7] Give user ratings
Here are the configuration details:
GUI: Android Development Tools Plugin for the Eclipse IDE, Android Debug Bridge (adb)
Web Server: Tomcat Apache Server
Database: MySQL, SQlite
We were not able to create complete application within provided time limit but we explored power of Android as a Dev Platform…We found development of similar app on net called GCab
This could be a potential project but I am not sure whether this idea is already been practiced commercially…
Software release estimator
How do I start with eBay- my passion and motivation. I did my both summer internships here: One at PayPal and other is at eBay itself. This is the first place where I saw myself growing and leveraging on my tech skills. In this post, I will walk through the exciting project I did as a part of my Masters.
In today’s global industry, software development has become complex and demanding. Users want content management systems to be more friendly and comprehensive enough to exhibit all features. In order to survive in this stiff competition, e commerce companies are trying to revise their business models and making it robust at a same time. We roomies (Mihir & Devarshi) have worked on a project called Release Risk estimator for eBay- an auction giant in Silicon valley.
The operations performed by this system are described as follows:
- When the application is deployed, the system will ask users will to select the current release from drop down menu.
- When the user selects particular release, depending upon the current system date and release start date, the system will determine the phase. Typically we can put n number of phases like release schedule planning, feature look up, code analysis, code merging from QA to Prod environment etc…
- After determining the phase, the system will display corresponding phase questions.
- The user will answer general and current phase questions based on their best knowledge and practical judgment.
- The users can also look for additional release help from the help menu displayed on upper right corner.
- After selecting all answers, the user will click on Find Risk to calculate the risk score.
- Based on the user’s selection for all questions, the system will determine the probability and calculate the final risk score.
- After counting the risk score, the system will determine its intensity (Low, Medium & High) depending upon the range of risk
In order to use this tool effectively, every question should have some measurable value associated with it and emerged based upon their answers. We have used Decision tree algorithm to explore each possible node by traversing from root to leaf. This project gave us insight that any tiny piece of software module goes n number of iterations before going to production. Of course, this is one of the ways to look at it but each has to customize its quality improvement activities based upon business model and user interaction with the system.
We found ourselves very lucky to grab an opportunity to work in azure of eBay…..We will specially like to thank our prof and mentors for the same.
Here is a simple snap shot of quantitative approach practiced by the system:

Folks, I highly recommend you to work as a intern at eBay. You will get enormous opportunities to see your self growing personally as well as professionally… Cheers to all memories I took with me from eBay…
Town Problem Resolvement System using software models
Project Report for TPMS
As a part of my Masters in the field of software engineering, we have done exciting projects by using cutting edge technologies. This project gave me an insight of how software methodologies can be extended to address prevailing issues. In modern towns, technologies, processes and experiments have redefined solution based systems. As in current town lifestyle, pollution generated from different sources has become serious Environment Problem. These Environment problems for e.g. Garbage, Air Pollution, and Water Pollution are hazardous for the health of town citizens. These modern issues motivated us to develop the system which investigates these serious problems and provide pragmatic solutions. By having implemented these solutions, the problems relating to town can be taken care of effectively by dumping, testing, and proliferating the resources and redistributing them to the town citizens.
In this project, we have gone through different prevalent town environment problems and their solutions by using software modeling approach. In traditional model, we have depicted static problem domain and their solutions while in Stability model we have used different Enduring Business Themes (EBT) which provides stability in the system over the time, Business Objects (BO) which are capable of achieving EBTs and Industrial Objects (IO) which are explicit to problem domain. By implementing stability in the Resolvement System; it becomes more efficient, extensive and reusable over time frame.
Description of class diagram generated by using traditional software model:
- Town citizen reports about the generic problem to the town management and the problem can be related either to air, water or garbage.
- The town management identifies the problem and forwards the problems to environment management department or pollution control department.
- Further environment management consists of Garbage collection department which collects garbage for treatment.
- Collected garbage is dumped and further processed by recycling department and get reported to environment management.
- Air related problems are taken care by air pollution department. The department follows some standard mechanisms to solve the problem.
- Air pollution department follows air purification to purify the air by using scrubber.
- After conducting purification on air, precipitators are used for providing guaranteed clean air for utilization of town citizen.
- All water related problems are handled by water pollution department, The department stores contaminated water in the reservoir
- Water purification conducts purification using water filters.
- After the purification is over, water gets distributed via pipelines as distribution conveyer
- Then the purified water is carried through the pipeline and distributed among the town citizen.
- The purified resources like air and water are consumed by town citizens
After transforming traditional model into software stability model, we came up with the following design:
- Hygiene is an EBT. Hygiene is very essential as it aids in disease prevention and maintains healthy living.
- Health is the second EBT, which is a resource for everyday life. It is a basic force in daily lives of town citizen.
- Safety is the last EBT, which is guaranteed for good health and hygiene.
- Hygiene is maintained by practicing cleanliness and by keeping a check on Any Problem which is faced by Any Actor.
- Any Problem can be related to Air, Water or Garbage.
- Depending upon the classification of the problem, steps are taken to solve it.
- Any Resource (Garbage) is collected by Any Party. Any Party in this case is Garbage Collection Department.
- Any Resource influences Health.
- Any Party uses Any Mechanism to get rid of Any Resource.
- Any Mechanism used to dispose Any Resource is Dump, for healthy environment.
- When Any Problem is related to Air, Any Party (Air Pollution Department) purifies Any Resource (Air).
- Air is purified using Any Mechanism (Air Purification).
- Any Test is performed on the purified Air.
- Any Party installs Any Device (Precipitators) to conduct Any Test for pollutant Identification.
- Any Test is monitored by Any Party for comprehensive inspection.
- Any Party, in this case Water Pollution Department, practice water filtering on Any Resource (Water).
- Water Purification (Any Mechanism) is used to purify Water.
- The Filtered Water is tested by Any Test (Water Purity Test) using Any Device (pH instruments) approves the eligibility of the material to be redistributed back.
- Any Party installs Any Device.
- Any Test is monitored by Any Party.
- Any Test verifies Any Distribution and ensures Safety.
- The distribution is made through relevant method i.e. Channel, in this case.
In nutshell, Enduring Business Themes primly capture the core objective of the system; Business Objects depict capability of achieving Enduring Business Themes while Industrial Objectives, explicit to the problem domain, provide implementation of capabilities of Business Objects in stability modeling. Therefore Software Stability Model drastically reduces software maintenance costs and generates layered framework of system.
More details can be found as a attachment of this post: Project Report for TPMS
Any suggestions?
Leave a Comment





