====== Uwagi do Studentów ====== * Tematy oznaczone znaczkiem :!::!: należy uznać za tematy o wysokim dla Autorów priorytecie, a co za tym idzie autorzy będą silniej je wspierali i * Tematy oznaczone znaczkiem :!: należy uznać za tematy o podwyższym priorytecie * Tematy pozostałe też są ważne i też można dostać ocenę pozytywną, w ty, 5.0 i 6.0, są one jednak potencjalnie mniejszym wyzwaniem, lub mniej pilnie potrzebne autorom 8-) ====== Kontynuacja tematów ====== Osoby, które zrealizują w sposób wyróżniający się, a także będą zainteresowane tematyką poruszaną w projektach, będą mogły kontynuwać pracę w ramach tematyki pochodnej do MIW 2007 w ramach: * pracy magisterskiej u dr. inż. G. J. Nalepy lub u dr. inż. I. Wojnickiego, //uaktualniona// lista tematów będzie dostępna na wiosnę w systemie [[http://sopd.ia.agh.edu.pl|SOPD]] * projektu [[http://hekate.ia.agh.edu.pl|Hekate]] ====== Tematy MIW07 ====== ===== RBS ===== //RBS_RuleBurst//\\ Analiza narzędzia, pakietu, podejścia. http://www.ruleburst.com //RBS_EBRC//\\ Przegląd tematyki konferencji, sponsorów, narzędzi, postaci. http://www.eurobizrules.org //RBS_JREAPI//\\ standaryzacja mechanizmów regułowych w Javie, stan na dziś, na ile, co i jak implementują narzędzia, np. Jess http://jcp.org/en/jsr/detail?id=94 //RBS_Tools_1//\\ analiza narzędzi do wspomagania tworzenia systemów regułowych i biznes rules: * [[http://www.fairisaac.com/Fairisaac/Solutions/Enterprise+Decision+Management/Business+Rules/Blaze+Advisor/Blaze+Advisor+Technology+2.htm|BlazeAdvisor]] * [[http://www.microgen.co.uk/aptitude/apt_main.php|Microgen]] * [[http://www.ilog.com/products/businessrules/|ILOG]] * [[http://www.visual-rules.de/en/00_home/home.html|VisualRules]] //RBS_Algernon//\\ Analiza pakietu Algernon, w tym http://algernon-j.sf.net //RBS_Jess//\\ Analiza Jess (http://www.jessrules.com/), w tym zaawansowane przykłady integracji z aplikacjami Java, patrz też http://www.manning.com/friedman-hill/ //RBS_CG//\\ [[http://www.jfsowa.com/cg|Grafy konceptualne]], jako metoda reprezentacji wiedzy dla systemów regułowych. Próba ewaluacji. Skuteczne przetwarzanie w Prolgu, np. [[http://prologpluscg.sourceforge.net/|Prolog+CG]] //RBS_ML//\\ Uczenie maszynowe w RBS, jako metoda rozbudowy/rozszerzania istniejącego systemu o nowe reguły, modyfikacja reguł, przykłady. //RBS_RewerseML//:!:\\ http://rewerse.net/I1/ R2ML URML http://www.informatik.tu-cottbus.de/~gwagner/ http://www.realrules.info/ //RBS_BRex//:!::!:\\ Zebranie przykładów //business rules// (BR) ze stron narzędzi, patrz [[hekatedev:business_rules]]. Systematyczny opis (atrybuty, dziedziny, reguły, wnioskowanie). Zarys formalizacji w ARD/XTT. //RBS_CHR//:!:\\ [[http://www.cs.kuleuven.ac.be/~dtai/projects/CHR/|Constraint Handling Rules]] (też w [[misc:constraint_handling_rules]]), zastosowania, implementacja, aplikacje. [[http://chr.informatik.uni-ulm.de/~webchr/|Demo]] Zwrócić uwagę przynajmniej na implementacje w: * [[http://gollem.science.uva.nl/SWI-Prolog/Manual/chr.html|SWI Prologu]] * [[http://www.sics.se/sicstus/docs/latest/html/sicstus/CHR.html|SICStus Prologu]] Przeczytać o: Rule-Based Constraint Programming http://www.cin.ufpe.br/~in1006/2005 Porównanie jak CHR ma się do CLP (Constraint Logic Programming). //RBS_Back//:!::!:\\ Przegląd metodologii reprezentacji reguł dla [[wppl>Wnioskowanie w tył|wnioskowania w tył (wstecz)]]. Należy szczególnie uwzględnić reprezentacje graficzne oraz zwrócić uwagę na: przejżystość reguł, gęstość reprezentowanej informacji. ===== Prolog ===== //Prolog_CodeLib// (ew.2os)\\ celem projektu jest budowanie bazy przykładów kodu/programów w języku Prolog pod nauki języka. Projekt jest kontynuacją projektu z MIW06 http://miw.ia.agh.edu.pl/2006 Źródła to między innymi: * Bratko * Covington * Colin Barker * Fisher * Merrit x2 * Art of Prolog * AI techniques in Prolog * http://www.cs.cmu.edu/afs/cs/project/ai-repository/ai/areas/0.html * Craft of Prolog Należy przynajmniej: - dokładnie opisać ilościowo źródła - zaproponować klasyfikację... - sklasyfikować jakościowo przykłady w źródłach - przetestować i umieścić w repozytorium jak najwięcej przykładów //Prolog_KBase// :!:\\ celem projektu jest zebranie i //skategoryzowanie// informacji przydatnych w stworzeniu portalu wspomagającego naukę języka Prolog, np. odnośniki do tutoriali, narzędzi, kompilatorów, publikacji, itp. //Prolog_Adv// :!::!:\\ celem projektu jest opis, pogłębiona analiza i prezentacja przykładów wykorzystania rozszerzeń Prologu o zaawansowane mechanizmy takie jak: * CLP http://en.wikipedia.org/wiki/Constraint_logic_programming * tabled resolution http://en.wikipedia.org/wiki/Memoization * atrybuty i dziedziny, np. w [[http://www.sics.se/sicstus/docs/latest/html/sicstus/Attributes.html|SICStusie]] * inne FIXME Należy wziąć pod uwagę implementacje: * [[http://xsb.sourceforge.net|XSB]] * [[http://www.swi-prolog.org/|SWI]] * [[http://www.ncc.up.pt/~vsc/Yap/|YAP]] * [[http://www.amzi.com/|Amzi!]] * [[http://www.itee.uq.edu.au/~pjr/HomePages/QuPrologHome.html|QuProlog]] * [[http://trinc-prolog.com|TrincProlog]] * [[http://www.sics.se/sicstus|SICStus]] //Prolog_PSP// :!:\\ Opis i analiza technologii [[prolog:prolog_server_pages]] //Prolog_WAM//\\ Przegląd implementacji WAM, porównanie, debugging na WAM (a propos EPP), książka od GJN FIXME //Prolog_OO// :!::!:\\ Open source object-oriented extensions to Prolog. Porównać przynajmniej: - [[http://www.prologonlinereference.org/oop.psp|Prolog OOP]] - [[http://www.logtalk.org|LogTalk]], oraz - [[http://www.trinc-prolog.com/doc/pl_obj.htm|TrincProlog]] - [[http://www.sics.se/isl/sicstuswww/site/index.html|SICStus Prolog]] W szczególności * analiza tych rozwiązań * przykłady użycia * gdzie znalazły już zastosowania * próba ewaluacji - czy to jest dobre/złe? dlaczego? do czego? * jakie elementu UML (przynajmniej w części diagramów klas) są pokryte przez te implementacje //Prolog_AutoDoc//:!:\\ Samodokumentujący się kod w Prologu. Przegląd systemów generacji dokumentacji dla kodu źródłowego w Prologu + Dokumentacja Kodu Źródłowego SWI-Prolog: http://www.swi-prolog.org/packages/pldoc.html, [[prolog:prologdoc]] //Prolog_GeSHi// :!:\\ Rozbudowa systemu [[http://qbnz.com/highlighter|GeSHi]] o obsługę podświetlania składni Prologu. //Prolog_Python//\\ Analiza możliwości integracji języków. Patrz też [[http://www.ibiblio.org/obp/py4fun]] [[http://www.ddj.com/dept/ai/184406195#python_ai]]. //Prolog_Ruby//\\ Analiza możliwości integracji języków. Patrz różne wątki, np. [[http://eigenclass.org/hiki.rb?tiny+prolog+in+ruby]]. [[http://www.kdedevelopers.org/node/2369]] [[http://lambda-the-ultimate.org/]] //Prolog_VLP//:!:\\ Odnaleźć, opisać, ocenić, porównać realizacje koncepcji //Visual Logic Programming//, czyli wizualnego wspomagania programowania w Prologu/logice. Na przykład [[http://www.csupomona.edu/~jrfisher/www/logic_topics/visual_logic/visual_logic.html|J. R. Fisher: VL]] //Prolog_GUI//:!:\\ Odnaleźć, opisać, ocenić, porównać możliwości realizacji GUI dla programów w Prologu. Znaleźć i opisać przykłady. Należy wziąć pod uwagę przynajmniej: * [[http://www.swi-prolog.org/graphics.html|XPCE]] * [[http://www.gtk-server.org|GtkServer]] //Prolog_Eclipse//\\ Wskazać istniejące (Amzi!) i możliwe (niezależne pluginy) możliwości integracji Prologu ze środowsikiem [[http://www.eclipse.org|Eclipse]]. //Prolog_XML//\\ Omówić metody parsowania XML/SGML w Prologu. Należy również zająć się reprezenatcjami pochodnymi opartymi na XML, np. RDF. Porównać dostępne rozwiązania i implementacje, np: * SWI: http://www.swi-prolog.org/packages/sgml2pl.html http://www.swi-prolog.org/packages/rdf2pl.html http://www.swi-prolog.org/packages/semweb.html * dodatkowe informacje: http://www.w3.org/DesignIssues/LinkedData.html http://sites.wiwiss.fu-berlin.de/suhl/bizer/d2r-server/ http://esw.w3.org/topic/SparqlEndpoints //Prolog_Java//\\ Integracja kodu Prologu z Java porównać z projektami z 2006 roku http://www.ugosweb.com/jiprolog/ http://portal.acm.org/citation.cfm?id=787039 FIXME ===== Mirella ===== //Mirella_XTTed// :!::!:\\ Celem projektu jest zbudowanie prototypu wizualnego edytora diagramów XTT w technologii Qt/Java/Python, patrz prototyp na http://mirella.ia.agh.edu.pl //Mirella_ARDed// :!::!:\\ Celem projektu jest zbudowanie prototypu wizualnego edytora diagramów ARD w technologii Qt lub Java, patrz info. na http://mirella.ia.agh.edu.pl //Mirella_QARDeV2// :!::!:\\ Celem projektu jest rozwinięcie prototypu wizualnego edytora diagramów ARD w technologii Qt patrz prototyp na MIW06 http://miw.ia.agh.edu.pl/2006 //Mirella_EMF// :!::!:\\ Analiza możliwości i ewaluacja [[http://www.eclipse.org/emf|EMF]] ([[http://www.eclipse.org/gmf|GMF]] i pozostałych [[http://www.eclipse.org/modeling|elementów platformy modelowania]]) pod kątem tworzenia edytorów strukturalnych dla XTT i ARD. Wyamagana znajmość Javy i Eclipse. //Mirella_DiaXTT// :!::!:\\ Moduł XTT do edytora [[http://www.gnome.org/projects/dia|Dia]]. //Mirella_DiaARD// :!::!:\\ Moduł ARD do edytora [[http://www.gnome.org/projects/dia|Dia]]. ===== Ontologie ===== //Onto_OWL//\\ OWL a systemy regułowe, rozszerzenie OWL DL, OWL a RuleML. Patrz: //[[http://www.cs.man.ac.uk/~horrocks/Publications/download/2005/HPBT05.pdf |OWL Rules: A Proposal and Prototype Implementation]]//. //Onto_Eds//\\ Wybrane edytory ontologii, a możliwości tworzenia RBS. Np. Protege http://protege.stanford.edu ===== CMS i Wiki ===== //CMS_DocBook//\\ Składowanie dokumentow DocBook w XML'owych bazach danych. Przesxzukiwanie dokumentów generacja dokuementów wynikowych w formatach HTML, LaTeX, PDF, PS z wykorzystaniem parserów XML oraz XSLT. Przegląd rozwiązań / zaproponowanie rozwiązania. //CMS_SemanticWiki//\\ patrz: [[misc:semantic_wiki]] //CMS_DocBookWiki//\\ Przegląd systemów Wiki opartych na standardzie DocBook XML. //CMS_PrintWiki//\\ Wiki do wydruku: przegląd systemów Wiki umożliwiających skład dokumentów przeznaczonych do wydruku. Nie tylko hasła, ale również artykuły, ksiązki z uwzględnieniem struktury: częsci, rozdziały, sekcje, podsekcje. //CMS_BibTeX// :!::!:\\ Moduł obsługi baz danych BibTeX dla Dokuwiki. Istniejący moduł generuje niepoprawny kod XHTML. ===== Software Engineering ===== //SoftEng_RBP// :!::!:\\ [[misc:requirements-based_programming]] (RBP). Koncepcja metodologii, zastosowania, przykłady, przegląd artykułów. Opis technologii R2D2C : Requirements to Design to Code. Więcej informacji: [[http://www.gsfc.nasa.gov/NASA Goddard Space Flight Center]]. Przykładowa bibliografia: * Harel, D.: 2001, `From Play-In Scenarios To Code: An Achievable Dream'. IEEE Computer 34(1), 53­60, * Harel, D.: 2004, `Comments made during presentation at "Formal Approaches to Complex Software Systems" panel session'. ISoLA-04 First International Conference on Leveraging Applications of Formal Methods. //SoftEng_GME//\\ The Generic Modeling Environment (GME) is a model-integrated program synthesis tool for creating domain-specific models of large-scale systems. GME allows users to define new modeling languages using UML-based metamodels. GME was developed by the Institute for Software Integrated Systems at Vanderbilt University, http://www.isis.vanderbilt.edu/projects/gme/ //SoftEng_xUML// :!:\\ Executable UML, http://en.wikipedia.org/wiki/Executable_UML //SoftEng_UML_Prolog//\\ Analiza diagramów UML w Prologu, formalna analiza modelu w Prologu, translacja UML do Prologu i vice versa. http://www.systemes-critiques.org/krasovec.pdf http://home.mit.bme.hu/~majzik/publicat/ddecs2001.pdf http://home.mit.bme.hu/~majzik/publicat/safecomp01.pdf //SoftEng_HLLVM//\\ [[http://llvm.org|The LLVM Compiler Infrastructure]] oraz [[http://hlvm.org/|The High Level Virtual Machine]] FIXME //SoftEng_Fujaba//\\ http://www.fujaba.de/ //SoftEng_Parrot//\\ Wirtualna maszyna [[http://www.parrotcode.org/|Parrot]]: * zastosowania * wydajność * kompilacja/interpretacja * uruchamianie języków deklaratywnych oraz AI (Prolog, Lisp) //SoftEng_Anubis//\\ http://www.anubis-language.com Cechy języka, zastosowania. Na ile nadaje się do projektowania/programowanie? Jakie architektury/os? //SoftEng_BPMN//\\ It is a common visual notation used in the [[wp>Business_Process_Modeling]] that is a modeling/design problem in the [[wp>Business_process_management]]. The [[wp>BPMN]] is officially [[http://www.bpmn.org|standarized by OMG]]. Some possible areas of investigation(at 1st sight): * relation between BPMN and UML, e.g. see //[[http://arxiv.org/abs/cs.SE/0607044/|Use of UML and Model Transformations for Workflow Process Definitions]]// * how could we use [[wp>Business_Process_Execution_Language]] * the general idea of [[wp>workflow]] and tools such as [[wp>yawl]] is worth digging in... :-) //SoftEng_MVC// :!::!:\\ Cel projektu to: * opisać krótko koncepcję MVC * odtworzyć jej "koleje losu" od Smalltalk do JavaEE * //przede wszystkim// znaleźć przykłady aplikacji, zaprojektowanych w UML z użyciem MVC, //uwaga// w miarę możliości interesuje nas użycie diagramów behawioralnych UML! See the [[http://java.sun.com/blueprints/guidelines/designing_enterprise_applications_2e/app-arch/app-arch5.html|discussion here]]. It is a example of using the [[http://java.sun.com/blueprints/patterns/MVC.html|MVC pattern in Java]]. General discussion of [[http://java.sun.com/blueprints/patterns/index.html|patterns in Java is here]]. Some classic Smalltalk [[http://st-www.cs.uiuc.edu/users/smarch/st-docs/mvc.html|MVC tips here]]. An idea is to investigate some common MVC frameworks, such as [[http://struts.apache.org/primer.html#mvc|Struts]] (see some [[http://www-128.ibm.com/developerworks/ibm/library/j-struts/|introduction]]). Another example, [[http://www.codeproject.com/aspnet/ModelViewController.asp|warning! ASP.NET]]. For [[wp>yeomens]]: //[[wp>Design Patterns]]// by the Gang'O'Four. //SoftEng_OCL// :!:\\ Cele projektu, to: * opis [[wp>Object Constraint Language]] * możliwości użycia/integracji z [[http://www.cs.kuleuven.be/~dtai/projects/CHR|CHR]] czyli [[wp>Constraint Handling Rules]] * przykłady podejść, np. [[http://www.cin.ufpe.br/~in1006/2005/|takich]] //SoftEng_Alloy//\\ Opis języka [[http://alloy.mit.edu/|Alloy]]. Przeanalizowanie jego możliwości/rozwiązań pod kątem podobieństw/różnic do OCL i Prologu.