| Related sites for http://www.student.nada.kth.se/~md96-ani/JModeller/PPD.htm |
| Renggli,_Lukas Personal information, music. Publications. Photos gallery. Author's programming tools and games (with source by request). Programming in HP48, Pascal, Smalltalk. Scripts for Zope content management sy | | ST&C_Computer_Co_ ERP solutions, warehousing management system, route sales management, RFID barcode. | | Machine_Learning_Software_Packages FTP software repository of machine learning programs from Carnegie Mellon University School of Computer Science. There are also links to other repositories. [GPL] | | RFC_2349 TFTP Timeout Interval and Transfer Size Options. G. Malkin, A. Harkin. May 1998. | | RFC_0125 Response to RFC 86: Proposal for Network Standard Format for a Graphics Data Stream. J. McConnell. April 1971. | | Traffick Andrew Goodman and friends cover trends in search engines, search marketing and consumer portals. Also has a directory, article archive and newsfeeds. | | AIX___FAQ A series of answers to specific technical questions, in no particular order. (July 8, 2002) | | MIPS_Technologies,_Inc_ Makes popular RISC CPU used in consumer electronics, Sony PlayStations, Cisco routers, some SGI computers. Initiated MIPS instruction set. Now an independent company developing processor cores and int | | bkmrkconv Converts Netscape's bookmarks.html file into a series of interconnected HTML pages which can be put online. (Perl) | | Weblog_Images Picture hosting for blog and journal users. | | Light_Cards Poetry and art images. Fee required before sending select designs. Payment and donation instructions provided. | | Cache_Monitor An SQL development tool only for InterSystems database Cache that allows explore and manage database objects as well as execute own ad-hoc queries. | | Tripple_Web_Design Offers web design, graphic design, and free web hosting options. Located in British Columbia, Canada. | | Web_Matrix_Design Pennsylvania design firm offering domain name registration, web hosting, custom graphics, web design and layout, and site maintenance. | | Custom_Built_Webs Provide web design and promotion services. Located in Langhorne, Pennsylvania, United States. | | Zagreb,_Spansko_live Webcam showing neighbourhood activity in Zagreb, Spansko. Updates every minute. Best views from 8 am to 8 pm (GMT +1). | | Idiosyncrasy A collective of writers who are politically, philosophically, poetically, socially, and otherwise creatively minded. | | Password_Protection_System_PLUS Permits one to password protect the EXE files and encrypt the TXT files. | | JC_ActiveDoc_Plug-In Netscape plug-in, that allows you to view Microsoft Word, Excel, and PowerPoint documents right inside the browser. [Win95/98/Me/NT/2000] | | S-Grid_Control A lightweight grid control with smooth displays and Outlook style features. VB source code is available. By Steve McMahon. [Free, Open Source] |
|
MVK 2002ProjectPlanning Documentv. 1.0 JModeller Group: Leeloo. 1 Abstract................................................................................................... 12 Statement of theProblem........................................................... 22.1 Short Statement ofthe Problem............................................ 22.2 Motivation.............................................................................................. 22.3 Goals........................................................................................................ 22.4 Skills Baseline.................................................................................... 33 Background to theProblem...................................................... 43.1 Commercialbackground............................................................... 43.1.1 ArgoUML................................................................................................... 43.1.2 EctoSet Modeller1.3............................................................................ 53.1.3 Visual Paradigm forUML 1................................................................... 63.1.4 SmartDraw.............................................................................................. 73.1.5 TogetherControlCenter 5.5............................................................... 73.1.6 Rational Rose......................................................................................... 83.2 Scientificbackground.................................................................... 93.3 Technical background................................................................... 94 Appendix.................................................................................................. 104.1 Leeloo members............................................................................... 104.2 Project roles................................................................................... 101 Abstract.The purpose of the project is to build atool, JModeller, for visualisation and execution of Finite State Machines. Ourmain motivation for choosing this project is to meet the need for such a tool.Our goal is a well working and graphically attractive program. All members ofthe group have fundamental knowledge of the technologies to be used, but wewill probably need to get further information on certain graphical algorithms.There are various books and resources where we can do that. Experts at NADAwill be able to answer questions on correct implementation of Finite StateMachines. JModeller can in some respects be compared to a UML modelling tool,and there are several on the market. We will use Java as the programminglanguage. If possible, we will use freeware Java packages to solve parts of theproblem. There is a Leeloo member catalogue with e-mail addresses included inthe appendix of this document. Project roles are assigned to each member and includedin the appendix as well. 2 Statement of the Problem. 2.1 Short Statement of the Problem.When attending the OAD classes thatcovered some UML languages and FSM (Finite State Machine), some of us came upwith the idea of writing a program supporting the drawing and execution of aFSM.With the start of the MVK class approachingwe made an inquiry among Nada employees whose research or educationalactivities are related to FSM, in order to find someone interested to sponsorour project. It turned out that Frank Hoffman (Ph.D.) and a researcher at”Centre for Autonomous Systems” was interested. He teaches Object Oriented Modelling, Programmingand Analysis course and related that he could use such a program as a toolfor this course. The purpose would be thevisualisation of a FSM and the execution of a FSM given certain input. Oneshould be able to specify a machine either graphically or textually. This maybe achieved graphically, manually or with some layout support from the program.We will strive to keep the programas modularised as possible. If successful, it shall be easy to add modules forother UML languages as well for Turing machines and something similar. 2.2 Motivation.Our main motivation for choosing thisproject is to meet the need for an easy to use FSM tool. Depending on theuser’s requirements in the future and on the specific ways we later chooses tosolve the problems, this project may satisfy many interests as well as enhancevarious job skills. Here are some examples:· How to work with a relatively largeprogram.· Enhanced Java™skills.· How to write good tests for graphicalalgorithms.· More general graphics and UIprogramming experience. · Experience in the design of modulararchitecture and infrastructure· How to create APIs for modules, whereboth the modules and the basic framework make use of the MVC architecture. · An encounter with the XML instanceSVG, our fileformat candidate.· More HTML experience in working withthe projects WebPages.Further more, we consider this project asuitable one for providing some practical experience ofsoftware engineering.2.3 Goals.We want to build a well working andgraphically attractive FSM tool, easy to use and enjoyable for students as wellas for teachers. We hope that having the tool within easy reach while learningabout FSM will improve the intuitive understanding for the machines.Educationally, we hope to achieve as manyof the things that motivated us to choose this project as possible. In additionto that, we wish to:· Get the eight academic points for theMVK and the PROJ classes before the end of this semester.· Achieve improved communication skills.· Achieve teamwork and managementskills.· Achieve administrative andorganisational skills.· Achieve customer relation experience.2.4 Skills Baseline.All members of the group have fundamentalknowledge in Java language but wish to learn more. Some members have advancedskills in special areas of programming. All of us have experiences of howFMS-machines work.We already have the mathematics knowledgethat we may need for the graphics part, and they who are responsible forgraphics have already started to learn Java 2D. We have also begun to look atspecific graphic algorithms, but it seams like we need to know more before wecan make any conclusions.Both knowledge andinterest for comprehensive design of the program are already in the group. Somemembers have a great interest for GUI-programming. They who are responsible fortesting the program will probably have to learn more about different testingmethods. We hope that we will find that information on the Webb and by talkingto people with experience in the subject. We also have members that know how toexpress them selves in English by speech and writing. We might need more knowledge of how theprogram could be divided intosmaller modules. If so, we think that we can find information about that in literature and on the Webb. It is still quitedifficult to see what kind of knowledge we will need, since the project is atit’s beginning, and we cannot predict what kind of problems that will turn up. 3 Background to the Problem.3.1 Commercial background.The market in UML-tools is still a ratheryoung market and there is a varying type of products today. Most of theproducts are aimed for professional development companies, who have users thatknow UML and are able to use it in their work. We were not able to find anypure Finite State Machine editors worth mentioning, but there are some thathave similar content. Very few products on the market are freeware or shareware,but some companies choose to release demo or free starter versions to attractfuture customers. It is difficult to say which product is thebest available on the market. The choice of product depends on the needs of thecustomers and their knowledge of implementing an UML-tool in a project. One ofthe biggest and most complex tools is Rational Rose, which can support acomplete development lifecycle, while SmartDraw is one of the more simple, andis more or less a canvas. There are also different opinions about the products.Some users would say that Rational Rose have several drawbacks besides theprice. These opinions would be that the program follows user interfaceguidelines poorly, making it difficult to work with. Furthermore, it crashes fartoo frequently for being an enterprise class tool. ArgoUML on the other hand isboth easy to use and a rather reliable. We have listed some of the products on themarket to give a better picture of the diversity in the quality of theproducts.3.1.1 ArgoUMLOpensource (for any platform with Java 1.2) ArgoUML is distributed on an OpenPublication License and supports the design, development and documentation ofobject-oriented software applications. The product implements almost all thediagram types of the UML 1.3 standard. Since the program is a project inprogress, the goal is to implement all diagrams in the future. ArgoUML isavailable for free and can be used in commercial settings. XML is standard saving mechanism inArgoUML and the GEF-format, the UCI Graph Editing Framework, isused to edit the UML diagrams. The diagrams that are supported are: Class,State machine, Activity diagrams, Use case, Collaboration and Object /Component / Deployment (which is basically one diagram type in ArgoUML).Sequence diagrams support is one of the features that will be implemented inthe near future. The product provides full OCL syntax andtype checking and is also able to generate Java-code from OCL-Constraints. Itis, however, not possible to generate code based on State Machines, or viceversa. The product also contains Design critics, which analyse the design asthe designer is working and suggest possible improvements. These suggestionscan be indications of syntax errors, reminders, style guidelines or advice ofexpert designers. Some of the critics offer to automatically improve thedesign. A "to do" list user interface that presents action items inan organised form is also implemented as well as checklists and Database Support. Code Generation is yet onlypartially implemented. ArgoUML is considered to be fairly easyto use and runs rather smoothly. It is an inexpensive way to get an UML-toolwith many useful features implemented. Source: www.argouml.tigris.org Figure A. Screen shot, ArgoUML 3.1.2 EctoSet Modeller 1.3ByEctoSet (Release date December 2001for Windows) The selling arguments for this productare that it is inexpensive and easy to use. There are two product versions, thestandard edition (EctoSet Standard) and the professional edition (EctoSetProfessional). Both versions contain the capability to produce a range ofdiagrams (Use Case, Sequence, Activity, Deployment, Class and Component) thatcan be customised in some aspects. It is possible to draw Finite State Machinesand then generate Delphi or Java code. You can also write your own scripts togenerate code for any other language, but there is no support for generatingdiagrams from scripts. The product does not check syntax and has no feature forexecution of State Charts. The program has a component palette thatallows the user to select from a range of diagram elements and drop them on tothe workspace. The project files in EctoSet Modeller are stored in singleproject files and uses XML for representation of data. EctoSet Professionalalso includes scripting capability, which include generating code fromdiagrams. The product is created for the smaller company in which the user isfamiliar with UML. The product costs about $60. Source: www.gajits.com Figure B. Screen shot EctoSet Modeller.3.1.3 Visual Paradigm for UML 1ByVisual Paradigm (Release date December 2001for the JavaVM Platform) The product has UML 1.3 support for thefollowing diagram types: Use Case, Class, Sequence, Collaboration, State,Activity, Component and Deployment. The product contains automatic Java codegeneration, but only for the class diagrams. It also has UML syntax check onthe fly for all diagrams (including Finite State Machines), the possibility todefine UML-defined and language-specific properties for a class, and textualanalysis. The program has cut/copy/paste facilitiesfor diagram elements to the system clipboard, and as well as HTML and PDFdocumentation generators. Since the product uses the Java VM Platform, it canbe used on almost every computer, provided that the hardware requirements aremet. According to our estimations, the product is developed for professionalproduct development (industrial and software engineering). Source: www.visual-paradigm.com Figure C. Screenshot Visual Paradigm.3.1.4 SmartDrawBySmartDraw program SmartDraw is a Windows based drawingprogram with the ability to draw UML diagrams. It has “drag-and-drop” futuresand built in collections of clipart, images, and symbols. You can save yourdrawings for the web as a GIF, JPEG or as HTML, and if you want to present yourdrawing to more people, you post the drawings on the SmartDraw Internet page. The product is completely adapted to theMicrosoft Office Package. It is created for anyone and there is no need to knowany UML to use the program. The cost of the program ranges from $69 to $198depending on the version. Source: www.smartdraw.com Figure D. Screenshot, SmartDraw3.1.5 Together ControlCenter 5.5ByTogetherSoft (Release date May 2001 for Java VM) The deluxe version Together ControlCenter and the standard version Together Solo are products for teamsbuilding e-business software solutions. Both versions contain an UML-modellingeditor, a programming editor, a source-code formatter and reporting features inHTML/RTF/PDF formats, among other things. The deluxe version also has featureslike custom report designer, DBMS integration, metrics, audits and e-solutions. The program has automatic update of codewhen a diagram changes and adaptation of the diagram when the code is changed.It also contains a text editor were you can compile, run and debug your code.Among its users, Together Solo and Together ControlCenter are well liked,because they are considered being products that are easy to use. Unfortunately,they are rather expensive. Together Solocosts $3495 and Together ControlCentercosts $5995, which is quite a considerable sum. Source: www.togethersoft.com3.1.6 Rational RoseByRational (Release date November 2000 for Windows98, Windows 2000, Windows NT 4.0, UNIX, Linux) Rational Rose is a number of UML-basedmodel-driven development tools, which are a part of a complete software developmentsolution (Rational Rose for UNIX/Linux/Java, Rational Rose RealTime, andRational Rose for Visual Studio and Microsoft Developers). The product enablesmodelling of the entire application architecture, which can be transformed intoa number of distinct technologies. It also has support for object-relationalmapping, schema generation, and for Java development code-model synchronisationamong other things. This is a one of the most advanceddevelopment tools on the market and it is a product developed to suit the largecompanies and their experienced users. The base model, Rose Modeller, costsabout $1829 and Rose Professional costs about $2442. If you want the deluxeversions, Rose Enterprise and Rose RealTime, you have to pay $4290 or moredepending on the demands on the product. Source: www.rational.com/products/rose/prodinfo.jsp Figure E. Screenshot, Rational Rose in Visual Basic.3.2 Scientific background.Since the finished software product isgoing to be a specific type of drawing tool, there will be extensiveimplementation of graphics and graphical algorithms. Spline and polylinealgorithms may be needed, and therefore a further study on algorithms isnecessary to decide on which algorithms will suit this particular project. Someuseful algorithms can be found in the books ComputerAlgorithms, Introduction to Design & Analysis by Sara Baase and AllenVan Gelder and Discrete and CombinatorialMathematics by Ralph P. Grimaldi. The book Interactive Computer Graphics by Edward Angel will be used tohandle potential graphical problems. There is also help to be found on theInternet. The web page “Journal of OnlineMathematics and its Applications” presents a mathematical library withsolutions to spline problems, among other things. The JOMA pages can be found at:www.joma.org/vol1-1/articles/bogomolny/bogomolny1.html The theory of Finite State Machines is tobe implemented graphically by the program. The OMG UML v.1.3 specification willgive us guidelines on the implementation of UML. Frank Hoffman or Karl Meinke(at NADA) are specialised in UML, and can also answer questions on correctimplementation of Finite State Machines. 3.3 Technical background.Java will be the programming language forthe graphics and the interface. We have not yet decided on which version. JDK1.2, JDK 1.3, and the recently released JDK 1.4 are the candidates. Java2D isthe graphic package that will be used. XML or other file formats will be usedfor storing the models.That implementation of the graphical partmay use self-developed algorithms for Spline curves, or it may use an existingappropriate freeware Java package, if such a package will be found.Since the language is Java, there is noneed for choosing any specific operating system. 4 Appendix4.1 Leeloo members. Name E-mail Borg Tage tage@kth.se Gebrehiwet Tsegereda md99-tge@nada.kth.se Johansson Tomas tojo@kth.se Karimian Maria maria.karimian@swipnet.se su98-mka@nada.kth.se Nilsson Anders md96-ani@nada.kth.se Olczak Dominika md98-dol@nada.kth.se Oscarsson Carina it_is_nina@telia.com Randahl Åsa cayenne@inbox.as Tchaoucheva Suzan md98-stc@nada.kth.se Wieweg Andreas andreas.wieweg@obbit.se Zhang Johanna xz@kth.se zxh@swipnet.se Leeloo Inc. mail list leelooinc@yahoogroups.com 4.2 Project roles. Role Responsible Assistants Project Leader Wieweg Andreas Karimian Maria Customer Representative Zhang Johanna Wieweg Andreas Chief Programmer Borg Tage Johansson Tomas Tester Olczak Dominika Borg Tage Programmer / Designer Johansson Tomas All of us Technical Writer All of us Documentation Manager Nilsson Anders Graphics Expert Zhang Johanna Tchaoucheva Suzan Randahl Åsa Web Designer Oscarsson Carina Olczak Dominika GUI Expert Gebrehiwet Tsegereda Tchaoucheva Suzan Oscarsson Carina |
|