• No results found

Subject of the Internship: [243] "CHORD: Constraint Handling Objectoriented Rules with Disjunctive bodies"

N/A
N/A
Protected

Academic year: 2021

Share "Subject of the Internship: [243] "CHORD: Constraint Handling Objectoriented Rules with Disjunctive bodies""

Copied!
5
0
0

Loading.... (view fulltext now)

Full text

(1)

Subject of the Internship: [243] "CHORD: Constraint Handling

Object-oriented Rules with Disjunctive bodies"

This project aims to extend the logic constraint programming language CHRD with object-oriented concepts inspired on the object oriented models of (a) Flora, a Prolog extension that forms the main basis for W3C’s standard SWSL (Semantic Web Service Language), and (b) OMG’s standard Unified Modeling Language (UML). It also aims to build a scalable inference engine to integrate in complementary synergy two classes of automated reasoning services: (a) the arbitrary domain logical rule-based constraint solving of CHRD engines and (b) the monotonic and non-monotonic, multiple, single source, structural and behavioral inheritance with overriding of Flora. The integration of these two services will be founded on a common declarative logical formal semantics in the Fluent Calculus, a simple yet very expressive axiomatization with term reification in classical first-order logic of various non-monotonic reasoning about actions and changes. Providing a formal semantics for CHORD in the Fluent Calculus will make it meta-circularly bootstrapping, since a theorem prover for the Fluent Calculus can itself be implemented in CHRD, a subset of CHORD. I have been working with Flora since 2003 and with CHRD since 2004 as an undergraduate research assistant to Prof. Jacques Robin at CIn-UFPE (Centro de Informática, Universidade Federal de Pernambuco). The CHORD project started as a semester-long graduation final project that I defended in March 2006. Its continuation now constitutes the theme of my Master thesis advised by Prof. Robin. Having defined the syntax of CHORD, I am currently working on its formal semantics in the Fluent Calculus.

The model-driven engineering of the syntax, semantics and engine for CHORD is one of the thee main deliverables of the C4RBCP (Components for Rule-Based Constraint Programming) cooperation project between my Master Thesis advisor, Prof. Robin’s ORCAS research group at CIn-UFPE, and my Internships’ tutor, Dr. François Fages, leader of the CONTRAINTES group at INRIA-Rocquencourt. C4RBCP is funded by FACEPE-INRIA for the period 2007-2008.

Within the framework of this project, Prof. Jacques Robin will visit the CONTRAINTES group during the period of my Internship. The focus of Internship should be the development of a scalable, efficient CHORD engine extending the model-driven, Java-hosted CHRD engine CHROME (CHR Online Model-driven Engine) which development constitutes the core of the PhD. Thesis of Jairson Vitorino under the co-advising of Prof. Robin and Dr. Armin Wolf of Fraunhofer-Gesellschaft Center FIRST in Berlin. The first fully functional release of CHROME is scheduled for the end January, a month before the start of my Internship. CHORD will be implemented using Java and ATL (the Atlas Transformation Language of INRIA-Rennes Bretagne-Atlantique) languages in which I program since 2000 and 2005 respectively.

(2)

Marcos Aurélio Almeida da Silva

Contact Information

Address: Rua Rodrigues Ferreira, 45, Apto 904 Bloco A, Várzea - Recife – Pernambuco – Brazil, CEP 50810-020

Home Phone: +55 81 3273-2612

Mobile Phone: +55 81 9258-9526

E-mail: [email protected]

Education

2007, Federal University of Pernambuco - UFPE, Masters Degree in Computer Science (Current). 2002-2006, Federal University of Pernambuco – UFPE, BSc in Computer Science (CRA = 8,91) 2002-2003, University of Pernambuco – UPE, Electrical Engineering (Only 3 semesters, unfinished)

Undergraduate Projects

Naval Battle Assembly Game (2003): As part of the course concerning Operating Systems organization at the university I built a Naval Battle game using x86 assembly and DOS functions. The game had single and multiplayer modes, 10 levels of artificial intelligence and background music.

MIPS CPU (2003): As part of the course concerning Hardware Infrastructure at the university I built a project for a 32 bits MIPS CPU with about 30 instructions. It was developed using VHDL and simulated using ALTERA software suite.

Ncontrol (2004): Software for controlling Cyber Cafés developed using Borland C++ Builder making use of Windows API functions and Registry Keys.

