I am a PhD student at College of Computer and Information Science, Northeastern University, Boston, MA, working under the supervision of Prof. David H. Lorenz. I'm specializing in aspect-oriented software development (AOSD). Specifically, I'm working on the problem of composing aspect extensions. My other research interests include Object-Oriented languages, Software Design, Web development.
Education
"Awesome: an Aspect Co-weaving System for Composing Multiple Aspect-oriented Extensions"
Sergei Kojarski and David H. Lorenz, OOPSLA 2007, October 21-25, Montreal, Quebec, Canada.
"Identifying Feature Interactions in Multi-Language Aspect-Oriented Frameworks"
Sergei Kojarski and David H. Lorenz, ICSE 2007, May 20-26, Minneapolis, MN.
"Modeling Aspect Mechanisms: a Top-Down Approach"
Sergei Kojarski and David H. Lorenz, ICSE 2006, May 20-28, Shanghai, China.
"Pluggable AOP - Designing Aspect Mechanisms for Third-party Composition "
Sergei Kojarski and David H. Lorenz, OOPSLA 2005, October 16-20, San Diego, CA.
"Domain-Driven Web Development with WebJinn"
Sergei Kojarski and David H. Lorenz, OOPSLA 2003 Special Track on Domain-Driven Development, 53--65, Anaheim, CA.
"Comparing White-box, Black-box, and Glass-box Composition of Aspect Mechanisms"
Sergei Kojarski and David H. Lorenz, ICSR 2006, June 11-15, Torino, Italy.
"Parallel Composition of Aspect Mechanisms"
Sergei Kojarski and David H. Lorenz, AOSD 2006, Open Aspect Languages Workshop, March 20, Bonn, Germany.
"Feature Interaction in AspectJ 5"
Sergei Kojarski and David H. Lorenz, AOSD 2006, SPLAT Workshop, March 21, Bonn, Germany.
"Evolution of AOP Models"
Sergei Kojarski and David H. Lorenz, AOSD 2006, AIT Workshop, March 21, Bonn, Germany.
"A Top-Down Model of an AOP Weaving Process"
Sergei Kojarski and David H. Lorenz, AOSD 2005 SPLAT Workshop, March 14, Chicago, IL.
"Program Comprehension Using Aspects"
Darren Ng and David Kaeli and Sergei Kojarski and David H. Lorenz, ICSE 2004 Workshop on Directions in Software Engineering Environments (WoDiSEE'2004)
"Aspectual Reflection"
Sergei Kojarski and Karl Lieberherr and David H. Lorenz and Robert Hirschfeld , AOSD 2003 SPLAT Workshop, 17-21, March 18, Boston, MA.
"Unplugging Components using Aspects"
Sergei Kojarski and David H. Lorenz, ECOOP 2003 Eighth International Workshop on Component-Oriented Programming
"AOP as a First Class Reflective Mechanism"
Sergei Kojarski and David H. Lorenz, OOPSLA'04 Companion, 216-217, Oct 2004, Vancouver, BC, Canada.
"Web Development with WebJinn"
Sergei Kojarski and David H. Lorenz, NEU Tech Expo and Research Scholarship, May 15, 2003, Boston, MA
Oct 2007 - current Software Engineer
Amazon.com, Seattle, WA.
Design and evolution of information systems.
Sep 2005 - Sep 2007 Research Assistant
Department of Computer Science,
University of Virginia, Charlottesville, VA.
Advisor: Prof. Lorenz.
Research in aspect-oriented languages, web development, programming in Java and Scheme.
Dec 2002 - Sep 2005 Research Assistant
College of Computer and Information Science,
Northeastern University, Boston, MA.
Advisor: Prof. Lorenz.
Research in aspect-oriented software development, OOP, component-based architectures.
Sep 2002 - Dec 2002 Teaching Assistant
College of Computer and Information Science,
Northeastern University, Boston, MA.
Advisor: Prof. Lieberherr
Course: "Computer Organization and Design" (COM 1130).
Jun 2001 - Aug 2002 Software Engineer
Department of Electrical Engineering,
Perm State Technical University.
Design and implementation of the Electronic DocFlow System.
Jun 1999 - Aug 2002 Web Developer
"Saturn-R" Internet service provider.
Web site development, HTTP server administration.
The pairwise verification builder is a JavaBeans component builder tool that allows efficient verification of an assembled component system. This tool is be based on the JavaBeans Development Kit (BDK), software that is used for component design. Verification is done using the Spin model checker.
Languages, technologies and tools: JavaBeans, SPIN, BDK, Promela, Java, Pairwise Verification, Ant
BSecurity: Business Relationships for SecurityThe Bsecurity project is conducted in collaboration with NewAspects, a company that helps enterprises leverage aspect-oriented technology to build secure systems. At the heart of the project is a library that exposes business relationship data from Hibernate for use with aspects. An example of such data is semantic information about object-to-object relations and their cardinality. Descriptive information about the object graph (whole-part associations) beyond what is available via standard reflection is useful for specifying security policies.
Languages, technologies and tools: Java, Hibernate, Eclipse, AspectJ
WebJinn (Web AOP)Evolutionary path of web application development technologies goes through CGI scripts, dynamic (active) pages to Model-View-Controller (MVC) based development frameworks. However, even the latest state-of-the-art tools (i.e., Apache Struts) do not provide support for modularizing an essential web application concern we call schema concern. The concern intermingles with other web application concerns resulting in scattering of schema code accross multiple application components (i.e., presentation views and functionality classes). Since changes in schema concern is usual requirement during development and maintenance stages, this problem severely affects development productivity.
The WebJinn project recognizes the problem of crosscutting schema concern and proposes a novel Extension Point (XP) model to address it. The project includes WebJinn framework, that instantiates the model on top of the JSP and Servlet technologies. The framework was used to create commercial web applications on a number of sites. It can be used along with the MVC frameworks to complete separation of the web application concerns. To go to the project home click here
Languages, technologies and tools: Java, Java Server Pages, Servlets, HTML, XML, XSLT, Ant, AspectJ
Content Management System (CMS)If a web site has more than just few pages, constructing and maintaining a menu interface, that connects the pages is tedious and time-consuming: even simplest changes in menu interface affect multiple web pages. Page inclusion directives (i.e., include SSI or JSP tags) help, but do not solve the problem.
The CMS project facilitates construction and maintenance of a web site interface menus. CMS separates logical structure (menu tree) of the site from its physical reincarnation (HTML content files). The CMS system provides functionality for creating and maintaining interface menu trees. This functionality is made accessible to end user through web interface.
The main purpose of the CMS project is to occasionally keep me from getting bored. Besides that, I also use it for maintaining this site (and few others).
To go to the project home click here
Languages, technologies and tools: Java, Java Server Pages, Servlets, HTML, XML, Ant
Other ProjectsList of other projects includes: (1) Interpreter for Object-Oriented Java-like language; (2) Interpreter Plugins for AspectJ-like, AspectWerkz-like, and Hyper/J-like aspect extensions; (3) Demeter/J Eclipse plugin; (4) Several commercial and non-commercial web sites; (5) Commercial DocFlow system design (incl. database design) and development; (6) Web server setup and administration; (7) Conference submission system administrator; (8) Multiple in-class projects
Languages, technologies and tools: Java, Scheme, Perl, C/C++, Delphi, AspectJ, DemeterJ, Hyper/J, XML, HTML, Servlets, JSP, Interbase, MS SQL Server, MySQL, Apache Tomcat, Apache HTTP Server, Cyberchair, Ant, Eclipse
Open the original version of this page.
Usablenet Assistive is a UsableNet product. Usablenet Assistive Main Page.