This chapter proposes a bytecode transformation framework, combining previously described technologies. The intention is to show MDA's power to embrace different technologies and to give a non-trivial use case scenario. Most MDA examples are targeted to help understanding what MDA really is and therefore, are very simple. Thus, cross-compilation is chosen to show practical application of MDA.
Virtual machines, in this case JVM and CLR, are chosen as the execution platforms because they are the most prevalent and complete solutions for enterprise computing. The original intention, given the dissemination of JVM, is to enable mapping of various CLR aspects to the JVM world.
XMLVM has an important role in the proposed framework. Thanks to its flexibility its purpose is twofold. First is to represent instances of UML models, carrying all necessary bytecode data, and second is to replace UML, acting as a domain specific modelling language (DSM).
Next few sections will discuss overall architecture of the framework and its important parts. Using the usual MDA approach, first modeling results will be discussed followed by their transformations.
The idea was to create tool for Serbian stock market analysis. Since the daily stock exchange reports were presented in plain HTML, packed with poorly organized tables that contained data for transactions and companies characteristics, it was impossible to process data automatically. None of the tools for data analyzing were presented on the official stock exchange site. It was needed to manually sort data, filter data, make calculations and interpret results at the end.
The agency is projected for collecting and analyzing data from official stock market web site. It is designed to change managers, brokers and statistical analyzers. It is completely automatized and because of that is based on an agent framework. Agents are in charge for operational level. They collect, analyze and store data for further use. The end user has the opportunity to access the agency over the internet. In that way he can use on-line tool for data analysis.
International Journal of Software Engineering (Vol. 2 No. 3, pp. 29-51) ISSN: 1687 - 6954
Model driven approaches raise the level of abstraction during software development, where the focus of the development process is no longer on programming, but instead on the creation of different models. The OMG is addressing this new methodology with their Model Driven Architecture (MDA). The Query/Views/Transformation (QVT) specification is part of the OMG's MDA framework for combining declarative and imperative transformation languages between models. QVT-R uses a declarative (relational) approach to describe mappings between models, whereas QVT-O uses an imperative (operational) approach. Tools in this domain are still in their infancy and there exist no empirical study to compare QVT-O and QVT-R for complex application domains. In this paper we show how both QVT-R and QVT-O can be used to map byte code instructions for Microsoft's .NET virtual machine to Sun Microsystem's Java Virtual Machine. We provide an extensive comparison between QVT-O and QVT-R and offer some best practices for using either transformation language.
My interest for mobile development has been crowned with Money Goes - "the" finance app for Windows Mobile. It is available to download on marketplace.
Money Goes is your money manager for Windows Mobile. It is easy to use, all in one money manager. It allows you to manage multiple accounts and to track payments, withdrawals and money transfers between accounts. Scheduled transactions are supported as well. With its comprehensive inventory management you can easily manage your gas bills, paychecks, customers, shops and more. You can keep track of your household, car, trip and other budgets as well. All that with multiple currency support for your trips. Its powerful reports with drill-down and roll-up functions will not allow your money to slip away. Money Goes uses sophisticated security mechanism, to keep all your data secure and safe. Your data will be encrypted and password protected with a login needed to start the program.
I pursued my interest for mobile development further and created XNA game for Windows Phone.
The little penguins are lost on the Arctic! Help them to return to their home.
"Arctic Trouble" is the fun puzzle game where you guide the little penguin through 108 amazing levels. Each level is a set of floating icebergs. Your task is not an easy one! Control the little fellow, hopping from iceberg to iceberg, landing him on every iceberg just once.
BCC is a regional competition in organization of WUS Austria. More information about competition itself you can find here at the following sites: www.wus-austria.org/belgrade and www.ainsee.info/bcc.
The case problem was presented to us by Eunet company. Our task was to present solution for mail system improvement:
This project was created as a part of lectures at Fulda University. Purpose of the project is to enable students and business entities possibility to meet their needs at common ground. Students should be able to add their CVs and other data and business representatives can add job information. Both parties can search proper information and browse content that has interest to them. Students are also able to receive information through p2p network about new postings.
Main part of the project was realized on Java2EE platform. Utility applications that are used in conjunction with core part are based also on Java technologies: Java2ME and JXTA. MySQL is used as database solution.
4-tier architecture was used along with known MVC architectural pattern. Web tier has 4 servlets and many JSPs. Interceptor servlet is used to get user actions and to invoke proper EJB. Exporter is used to export documents to XML, PDF and Excel. Messenger is used as JMS gateway, to send messages to hybrid JMS/JXTA server. ServiceBroker is used as access point for Java2ME enabled devices which don’t have required XML processing capabilities necessary for interaction with web services. In EJB tier corresponding beans are implemented to articulate original design. Web service is realized as stateless session bean. JMS/JXTA hybrid server is used to dispatch JMS messages to peer clients.
This project I did as a part of the course I had attended during my studies. The course name was Program Design. The objective was to go through the projecting process from the beginning to the end. Each student needed to realize the idea of his choice in chosen programming language. The goal was to learn how to identify program components and to apply chosen pattern for its design.
I projected solution for the recreational center which is used for evidencing members, one-day guests, and their services. All sort of data is stored for both types of center users: private data for member-users and services they use are stored in their member card along with the bill they made; and for the guest-users only services are stored and bills are issued to them.
The project related the problem of student service for which it was necessary to enable the tracking of master thesis work progress. Efficient communication between mentoring persons was imperative. Services involved in communication process were Student service, Science counselors, Graduate commission, Department commission and Commission for work evaluation.
This small application is used for tracking the client transactions. It is ment to be used by brokers. With it you can manage data about clients, their bank accounts and transactions. You can also manage their orders for purchasing or selling stocks.
This is a small library with capability of performing simple telephonic functions such as placing a call, answering a call, recognizing DTMF tones and playing music over the phone line. It is based on the TAPI 3.0 interface and can be easily extended.
This is an example of Internet Explorer add-in. It is capable ojustifyf storing time-sequenced array of visited pages, like history in IE, but with additional features. It stores time that is spent on viewing the page and for domain that page belongs to as well. It has a feature of searching palindrome words in the pages, which are stored in the XML file.
Simple C++ application for tracking down to whom you are lending your CDs.
Simple Delphi application which I wrote as practice work on my Numerical Analisys course.