Exordium The Beginning (2005): RPG game developed using C++ and Forge16V graphics engine for 2.5D graphics rendering. I was responsible for designing the infra-structure for the game, implementing the background engine (sceneries, opponents, camera, etc…) and a map editor for it.

ASearch (2006): A system for indexing and sorting PDF files according to similarity.

CHORD (2006): An implementation for an inference engine for the object oriented extension of the the CHR (Constraint Handling Rules) language defined as part of my graduation project.

(3)

Work Experience

Student Developer at Google Inc. as part of the Google Summer of Code program, (4/11/2007 - 8/31/2007) i. Successfully implemented UML Profiles support in ArgoUML menthored

by Linus Tolke ([email protected]) and in cooperation with the ArgoUML development team.

Systems Engineer at Centro de Estudos Avançados e Sistemas do Recife, CESAR, Recife, Pernambuco – Brazil (5/14/2005-5/4/2007)

i. I worked in two projects as a trainee while undergraduate student and was hired two months before graduating.

ii. I worked as developer during two years building games for J2ME enabled cellphones.

iii. I built an API for real time and turn based games encapsulating the communication protocol used. The API were suitable for both Bluetooth and HTTP communication.

iv. I took part of the AI implementation of the AI of at least four games being entirely responsible for one of them.

v. I took part of the development of a CRM project implement visual and non-visual C# components and I also worked with WebServices, Databases and such things.

C# Programmer at Centro Integrado de Tecnologia da Informação, CiTi, Recife, Pernambuco – Brazil (6/13/2005 - 18/9/2006)

i. I worked as a C# developer at a civil engineering project in a small team (3 developers and a manager)

ii. I was responsible for implementing the domain specific mathematical background in C# and for implementing the component of the system responsible for impeding piracy.

Independent PHP/Java Programmer at Elife (9/24/2004 – current)

i. I worked as a freelancer with Web standards as PHP, JSP and Java for Web and worked alone most of the time cooperating with other programmers and designers.

ii. After graduating I worked alone on a large system (more than 13000 LOC)

Research Assistant at Federal University of Pernambuco, Recife, Pernambuco – Brazil (8/1/2004 - 5/5/2006) i. I worked as Teaching Assistant at Federal University under the supervision of Prof. Jacques Robin on the

ROARS Project which aims the application of software engineering techniques on the development of intelligent systems. I built a Java inference engine for CHRD (a constraint solving specification language) and extended it with object oriented concepts on my graduation project. My work was funded by FACEPE – Fundação de Amparo à Ciência e Tecnologia de Pernambuco.

(4)

Teaching Assistant at Federal University of Pernambuco, Recife, Pernambuco – Brazil I worked as Teaching Assistant at the university for the following courses:

• Algorithms and Data Structures (2003), supervised by Prof. Kátia Silva Guimarães. This course

presents basic algorithms and data structures used in Computer Science. I was responsible for creating the specifications for some of the programming tasks used through the course, for solving them in C++ or Java and for creating test cases used to evaluate students solutions.

• Logics for Computer Science (2003), supervised by Prof. Ruy Guerra. This course presents basic

logic foundations for computer science, mainly focused on classical logic. I was responsible for correcting exercises done by course’s students and for some of the classes.

• Theoretical Informatics (2004), supervised by Prof. Ruy Guerra. This course covers basic theoretical

foundations of Computer Science, including computability, complexity, automata theory, grammars and etc. I was responsible for the specification and evaluation of the practical programming exercise, creating test cases and evaluating students’ solutions.

• Intelligent Systems (2004), supervised by Prof. Geber Lisboa Ramalho. This course introduces the

basic concepts of Artificial Intelligence, including symbolic and connectionist approaches.

• Component Programming (2007 - current), supervised by Prof. Jacques Robin. This course intrduces

(5)

Certifications

Sun Java Certified Mobile Applications Developer, 2006 Sun Java Certified Programmer, 2005

Awards

12th place on ACM South American Programming Contest as part of International Collegiate Programming Contest.

(bronze medal for 8th place on Brazilian regional), 2004.

39th place on Brazilian regional of ACM South American Programming Contest as part of International Collegiate

Programming Contest, 2003.

Publications

Luis Meneses, Jairson Vitorino, Marcos Aurélio, A High Performance CHRv Execution Engine, in Proceedings of CHR 2005, Second Workshop on Constraint Handling Rules, 2005.

Computer Skills

Java (6 years experience) C# (2 years experience) C/C++ (3 years experience) Assembly (2 years experience) JavaScript (1 year experience) PHP (2 years experience)

References

Related documents